gnu: vte-ng: Update to 0.50.2.a.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
5 ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
6 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
8 ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
9 ;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
10 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
11 ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
12 ;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
13 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
14 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
15 ;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
16 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
17 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
18 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
19 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
20 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
21 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
22 ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
23 ;;; Copyright © 2016 David Craven <david@craven.ch>
24 ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
25 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
26 ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
27 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
28 ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
29 ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
30 ;;;
31 ;;; This file is part of GNU Guix.
32 ;;;
33 ;;; GNU Guix is free software; you can redistribute it and/or modify it
34 ;;; under the terms of the GNU General Public License as published by
35 ;;; the Free Software Foundation; either version 3 of the License, or (at
36 ;;; your option) any later version.
37 ;;;
38 ;;; GNU Guix is distributed in the hope that it will be useful, but
39 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
40 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41 ;;; GNU General Public License for more details.
42 ;;;
43 ;;; You should have received a copy of the GNU General Public License
44 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
45
46 (define-module (gnu packages gnome)
47 #:use-module ((guix licenses) #:prefix license:)
48 #:use-module (guix packages)
49 #:use-module (guix download)
50 #:use-module (guix git-download)
51 #:use-module (guix utils)
52 #:use-module (guix build-system cmake)
53 #:use-module (guix build-system gnu)
54 #:use-module (guix build-system glib-or-gtk)
55 #:use-module (guix build-system meson)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages)
58 #:use-module (gnu packages admin)
59 #:use-module (gnu packages aspell)
60 #:use-module (gnu packages autotools)
61 #:use-module (gnu packages avahi)
62 #:use-module (gnu packages base)
63 #:use-module (gnu packages bison)
64 #:use-module (gnu packages build-tools)
65 #:use-module (gnu packages calendar)
66 #:use-module (gnu packages check)
67 #:use-module (gnu packages cmake)
68 #:use-module (gnu packages cups)
69 #:use-module (gnu packages curl)
70 #:use-module (gnu packages cyrus-sasl)
71 #:use-module (gnu packages databases)
72 #:use-module (gnu packages djvu)
73 #:use-module (gnu packages dns)
74 #:use-module (gnu packages documentation)
75 #:use-module (gnu packages flex)
76 #:use-module (gnu packages docbook)
77 #:use-module (gnu packages enchant)
78 #:use-module (gnu packages fontutils)
79 #:use-module (gnu packages game-development)
80 #:use-module (gnu packages gettext)
81 #:use-module (gnu packages glib)
82 #:use-module (gnu packages gnupg)
83 #:use-module (gnu packages gnuzilla)
84 #:use-module (gnu packages gstreamer)
85 #:use-module (gnu packages gtk)
86 #:use-module (gnu packages gperf)
87 #:use-module (gnu packages guile)
88 #:use-module (gnu packages openldap)
89 #:use-module (gnu packages pdf)
90 #:use-module (gnu packages polkit)
91 #:use-module (gnu packages popt)
92 #:use-module (gnu packages ghostscript)
93 #:use-module (gnu packages ibus)
94 #:use-module (gnu packages iso-codes)
95 #:use-module (gnu packages libcanberra)
96 #:use-module (gnu packages libunistring)
97 #:use-module (gnu packages linux)
98 #:use-module (gnu packages libusb)
99 #:use-module (gnu packages lirc)
100 #:use-module (gnu packages lua)
101 #:use-module (gnu packages image)
102 #:use-module (gnu packages imagemagick)
103 #:use-module (gnu packages music)
104 #:use-module (gnu packages networking)
105 #:use-module (gnu packages ninja)
106 #:use-module (gnu packages password-utils)
107 #:use-module (gnu packages pcre)
108 #:use-module (gnu packages perl)
109 #:use-module (gnu packages photo)
110 #:use-module (gnu packages pkg-config)
111 #:use-module (gnu packages pulseaudio)
112 #:use-module (gnu packages python)
113 #:use-module (gnu packages rdesktop)
114 #:use-module (gnu packages scanner)
115 #:use-module (gnu packages selinux)
116 #:use-module (gnu packages slang)
117 #:use-module (gnu packages ssh)
118 #:use-module (gnu packages xml)
119 #:use-module (gnu packages gl)
120 #:use-module (gnu packages compression)
121 #:use-module (gnu packages spice)
122 #:use-module (gnu packages tex)
123 #:use-module (gnu packages tls)
124 #:use-module (gnu packages web)
125 #:use-module (gnu packages webkit)
126 #:use-module (gnu packages xiph)
127 #:use-module (gnu packages xorg)
128 #:use-module (gnu packages xdisorg)
129 #:use-module (gnu packages freedesktop)
130 #:use-module (gnu packages mail)
131 #:use-module (gnu packages kerberos)
132 #:use-module (gnu packages multiprecision)
133 #:use-module (gnu packages backup)
134 #:use-module (gnu packages nettle)
135 #:use-module (gnu packages ncurses)
136 #:use-module (gnu packages video)
137 #:use-module (gnu packages cdrom)
138 #:use-module (gnu packages samba)
139 #:use-module (gnu packages readline)
140 #:use-module (gnu packages fonts)
141 #:use-module (gnu packages speech)
142 #:use-module (gnu packages virtualization)
143 #:use-module (gnu packages vpn)
144 #:use-module (srfi srfi-1))
145
146 (define-public brasero
147 (package
148 (name "brasero")
149 (version "3.12.2")
150 (source (origin
151 (method url-fetch)
152 (uri (string-append "mirror://gnome/sources/" name "/"
153 (version-major+minor version) "/"
154 name "-" version ".tar.xz"))
155 (sha256
156 (base32
157 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
158 (build-system glib-or-gtk-build-system)
159 (arguments
160 `(#:configure-flags (list
161 (string-append "--with-girdir="
162 (assoc-ref %outputs "out")
163 "/share/gir-1.0")
164 (string-append "--with-typelibdir="
165 (assoc-ref %outputs "out")
166 "/lib/girepository-1.0"))
167 #:phases
168 (modify-phases %standard-phases
169 (add-before 'configure 'embed-growisofs
170 (lambda* (#:key inputs #:allow-other-keys)
171 (substitute* "plugins/growisofs/burn-growisofs.c"
172 (("\"growisofs") (string-append "\"" (which "growisofs"))))
173 #t)))))
174 (propagated-inputs
175 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
176 (native-inputs
177 `(("intltool" ,intltool)
178 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
179 ("gobject-introspection" ,gobject-introspection)
180 ("pkg-config" ,pkg-config)))
181 (inputs
182 `(("dvd+rw-tools" ,dvd+rw-tools)
183 ("glib" ,glib)
184 ("gnome-doc-utils" ,gnome-doc-utils)
185 ("gstreamer" ,gstreamer)
186 ("gst-plugins-base" ,gst-plugins-base)
187 ("gtk+" ,gtk+)
188 ("itstool" ,itstool)
189 ("libcanberra" ,libcanberra)
190 ("libice" ,libice)
191 ("libnotify" ,libnotify)
192 ("libsm" ,libsm)
193 ("libxml2" ,libxml2)
194 ("nettle" ,nettle)
195 ("totem-pl-parser" ,totem-pl-parser)))
196 (home-page "https://projects.gnome.org/brasero/")
197 (synopsis "CD/DVD burning tool for Gnome")
198 (description "Brasero is an application to burn CD/DVD for the Gnome
199 Desktop. It is designed to be as simple as possible and has some unique
200 features to enable users to create their discs easily and quickly.")
201 (license license:gpl2+)))
202
203 (define-public deja-dup
204 (package
205 (name "deja-dup")
206 (version "34.3")
207 (source (origin
208 (method url-fetch)
209 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
210 (sha256
211 (base32
212 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
213 (patches
214 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
215 (build-system glib-or-gtk-build-system)
216 (arguments
217 `(#:modules ((guix build gnu-build-system)
218 ((guix build cmake-build-system) #:prefix cmake:)
219 (guix build glib-or-gtk-build-system)
220 (guix build utils))
221 #:imported-modules (,@%glib-or-gtk-build-system-modules
222 (guix build cmake-build-system))
223 #:test-target "test"
224 #:configure-flags (list (string-append
225 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
226 (string-append
227 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
228 #:phases
229 (modify-phases %standard-phases
230 (add-after 'unpack 'patch-lockfile-deletion
231 (lambda rest
232 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
233 (("/bin/rm")
234 (which "rm")))))
235 (replace 'configure
236 (assoc-ref cmake:%standard-phases 'configure))
237 (delete 'check) ;; Fails due to issues with DBus
238 (add-after 'install 'wrap-deja-dup
239 (lambda* (#:key inputs outputs #:allow-other-keys)
240 (let ((python (assoc-ref inputs "python"))
241 (python-path (getenv "PYTHONPATH"))
242 (duplicity (assoc-ref inputs "duplicity"))
243 (out (assoc-ref outputs "out")))
244 (for-each
245 (lambda (program)
246 (wrap-program program
247 `("PATH" ":" prefix (,(string-append python "/bin")
248 ,(string-append duplicity "/bin"))))
249 (wrap-program program
250 `("PYTHONPATH" ":" prefix (,python-path))))
251
252 (find-files (string-append out "/bin")))
253 #t))))))
254 (inputs
255 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
256 ("gobject-introspection" ,gobject-introspection)
257 ("duplicity" ,duplicity)
258 ("python" ,python2-minimal)
259 ("python-pygobject" ,python2-pygobject)
260 ("gtk+" ,gtk+)
261 ("libnotify" ,libnotify)
262 ("libpeas" ,libpeas)
263 ("libsecret" ,libsecret)
264 ("packagekit" ,packagekit)))
265 (native-inputs
266 `(("pkg-config" ,pkg-config)
267 ("vala" ,vala)
268 ("gettext" ,gettext-minimal)
269 ("itstool" ,itstool)
270 ("intltool" ,intltool)
271 ("cmake", cmake)))
272 (home-page "https://launchpad.net/deja-dup")
273 (synopsis "Simple backup tool, for regular encrypted backups")
274 (description
275 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
276 uses duplicity as the backend, which supports incremental backups and storage
277 either on a local, or remote machine via a number of methods.")
278 (license license:gpl3+)))
279
280 (define-public dia
281 ;; This version from GNOME's repository includes fixes for compiling with
282 ;; recent versions of the build tools. The latest activity on the
283 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
284 ;; fixes in 2016.
285 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
286 (package
287 (name "dia")
288 (version (string-append "0.97.2-" (string-take commit 7)))
289 (source (origin
290 (method git-fetch)
291 (uri (git-reference
292 (url "https://git.gnome.org/browse/dia")
293 (commit commit)))
294 (file-name (string-append name "-" version "-checkout"))
295 (sha256
296 (base32
297 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
298 (build-system gnu-build-system)
299 (inputs
300 `(("glib" ,glib "bin")
301 ("pango" ,pango)
302 ("gdk-pixbuf" ,gdk-pixbuf)
303 ("gtk+" ,gtk+-2)
304 ("libxml2" ,libxml2)
305 ("freetype" ,freetype)
306 ("libart-lgpl" ,libart-lgpl)))
307 (native-inputs
308 `(("intltool" ,intltool)
309 ("pkg-config" ,pkg-config)
310 ("automake" ,automake)
311 ("autoconf" ,autoconf)
312 ("libtool" ,libtool)
313 ("perl" ,perl)
314 ("python-wrapper" ,python-wrapper)))
315 (arguments
316 `(#:phases
317 (modify-phases %standard-phases
318 (add-after 'unpack 'run-autogen
319 (lambda _
320 (system* "sh" "autogen.sh"))))))
321 (home-page "https://wiki.gnome.org/Apps/Dia")
322 (synopsis "Diagram creation for GNOME")
323 (description "Dia can be used to draw different types of diagrams, and
324 includes support for UML static structure diagrams (class diagrams), entity
325 relationship modeling, and network diagrams. The program supports various file
326 formats like PNG, SVG, PDF and EPS.")
327 (license license:gpl2+))))
328
329 (define-public libgdata
330 (package
331 (name "libgdata")
332 (version "0.16.1")
333 (source (origin
334 (method url-fetch)
335 (uri (string-append "mirror://gnome/sources/" name "/"
336 (version-major+minor version) "/"
337 name "-" version ".tar.xz"))
338 (sha256
339 (base32
340 "09q8h1129xjpw33rvzz7856drygxwlm0s64z9cm0vbmjxiqy0h47"))
341 (patches
342 (search-patches "libgdata-fix-tests.patch"
343 "libgdata-glib-duplicate-tests.patch"))))
344 (build-system gnu-build-system)
345 (arguments
346 '(#:phases
347 (modify-phases %standard-phases
348 (add-before 'check 'use-empty-ssl-cert-file
349 (lambda _
350 ;; The ca-certificates.crt is not available in the build
351 ;; environment.
352 (setenv "SSL_CERT_FILE" "/dev/null")
353 #t))
354 (add-before 'check 'disable-failing-tests
355 (lambda _
356 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
357 ;; They have been removed in libgdata 0.17.6, so just do the same.
358 (substitute* "gdata/tests/Makefile"
359 (("picasaweb\\$\\(EXEEXT\\) ") ""))
360 #t)))))
361 (native-inputs
362 `(("glib:bin" ,glib "bin")
363 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
364 ("intltool" ,intltool)
365 ("pkg-config" ,pkg-config)
366 ("uhttpmock" ,uhttpmock)))
367 (inputs
368 `(("cyrus-sasl" ,cyrus-sasl)
369 ("glib" ,glib)
370 ("glib-networking" ,glib-networking)
371 ("json-glib" ,json-glib)
372 ("libsoup" ,libsoup)))
373 (propagated-inputs
374 `(("gcr" ,gcr)
375 ("gnome-online-accounts" ,gnome-online-accounts)
376 ("liboauth" ,liboauth)
377 ("libxml2" ,libxml2)))
378 (home-page "https://wiki.gnome.org/Projects/libgdata")
379 (synopsis "Library for accessing online service APIs")
380 (description
381 "libgdata is a GLib-based library for accessing online service APIs using
382 the GData protocol — most notably, Google's services. It provides APIs to
383 access the common Google services, and has full asynchronous support.")
384 (license license:lgpl2.1+)))
385
386 (define-public libgxps
387 (package
388 (name "libgxps")
389 (version "0.2.5")
390 (source (origin
391 (method url-fetch)
392 (uri (string-append "mirror://gnome/sources/" name "/"
393 (version-major+minor version) "/"
394 name "-" version ".tar.xz"))
395 (sha256
396 (base32
397 "184r06s8g20cfigg7m169n42jjsc9wmzzlycr4g1fxxhr72r8x9y"))))
398 (build-system gnu-build-system)
399 (native-inputs
400 `(("gobject-introspection" ,gobject-introspection)
401 ("pkg-config" ,pkg-config)))
402 (inputs
403 `(("cairo" ,cairo)
404 ("glib" ,glib)
405 ("libarchive" ,libarchive)
406 ("libjpeg" ,libjpeg)
407 ("lcms" ,lcms)
408 ("libtiff" ,libtiff)
409 ("nettle" ,nettle)))
410 (home-page "https://wiki.gnome.org/Projects/libgxps")
411 (synopsis "GObject-based library for handling and rendering XPS documents")
412 (description
413 "libgxps is a GObject-based library for handling and rendering XPS
414 documents. This package also contains binaries that can convert XPS documents
415 to other formats.")
416 (license license:lgpl2.1+)))
417
418 (define-public gnome-common
419 (package
420 (name "gnome-common")
421 (version "3.18.0")
422 (source
423 (origin
424 (method url-fetch)
425 (uri (string-append "mirror://gnome/sources/" name "/"
426 (version-major+minor version) "/"
427 name "-" version ".tar.xz"))
428 (sha256
429 (base32
430 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
431 (build-system gnu-build-system)
432 (home-page "https://www.gnome.org/")
433 (synopsis "Bootstrap GNOME modules built from Git")
434 (description "gnome-common contains various files needed to bootstrap
435 GNOME modules built from Git. It contains a common \"autogen.sh\" script that
436 can be used to configure a source directory checked out from Git and some
437 commonly used macros.")
438 (license license:gpl2+)))
439
440 (define-public gnome-desktop
441 (package
442 (name "gnome-desktop")
443 (version "3.24.2")
444 (source
445 (origin
446 (method url-fetch)
447 (uri (string-append "mirror://gnome/sources/" name "/"
448 (version-major+minor version) "/"
449 name "-" version ".tar.xz"))
450 (sha256
451 (base32
452 "0pkq5l1llw8gkjhfq6y58iyj6wac8dh1mc3rzjzn6nd7lrkdx8cg"))))
453 (build-system gnu-build-system)
454 (native-inputs
455 `(("gobject-introspection" ,gobject-introspection)
456 ("itstool" ,itstool)
457 ("intltool" ,intltool)
458 ("pkg-config" ,pkg-config)
459 ("xmllint" ,libxml2)))
460 (propagated-inputs
461 ;; Required by gnome-desktop-3.0.pc.
462 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
463 ("gtk+" ,gtk+)))
464 (inputs
465 `(("gdk-pixbuf" ,gdk-pixbuf)
466 ("glib" ,glib)
467 ("iso-codes" ,iso-codes)
468 ("libx11" ,libx11)
469 ("libxext" ,libxext)
470 ("libxkbfile" ,libxkbfile)
471 ("libxrandr" ,libxrandr)
472 ("xkeyboard-config" ,xkeyboard-config)))
473 (home-page "https://www.gnome.org/")
474 (synopsis
475 "Libgnome-desktop, gnome-about, and desktop-wide documents")
476 (description
477 "The libgnome-desktop library provides API shared by several applications
478 on the desktop, but that cannot live in the platform for various reasons.
479 There is no API or ABI guarantee, although we are doing our best to provide
480 stability. Documentation for the API is available with gtk-doc.
481
482 The gnome-about program helps find which version of GNOME is installed.")
483 ; Some bits under the LGPL.
484 (license license:gpl2+)))
485
486 (define-public gnome-doc-utils
487 (package
488 (name "gnome-doc-utils")
489 (version "0.20.10")
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append "mirror://gnome/sources/" name "/"
494 (version-major+minor version) "/"
495 name "-" version ".tar.xz"))
496 (sha256
497 (base32
498 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
499 (build-system gnu-build-system)
500 (native-inputs
501 `(("intltool" ,intltool)
502 ("docbook-xml" ,docbook-xml-4.4)
503 ("python2-libxml2" ,python2-libxml2)
504 ("libxml2" ,libxml2)
505 ("libxslt" ,libxslt)
506 ("pkg-config" ,pkg-config)
507 ("python-2" ,python-2)))
508 (home-page "https://wiki.gnome.org/GnomeDocUtils")
509 (synopsis
510 "Documentation utilities for the Gnome project")
511 (description
512 "Gnome-doc-utils is a collection of documentation utilities for the
513 Gnome project. It includes xml2po tool which makes it easier to translate
514 and keep up to date translations of documentation.")
515 (license license:gpl2+))) ; xslt under lgpl
516
517 (define-public gnome-disk-utility
518 (package
519 (name "gnome-disk-utility")
520 (version "3.26.1")
521 (source (origin
522 (method url-fetch)
523 (uri (string-append "mirror://gnome/sources/" name "/"
524 (version-major+minor version) "/"
525 name "-" version ".tar.xz"))
526 (sha256
527 (base32
528 "10spllvcq2q71xk3dnhzjk8v4qx9am8y1h68k8z2j0l94g1c8bi3"))))
529 (build-system meson-build-system)
530 (native-inputs
531 `(("glib:bin" ,glib "bin")
532 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
533 ("intltool" ,intltool)
534 ("pkg-config" ,pkg-config)
535 ("docbook-xml" ,docbook-xml)
536 ("docbook-xsl" ,docbook-xsl)
537 ("libxml2" ,libxml2)
538 ("libxslt" ,libxslt)))
539 (inputs
540 `(("glib" ,glib)
541 ("appstream-glib" ,appstream-glib)
542 ("gnome-settings-daemon" ,gnome-settings-daemon)
543 ("gtk+" ,gtk+)
544 ("libcanberra" ,libcanberra)
545 ("libdvdread" ,libdvdread)
546 ("libnotify" ,libnotify)
547 ("libpwquality" ,libpwquality)
548 ("libsecret" ,libsecret)
549 ("udisks" ,udisks)))
550 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
551 (synopsis "Disk management utility for GNOME")
552 (description "Disk management utility for GNOME.")
553 (license license:gpl2+)))
554
555 (define-public gcr
556 (package
557 (name "gcr")
558 (version "3.20.0")
559 (source (origin
560 (method url-fetch)
561 (uri (string-append "mirror://gnome/sources/" name "/"
562 (version-major+minor version) "/"
563 name "-" version ".tar.xz"))
564 (sha256
565 (base32
566 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))
567 (patches
568 (search-patches "gcr-disable-failing-tests.patch"
569 "gcr-fix-collection-tests-to-work-with-gpg-21.patch"))))
570 (build-system gnu-build-system)
571 (arguments
572 '(#:phases (modify-phases %standard-phases
573 (add-before
574 'check 'pre-check
575 (lambda* (#:key inputs #:allow-other-keys)
576 (substitute* "build/tap-driver"
577 (("/usr/bin/env python") (which "python"))))))))
578 (inputs
579 `(("dbus" ,dbus)
580 ("gnupg" ,gnupg) ;called as a child process during tests
581 ("libgcrypt" ,libgcrypt)))
582 (native-inputs
583 `(("python" ,python-2) ;for tests
584 ("pkg-config" ,pkg-config)
585 ("glib" ,glib "bin")
586 ("gobject-introspection" ,gobject-introspection)
587 ("intltool" ,intltool)
588 ("xsltproc" ,libxslt)))
589 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
590 (propagated-inputs
591 `(("p11-kit" ,p11-kit)
592 ("glib" ,glib)
593 ("gtk+" ,gtk+)))
594 (home-page "https://www.gnome.org")
595 (synopsis "Libraries for displaying certificates and accessing key stores")
596 (description
597 "The GCR package contains libraries used for displaying certificates and
598 accessing key stores. It also provides the viewer for crypto files on the
599 GNOME Desktop.")
600 (license license:lgpl2.1+)))
601
602 (define-public libgnome-keyring
603 (package
604 (name "libgnome-keyring")
605 (version "3.12.0")
606 (source (origin
607 (method url-fetch)
608 (uri (string-append "mirror://gnome/sources/" name "/"
609 (version-major+minor version) "/"
610 name "-" version ".tar.xz"))
611 (sha256
612 (base32
613 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
614 (build-system gnu-build-system)
615 (inputs
616 `(("libgcrypt" ,libgcrypt)
617 ("dbus" ,dbus)))
618 (native-inputs
619 `(("pkg-config" ,pkg-config)
620 ("glib" ,glib "bin")
621 ("intltool" ,intltool)))
622 (propagated-inputs
623 ;; Referred to in .h files and .pc.
624 `(("glib" ,glib)))
625 (home-page "https://www.gnome.org")
626 (synopsis "Accessing passwords from the GNOME keyring")
627 (description
628 "Client library to access passwords from the GNOME keyring.")
629
630 ;; Though a couple of files are LGPLv2.1+.
631 (license license:lgpl2.0+)))
632
633 (define-public gnome-keyring
634 (package
635 (name "gnome-keyring")
636 (version "3.20.1")
637 (source (origin
638 (method url-fetch)
639 (uri (string-append "mirror://gnome/sources/" name "/"
640 (version-major+minor version) "/"
641 name "-" version ".tar.xz"))
642 (sha256
643 (base32
644 "134ci3mn6jjap59z3lrvyiip7zf2nlw5xvanr44yajs57xr4x5lp"))))
645 (build-system gnu-build-system)
646 (arguments
647 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
648 ;not exist
649 #:configure-flags
650 (list
651 (string-append "--with-pkcs11-config="
652 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
653 (string-append "--with-pkcs11-modules="
654 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
655 #:phases
656 (modify-phases %standard-phases
657 (add-before
658 'check 'pre-check
659 (lambda* (#:key inputs #:allow-other-keys)
660 (substitute* "build/tap-driver"
661 (("/usr/bin/env python") (which "python")))))
662 (add-before
663 'configure 'fix-docbook
664 (lambda* (#:key inputs #:allow-other-keys)
665 (substitute* "docs/Makefile.am"
666 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
667 (string-append (assoc-ref inputs "docbook-xsl")
668 "/xml/xsl/docbook-xsl-"
669 ,(package-version docbook-xsl)
670 "/manpages/docbook.xsl")))
671 (setenv "XML_CATALOG_FILES"
672 (string-append (assoc-ref inputs "docbook-xml")
673 "/xml/dtd/docbook/catalog.xml")))))))
674 (inputs
675 `(("libgcrypt" ,libgcrypt)
676 ("linux-pam" ,linux-pam)
677 ("dbus" ,dbus)
678 ("gcr" ,gcr)))
679 (native-inputs
680 `(("pkg-config" ,pkg-config)
681 ("glib" ,glib "bin")
682 ("python" ,python-2) ;for tests
683 ("intltool" ,intltool)
684 ("autoconf" ,autoconf)
685 ("automake" ,automake)
686 ("libxslt" ,libxslt) ;for documentation
687 ("docbook-xml" ,docbook-xml-4.2)
688 ("docbook-xsl" ,docbook-xsl)))
689 (home-page "https://www.gnome.org")
690 (synopsis "Daemon to store passwords and encryption keys")
691 (description
692 "gnome-keyring is a program that keeps passwords and other secrets for
693 users. It is run as a daemon in the session, similar to ssh-agent, and other
694 applications locate it via an environment variable or D-Bus.
695
696 The program can manage several keyrings, each with its own master password,
697 and there is also a session keyring which is never stored to disk, but
698 forgotten when the session ends.")
699 (license license:lgpl2.1+)))
700
701 (define-public evince
702 (package
703 (name "evince")
704 (version "3.26.0")
705 (source (origin
706 (method url-fetch)
707 (uri (string-append "mirror://gnome/sources/" name "/"
708 (version-major+minor version) "/"
709 name "-" version ".tar.xz"))
710 (sha256
711 (base32
712 "1n69lkiagx2x8lrdbvdlz6c051cvzhma73b3ggnw7w1wfkdpnmkr"))))
713 (build-system glib-or-gtk-build-system)
714 (arguments
715 `(#:configure-flags '("--disable-nautilus")
716 #:phases
717 (modify-phases %standard-phases
718 (add-before 'install 'skip-gtk-update-icon-cache
719 ;; Don't create 'icon-theme.cache'.
720 (lambda _
721 (substitute* "data/Makefile"
722 (("gtk-update-icon-cache") "true"))
723 #t)))))
724 (inputs
725 `(("libarchive" ,libarchive)
726 ("libgxps" ,libgxps)
727 ("libspectre" ,libspectre)
728 ("djvulibre" ,djvulibre)
729 ("ghostscript" ,ghostscript)
730 ("poppler" ,poppler)
731 ("libtiff" ,libtiff)
732 ;; TODO:
733 ;; Build libkpathsea as a shared library for DVI support.
734 ;; ("libkpathsea" ,texlive-bin)
735 ("gnome-desktop" ,gnome-desktop)
736 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
737 ("libgnome-keyring" ,libgnome-keyring)
738 ("adwaita-icon-theme" ,adwaita-icon-theme)
739 ("gdk-pixbuf" ,gdk-pixbuf)
740 ("atk" ,atk)
741 ("pango" ,pango)
742 ("gtk+" ,gtk+)
743 ("glib" ,glib)
744 ("libxml2" ,libxml2)
745 ("libsm" ,libsm)
746 ("libice" ,libice)
747 ("shared-mime-info" ,shared-mime-info)
748 ("dconf" ,dconf)
749 ("libcanberra" ,libcanberra)
750 ("libsecret" ,libsecret)
751 ;; For tests.
752 ("dogtail" ,python2-dogtail)))
753 (native-inputs
754 `(("itstool" ,itstool)
755 ("intltool" ,intltool)
756 ("glib" ,glib "bin")
757 ("pkg-config" ,pkg-config)
758 ("xmllint" ,libxml2)))
759 (home-page
760 "https://www.gnome.org/projects/evince/")
761 (synopsis "GNOME's document viewer")
762 (description
763 "Evince is a document viewer for multiple document formats. It
764 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
765 of Evince is to replace the multiple document viewers that exist
766 on the GNOME Desktop with a single simple application.")
767 (license license:gpl2+)))
768
769 (define-public gsettings-desktop-schemas
770 (package
771 (name "gsettings-desktop-schemas")
772 (version "3.24.1")
773 (source
774 (origin
775 (method url-fetch)
776 (uri (string-append "mirror://gnome/sources/" name "/"
777 (version-major+minor version) "/"
778 name "-" version ".tar.xz"))
779 (sha256
780 (base32
781 "19zfqy58missq5cck13ip8j824hb9whqg2c4cr6hgrlxkwqgm8vn"))))
782 (build-system gnu-build-system)
783 (inputs
784 `(("glib" ,glib)))
785 (native-inputs
786 `(("intltool" ,intltool)
787 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
788 ("gobject-introspection" ,gobject-introspection)
789 ("pkg-config" ,pkg-config)))
790 (home-page "https://launchpad.net/gsettings-desktop-schemas")
791 (synopsis
792 "GNOME settings for various desktop components")
793 (description
794 "Gsettings-desktop-schemas contains a collection of GSettings schemas
795 for settings shared by various components of the GNOME desktop.")
796 (license license:lgpl2.1+)))
797
798 (define-public icon-naming-utils
799 (package
800 (name "icon-naming-utils")
801 (version "0.8.90")
802 (source
803 (origin
804 (method url-fetch)
805 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
806 version ".tar.bz2"))
807 (sha256
808 (base32
809 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
810 (build-system gnu-build-system)
811 (inputs
812 `(("perl" ,perl)
813 ("perl-xml-simple" ,perl-xml-simple)))
814 (arguments
815 '(#:phases
816 (modify-phases %standard-phases
817 (add-after 'install 'set-load-paths
818 ;; Tell 'icon-name-mapping' where XML::Simple is.
819 (lambda* (#:key outputs #:allow-other-keys)
820 (let* ((out (assoc-ref outputs "out"))
821 (prog (string-append out "/libexec/icon-name-mapping")))
822 (wrap-program
823 prog
824 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
825 #t)))))
826 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
827 (synopsis
828 "Utility to implement the Freedesktop Icon Naming Specification")
829 (description
830 "To help with the transition to the Freedesktop Icon Naming
831 Specification, the icon naming utility maps the icon names used by the
832 GNOME and KDE desktops to the icon names proposed in the specification.")
833 (license license:lgpl2.1+)))
834
835 (define-public gnome-icon-theme
836 (package
837 (name "gnome-icon-theme")
838 (version "3.12.0")
839 (source
840 (origin
841 (method url-fetch)
842 (uri (string-append "mirror://gnome/sources/" name "/"
843 (version-major+minor version) "/"
844 name "-" version ".tar.xz"))
845 (sha256
846 (base32
847 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
848 (build-system gnu-build-system)
849 (arguments
850 '(#:configure-flags
851 ;; Don't create 'icon-theme.cache'.
852 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
853 (true (string-append coreutils "/bin/true")))
854 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
855 (native-inputs
856 `(("icon-naming-utils" ,icon-naming-utils)
857 ("intltool" ,intltool)
858 ("pkg-config" ,pkg-config)))
859 (home-page "https://art.gnome.org/")
860 (synopsis
861 "GNOME icon theme")
862 (description
863 "Icons for the GNOME desktop.")
864 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
865
866 ;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
867 (define-public adwaita-icon-theme
868 (package (inherit gnome-icon-theme)
869 (name "adwaita-icon-theme")
870 (version "3.26.0")
871 (source (origin
872 (method url-fetch)
873 (uri (string-append "mirror://gnome/sources/" name "/"
874 (version-major+minor version) "/"
875 name "-" version ".tar.xz"))
876 (sha256
877 (base32
878 "04i2s6hkgzxgmq85dynmzih8rw5krc5apkks962mhgri37g8bbcw"))))
879 (native-inputs
880 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
881
882 (define-public tango-icon-theme
883 (package
884 (name "tango-icon-theme")
885 (version "0.8.90")
886 (source (origin
887 (method url-fetch)
888 (uri (string-append "http://tango.freedesktop.org/releases/"
889 "tango-icon-theme-" version ".tar.bz2"))
890 (sha256
891 (base32
892 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
893 (build-system gnu-build-system)
894 (native-inputs
895 `(("icon-naming-utils" ,icon-naming-utils)
896 ("intltool" ,intltool)
897 ("imagemagick" ,imagemagick)
898 ("pkg-config" ,pkg-config)))
899 (home-page "http://tango-project.org/")
900 (synopsis "Tango icon theme")
901 (description "This is an icon theme that follows the Tango visual
902 guidelines.")
903 (license license:public-domain)))
904
905 (define-public shared-mime-info
906 (package
907 (name "shared-mime-info")
908 (version "1.8")
909 (source (origin
910 (method url-fetch)
911 (uri (string-append "https://freedesktop.org/~hadess/"
912 "shared-mime-info-" version ".tar.xz"))
913 (sha256
914 (base32
915 "1sc96lv9dp1lkvs8dh3ngm3hbjb274d363dl9avhb61il3qmxx9a"))))
916 (build-system gnu-build-system)
917 (arguments
918 ;; The build system appears not to be parallel-safe.
919 '(#:parallel-build? #f))
920 (inputs
921 `(("glib" ,glib)
922 ("libxml2" ,libxml2)))
923 (native-inputs
924 `(("intltool" ,intltool)
925 ("pkg-config" ,pkg-config)))
926 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
927 (synopsis "Database of common MIME types")
928 (description
929 "The shared-mime-info package contains the core database of common types
930 and the update-mime-database command used to extend it. It requires glib2 to
931 be installed for building the update command. Additionally, it uses intltool
932 for translations, though this is only a dependency for the maintainers. This
933 database is translated at Transifex.")
934 (license license:gpl2+)))
935
936 (define-public hicolor-icon-theme
937 (package
938 (name "hicolor-icon-theme")
939 (version "0.17")
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
944 "hicolor-icon-theme-" version ".tar.xz"))
945 (sha256
946 (base32
947 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
948 (build-system gnu-build-system)
949 (arguments
950 `(#:tests? #f)) ; no check target
951 (home-page "http://icon-theme.freedesktop.org/releases/")
952 (synopsis
953 "Freedesktop icon theme")
954 (description
955 "Freedesktop icon theme.")
956 (license license:gpl2)))
957
958 (define-public libnotify
959 (package
960 (name "libnotify")
961 (version "0.7.7")
962 (source
963 (origin
964 (method url-fetch)
965 (uri (string-append "mirror://gnome/sources/" name "/"
966 (version-major+minor version) "/"
967 name "-" version ".tar.xz"))
968 (sha256
969 (base32
970 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
971 (build-system gnu-build-system)
972 (inputs
973 `(("gdk-pixbuf" ,gdk-pixbuf)
974 ("glib" ,glib)
975 ("gtk+" ,gtk+)
976 ("libpng" ,libpng)))
977 (native-inputs
978 `(("pkg-config" ,pkg-config)
979 ("glib" ,glib "bin")
980 ("gobject-introspection" ,gobject-introspection)))
981 (home-page "https://developer-next.gnome.org/libnotify/")
982 (synopsis
983 "GNOME desktop notification library")
984 (description
985 "Libnotify is a library that sends desktop notifications to a
986 notification daemon, as defined in the Desktop Notifications spec. These
987 notifications can be used to inform the user about an event or display
988 some form of information without getting in the user's way.")
989 (license license:lgpl2.1+)))
990
991 (define-public libpeas
992 (package
993 (name "libpeas")
994 (version "1.22.0")
995 (source
996 (origin
997 (method url-fetch)
998 (uri (string-append "mirror://gnome/sources/" name "/"
999 (version-major+minor version) "/"
1000 name "-" version ".tar.xz"))
1001 (sha256
1002 (base32
1003 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
1004 (build-system gnu-build-system)
1005 (inputs
1006 `(("gtk+" ,gtk+)
1007 ("glade" ,glade3)
1008 ("python" ,python)
1009 ("python-pygobject" ,python-pygobject)))
1010 (native-inputs
1011 `(("pkg-config" ,pkg-config)
1012 ("glib:bin" ,glib "bin")
1013 ("gobject-introspection" ,gobject-introspection)
1014 ("intltool" ,intltool)))
1015 (propagated-inputs
1016 ;; The .pc file "Requires" gobject-introspection.
1017 `(("gobject-introspection" ,gobject-introspection)))
1018 (home-page "https://wiki.gnome.org/Libpeas")
1019 (synopsis "GObject plugin system")
1020 (description
1021 "Libpeas is a gobject-based plugin engine, targeted at giving every
1022 application the chance to assume its own extensibility. It also has a set of
1023 features including, but not limited to: multiple extension points; on-demand
1024 (lazy) programming language support for C, Python and JS; simplicity of the
1025 API.")
1026 (license license:lgpl2.0+)))
1027
1028 (define-public gtkglext
1029 (package
1030 (name "gtkglext")
1031 (version "1.2.0")
1032 (source (origin
1033 (method url-fetch)
1034 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
1035 version "/gtkglext-" version ".tar.gz"))
1036 (sha256
1037 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
1038 (patches (search-patches
1039 "gtkglext-disable-disable-deprecated.patch"))))
1040 (build-system gnu-build-system)
1041 (inputs `(("gtk+" ,gtk+-2)
1042 ("mesa" ,mesa)
1043 ("glu" ,glu)
1044 ("libx11" ,libx11)
1045 ("libxt" ,libxt)))
1046 (native-inputs `(("pkg-config" ,pkg-config)
1047 ("glib" ,glib "bin")))
1048 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
1049 (home-page "https://projects.gnome.org/gtkglext")
1050 (synopsis "OpenGL extension to GTK+")
1051 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
1052 additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1053 API add-ons to make GTK+ widgets OpenGL-capable.")
1054 (license license:lgpl2.1+)))
1055
1056 (define-public glade3
1057 (package
1058 (name "glade")
1059 (version "3.20.1")
1060 (source (origin
1061 (method url-fetch)
1062 (uri (string-append "mirror://gnome/sources/" name "/"
1063 (version-major+minor version) "/"
1064 name "-" version ".tar.xz"))
1065 (sha256
1066 (base32
1067 "1pxikhzdzd092d4x3nacf5gfzi3mvhywrhcfqc07xakbsinnfr40"))))
1068 (build-system glib-or-gtk-build-system)
1069 (arguments
1070 `(#:tests? #f ; needs X, GL, and software rendering
1071 #:phases
1072 (modify-phases %standard-phases
1073 (add-before 'configure 'fix-docbook
1074 (lambda* (#:key inputs #:allow-other-keys)
1075 (substitute* "man/Makefile.in"
1076 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1077 (string-append (assoc-ref inputs "docbook-xsl")
1078 "/xml/xsl/docbook-xsl-"
1079 ,(package-version docbook-xsl)
1080 "/manpages/docbook.xsl")))
1081 #t)))))
1082 (inputs
1083 `(("gtk+" ,gtk+)
1084 ("libxml2" ,libxml2)))
1085 (native-inputs
1086 `(("intltool" ,intltool)
1087 ("itstool" ,itstool)
1088 ("libxslt" ,libxslt) ;for xsltproc
1089 ("docbook-xml" ,docbook-xml-4.2)
1090 ("docbook-xsl" ,docbook-xsl)
1091 ("python" ,python-2)
1092 ("pkg-config" ,pkg-config)))
1093 (home-page "https://glade.gnome.org")
1094 (synopsis "GTK+ rapid application development tool")
1095 (description "Glade is a rapid application development (RAD) tool to
1096 enable quick & easy development of user interfaces for the GTK+ toolkit and
1097 the GNOME desktop environment.")
1098 (license license:lgpl2.0+)))
1099
1100 (define-public libcroco
1101 (package
1102 (name "libcroco")
1103 (version "0.6.12")
1104 (source (origin
1105 (method url-fetch)
1106 (uri (string-append "mirror://gnome/sources/" name "/"
1107 (version-major+minor version) "/"
1108 name "-" version ".tar.xz"))
1109 (patches
1110 (search-patches "libcroco-CVE-2017-7960.patch"
1111 "libcroco-CVE-2017-7961.patch"))
1112 (sha256
1113 (base32
1114 "0q7qhi7z64i26zabg9dbs5706fa8pmzp1qhpa052id4zdiabbi6x"))))
1115 (build-system gnu-build-system)
1116 (native-inputs
1117 `(("pkg-config" ,pkg-config)))
1118 (inputs
1119 `(("glib" ,glib)
1120 ("libxml2" ,libxml2)
1121 ("zlib" ,zlib)))
1122 (home-page "https://github.com/GNOME/libcroco")
1123 (synopsis "CSS2 parsing and manipulation library")
1124 (description
1125 "Libcroco is a standalone CSS2 parsing and manipulation library.
1126 The parser provides a low level event driven SAC-like API and a CSS object
1127 model like API. Libcroco provides a CSS2 selection engine and an experimental
1128 XML/CSS rendering engine.")
1129
1130 ;; LGPLv2.1-only.
1131 (license license:lgpl2.1)))
1132
1133 (define-public libgsf
1134 (package
1135 (name "libgsf")
1136 (version "1.14.41")
1137 (source (origin
1138 (method url-fetch)
1139 (uri (string-append "mirror://gnome/sources/" name "/"
1140 (version-major+minor version) "/"
1141 name "-" version ".tar.xz"))
1142 (sha256
1143 (base32
1144 "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm"))))
1145 (build-system gnu-build-system)
1146 (native-inputs
1147 `(("intltool" ,intltool)
1148 ("pkg-config" ,pkg-config)))
1149 (inputs
1150 `(("python" ,python)
1151 ("zlib" ,zlib)
1152 ("bzip2" ,bzip2)))
1153 (propagated-inputs
1154 `(("gdk-pixbuf" ,gdk-pixbuf)
1155 ("glib" ,glib)
1156 ("libxml2" ,libxml2)))
1157 (home-page "https://www.gnome.org/projects/libgsf")
1158 (synopsis "GNOME's Structured File Library")
1159 (description
1160 "Libgsf aims to provide an efficient extensible I/O abstraction for
1161 dealing with different structured file formats.")
1162
1163 ;; LGPLv2.1-only.
1164 (license license:lgpl2.1)))
1165
1166 (define-public librsvg
1167 (package
1168 (name "librsvg")
1169 (version "2.40.18")
1170 (source (origin
1171 (method url-fetch)
1172 (uri (string-append "mirror://gnome/sources/" name "/"
1173 (version-major+minor version) "/"
1174 name "-" version ".tar.xz"))
1175 (sha256
1176 (base32
1177 "0k2nbd4g31qinkdfd8r5c5ih2ixl85fbkgkqqh9747lwr24c9j5z"))))
1178 (build-system gnu-build-system)
1179 (arguments
1180 `(#:phases
1181 (alist-cons-before
1182 'configure 'pre-configure
1183 (lambda* (#:key inputs #:allow-other-keys)
1184 (substitute* "gdk-pixbuf-loader/Makefile.in"
1185 ;; By default the gdk-pixbuf loader is installed under
1186 ;; gdk-pixbuf's prefix. Work around that.
1187 (("gdk_pixbuf_moduledir = .*$")
1188 (string-append "gdk_pixbuf_moduledir = "
1189 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1190 "loaders\n"))
1191 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1192 (("gdk_pixbuf_cache_file = .*$")
1193 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))
1194 %standard-phases)))
1195 (native-inputs
1196 `(("pkg-config" ,pkg-config)
1197 ("glib" ,glib "bin") ; glib-mkenums, etc.
1198 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1199 (inputs
1200 `(("pango" ,pango)
1201 ("libcroco" ,libcroco)
1202 ("bzip2" ,bzip2)
1203 ("libgsf" ,libgsf)
1204 ("libxml2" ,libxml2)))
1205 (propagated-inputs
1206 ;; librsvg-2.0.pc refers to all of that.
1207 `(("cairo" ,cairo)
1208 ("gdk-pixbuf" ,gdk-pixbuf)
1209 ("glib" ,glib)))
1210 (home-page "https://wiki.gnome.org/LibRsvg")
1211 (synopsis "Render SVG files using Cairo")
1212 (description
1213 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
1214 library.")
1215 (license license:lgpl2.0+)))
1216
1217 (define-public libidl
1218 (package
1219 (name "libidl")
1220 (version "0.8.14")
1221 (source (origin
1222 (method url-fetch)
1223 (uri (let ((upstream-name "libIDL"))
1224 (string-append "mirror://gnome/sources/" upstream-name "/"
1225 (version-major+minor version) "/"
1226 upstream-name "-" version ".tar.bz2")))
1227 (sha256
1228 (base32
1229 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
1230 (build-system gnu-build-system)
1231 (inputs `(("glib" ,glib)))
1232 (native-inputs
1233 `(("pkg-config" ,pkg-config)
1234 ("flex" ,flex)
1235 ("bison" ,bison)))
1236 (home-page "http://freecode.com/projects/libidl")
1237 (synopsis "Create trees of CORBA Interface Definition Language files")
1238 (description "Libidl is a library for creating trees of CORBA Interface
1239 Definition Language (idl) files, which is a specification for defining
1240 portable interfaces. libidl was initially written for orbit (the orb from the
1241 GNOME project, and the primary means of libidl distribution). However, the
1242 functionality was designed to be as reusable and portable as possible.")
1243 (license license:lgpl2.0+)))
1244
1245
1246 (define-public orbit2
1247 (package
1248 (name "orbit2")
1249 (version "2.14.19")
1250 (source (origin
1251 (method url-fetch)
1252 (uri (let ((upstream-name "ORBit2"))
1253 (string-append "mirror://gnome/sources/" upstream-name "/"
1254 (version-major+minor version) "/"
1255 upstream-name "-" version ".tar.bz2")))
1256 (sha256
1257 (base32
1258 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
1259 (build-system gnu-build-system)
1260 (arguments
1261 `(#:configure-flags
1262 ;; The programmer kindly gives us a hook to turn off deprecation
1263 ;; warnings ...
1264 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1265 ;; ... which they then completly ignore !!
1266 #:phases
1267 (modify-phases %standard-phases
1268 (add-before 'configure 'ignore-deprecations
1269 (lambda _
1270 (substitute* "linc2/src/Makefile.in"
1271 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1272 #t)))))
1273 (inputs `(("glib" ,glib)
1274 ("libidl" ,libidl)))
1275 (native-inputs
1276 `(("pkg-config" ,pkg-config)))
1277 (home-page "https://projects.gnome.org/orbit2/")
1278 (synopsis "CORBA 2.4-compliant Object Request Broker")
1279 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
1280 featuring mature C, C++ and Python bindings.")
1281 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
1282 ;; a version. SOME of the code files have licence notices for GPLv2+.
1283 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
1284 (license license:gpl2+)))
1285
1286
1287 (define-public libbonobo
1288 (package
1289 (name "libbonobo")
1290 (version "2.32.1")
1291 (source (origin
1292 (method url-fetch)
1293 (uri (string-append "mirror://gnome/sources/" name "/"
1294 (version-major+minor version)
1295 "/" name "-" version ".tar.bz2"))
1296 (sha256
1297 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
1298 (patches (search-patches
1299 "libbonobo-activation-test-race.patch"))))
1300 (build-system gnu-build-system)
1301 (arguments
1302 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
1303 `(#:configure-flags
1304 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1305 ;; ... which they then completly ignore !!
1306 #:phases
1307 (modify-phases %standard-phases
1308 (add-before 'configure 'ignore-deprecations
1309 (lambda _
1310 (substitute* "activation-server/Makefile.in"
1311 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1312 #t)))))
1313 (inputs `(("popt" ,popt)
1314 ("libxml2" ,libxml2)))
1315 ;; The following are Required by the .pc file
1316 (propagated-inputs
1317 `(("glib" ,glib)
1318 ("orbit2" ,orbit2)))
1319 (native-inputs
1320 `(("intltool" ,intltool)
1321 ("pkg-config" ,pkg-config)
1322 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1323 ("flex" ,flex)
1324 ("bison" ,bison)))
1325 (home-page "https://developer.gnome.org/libbonobo/")
1326 (synopsis "Framework for creating reusable components for use in GNOME applications")
1327 (description "Bonobo is a framework for creating reusable components for
1328 use in GNOME applications, built on top of CORBA.")
1329 ;; Licence not explicitly stated. Source files contain no licence notices.
1330 ;; Tarball contains text of both GPLv2 and LGPLv2
1331 ;; GPLv2 covers both conditions
1332 (license license:gpl2+)))
1333
1334
1335 (define-public gconf
1336 (package
1337 (name "gconf")
1338 (version "3.2.6")
1339 (source (origin
1340 (method url-fetch)
1341 (uri
1342 (let ((upstream-name "GConf"))
1343 (string-append "mirror://gnome/sources/" upstream-name "/"
1344 (version-major+minor version) "/"
1345 upstream-name "-" version ".tar.xz")))
1346 (sha256
1347 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1348 (build-system gnu-build-system)
1349 (inputs `(("dbus-glib" ,dbus-glib)
1350 ("libxml2" ,libxml2)))
1351 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1352 ("orbit2" ,orbit2)))
1353 (native-inputs
1354 `(("intltool" ,intltool)
1355 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1356 ("pkg-config" ,pkg-config)))
1357 (home-page "https://projects.gnome.org/gconf/")
1358 (synopsis "Store application preferences")
1359 (description "Gconf is a system for storing application preferences. It
1360 is intended for user preferences; not arbitrary data storage.")
1361 (license license:lgpl2.0+)
1362 (properties '((upstream-name . "GConf")))))
1363
1364
1365 (define-public gnome-mime-data
1366 (package
1367 (name "gnome-mime-data")
1368 (version "2.18.0")
1369 (source (origin
1370 (method url-fetch)
1371 (uri (string-append "mirror://gnome/sources/" name "/"
1372 (version-major+minor version) "/"
1373 name "-" version ".tar.bz2"))
1374 (sha256
1375 (base32
1376 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1377 (build-system gnu-build-system)
1378 (native-inputs
1379 `(("perl" ,perl)
1380 ("intltool" ,intltool)))
1381 (arguments
1382 '(#:phases (modify-phases %standard-phases
1383 (add-after 'configure 'use-our-intltool
1384 (lambda _
1385 ;; Do not use the bundled intltool commands, which lack
1386 ;; the "dotless @INC" fixes of our 'intltool' package.
1387 (substitute* (find-files "." "^Makefile$")
1388 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
1389 (string-append "INTLTOOL_" tool " = intltool-"
1390 (string-downcase tool) "\n")))
1391 #t)))))
1392 (home-page "https://www.gnome.org")
1393 (synopsis "Base MIME and Application database for GNOME")
1394 (description "GNOME Mime Data is a module which contains the base MIME
1395 and Application database for GNOME. The data stored by this module is
1396 designed to be accessed through the MIME functions in GnomeVFS.")
1397 (license license:gpl2+)))
1398
1399
1400 (define-public gnome-vfs
1401 (package
1402 (name "gnome-vfs")
1403 (version "2.24.4")
1404 (source (origin
1405 (method url-fetch)
1406 (uri (string-append "mirror://gnome/sources/" name "/"
1407 (version-major+minor version) "/"
1408 name "-" version ".tar.bz2"))
1409 (sha256
1410 (base32
1411 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
1412 (build-system gnu-build-system)
1413 (arguments
1414 `(#:phases
1415 (modify-phases %standard-phases
1416 (add-before 'configure 'ignore-deprecations
1417 (lambda _
1418 (substitute* '("libgnomevfs/Makefile.in"
1419 "daemon/Makefile.in")
1420 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1421 #t))
1422 (add-before 'configure 'patch-test-async-cancel-to-never-fail
1423 (lambda _
1424 (substitute* "test/test-async-cancel.c"
1425 (("EXIT_FAILURE") "77"))
1426 #t)))))
1427 (inputs `(("libxml2" ,libxml2)
1428 ("dbus-glib" ,dbus-glib)
1429 ("gconf" ,gconf)
1430 ("gnome-mime-data" ,gnome-mime-data)
1431 ("zlib" ,zlib)))
1432 (native-inputs
1433 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1434 ("intltool" ,intltool)
1435 ("pkg-config" ,pkg-config)))
1436 (home-page "https://developer.gnome.org/gnome-vfs/")
1437 (synopsis "Access files and folders in GNOME applications")
1438 (description
1439 "GnomeVFS is the core library used to access files and folders in GNOME
1440 applications. It provides a file system abstraction which allows applications
1441 to access local and remote files with a single consistent API.")
1442 (license license:lgpl2.0+)))
1443
1444
1445
1446 (define-public libgnome
1447 (package
1448 (name "libgnome")
1449 (version "2.32.1")
1450 (source (origin
1451 (method url-fetch)
1452 (uri (string-append "mirror://gnome/sources/" name "/"
1453 (version-major+minor version) "/"
1454 name "-" version ".tar.bz2"))
1455 (sha256
1456 (base32
1457 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1458 (build-system gnu-build-system)
1459 (arguments
1460 `(#:phases
1461 (modify-phases %standard-phases
1462 (add-before 'configure 'enable-deprecated
1463 (lambda _
1464 (substitute* "libgnome/Makefile.in"
1465 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1466 #t)))))
1467 (inputs `(("libxml2" ,libxml2)))
1468 (native-inputs
1469 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1470 ("intltool" ,intltool)
1471 ("pkg-config" ,pkg-config)))
1472 ;; The following are listed as Required in the .pc file
1473 ;; (except for libcanberra -- which seems to be oversight on the part
1474 ;; of the upstream developers -- anything that links against libgnome,
1475 ;; must also link against libcanberra
1476 (propagated-inputs
1477 `(("libcanberra" ,libcanberra)
1478 ("libbonobo" ,libbonobo)
1479 ("gconf" ,gconf)
1480 ("gnome-vfs" ,gnome-vfs)
1481 ("popt" ,popt))) ;gnome-program.h includes popt.h
1482 (home-page "https://developer.gnome.org/libgnome/")
1483 (synopsis "Useful routines for building applications")
1484 (description "The libgnome library provides a number of useful routines
1485 for building modern applications, including session management, activation of
1486 files and URIs, and displaying help.")
1487 (license license:lgpl2.0+)))
1488
1489
1490 (define-public libart-lgpl
1491 (package
1492 (name "libart-lgpl")
1493 (version "2.3.21")
1494 (source (origin
1495 (method url-fetch)
1496 (uri (let ((upstream-name "libart_lgpl"))
1497 (string-append "mirror://gnome/sources/" upstream-name "/"
1498 (version-major+minor version) "/"
1499 upstream-name "-" version ".tar.bz2")))
1500 (sha256
1501 (base32
1502 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
1503 (build-system gnu-build-system)
1504 (native-inputs
1505 `(("pkg-config" ,pkg-config)))
1506 (home-page "https://people.gnome.org/~mathieu/libart")
1507 (synopsis "2D drawing library")
1508 (description "Libart is a 2D drawing library intended as a
1509 high-quality vector-based 2D library with antialiasing and alpha composition.")
1510 (license license:lgpl2.0+)))
1511
1512
1513
1514 (define-public libgnomecanvas
1515 (package
1516 (name "libgnomecanvas")
1517 (version "2.30.3")
1518 (source (origin
1519 (method url-fetch)
1520 (uri (string-append "mirror://gnome/sources/" name "/"
1521 (version-major+minor version) "/"
1522 name "-" version ".tar.gz"))
1523 (sha256
1524 (base32
1525 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1526 (build-system gnu-build-system)
1527 ;; Mentioned as Required in the .pc file
1528 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1529 ("gtk+" ,gtk+-2)))
1530 (native-inputs
1531 `(("intltool" ,intltool)
1532 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1533 ("pkg-config" ,pkg-config)))
1534 (home-page "https://developer.gnome.org/libgnomecanvas/")
1535 (synopsis "Flexible widget for creating interactive structured graphics")
1536 (description "The GnomeCanvas widget provides a flexible widget for
1537 creating interactive structured graphics.")
1538 (license license:lgpl2.0+)))
1539
1540 (define-public libgnomecanvasmm
1541 (package
1542 (name "libgnomecanvasmm")
1543 (version "2.26.0")
1544 (source (origin
1545 (method url-fetch)
1546 (uri (string-append "mirror://gnome/sources/" name "/"
1547 (version-major+minor version) "/"
1548 name "-" version ".tar.bz2"))
1549 (sha256
1550 (base32
1551 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1552 (build-system gnu-build-system)
1553 (arguments
1554 '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
1555 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1556 (native-inputs
1557 `(("gtkmm-2" ,gtkmm-2)
1558 ("pkg-config" ,pkg-config)))
1559 (home-page "http://gtkmm.org")
1560 (synopsis "C++ bindings to the GNOME Canvas library")
1561 (description "C++ bindings to the GNOME Canvas library.")
1562 (license license:lgpl2.0+)))
1563
1564 (define-public libgnomeui
1565 (package
1566 (name "libgnomeui")
1567 (version "2.24.5")
1568 (source (origin
1569 (method url-fetch)
1570 (uri (string-append "mirror://gnome/sources/" name "/"
1571 (version-major+minor version) "/"
1572 name "-" version ".tar.bz2"))
1573 (sha256
1574 (base32
1575 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1576 (build-system gnu-build-system)
1577 ;; Mentioned as Required in the .pc file
1578 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1579 ("libgnome" ,libgnome)
1580 ("libgnomecanvas" ,libgnomecanvas)
1581 ("libgnome-keyring" ,libgnome-keyring)))
1582 (inputs `(("libjpeg" ,libjpeg)
1583 ("popt" ,popt)
1584 ("libbonobo" ,libbonobo)
1585 ("libxml2" ,libxml2)
1586 ("libglade" ,libglade)))
1587 (native-inputs
1588 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1589 ("intltool" ,intltool)
1590 ("pkg-config" ,pkg-config)))
1591 (home-page "https://developer.gnome.org/libgnomeui/")
1592 (synopsis "Additional widgets for applications")
1593 (description "The libgnomeui library provides additional widgets for
1594 applications. Many of the widgets from libgnomeui have already been
1595 ported to GTK+.")
1596 (license license:lgpl2.0+)))
1597
1598 (define-public libglade
1599 (package
1600 (name "libglade")
1601 (version "2.6.4")
1602 (source (origin
1603 (method url-fetch)
1604 (uri (string-append "mirror://gnome/sources/" name "/"
1605 (version-major+minor version) "/"
1606 name "-" version ".tar.bz2"))
1607 (sha256
1608 (base32
1609 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1610 (build-system gnu-build-system)
1611 (inputs
1612 `(("python" ,python))) ;; needed for the optional libglade-convert program
1613 (propagated-inputs
1614 `(("gtk+-2" ,gtk+-2)
1615 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
1616 (native-inputs
1617 `(("pkg-config" ,pkg-config)))
1618 (home-page "https://developer.gnome.org/libglade")
1619 (synopsis "Load glade interfaces and access the glade built widgets")
1620 (description "Libglade is a library that provides interfaces for loading
1621 graphical interfaces described in glade files and for accessing the
1622 widgets built in the loading process.")
1623 (license license:gpl2+))) ; This is correct. GPL not LGPL
1624
1625 (define-public libgnomeprint
1626 ;; This library has been deprecated since 2006; see
1627 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
1628 (package
1629 (name "libgnomeprint")
1630 (version "2.8.2")
1631 (source (origin
1632 (method url-fetch)
1633 (uri (string-append "mirror://gnome/sources/" name "/"
1634 (version-major+minor version) "/"
1635 name "-" version ".tar.bz2"))
1636 (sha256
1637 (base32
1638 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
1639 (build-system gnu-build-system)
1640 (inputs
1641 `(("popt" ,popt)
1642 ("libart-lgpl" ,libart-lgpl)
1643 ("gtk+" ,gtk+-2)
1644 ("libxml2" ,libxml2)))
1645 (native-inputs
1646 `(("intltool" ,intltool)
1647 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1648 ("pkg-config" ,pkg-config)))
1649 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1650 (synopsis "Printing framework for GNOME")
1651 (description
1652 "GNOME-print was a printing framework for GNOME. It has been deprecated
1653 since ca. 2006, when GTK+ itself incorporated printing support.")
1654 (license license:lgpl2.0+)))
1655
1656
1657 (define-public libgnomeprintui
1658 ;; Deprecated; see libgnomeprint.
1659 (package
1660 (name "libgnomeprintui")
1661 (version "2.8.2")
1662 (source (origin
1663 (method url-fetch)
1664 (uri (string-append "mirror://gnome/sources/" name "/"
1665 (version-major+minor version) "/"
1666 name "-" version ".tar.bz2"))
1667 (sha256
1668 (base32
1669 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1670 (build-system gnu-build-system)
1671 ;; Mentioned as Required in the .pc file
1672 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1673 (inputs `(("gtk+" ,gtk+-2)
1674 ("glib" ,glib)
1675 ("gnome-icon-theme" ,gnome-icon-theme)
1676 ("libgnomecanvas" ,libgnomecanvas)
1677 ("libxml2" ,libxml2)))
1678 (native-inputs
1679 `(("intltool" ,intltool)
1680 ("pkg-config" ,pkg-config)))
1681 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1682 (synopsis "Printing framework for GNOME")
1683 (description (package-description libgnomeprint))
1684 (license license:lgpl2.0+)))
1685
1686 (define-public libbonoboui
1687 (package
1688 (name "libbonoboui")
1689 (version "2.24.5")
1690 (source (origin
1691 (method url-fetch)
1692 (uri (string-append "mirror://gnome/sources/" name "/"
1693 (version-major+minor version) "/"
1694 name "-" version ".tar.bz2"))
1695 (sha256
1696 (base32
1697 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1698 (build-system gnu-build-system)
1699 (arguments
1700 `(#:phases
1701 (modify-phases %standard-phases
1702 (add-before 'check 'start-xserver
1703 (lambda* (#:key inputs #:allow-other-keys)
1704 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1705 (disp ":1"))
1706
1707 (setenv "HOME" (getcwd))
1708 (setenv "DISPLAY" disp)
1709 ;; There must be a running X server and make check doesn't start one.
1710 ;; Therefore we must do it.
1711 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
1712 ;; Mentioned as Required by the .pc file
1713 (propagated-inputs `(("libxml2" ,libxml2)))
1714 (inputs
1715 `(("popt" ,popt)
1716 ("pangox-compat" ,pangox-compat)
1717 ("libgnome" ,libgnome)
1718 ("libgnomecanvas" ,libgnomecanvas)
1719 ("libglade" ,libglade)))
1720 (native-inputs
1721 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1722 ("intltool" ,intltool)
1723 ("xorg-server" ,xorg-server) ; For running the tests
1724 ("pkg-config" ,pkg-config)))
1725 (home-page "https://developer.gnome.org/libbonoboui/")
1726 (synopsis "Some user interface controls using Bonobo")
1727 (description "The Bonobo UI library provides a number of user interface
1728 controls using the Bonobo component framework.")
1729 (license license:lgpl2.0+)))
1730
1731 (define-public libwnck
1732 (package
1733 (name "libwnck")
1734 (version "3.20.1")
1735 (source (origin
1736 (method url-fetch)
1737 (uri (string-append "mirror://gnome/sources/" name "/"
1738 (version-major+minor version) "/"
1739 name "-" version ".tar.xz"))
1740 (sha256
1741 (base32 "0wms3hli6y0b9l3cszq6maqi6fyy6kss9gryvzgmhw27phb3gc0w"))))
1742 (build-system gnu-build-system)
1743 (native-inputs
1744 `(("pkg-config" ,pkg-config)
1745 ("intltool" ,intltool)))
1746 (propagated-inputs
1747 `(("gtk+" ,gtk+)
1748 ("libxres" ,libxres)
1749 ("startup-notification" ,startup-notification)))
1750 (home-page "https://developer.gnome.org/libwnck/")
1751 (synopsis "Window Navigator Construction Kit")
1752 (description
1753 "Libwnck is the Window Navigator Construction Kit, a library for use in
1754 writing pagers, tasklists, and more generally applications that are dealing
1755 with window management. It tries hard to respect the Extended Window Manager
1756 Hints specification (EWMH).")
1757 (license license:lgpl2.0+)))
1758
1759 ;; stable version for gtk2, required by xfwm4.
1760 (define-public libwnck-2
1761 (package (inherit libwnck)
1762 (name "libwnck")
1763 (version "2.30.7")
1764 (source (origin
1765 (method url-fetch)
1766 (uri (string-append "mirror://gnome/sources/" name "/"
1767 (version-major+minor version) "/"
1768 name "-" version ".tar.xz"))
1769 (sha256
1770 (base32
1771 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1772 (propagated-inputs
1773 `(("gtk+" ,gtk+-2)
1774 ("libxres" ,libxres)
1775 ("startup-notification" ,startup-notification)))))
1776
1777 (define-public goffice
1778 (package
1779 (name "goffice")
1780 (version "0.10.35")
1781 (source (origin
1782 (method url-fetch)
1783 (uri (string-append "mirror://gnome/sources/" name "/"
1784 (version-major+minor version) "/"
1785 name "-" version ".tar.xz"))
1786 (sha256
1787 (base32 "0f2p3p7idfpbms4mi75031014mqsv09s21b6w1359p09raph3461"))))
1788 (build-system gnu-build-system)
1789 (outputs '("out"
1790 "doc")) ;4.1 MiB of gtk-doc
1791 (arguments
1792 '(#:configure-flags (list (string-append "--with-html-dir="
1793 (assoc-ref %outputs "doc")
1794 "/share/gtk-doc/html"))))
1795 (inputs
1796 `(("gtk+" ,gtk+)
1797 ("libgsf" ,libgsf)
1798 ("librsvg" ,librsvg)
1799 ("libxslt" ,libxslt)
1800 ("libxml2" ,libxml2)))
1801 (native-inputs
1802 `(("intltool" ,intltool)
1803 ("glib" ,glib "bin")
1804 ("pkg-config" ,pkg-config)))
1805 (home-page "https://developer.gnome.org/goffice/")
1806 (synopsis "Document-centric objects and utilities")
1807 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1808 (license
1809 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1810 ;; Note: NOT LGPL
1811 (list license:gpl2 license:gpl3))))
1812
1813 (define-public goffice-0.8
1814 (package (inherit goffice)
1815 (version "0.8.17")
1816 (source (origin
1817 (method url-fetch)
1818 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1819 (version-major+minor version) "/"
1820 (package-name goffice) "-" version ".tar.xz"))
1821 (sha256
1822 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1823 (arguments
1824 `(#:phases
1825 (modify-phases %standard-phases
1826 (add-after 'unpack 'fix-pcre-check
1827 (lambda _
1828 ;; Only glib.h can be included directly. See
1829 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1830 (substitute* "configure"
1831 (("glib/gregex\\.h") "glib.h")) #t)))
1832
1833 ,@(package-arguments goffice)))
1834 (propagated-inputs
1835 ;; libgoffice-0.8.pc mentions libgsf-1
1836 `(("libgsf" ,libgsf)))
1837 (inputs
1838 `(("gtk" ,gtk+-2)
1839 ,@(alist-delete "gtk" (package-inputs goffice))))))
1840
1841 (define-public gnumeric
1842 (package
1843 (name "gnumeric")
1844 (version "1.12.35")
1845 (source (origin
1846 (method url-fetch)
1847 (uri (string-append "mirror://gnome/sources/" name "/"
1848 (version-major+minor version) "/"
1849 name "-" version ".tar.xz"))
1850 (sha256
1851 (base32
1852 "02kcq2af16m9mlzgkbdzswhw0nl6zf01dmvsfq3shy1mab7f7cbp"))))
1853 (build-system glib-or-gtk-build-system)
1854 (arguments
1855 `(;; The gnumeric developers don't worry much about failing tests.
1856 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1857 #:tests? #f
1858 #:phases
1859 (modify-phases %standard-phases
1860 (add-before
1861 'configure 'pre-conf
1862 (lambda* (#:key outputs #:allow-other-keys)
1863 ;; Make install tries to write into the directory of goffice
1864 ;; I am informed that this only affects the possibility to embed a
1865 ;; spreadsheet inside an Abiword document. So presumably when we
1866 ;; package Abiword we'll have to refer it to this directory.
1867 (substitute* "configure"
1868 (("^GOFFICE_PLUGINS_DIR=.*")
1869 (string-append "GOFFICE_PLUGINS_DIR="
1870 (assoc-ref outputs "out")
1871 "/goffice/plugins"))))))))
1872 (inputs
1873 `(("glib" ,glib)
1874 ("gtk+" ,gtk+)
1875 ("goffice" ,goffice)
1876 ("libgsf" ,libgsf)
1877 ("librsvg" ,librsvg)
1878 ("libxml2" ,libxml2)
1879 ("libxslt" ,libxslt)
1880 ("python" ,python-2)
1881 ("python2-pygobject" ,python2-pygobject)
1882 ("zlib" ,zlib)))
1883 (native-inputs
1884 `(("bison" ,bison)
1885 ("docbook-xml" ,docbook-xml)
1886 ("intltool" ,intltool)
1887 ("itstool" ,itstool)
1888 ("glib:bin" ,glib "bin")
1889 ("pkg-config" ,pkg-config)))
1890 (home-page "http://www.gnumeric.org")
1891 (synopsis "Spreadsheet application")
1892 (description
1893 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1894 interoperable with other spreadsheet applications. It has a vast array of
1895 features beyond typical spreadsheet functionality, such as support for linear
1896 and non-linear solvers, statistical analysis, and telecommunication
1897 engineering.")
1898 (license
1899 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1900 (list license:gpl2 license:gpl3))))
1901
1902 (define-public gnome-themes-standard
1903 (package
1904 (name "gnome-themes-standard")
1905 (version "3.22.3")
1906 (source
1907 (origin
1908 (method url-fetch)
1909 (uri (string-append "mirror://gnome/sources/" name "/"
1910 (version-major+minor version) "/" name "-"
1911 version ".tar.xz"))
1912 (sha256
1913 (base32
1914 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
1915 (build-system gnu-build-system)
1916 (arguments
1917 '(#:configure-flags
1918 ;; Don't create 'icon-theme.cache'.
1919 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1920 (true (string-append coreutils "/bin/true")))
1921 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
1922 (inputs
1923 `(("gtk+" ,gtk+)
1924 ("gtk+-2" ,gtk+-2)
1925 ("librsvg" ,librsvg)
1926 ("libxml2" ,libxml2)
1927 ("glib" ,glib)))
1928 (native-inputs
1929 `(("intltool" ,intltool)
1930 ("glib:bin" ,glib "bin")
1931 ("pkg-config" ,pkg-config)))
1932 (home-page "https://launchpad.net/gnome-themes-standard")
1933 (synopsis "Default GNOME 3 themes")
1934 (description
1935 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1936 (license license:lgpl2.1+)))
1937
1938 (define-public seahorse
1939 (package
1940 (name "seahorse")
1941 (version "3.20.0")
1942 (source
1943 (origin
1944 (method url-fetch)
1945 (uri (string-append "mirror://gnome/sources/" name "/"
1946 (version-major+minor version) "/" name "-"
1947 version ".tar.xz"))
1948 (sha256
1949 (base32
1950 "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
1951 (build-system glib-or-gtk-build-system)
1952 (inputs
1953 `(("gtk+" ,gtk+)
1954 ("gcr" ,gcr)
1955 ("gnupg" ,gnupg)
1956 ("gpgme" ,gpgme)
1957 ("openldap" ,openldap)
1958 ("openssh" ,openssh)
1959 ("libsecret" ,libsecret)
1960 ("libsoup" ,libsoup)))
1961 (native-inputs
1962 `(("intltool" ,intltool)
1963 ("glib:bin" ,glib "bin")
1964 ("itstool" ,itstool)
1965 ("pkg-config" ,pkg-config)
1966 ("xmllint" ,libxml2)))
1967 (home-page "https://launchpad.net/gnome-themes-standard")
1968 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1969 (description
1970 "Seahorse is a GNOME application for managing encryption keys and
1971 passwords in the GNOME keyring.")
1972 (license license:gpl2+)))
1973
1974 (define-public vala
1975 (package
1976 (name "vala")
1977 (version "0.36.3")
1978 (source (origin
1979 (method url-fetch)
1980 (uri (string-append "mirror://gnome/sources/" name "/"
1981 (version-major+minor version) "/"
1982 name "-" version ".tar.xz"))
1983 (sha256
1984 (base32
1985 "0706izk9prxqclm7gv4f63diwnlc1llvfl5sc9ghqbgn076lx2mc"))))
1986 (build-system gnu-build-system)
1987 (arguments
1988 '(#:phases
1989 (modify-phases %standard-phases
1990 (add-before 'check 'pre-check
1991 (lambda _
1992 (setenv "CC" "gcc")
1993 ;; For missing '/etc/machine-id'.
1994 (setenv "DBUS_FATAL_WARNINGS" "0")
1995 #t)))
1996 ;; Build the Vala API generator
1997 #:configure-flags '("--enable-vapigen")))
1998 (native-inputs
1999 `(("pkg-config" ,pkg-config)
2000 ("flex" ,flex)
2001 ("bison" ,bison)
2002 ("xsltproc" ,libxslt)
2003 ("dbus" ,dbus) ; for dbus tests
2004 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
2005 (propagated-inputs
2006 `(("glib" ,glib))) ; required by libvala-0.26.pc
2007 (home-page "https://live.gnome.org/Vala/")
2008 (synopsis "Compiler for the GObject type system")
2009 (description
2010 "Vala is a programming language that aims to bring modern programming
2011 language features to GNOME developers without imposing any additional runtime
2012 requirements and without using a different ABI compared to applications and
2013 libraries written in C.")
2014 (license license:lgpl2.1+)))
2015
2016 (define-public vte
2017 (package
2018 (name "vte")
2019 (version "0.50.1")
2020 (source (origin
2021 (method url-fetch)
2022 (uri (string-append "mirror://gnome/sources/" name "/"
2023 (version-major+minor version) "/"
2024 name "-" version ".tar.xz"))
2025 (sha256
2026 (base32
2027 "1hm88nn1r38fszz770v6dgzgx208ywz4n087n4fhw5kkwpihh5yg"))))
2028 (build-system gnu-build-system)
2029 (native-inputs
2030 `(("pkg-config" ,pkg-config)
2031 ("intltool" ,intltool)
2032 ("vala" ,vala)
2033 ("gobject-introspection" ,gobject-introspection)
2034 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2035 ("gperf" ,gperf)
2036 ("xmllint" ,libxml2)))
2037 (propagated-inputs
2038 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
2039 ("gnutls" ,gnutls) ;ditto
2040 ("pcre2" ,pcre2))) ;ditto
2041 (home-page "https://www.gnome.org/")
2042 (synopsis "Virtual Terminal Emulator")
2043 (description
2044 "VTE is a library (libvte) implementing a terminal emulator widget for
2045 GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
2046 gnome-terminal, but can also be used to embed a console/terminal in games,
2047 editors, IDEs, etc.")
2048 (license license:lgpl2.1+)))
2049
2050 (define-public vte-ng
2051 (package
2052 (inherit vte)
2053 (name "vte-ng")
2054 (version "0.50.2.a")
2055 (native-inputs
2056 `(("gtk-doc" ,gtk-doc)
2057 ("gperf" ,gperf)
2058 ("autoconf" ,autoconf)
2059 ("automake" ,automake)
2060 ("libtool" ,libtool)
2061 ,@(package-native-inputs vte)))
2062 (source (origin
2063 (method url-fetch)
2064 (uri (string-append "https://github.com/thestinger/"
2065 name "/archive/" version ".tar.gz"))
2066 (file-name (string-append name "-" version ".tar.gz"))
2067 (sha256
2068 (base32
2069 "0sv666ilid916ja6gw2d376nyyy66gvhsds8ans02x4b7gagj5sx"))))
2070 (arguments
2071 `(#:configure-flags '("CXXFLAGS=-Wformat=0")
2072 #:phases (modify-phases %standard-phases
2073 (add-after 'unpack 'bootstrap
2074 (lambda _
2075 (setenv "NOCONFIGURE" "true")
2076 (zero? (system* "sh" "autogen.sh")))))))
2077 (synopsis "Enhanced VTE terminal widget")
2078 (description
2079 "VTE is a library (libvte) implementing a terminal emulator widget for
2080 GTK+, this fork provides additional functions exposed for keyboard text
2081 selection and URL hints.")))
2082
2083 ;; provides vte 2.90, required for some terminal emulators
2084 ;; tilda bug: https://github.com/lanoxx/tilda/issues/94
2085 ;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
2086 ;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
2087 ;; pantheon-terminal, roxterm are not currently packaged
2088 (define-public vte-0.36
2089 (package (inherit vte)
2090 (name "vte")
2091 (version "0.36.5")
2092 (source (origin
2093 (method url-fetch)
2094 (uri (string-append "mirror://gnome/sources/" name "/"
2095 (version-major+minor version) "/"
2096 name "-" version ".tar.xz"))
2097 (sha256
2098 (base32
2099 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
2100 (propagated-inputs
2101 `(("gtk" ,gtk+)
2102 ("ncurses" ,ncurses)))))
2103
2104 ;; stable version for gtk2, required by xfce4-terminal.
2105 (define-public vte/gtk+-2
2106 (package (inherit vte)
2107 (name "vte")
2108 (version "0.28.2")
2109 (source (origin
2110 (method url-fetch)
2111 (uri (string-append "mirror://gnome/sources/" name "/"
2112 (version-major+minor version) "/"
2113 name "-" version ".tar.xz"))
2114 (sha256
2115 (base32
2116 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
2117 (patches (search-patches
2118 "vte-CVE-2012-2738-pt1.patch"
2119 "vte-CVE-2012-2738-pt2.patch"))))
2120 (arguments
2121 '(#:configure-flags '("--disable-python")))
2122 (native-inputs
2123 `(("pkg-config" ,pkg-config)
2124 ("intltool" ,intltool)
2125 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
2126 (propagated-inputs
2127 `(("gtk+" ,gtk+-2) ; required by libvte.pc
2128 ("ncurses" ,ncurses))))) ; required by libvte.la
2129
2130 (define-public vinagre
2131 (package
2132 (name "vinagre")
2133 (version "3.22.0")
2134 (source (origin
2135 (method url-fetch)
2136 (uri (string-append "mirror://gnome/sources/" name "/"
2137 (version-major+minor version) "/"
2138 name "-" version ".tar.xz"))
2139 (patches ; We have to revert 2 commits to build against freerdp 1.1.
2140 (search-patches "vinagre-revert-1.patch"
2141 "vinagre-revert-2.patch"))
2142 (sha256
2143 (base32
2144 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
2145 (build-system glib-or-gtk-build-system)
2146 (native-inputs
2147 `(("pkg-config" ,pkg-config)
2148 ("intltool" ,intltool)
2149 ("itstool" ,itstool)
2150 ("glib-bin" ,glib "bin") ;for glib-compile-schemas
2151 ("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
2152 (inputs
2153 `(("libxml2" ,libxml2)
2154 ("gtk-vnc" ,gtk-vnc)
2155 ("gnome-keyring" ,gnome-keyring)
2156 ("libsecret" ,libsecret)
2157 ("freerdp" ,freerdp)
2158 ("spice" ,spice)
2159 ("spice-gtk" ,spice-gtk)
2160 ("telepathy-glib" ,telepathy-glib)
2161 ("vte" ,vte)))
2162 (arguments
2163 `(#:configure-flags '("--enable-rdp")))
2164 (home-page "https://wiki.gnome.org/Apps/Vinagre")
2165 (synopsis "Remote desktop viewer for GNOME")
2166 (description "Vinagre is a remote display client supporting the VNC, SPICE
2167 and RDP protocols.")
2168 (license license:gpl3+)))
2169
2170 (define-public dconf
2171 (package
2172 (name "dconf")
2173 (version "0.26.1")
2174 (source (origin
2175 (method url-fetch)
2176 (uri (string-append
2177 "mirror://gnome/sources/" name "/"
2178 (version-major+minor version) "/"
2179 name "-" version ".tar.xz"))
2180 (sha256
2181 (base32
2182 "0da587hpiqy8h3pswn1102h4b905x8k6mk3ajpi7kf4kzkvv30ym"))))
2183 (build-system glib-or-gtk-build-system)
2184 (inputs
2185 `(("gtk+" ,gtk+)
2186 ("glib" ,glib)
2187 ("dbus" ,dbus)
2188 ("libxml2" ,libxml2)))
2189 (native-inputs
2190 `(("libxslt" ,libxslt)
2191 ("docbook-xml" ,docbook-xml-4.2)
2192 ("docbook-xsl" ,docbook-xsl)
2193 ("intltool" ,intltool)
2194 ("pkg-config" ,pkg-config)))
2195 (arguments
2196 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
2197 ; or /etc/machine-id.
2198 #:configure-flags
2199 ;; Set the correct RUNPATH in binaries.
2200 (list (string-append "LDFLAGS=-Wl,-rpath="
2201 (assoc-ref %outputs "out") "/lib")
2202 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
2203 #:phases
2204 (modify-phases %standard-phases
2205 (add-before 'configure 'fix-docbook
2206 (lambda* (#:key inputs #:allow-other-keys)
2207 (substitute* "docs/Makefile.in"
2208 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2209 (string-append (assoc-ref inputs "docbook-xsl")
2210 "/xml/xsl/docbook-xsl-"
2211 ,(package-version docbook-xsl)
2212 "/manpages/docbook.xsl")))
2213 (setenv "XML_CATALOG_FILES"
2214 (string-append (assoc-ref inputs "docbook-xml")
2215 "/xml/dtd/docbook/catalog.xml"))
2216 #t)))))
2217 (home-page "https://developer.gnome.org/dconf")
2218 (synopsis "Low-level GNOME configuration system")
2219 (description "Dconf is a low-level configuration system. Its main purpose
2220 is to provide a backend to GSettings on platforms that don't already have
2221 configuration storage systems.")
2222 (license license:lgpl2.1)))
2223
2224 (define-public json-glib
2225 (package
2226 (name "json-glib")
2227 (version "1.2.8")
2228 (source (origin
2229 (method url-fetch)
2230 (uri (string-append "mirror://gnome/sources/" name "/"
2231 (version-major+minor version) "/"
2232 name "-" version ".tar.xz"))
2233 (sha256
2234 (base32
2235 "02pl0wl3mf47c038bgv2r4pa6pr6y3shjhxn1l7s3rrrgl1sjmgx"))))
2236 (build-system gnu-build-system)
2237 (native-inputs
2238 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
2239 ("gobject-introspection" ,gobject-introspection)
2240 ("pkg-config" ,pkg-config)))
2241 (propagated-inputs
2242 `(("glib" ,glib))) ;according to json-glib-1.0.pc
2243 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2244 (synopsis "Compiler for the GObject type system")
2245 (description
2246 "JSON-GLib is a C library based on GLib providing serialization and
2247 deserialization support for the JavaScript Object Notation (JSON) format
2248 described by RFC 4627. It provides parser and generator GObject classes and
2249 various wrappers for the complex data types employed by JSON, such as arrays
2250 and objects.")
2251 (license license:lgpl2.1+)))
2252
2253 (define-public libxklavier
2254 (package
2255 (name "libxklavier")
2256 (version "5.3")
2257 (source (origin
2258 (method url-fetch)
2259 (uri (string-append "mirror://gnome/sources/" name "/"
2260 version "/" name "-" version ".tar.xz"))
2261 (sha256
2262 (base32
2263 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
2264 (build-system gnu-build-system)
2265 (arguments
2266 '(#:configure-flags
2267 (list (string-append "--with-xkb-base="
2268 (assoc-ref %build-inputs "xkeyboard-config")
2269 "/share/X11/xkb"))))
2270 (native-inputs
2271 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2272 ("gobject-introspection" ,gobject-introspection)
2273 ("pkg-config" ,pkg-config)))
2274 (propagated-inputs
2275 ;; Required by libxklavier.pc.
2276 `(("glib" ,glib)
2277 ("libxml2" ,libxml2)))
2278 (inputs
2279 `(("iso-codes" ,iso-codes)
2280 ("libxi" ,libxi)
2281 ("libxkbfile" ,libxkbfile)
2282 ("xkbcomp" ,xkbcomp)
2283 ("xkeyboard-config" ,xkeyboard-config)))
2284 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
2285 (synopsis "High-level API for X Keyboard Extension")
2286 (description
2287 "LibXklavier is a library providing high-level API for X Keyboard
2288 Extension known as XKB. This library is intended to support XFree86 and other
2289 commercial X servers. It is useful for creating XKB-related software (layout
2290 indicators etc).")
2291 (license license:lgpl2.0+)))
2292
2293 (define-public python2-rsvg
2294 ;; XXX: This is actually a subset of gnome-python-desktop.
2295 (package
2296 (name "python2-rsvg")
2297 (version "2.32.0")
2298 (source
2299 (origin
2300 (method url-fetch)
2301 (uri (string-append
2302 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2303 version ".tar.bz2"))
2304 (sha256
2305 (base32
2306 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2307 (build-system gnu-build-system)
2308 (native-inputs
2309 `(("pkg-config" ,pkg-config)))
2310 (inputs
2311 `(("python" ,python-2)
2312 ("python2-pygtk" ,python2-pygtk)
2313 ("librsvg" ,librsvg)))
2314 (home-page "https://www.gnome.org")
2315 (synopsis "Python bindings to librsvg")
2316 (description
2317 "This packages provides Python bindings to librsvg, the SVG rendering
2318 library.")
2319
2320 ;; This is the license of the rsvg bindings. The license of each module
2321 ;; of gnome-python-desktop is given in 'COPYING'.
2322 (license license:lgpl2.1+)))
2323
2324 (define-public glib-networking
2325 (package
2326 (name "glib-networking")
2327 (version "2.50.0")
2328 (source (origin
2329 (method url-fetch)
2330 (uri (string-append "mirror://gnome/sources/glib-networking/"
2331 (version-major+minor version) "/"
2332 name "-" version ".tar.xz"))
2333 (sha256
2334 (base32
2335 "1vkb53jxawy38y29635izlch64j9xmcwwcimk134jwra7hpl86iz"))
2336 (patches
2337 (search-patches "glib-networking-ssl-cert-file.patch"))))
2338 (build-system gnu-build-system)
2339 (arguments
2340 `(#:configure-flags
2341 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
2342 #:phases
2343 (modify-phases %standard-phases
2344 (add-before 'configure 'patch-giomoduledir
2345 ;; Install GIO modules into $out/lib/gio/modules.
2346 (lambda _
2347 (substitute* "configure"
2348 (("GIO_MODULE_DIR=.*")
2349 (string-append "GIO_MODULE_DIR=" %output
2350 "/lib/gio/modules\n")))))
2351 (add-before 'check 'use-empty-ssl-cert-file
2352 (lambda _
2353 ;; The ca-certificates.crt is not available in the build
2354 ;; environment.
2355 (setenv "SSL_CERT_FILE" "/dev/null")
2356 #t)))))
2357 (native-inputs
2358 `(("pkg-config" ,pkg-config)
2359 ("intltool" ,intltool)))
2360 (inputs
2361 `(("glib" ,glib)
2362 ("gnutls" ,gnutls)
2363 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2364 ("p11-kit" ,p11-kit)))
2365 (home-page "https://www.gnome.org")
2366 (synopsis "Network-related GIO modules")
2367 (description
2368 "This package contains various network related extensions for the GIO
2369 library.")
2370 (license license:lgpl2.0+)))
2371
2372 (define-public rest
2373 (package
2374 (name "rest")
2375 (version "0.8.1")
2376 (source (origin
2377 (method url-fetch)
2378 (uri (string-append "mirror://gnome/sources/rest/"
2379 (version-major+minor version) "/"
2380 name "-" version ".tar.xz"))
2381 (sha256
2382 (base32
2383 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
2384 (build-system gnu-build-system)
2385 (arguments
2386 '(#:tests? #f ; tests require internet connection
2387 #:configure-flags
2388 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2389 (native-inputs
2390 `(("glib-mkenums" ,glib "bin")
2391 ("gobject-introspection" ,gobject-introspection)
2392 ("pkg-config" ,pkg-config)))
2393 (propagated-inputs
2394 ;; rest-0.7.pc refers to all these.
2395 `(("glib" ,glib)
2396 ("libsoup" ,libsoup)
2397 ("libxml2" ,libxml2)))
2398 (home-page "http://www.gtk.org/")
2399 (synopsis "RESTful web api query library")
2400 (description
2401 "This library was designed to make it easier to access web services that
2402 claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2403 libxml to ease remote use of the RESTful API.")
2404 (license license:lgpl2.1+)))
2405
2406 (define-public libsoup
2407 (package
2408 (name "libsoup")
2409 (version "2.58.2")
2410 (source (origin
2411 (method url-fetch)
2412 (uri (string-append "mirror://gnome/sources/libsoup/"
2413 (version-major+minor version) "/"
2414 name "-" version ".tar.xz"))
2415 (sha256
2416 (base32
2417 "0wkvs4kql1iam4cqy17wsi12b1pzhwr2127pyaxs7y0v3g5008s4"))))
2418 (build-system gnu-build-system)
2419 (outputs '("out" "doc"))
2420 (arguments
2421 `(#:modules ((guix build utils)
2422 (guix build gnu-build-system)
2423 (ice-9 popen))
2424
2425 #:configure-flags
2426 (list (string-append "--with-html-dir="
2427 (assoc-ref %outputs "doc")
2428 "/share/gtk-doc/html")
2429 (string-append "--with-apache-module-dir="
2430 (assoc-ref %build-inputs "httpd")
2431 "/modules"))
2432 #:phases
2433 (modify-phases %standard-phases
2434 (add-before 'configure 'disable-unconnected-socket-test
2435 ;; This test fails due to missing /etc/nsswitch.conf
2436 ;; in the build environment.
2437 (lambda _
2438 (substitute* "tests/socket-test.c"
2439 ((".*/sockets/unconnected.*") ""))
2440 #t))
2441 (add-before 'check 'pre-check
2442 (lambda _
2443 ;; The 'check-local' target runs 'env LANG=C sort -u',
2444 ;; unset 'LC_ALL' to make 'LANG' working.
2445 (unsetenv "LC_ALL")
2446 ;; The ca-certificates.crt is not available in the build
2447 ;; environment.
2448 (setenv "SSL_CERT_FILE" "/dev/null")
2449 ;; HTTPD in Guix uses mod_event and does not build prefork.
2450 (substitute* "tests/httpd.conf"
2451 (("^LoadModule mpm_prefork_module.*$") "\n"))
2452
2453 ;; Generate a self-signed certificate that has "localhost" as its
2454 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
2455 ;; 3.5.12, tests such as "ssl-tests" fail:
2456 ;;
2457 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
2458 ;;
2459 ;; 'certtool' is interactive so we have to pipe it the answers.
2460 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
2461 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
2462 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
2463 (for-each (lambda (line)
2464 (display line pipe)
2465 (newline pipe))
2466 '("" ;Common name
2467 "" ;UID
2468 "Guix" ;Organizational unit name
2469 "GNU" ;Organization name
2470 "" ;Locality name
2471 "" ;State or province
2472 "" ;Country
2473 "" ;subject's domain component (DC)
2474 "" ;E-mail
2475 "" ;serial number
2476 "-1" ;expiration time
2477 "N" ;belong to authority?
2478 "N" ;web client certificate?
2479 "N" ;IPsec IKE?
2480 "Y" ;web server certificate?
2481 "localhost" ;dnsName of subject
2482 "" ;dnsName of subject (end)
2483 "" ;URI of subject
2484 "127.0.0.1" ;IP address of subject
2485 "" ;signing?
2486 "" ;encryption?
2487 "" ;sign OCSP requests?
2488 "" ;sign code?
2489 "" ;time stamping?
2490 "" ;email protection?
2491 "" ;URI of the CRL distribution point
2492 "y" ;above info OK?
2493 ))
2494 (close-pipe pipe))
2495 #t))
2496 (replace 'install
2497 (lambda _
2498 (zero?
2499 (system* "make"
2500 ;; Install vala bindings into $out.
2501 (string-append "vapidir=" %output
2502 "/share/vala/vapi")
2503 "install")))))))
2504 (native-inputs
2505 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2506 ("gobject-introspection" ,gobject-introspection)
2507 ("intltool" ,intltool)
2508 ("pkg-config" ,pkg-config)
2509 ("python" ,python-wrapper)
2510 ("vala" ,vala)
2511 ;; These are needed for the tests.
2512 ;; FIXME: Add PHP once available.
2513 ("curl" ,curl)
2514 ("gnutls" ,gnutls) ;for 'certtool'
2515 ("httpd" ,httpd)))
2516 (propagated-inputs
2517 ;; libsoup-2.4.pc refers to all these.
2518 `(("glib" ,glib)
2519 ("libxml2" ,libxml2)))
2520 (inputs
2521 `(("glib-networking" ,glib-networking)
2522 ("sqlite" ,sqlite)))
2523 (home-page "https://live.gnome.org/LibSoup/")
2524 (synopsis "GLib-based HTTP Library")
2525 (description
2526 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2527 and the GLib main loop, to integrate well with GNOME applications.")
2528 (license license:lgpl2.0+)))
2529
2530 (define-public libsecret
2531 (package
2532 (name "libsecret")
2533 (version "0.18.5")
2534 (source (origin
2535 (method url-fetch)
2536 (uri (string-append
2537 "mirror://gnome/sources/libsecret/"
2538 (version-major+minor version) "/"
2539 name "-" version ".tar.xz"))
2540 (sha256
2541 (base32
2542 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
2543 (build-system gnu-build-system)
2544 (outputs '("out" "doc"))
2545 (arguments
2546 `(#:tests? #f ; FIXME: Testing hangs.
2547 #:configure-flags
2548 (list (string-append "--with-html-dir="
2549 (assoc-ref %outputs "doc")
2550 "/share/gtk-doc/html"))))
2551 (native-inputs
2552 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2553 ("gobject-introspection" ,gobject-introspection)
2554 ("intltool" ,intltool)
2555 ("pkg-config" ,pkg-config)
2556 ("vala" ,vala)
2557 ("xsltproc" ,libxslt)))
2558 ;; These are needed for the tests.
2559 ;; FIXME: Add gjs once available.
2560 ;("dbus" ,dbus)
2561 ;("python2" ,python-2)
2562 ;("python2-dbus" ,python2-dbus)
2563 ;("python2-pygobject" ,python2-pygobject)
2564 ;("python2-pygobject-2" ,python2-pygobject-2)))
2565 (propagated-inputs
2566 `(("glib" ,glib))) ; required by libsecret-1.pc
2567 (inputs
2568 `(("docbook-xsl" ,docbook-xsl)
2569 ("libgcrypt" ,libgcrypt)
2570 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2571 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2572 (synopsis "GObject bindings for \"Secret Service\" API")
2573 (description
2574 "Libsecret is a GObject based library for storing and retrieving passwords
2575 and other secrets. It communicates with the \"Secret Service\" using DBus.")
2576 (license license:lgpl2.1+)))
2577
2578 (define-public five-or-more
2579 (package
2580 (name "five-or-more")
2581 (version "3.26.0")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append "mirror://gnome/sources/" name "/"
2586 (version-major+minor version) "/"
2587 name "-" version ".tar.xz"))
2588 (sha256
2589 (base32
2590 "0wkp08xsqr9p9cgdfghi424diajs016b2h4bsfcr5y9xc3rgf93w"))))
2591 (build-system glib-or-gtk-build-system)
2592 (native-inputs
2593 `(("pkg-config" ,pkg-config)
2594 ("desktop-file-utils" ,desktop-file-utils)
2595 ("intltool" ,intltool)
2596 ("itstool" ,itstool)
2597 ("xmllint" ,libxml2)))
2598 (inputs
2599 `(("gtk+" ,gtk+)
2600 ("librsvg" ,librsvg)))
2601 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
2602 (synopsis "Logic puzzle game")
2603 (description "Five or More is a game where you try to align
2604 five or more objects of the same color and shape causing them to disappear.
2605 On every turn more objects will appear, until the board is full.
2606 Try to last as long as possible.")
2607 (license license:gpl2+)))
2608
2609 (define-public gnome-mines
2610 (package
2611 (name "gnome-mines")
2612 (version "3.26.0")
2613 (source
2614 (origin
2615 (method url-fetch)
2616 (uri (string-append "mirror://gnome/sources/" name "/"
2617 (version-major+minor version) "/"
2618 name "-" version ".tar.xz"))
2619 (sha256
2620 (base32
2621 "1sfxdvns8nppdagnhpd9vd7n77sk5rdji3kdqnc78c2p1npiw11b"))))
2622 (build-system glib-or-gtk-build-system)
2623 (arguments
2624 '(#:phases
2625 (modify-phases %standard-phases
2626 (add-before 'configure 'patch-/bin/true
2627 (lambda _
2628 (substitute* "configure"
2629 (("/bin/true") (which "true"))))))))
2630 (native-inputs
2631 `(("pkg-config" ,pkg-config)
2632 ("desktop-file-utils" ,desktop-file-utils)
2633 ("intltool" ,intltool)
2634 ("itstool" ,itstool)
2635 ("xmllint" ,libxml2)))
2636 (inputs
2637 `(("gtk+" ,gtk+)
2638 ("libgnome-games-support" ,libgnome-games-support)
2639 ("librsvg" ,librsvg)))
2640 (home-page "https://wiki.gnome.org/Apps/Mines")
2641 (synopsis "Minesweeper game")
2642 (description
2643 "Mines (previously gnomine) is a puzzle game where you locate mines
2644 floating in an ocean using only your brain and a little bit of luck.")
2645 (license license:gpl2+)))
2646
2647 (define-public gnome-sudoku
2648 (package
2649 (name "gnome-sudoku")
2650 (version "3.26.0")
2651 (source
2652 (origin
2653 (method url-fetch)
2654 (uri (string-append "mirror://gnome/sources/" name "/"
2655 (version-major+minor version) "/"
2656 name "-" version ".tar.xz"))
2657 (sha256
2658 (base32
2659 "186k2axryn3ic8blc9ddnvyrqqf88khg2hlisfa1n4wp784wfx47"))))
2660 (build-system glib-or-gtk-build-system)
2661 (native-inputs
2662 `(("pkg-config" ,pkg-config)
2663 ("desktop-file-utils" ,desktop-file-utils)
2664 ("intltool" ,intltool)
2665 ("itstool" ,itstool)
2666 ("xmllint" ,libxml2)))
2667 (inputs
2668 `(("gtk+" ,gtk+)
2669 ("json-glib" ,json-glib)
2670 ("libgee" ,libgee)
2671 ("librsvg" ,librsvg)
2672 ("qqwing" ,qqwing)))
2673 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2674 (synopsis "Japanese logic game")
2675 (description
2676 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2677 GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2678 possible while still providing features that make playing difficult Sudoku
2679 more fun.")
2680 (license license:gpl2+)))
2681
2682 (define-public gnome-terminal
2683 (package
2684 (name "gnome-terminal")
2685 (version "3.26.1")
2686 (source
2687 (origin
2688 (method url-fetch)
2689 (uri (string-append "mirror://gnome/sources/" name "/"
2690 (version-major+minor version) "/"
2691 name "-" version ".tar.xz"))
2692 (sha256
2693 (base32
2694 "0fh7vshhzgypd66sinns5z1vskswl7ybs1ica080pskzyx75db5r"))))
2695 (build-system glib-or-gtk-build-system)
2696 (arguments
2697 '(#:configure-flags
2698 (list "--disable-migration" "--disable-search-provider"
2699 "--without-nautilus-extension")
2700 #:phases
2701 (modify-phases %standard-phases
2702 (add-before 'configure 'patch-/bin/true
2703 (lambda _
2704 (substitute* "configure"
2705 (("/bin/true") (which "true"))))))))
2706 (native-inputs
2707 `(("pkg-config" ,pkg-config)
2708 ("desktop-file-utils" ,desktop-file-utils)
2709 ("intltool" ,intltool)
2710 ("itstool" ,itstool)
2711 ("xmllint" ,libxml2)))
2712 (propagated-inputs
2713 `(("dconf" ,dconf)))
2714 (inputs
2715 `(("gtk+" ,gtk+)
2716 ("vte" ,vte)
2717 ("gnutls" ,gnutls)
2718 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2719 ("util-linux" ,util-linux)
2720 ("vala" ,vala)))
2721 (home-page "https://wiki.gnome.org/Apps/Terminal")
2722 (synopsis "Terminal emulator")
2723 (description
2724 "GNOME Terminal is a terminal emulator application for accessing a
2725 UNIX shell environment which can be used to run programs available on
2726 your system.
2727
2728 It supports several profiles, multiple tabs and implements several
2729 keyboard shortcuts.")
2730 (license license:gpl3+)))
2731
2732 (define-public colord
2733 (package
2734 (name "colord")
2735 (version "1.1.8")
2736 (source
2737 (origin
2738 (method url-fetch)
2739 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
2740 name "-" version ".tar.xz"))
2741 (sha256
2742 (base32
2743 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2744 (build-system glib-or-gtk-build-system)
2745 (arguments
2746 '(;; The tests want to run valgrind. Punt for now.
2747 #:tests? #f
2748 #:configure-flags (list "--localstatedir=/var"
2749 ;; GUSB not packaged yet.
2750 "--disable-gusb"
2751 ;; No dep on systemd.
2752 "--disable-systemd-login"
2753 ;; Wants to install to global completion dir;
2754 ;; punt.
2755 "--disable-bash-completion"
2756 ;; colord-gtk not packaged yet.
2757 "--disable-session-example"
2758 "--with-daemon-user=colord"
2759 "--enable-sane"
2760 (string-append "--with-udevrulesdir="
2761 (assoc-ref %outputs "out")
2762 "/lib/udev/rules.d"))
2763 #:phases
2764 (modify-phases %standard-phases
2765 (add-before 'configure 'patch-/bin/true
2766 (lambda _
2767 (substitute* "configure"
2768 (("/bin/true") (which "true")))
2769 (substitute* "src/Makefile.in"
2770 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
2771 "if test -w $(DESTDIR)$(localstatedir);")))))))
2772 (native-inputs
2773 `(("pkg-config" ,pkg-config)
2774 ("gobject-introspection" ,gobject-introspection)
2775 ("libtool" ,libtool)
2776 ("intltool" ,intltool)))
2777 (propagated-inputs
2778 ;; colord.pc refers to all these.
2779 `(("glib" ,glib)
2780 ("udev" ,eudev)
2781 ("lcms" ,lcms)))
2782 (inputs
2783 `(("dbus-glib" ,dbus-glib)
2784 ("libgudev" ,libgudev)
2785 ("libusb" ,libusb)
2786 ("sqlite" ,sqlite)
2787 ("polkit" ,polkit)
2788 ("sane-backends" ,sane-backends)))
2789 (home-page "http://www.freedesktop.org/software/colord/")
2790 (synopsis "Color management service")
2791 (description "Colord is a system service that makes it easy to manage,
2792 install and generate color profiles to accurately color manage input and
2793 output devices.")
2794 (license license:gpl2+)))
2795
2796 (define-public geoclue
2797 (package
2798 (name "geoclue")
2799 (version "2.4.6")
2800 (source
2801 (origin
2802 (method url-fetch)
2803 (uri (string-append "https://www.freedesktop.org/software/" name
2804 "/releases/" (version-major+minor version) "/"
2805 name "-" version ".tar.xz"))
2806 (sha256
2807 (base32
2808 "1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
2809 (patches (search-patches "geoclue-config.patch"))))
2810 (build-system glib-or-gtk-build-system)
2811 (arguments
2812 '(;; The tests want to run the system bus.
2813 #:tests? #f
2814 #:configure-flags (list ;; Disable bits requiring ModemManager.
2815 "--disable-3g-source"
2816 "--disable-cdma-source"
2817 "--disable-modem-gps-source"
2818 "--with-dbus-service-user=geoclue")
2819 #:phases
2820 (modify-phases %standard-phases
2821 (add-before 'configure 'patch-/bin/true
2822 (lambda _
2823 (substitute* "configure"
2824 (("/bin/true") (which "true"))))))))
2825 (native-inputs
2826 `(("pkg-config" ,pkg-config)
2827 ("gobject-introspection" ,gobject-introspection)
2828 ("intltool" ,intltool)))
2829 (inputs
2830 `(("avahi" ,avahi)
2831 ("glib" ,glib)
2832 ("json-glib" ,json-glib)
2833 ("libsoup" ,libsoup)))
2834 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2835 (synopsis "Geolocation service")
2836 (description "Geoclue is a D-Bus service that provides location
2837 information. The primary goal of the Geoclue project is to make creating
2838 location-aware applications as simple as possible, while the secondary goal is
2839 to ensure that no application can access location information without explicit
2840 permission from user.")
2841 (license license:gpl2+)))
2842
2843 (define-public geocode-glib
2844 (package
2845 (name "geocode-glib")
2846 (version "3.20.1")
2847 (source (origin
2848 (method url-fetch)
2849 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2850 (version-major+minor version) "/"
2851 name "-" version ".tar.xz"))
2852 (sha256
2853 (base32
2854 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2855 (build-system gnu-build-system)
2856 (arguments
2857 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2858 ;; work for the builder. Punt.
2859 #:tests? #f))
2860 (native-inputs
2861 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2862 ("gobject-introspection" ,gobject-introspection)
2863 ("pkg-config" ,pkg-config)
2864 ("json-glib" ,json-glib)))
2865 (propagated-inputs
2866 ;; geocode-glib-1.0.pc refers to GIO.
2867 `(("glib" ,glib)))
2868 (inputs
2869 `(("libsoup" ,libsoup)))
2870 (home-page "https://github.com/GNOME/geocode-glib/")
2871 (synopsis "Geocoding and reverse-geocoding library")
2872 (description
2873 "geocode-glib is a convenience library for geocoding (finding longitude,
2874 and latitude from an address) and reverse geocoding (finding an address from
2875 coordinates) using the Nominatim service. geocode-glib caches requests for
2876 faster results and to avoid unnecessary server load.")
2877 (license license:lgpl2.0+)))
2878
2879 (define-public upower
2880 (package
2881 (name "upower")
2882 (version "0.99.4")
2883 (source (origin
2884 (method url-fetch)
2885 (uri (string-append "https://upower.freedesktop.org/releases/"
2886 name "-" version ".tar.xz"))
2887 (sha256
2888 (base32
2889 "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
2890 (patches (search-patches "upower-builddir.patch"))))
2891 (build-system glib-or-gtk-build-system)
2892 (arguments
2893 '( ;; The tests want to contact the system bus, which can't be done in the
2894 ;; build environment. The integration test can run, but the last of
2895 ;; the up-self-tests doesn't. Disable tests for now.
2896 #:tests? #f
2897 #:configure-flags (list "--localstatedir=/var"
2898 (string-append "--with-udevrulesdir="
2899 (assoc-ref %outputs "out")
2900 "/lib/udev/rules.d"))
2901 #:phases
2902 (modify-phases %standard-phases
2903 (add-before 'configure 'patch-/bin/true
2904 (lambda _
2905 (substitute* "configure"
2906 (("/bin/true") (which "true")))))
2907 (add-before 'configure 'patch-integration-test
2908 (lambda _
2909 (substitute* "src/linux/integration-test"
2910 (("/usr/bin/python3") (which "python3"))))))))
2911 (native-inputs
2912 `(("gobject-introspection" ,gobject-introspection)
2913 ("pkg-config" ,pkg-config)
2914 ("intltool" ,intltool)
2915 ("python" ,python)
2916
2917 ;; For man pages.
2918 ("libxslt" ,libxslt) ;for 'xsltproc'
2919 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2920 ("docbook-xsl" ,docbook-xsl)))
2921 (inputs
2922 `(("dbus-glib" ,dbus-glib)
2923 ("libgudev" ,libgudev)
2924 ("libusb" ,libusb)))
2925 (home-page "http://upower.freedesktop.org/")
2926 (synopsis "System daemon for managing power devices")
2927 (description
2928 "UPower is an abstraction for enumerating power devices,
2929 listening to device events and querying history and statistics. Any
2930 application or service on the system can access the org.freedesktop.UPower
2931 service via the system message bus.")
2932 (license license:gpl2+)))
2933
2934 (define-public libgweather
2935 (package
2936 (name "libgweather")
2937 (version "3.26.0")
2938 (source (origin
2939 (method url-fetch)
2940 (uri (string-append "mirror://gnome/sources/" name "/"
2941 (version-major+minor version) "/"
2942 name "-" version ".tar.xz"))
2943 (sha256
2944 (base32
2945 "0vkbc8rvmrlfiws844izxfl01r6l9p6agf8vvgszzkry1gfbm12v"))))
2946 (build-system gnu-build-system)
2947 (arguments
2948 `(#:configure-flags
2949 `(,(string-append "--with-zoneinfo-dir="
2950 (assoc-ref %build-inputs "tzdata")
2951 "/share/zoneinfo"))
2952 #:phases
2953 (modify-phases %standard-phases
2954 (add-before 'check 'pre-check
2955 (lambda* (#:key inputs #:allow-other-keys)
2956 (substitute* "data/check-timezones.sh"
2957 (("/usr/share/zoneinfo/zone.tab")
2958 (string-append (assoc-ref inputs "tzdata")
2959 "/share/zoneinfo/zone.tab")))
2960 #t))
2961 (replace 'install
2962 (lambda _
2963 (zero?
2964 (system* "make"
2965 ;; Install vala bindings into $out.
2966 (string-append "vapidir=" %output
2967 "/share/vala/vapi")
2968 "install")))))))
2969 (native-inputs
2970 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2971 ("gobject-introspection" ,gobject-introspection)
2972 ("pkg-config" ,pkg-config)
2973 ("vala" ,vala)
2974 ("intltool" ,intltool)))
2975 (propagated-inputs
2976 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2977 ;; libsoup.
2978 `(("gtk+" ,gtk+)
2979 ("gdk-pixbuf" ,gdk-pixbuf)
2980 ("libxml2" ,libxml2)
2981 ("libsoup" ,libsoup)))
2982 (inputs
2983 `(("tzdata" ,tzdata)
2984 ("geocode-glib" ,geocode-glib)))
2985 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2986 (synopsis "Location, time zone, and weather library for GNOME")
2987 (description
2988 "libgweather is a library to access weather information from online
2989 services for numerous locations.")
2990 (license license:gpl2+)))
2991
2992 (define-public gnome-settings-daemon
2993 (package
2994 (name "gnome-settings-daemon")
2995 (version "3.24.3")
2996 (source
2997 (origin
2998 (method url-fetch)
2999 (uri (string-append "mirror://gnome/sources/" name "/"
3000 (version-major+minor version) "/"
3001 name "-" version ".tar.xz"))
3002 (sha256
3003 (base32
3004 "14w5jhpq02mbcxvn41qcj3cjfqdr3sgzl96c6glwpdrjphw61i38"))))
3005 (build-system glib-or-gtk-build-system)
3006 (arguments
3007 `(;; Color management test can't reach the colord system service.
3008 #:tests? #f))
3009 (native-inputs
3010 `(("pkg-config" ,pkg-config)
3011 ("intltool" ,intltool)
3012 ("xsltproc" ,libxslt)
3013 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
3014 ("docbook-xml" ,docbook-xml-4.2)
3015 ("docbook-xsl" ,docbook-xsl)))
3016 (inputs
3017 `(("colord" ,colord)
3018 ("libgudev" ,libgudev)
3019 ("upower" ,upower)
3020 ("polkit" ,polkit)
3021 ("pulseaudio" ,pulseaudio)
3022 ("libcanberra" ,libcanberra)
3023 ("libx11" ,libx11)
3024 ("libxtst" ,libxtst)
3025 ("lcms" ,lcms)
3026 ("libnotify" ,libnotify)
3027 ("geoclue" ,geoclue)
3028 ("geocode-glib" ,geocode-glib)
3029 ("libgweather" ,libgweather)
3030 ("gnome-desktop" ,gnome-desktop)
3031 ("nss" ,nss)
3032 ("cups" ,cups)
3033 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3034 ("libwacom" ,libwacom)
3035 ("librsvg" ,librsvg)
3036 ("xf86-input-wacom" ,xf86-input-wacom)
3037 ("network-manager" ,network-manager)))
3038 (home-page "https://www.gnome.org")
3039 (synopsis "GNOME settings daemon")
3040 (description
3041 "This package contains the daemon responsible for setting the various
3042 parameters of a GNOME session and the applications that run under it. It
3043 handles settings such keyboard layout, shortcuts, and accessibility, clipboard
3044 settings, themes, mouse settings, and startup of other daemons.")
3045 (license license:gpl2+)))
3046
3047 (define-public totem-pl-parser
3048 (package
3049 (name "totem-pl-parser")
3050 (version "3.10.8")
3051 (source (origin
3052 (method url-fetch)
3053 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
3054 (version-major+minor version) "/"
3055 "totem-pl-parser-" version ".tar.xz"))
3056 (sha256
3057 (base32
3058 "0ayxg0gfs5h5jhr811ja5hxlhryklzp6jlal2ach9wym2c3hmigz"))))
3059 (build-system gnu-build-system)
3060 (arguments
3061 ;; FIXME: Tests require gvfs.
3062 `(#:tests? #f))
3063 (native-inputs
3064 `(("intltool" ,intltool)
3065 ("glib" ,glib "bin")
3066 ("gobject-introspection" ,gobject-introspection)
3067 ("pkg-config" ,pkg-config)))
3068 (propagated-inputs
3069 `(("glib" ,glib)
3070 ("gmime" ,gmime)
3071 ("libxml2" ,libxml2)))
3072 (inputs
3073 `(("libarchive" ,libarchive)
3074 ("libgcrypt" ,libgcrypt)
3075 ("nettle" ,nettle)
3076 ("libsoup" ,libsoup)))
3077 (home-page "https://projects.gnome.org/totem")
3078 (synopsis "Library to parse and save media playlists for GNOME")
3079 (description "Totem-pl-parser is a GObjects-based library to parse and save
3080 playlists in a variety of formats.")
3081 (license license:lgpl2.0+)))
3082
3083 (define-public aisleriot
3084 (package
3085 (name "aisleriot")
3086 (version "3.22.4")
3087 (source (origin
3088 (method url-fetch)
3089 (uri (string-append "mirror://gnome/sources/" name "/"
3090 (version-major+minor version) "/"
3091 name "-" version ".tar.xz"))
3092 (sha256
3093 (base32
3094 "1yrldsf73rd5p51dsxgbx1hmrakq0x0jc2kl6y6pgaviswxfx3gy"))))
3095 (build-system glib-or-gtk-build-system)
3096 (arguments
3097 '(#:configure-flags
3098 '("--with-platform=gtk-only"
3099 "--with-card-theme-formats=svg")))
3100 (native-inputs
3101 `(("desktop-file-utils" ,desktop-file-utils)
3102 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3103 ("intltool" ,intltool)
3104 ("itstool" ,itstool)
3105 ("pkg-config" ,pkg-config)
3106 ("xmllint" ,libxml2)))
3107 (inputs
3108 `(("gtk+" ,gtk+)
3109 ("guile" ,guile-2.2)
3110 ("libcanberra" ,libcanberra)
3111 ("librsvg" ,librsvg)))
3112 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
3113 (synopsis "Solitaire card games")
3114 (description
3115 "Aisleriot (also known as Solitaire or sol) is a collection of card games
3116 which are easy to play with the aid of a mouse.")
3117 (license license:gpl3+)))
3118
3119 (define-public devhelp
3120 (package
3121 (name "devhelp")
3122 (version "3.24.0")
3123 (source (origin
3124 (method url-fetch)
3125 (uri (string-append "mirror://gnome/sources/" name "/"
3126 (version-major+minor version) "/"
3127 name "-" version ".tar.xz"))
3128 (sha256
3129 (base32
3130 "0c74rk46dy3kvy78m42jl3ip56c5536zmy8v1lbascjmh4fdwn28"))))
3131 (build-system glib-or-gtk-build-system)
3132 (native-inputs
3133 `(("intltool" ,intltool)
3134 ("pkg-config" ,pkg-config)))
3135 (inputs
3136 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3137 ("webkitgtk" ,webkitgtk)))
3138 (home-page "https://wiki.gnome.org/Apps/Devhelp")
3139 (synopsis "API documentation browser for GNOME")
3140 (description
3141 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
3142 natively with GTK-Doc (the API reference system developed for GTK+ and used
3143 throughout GNOME for API documentation).")
3144 (license license:gpl2+)))
3145
3146 (define-public cogl
3147 (package
3148 (name "cogl")
3149 (version "1.22.2")
3150 (source
3151 (origin
3152 (method url-fetch)
3153 (uri (string-append "mirror://gnome/sources/" name "/"
3154 (version-major+minor version) "/"
3155 name "-" version ".tar.xz"))
3156 (sha256
3157 (base32
3158 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
3159 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
3160 ;; cogl, corresponding changes may be appropriate in mutter as well.
3161 (build-system gnu-build-system)
3162 (native-inputs
3163 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3164 ("gobject-introspection" ,gobject-introspection)
3165 ;;("xorg-server" ,xorg-server) ; for the test suite
3166 ("pkg-config" ,pkg-config)))
3167 (propagated-inputs
3168 `(("glib" ,glib)
3169 ("gdk-pixbuf" ,gdk-pixbuf)
3170 ("libx11" ,libx11)
3171 ("libxext" ,libxext)
3172 ("libxfixes" ,libxfixes)
3173 ("libxdamage" ,libxdamage)
3174 ("libxcomposite" ,libxcomposite)
3175 ("libxrandr" ,libxrandr)))
3176 (inputs
3177 `(("mesa" ,mesa)
3178 ("cairo" ,cairo)
3179 ("pango" ,pango)
3180 ("gstreamer" ,gstreamer)
3181 ("gst-plugins-base" ,gst-plugins-base)
3182 ("wayland" ,wayland)))
3183 (arguments
3184 `(#:configure-flags (list "--enable-cogl-gst"
3185 "--enable-wayland-egl-platform"
3186 "--enable-wayland-egl-server"
3187
3188 ;; Arrange to pass an absolute file name to
3189 ;; dlopen for libGL.so.
3190 (string-append "--with-gl-libname="
3191 (assoc-ref %build-inputs "mesa")
3192 "/lib/libGL.so"))
3193 ;; XXX FIXME: All tests fail, with many warnings printed like this:
3194 ;; _FontTransOpen: Unable to Parse address
3195 ;; ${prefix}/share/fonts/X11/misc/
3196 #:tests? #f
3197 #; #:phases
3198 #;
3199 (modify-phases %standard-phases
3200 (add-before 'check 'start-xorg-server
3201 (lambda* (#:key inputs #:allow-other-keys)
3202 ;; The test suite requires a running X server.
3203 (system (format #f "~a/bin/Xvfb :1 &"
3204 (assoc-ref inputs "xorg-server")))
3205 (setenv "DISPLAY" ":1")
3206 #t)))))
3207 (home-page "http://www.cogl3d.org")
3208 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
3209 (description
3210 "Cogl is a small library for using 3D graphics hardware to draw pretty
3211 pictures. The API departs from the flat state machine style of OpenGL and is
3212 designed to make it easy to write orthogonal components that can render
3213 without stepping on each others toes.")
3214 (license (list license:expat ; most of the code
3215 license:bsd-3 ; cogl/cogl-point-in-poly.c
3216 license:sgifreeb2.0 ; cogl-path/tesselator/
3217 license:asl2.0)))) ; examples/android/
3218
3219 (define-public clutter
3220 (package
3221 (name "clutter")
3222 (version "1.26.2")
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append "mirror://gnome/sources/" name "/"
3227 (version-major+minor version) "/"
3228 name "-" version ".tar.xz"))
3229 (sha256
3230 (base32
3231 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
3232 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
3233 ;; to clutter, corresponding changes may be appropriate in mutter as well.
3234 (build-system gnu-build-system)
3235 (outputs '("out"
3236 "doc")) ;9 MiB of gtk-doc HTML pages
3237 (native-inputs
3238 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
3239 ("gobject-introspection" ,gobject-introspection)
3240 ("pkg-config" ,pkg-config)
3241 ("xsltproc" ,libxslt)))
3242 (propagated-inputs
3243 `(("cogl" ,cogl)
3244 ("cairo" ,cairo)
3245 ("atk" ,atk)
3246 ("gtk+" ,gtk+)
3247 ("json-glib" ,json-glib)
3248 ("glib" ,glib)
3249 ("libxcomposite" ,libxcomposite)
3250 ("libxdamage" ,libxdamage)
3251 ("libxext" ,libxext)
3252 ("xinput" ,xinput)))
3253 (inputs
3254 `(("libxkbcommon" ,libxkbcommon)
3255 ("udev" ,eudev)))
3256 (arguments
3257 `(#:configure-flags (list "--enable-x11-backend=yes"
3258
3259 ;; This produces share/doc/{clutter,cally}.
3260 (string-append "--with-html-dir="
3261 (assoc-ref %outputs "doc")
3262 "/share/doc"))
3263 ;; XXX FIXME: Get test suite working. It would probably fail in the
3264 ;; same way the cogl tests fail, since clutter is based on cogl.
3265 #:tests? #f))
3266 (home-page "http://www.clutter-project.org")
3267 (synopsis "Open GL based interactive canvas library")
3268 (description
3269 "Clutter is an Open GL based interactive canvas library, designed for
3270 creating fast, mainly 2D single window applications such as media box UIs,
3271 presentations, kiosk style applications and so on.")
3272 (license license:lgpl2.0+)))
3273
3274 (define-public clutter-gtk
3275 (package
3276 (name "clutter-gtk")
3277 (version "1.8.2")
3278 (source
3279 (origin
3280 (method url-fetch)
3281 (uri (string-append "mirror://gnome/sources/" name "/"
3282 (version-major+minor version) "/"
3283 name "-" version ".tar.xz"))
3284 (sha256
3285 (base32
3286 "153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
3287 (build-system gnu-build-system)
3288 (native-inputs
3289 `(("pkg-config" ,pkg-config)
3290 ("gobject-introspection" ,gobject-introspection)))
3291 (propagated-inputs
3292 ;; clutter-gtk.pc refers to all these.
3293 `(("clutter" ,clutter)
3294 ("gtk+" ,gtk+)))
3295 (home-page "http://www.clutter-project.org")
3296 (synopsis "Open GL based interactive canvas library GTK+ widget")
3297 (description
3298 "Clutter is an Open GL based interactive canvas library, designed for
3299 creating fast, mainly 2D single window applications such as media box UIs,
3300 presentations, kiosk style applications and so on.")
3301 (license license:lgpl2.0+)))
3302
3303 (define-public clutter-gst
3304 (package
3305 (name "clutter-gst")
3306 (version "3.0.24")
3307 (source
3308 (origin
3309 (method url-fetch)
3310 (uri (string-append "mirror://gnome/sources/" name "/"
3311 (version-major+minor version) "/"
3312 name "-" version ".tar.xz"))
3313 (sha256
3314 (base32
3315 "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9"))))
3316 (build-system gnu-build-system)
3317 (native-inputs
3318 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3319 ("pkg-config" ,pkg-config)
3320 ("gobject-introspection" ,gobject-introspection)))
3321 (inputs
3322 `(("clutter" ,clutter)
3323 ("gstreamer" ,gstreamer)
3324 ("gst-plugins-base" ,gst-plugins-base)))
3325 (home-page "http://www.clutter-project.org")
3326 (synopsis "Integration library for using GStreamer with Clutter")
3327 (description
3328 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3329 It provides a GStreamer sink to upload frames to GL and an actor that
3330 implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3331 GL based interactive canvas library.")
3332 (license license:lgpl2.0+)))
3333
3334 (define-public libchamplain
3335 (package
3336 (name "libchamplain")
3337 (version "0.12.16")
3338 (source (origin
3339 (method url-fetch)
3340 (uri (string-append
3341 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3342 version ".tar.xz"))
3343 (sha256
3344 (base32
3345 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
3346 (build-system gnu-build-system)
3347 (arguments '(#:configure-flags '("--enable-vala")))
3348 (native-inputs
3349 `(("gobject-introspection" ,gobject-introspection)
3350 ("pkg-config" ,pkg-config)
3351 ("vala" ,vala)))
3352 (propagated-inputs
3353 `(("libsoup" ,libsoup)
3354 ("sqlite" ,sqlite)
3355 ("clutter" ,clutter)
3356 ("clutter-gtk" ,clutter-gtk)
3357 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3358 ("cairo" ,cairo)
3359 ("gtk+3" ,gtk+)
3360 ("glib" ,glib)))
3361 (home-page "https://projects.gnome.org/libchamplain/")
3362 (synopsis "C library providing a ClutterActor to display maps")
3363 (description
3364 "libchamplain is a C library providing a ClutterActor to display maps.
3365 It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3366 and Perl bindings are also available. It supports numerous free map sources
3367 such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3368 (license license:lgpl2.1+)))
3369
3370 (define-public gom
3371 (package
3372 (name "gom")
3373 (version "0.3.2")
3374 (source
3375 (origin
3376 (method url-fetch)
3377 (uri (string-append "mirror://gnome/sources/" name "/"
3378 (version-major+minor version) "/"
3379 name "-" version ".tar.xz"))
3380 (sha256
3381 (base32
3382 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
3383 (build-system gnu-build-system)
3384 (native-inputs
3385 `(("intltool" ,intltool)
3386 ("pkg-config" ,pkg-config)
3387 ("gobject-introspection" ,gobject-introspection)))
3388 (inputs
3389 `(("glib" ,glib)
3390 ("gdk-pixbuf" ,gdk-pixbuf)
3391 ("sqlite" ,sqlite)))
3392 ;; XXX TODO: Figure out how to run the test suite.
3393 (arguments `(#:tests? #f))
3394 (home-page "https://wiki.gnome.org/Projects/Gom")
3395 (synopsis "Object mapper from GObjects to SQLite")
3396 (description
3397 "Gom provides an object mapper from GObjects to SQLite. It helps you
3398 write applications that need to store structured data as well as make complex
3399 queries upon that data.")
3400 (license license:lgpl2.1+)))
3401
3402 (define-public libgnome-games-support
3403 (package
3404 (name "libgnome-games-support")
3405 (version "1.2.3")
3406 (source (origin
3407 (method url-fetch)
3408 (uri (string-append "mirror://gnome/sources/" name "/"
3409 (version-major+minor version) "/"
3410 name "-" version ".tar.xz"))
3411 (sha256
3412 (base32
3413 "1vwad7kqy7yd6wqyr71nq0blh7m53r3lz6ya16dmh942kd0w48v1"))))
3414 (build-system gnu-build-system)
3415 (arguments
3416 '(#:phases
3417 (modify-phases %standard-phases
3418 (add-before 'check 'pre-check
3419 (lambda _
3420 ;; Tests require a writable HOME.
3421 (setenv "HOME" (getcwd))
3422 #t)))))
3423 (native-inputs
3424 `(("intltool" ,intltool)
3425 ("pkg-config" ,pkg-config)
3426 ("vala" ,vala)))
3427 (propagated-inputs
3428 ;; Required by libgnome-games-support-1.0.pc
3429 `(("gtk+" ,gtk+)
3430 ("libgee" ,libgee)))
3431 (home-page "https://www.gnome.org/")
3432 (synopsis "Useful functionality shared among GNOME games")
3433 (description
3434 "libgnome-games-support is a small library intended for internal use by
3435 GNOME Games, but it may be used by others.")
3436 (license license:lgpl3+)))
3437
3438 (define-public gnome-klotski
3439 (package
3440 (name "gnome-klotski")
3441 (version "3.22.2")
3442 (source (origin
3443 (method url-fetch)
3444 (uri (string-append "mirror://gnome/sources/" name "/"
3445 (version-major+minor version) "/"
3446 name "-" version ".tar.xz"))
3447 (sha256
3448 (base32
3449 "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h"))))
3450 (build-system glib-or-gtk-build-system)
3451 (native-inputs
3452 `(("desktop-file-utils" ,desktop-file-utils)
3453 ("intltool" ,intltool)
3454 ("itstool" ,itstool)
3455 ("pkg-config" ,pkg-config)
3456 ("xmllint" ,libxml2)))
3457 (inputs
3458 `(("gtk+" ,gtk+)
3459 ("libgnome-games-support" ,libgnome-games-support)
3460 ("librsvg" ,librsvg)))
3461 (home-page "https://wiki.gnome.org/Apps/Klotski")
3462 (synopsis "Sliding block puzzles")
3463 (description
3464 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3465 the patterned block to the area bordered by green markers. To do so, you will
3466 need to slide other blocks out of the way. Complete each puzzle in as few moves
3467 as possible!")
3468 (license license:gpl2+)))
3469
3470 (define-public grilo
3471 (package
3472 (name "grilo")
3473 (version "0.3.3")
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append "mirror://gnome/sources/" name "/"
3478 (version-major+minor version) "/"
3479 name "-" version ".tar.xz"))
3480 (sha256
3481 (base32
3482 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
3483 (build-system gnu-build-system)
3484 (native-inputs
3485 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3486 ("intltool" ,intltool)
3487 ("pkg-config" ,pkg-config)
3488 ("gobject-introspection" ,gobject-introspection)))
3489 (inputs
3490 `(("cyrus-sasl" ,cyrus-sasl)
3491 ("glib" ,glib)
3492 ("gtk+" ,gtk+)
3493 ("libxml2" ,libxml2)
3494 ("liboauth" ,liboauth)
3495 ("libsoup" ,libsoup)
3496 ("nettle" ,nettle)
3497 ("totem-pl-parser" ,totem-pl-parser)))
3498 (arguments
3499 `(#:phases
3500 (modify-phases %standard-phases
3501 (add-after 'unpack 'fix-introspection-install-dir
3502 (lambda* (#:key outputs #:allow-other-keys)
3503 (let ((out (assoc-ref outputs "out")))
3504 (substitute* '("src/Makefile.in"
3505 "libs/pls/Makefile.in"
3506 "libs/net/Makefile.in")
3507 (("@INTROSPECTION_GIRDIR@")
3508 (string-append out "/share/gir-1.0/"))
3509 (("@INTROSPECTION_TYPELIBDIR@")
3510 (string-append out "/lib/girepository-1.0/")))))))))
3511 (native-search-paths
3512 (list (search-path-specification
3513 (variable "GRL_PLUGIN_PATH")
3514 (files (list (string-append "lib/grilo-"
3515 (version-major+minor version)))))))
3516 (home-page "https://live.gnome.org/Grilo")
3517 (synopsis "Framework for discovering and browsing media")
3518 (description
3519 "Grilo is a framework focused on making media discovery and browsing easy
3520 for application developers.")
3521 (license license:lgpl2.1+)))
3522
3523 (define-public grilo-plugins
3524 (package
3525 (name "grilo-plugins")
3526 (version "0.3.3")
3527 (source
3528 (origin
3529 (method url-fetch)
3530 (uri (string-append "mirror://gnome/sources/" name "/"
3531 (version-major+minor version) "/"
3532 name "-" version ".tar.xz"))
3533 (sha256
3534 (base32
3535 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
3536 (build-system gnu-build-system)
3537 (native-inputs
3538 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3539 ("intltool" ,intltool)
3540 ("itstool" ,itstool)
3541 ("pkg-config" ,pkg-config)))
3542 (inputs
3543 `(("grilo" ,grilo)
3544 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
3545 ("glib" ,glib)
3546 ("libxml2" ,libxml2)
3547 ("sqlite" ,sqlite)
3548 ("gom" ,gom)
3549 ;; XXX TODO: Add oauth
3550 ;; XXX TODO: Add goa
3551 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3552 ;; XXX TODO: Add lua (needs help finding it)
3553 ("json-glib" ,json-glib)
3554 ("avahi" ,avahi)
3555 ("gmime" ,gmime)
3556 ("libsoup" ,libsoup)
3557 ("libarchive" ,libarchive)
3558 ("totem-pl-parser" ,totem-pl-parser)))
3559 (arguments
3560 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3561 %output
3562 "/lib/grilo-"
3563 ,(version-major+minor version)))
3564 ;; XXX FIXME: Try to get the test suite working. It appears to require
3565 ;; a working system dbus. Inside the build container, all tests fail
3566 ;; with: "assertion failed: (source)". Outside of the build container,
3567 ;; most tests succeed.
3568 #:tests? #f))
3569 (home-page "https://live.gnome.org/Grilo")
3570 (synopsis "Plugins for the Grilo media discovery library")
3571 (description
3572 "Grilo is a framework focused on making media discovery and browsing easy
3573 for application developers.")
3574 (license license:lgpl2.1+)))
3575
3576 (define-public totem
3577 (package
3578 (name "totem")
3579 (version "3.26.0")
3580 (source
3581 (origin
3582 (method url-fetch)
3583 (uri (string-append "mirror://gnome/sources/" name "/"
3584 (version-major+minor version) "/"
3585 name "-" version ".tar.xz"))
3586 (sha256
3587 (base32
3588 "04zfx47mgyd0f4p3pjrxl6iaw0awgwbvilbsr1smw14ph2kbjbz3"))
3589 (patches (search-patches "totem-meson-easy-codec.patch"))))
3590 (build-system meson-build-system)
3591 (native-inputs
3592 `(("pkg-config" ,pkg-config)
3593 ("desktop-file-utils" ,desktop-file-utils)
3594 ("gobject-introspection" ,gobject-introspection)
3595 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
3596 ("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache'
3597 ("intltool" ,intltool)
3598 ("itstool" ,itstool)
3599 ("xmllint" ,libxml2)))
3600 (propagated-inputs
3601 `(("dconf" ,dconf)))
3602 (inputs
3603 `(("gtk+" ,gtk+)
3604 ("gdk-pixbuf" ,gdk-pixbuf)
3605 ("atk" ,atk)
3606 ("cairo" ,cairo)
3607 ("dbus-glib" ,dbus-glib)
3608 ("clutter" ,clutter)
3609 ("clutter-gtk" ,clutter-gtk)
3610 ("clutter-gst" ,clutter-gst)
3611 ("xproto" ,xproto)
3612 ("libxxf86vm" ,libxxf86vm)
3613 ("libxtst" ,libxtst)
3614 ("libxrandr" ,libxrandr)
3615 ("libxml2" ,libxml2)
3616 ("libsoup" ,libsoup)
3617 ("libpeas" ,libpeas)
3618 ("librsvg" ,librsvg)
3619 ("lirc" ,lirc)
3620 ("gnome-desktop" ,gnome-desktop)
3621 ("gstreamer" ,gstreamer)
3622 ("gst-plugins-base" ,gst-plugins-base)
3623 ("gst-plugins-good" ,gst-plugins-good)
3624 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3625 ("adwaita-icon-theme" ,adwaita-icon-theme)
3626 ;; XXX We use python-2 because libxml2 because itstool (which needs
3627 ;; libxml) currently uses python-2.
3628 ("python" ,python-2)
3629 ("python-pygobject" ,python2-pygobject)
3630 ;; XXX TODO pylint needed for python support
3631 ("totem-pl-parser" ,totem-pl-parser)
3632 ("grilo" ,grilo)
3633 ("grilo-plugins" ,grilo-plugins)
3634 ("nettle" ,nettle)
3635 ("vala" ,vala)))
3636 (arguments
3637 `(#:glib-or-gtk? #t
3638
3639 ;; Disable parallel builds until
3640 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28813 is
3641 ;; fixed. Try enabling it when updating this package in case
3642 ;; upstream has fixed it.
3643 #:parallel-build? #f
3644
3645 ;; Disable automatic GStreamer plugin installation via PackageKit and
3646 ;; all that.
3647 #:configure-flags '("-D" "enable-easy-codec-installation=no"
3648
3649 ;; Do not build .a files for the plugins, it's
3650 ;; completely useless. This saves 2 MiB.
3651 "--default-library" "shared")
3652
3653 #:phases
3654 (modify-phases %standard-phases
3655 (add-after
3656 'install 'wrap-totem
3657 (lambda* (#:key inputs outputs #:allow-other-keys)
3658 (let ((out (assoc-ref outputs "out"))
3659 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3660 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3661 (wrap-program (string-append out "/bin/totem")
3662 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3663 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
3664 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
3665 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
3666 #t)))))
3667 (home-page "https://wiki.gnome.org/Apps/Videos")
3668 (synopsis "Simple media player for GNOME based on GStreamer")
3669 (description "Totem is a simple yet featureful media player for GNOME
3670 which can read a large number of file formats.")
3671 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3672 ;; to be used and distributed together with GStreamer and Totem. See
3673 ;; file://COPYING in the source distribution for details.
3674 (license license:gpl2+)))
3675
3676 (define-public rhythmbox
3677 (package
3678 (name "rhythmbox")
3679 (version "3.4.1")
3680 (source (origin
3681 (method url-fetch)
3682 (uri (string-append "mirror://gnome/sources/" name "/"
3683 (version-major+minor version) "/"
3684 name "-" version ".tar.xz"))
3685 (sha256
3686 (base32
3687 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
3688 (build-system glib-or-gtk-build-system)
3689 (arguments
3690 `(#:configure-flags
3691 (list "--enable-lirc"
3692 "--enable-python"
3693 "--enable-vala"
3694 "--with-brasero"
3695 "--with-gudev"
3696 "--with-libsecret")
3697 #:phases
3698 (modify-phases %standard-phases
3699 (add-after
3700 'install 'wrap-rhythmbox
3701 (lambda* (#:key inputs outputs #:allow-other-keys)
3702 (let ((out (assoc-ref outputs "out"))
3703 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3704 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3705 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3706 (python-path (getenv "PYTHONPATH")))
3707 (wrap-program (string-append out "/bin/rhythmbox")
3708 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3709 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3710 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3711 `("PYTHONPATH" ":" prefix (,python-path))))
3712 #t)))))
3713 (propagated-inputs
3714 `(("dconf" ,dconf)))
3715 (native-inputs
3716 `(("itstool" ,itstool)
3717 ("intltool" ,intltool)
3718 ("glib" ,glib "bin")
3719 ("gobject-introspection" ,gobject-introspection)
3720 ("desktop-file-utils" ,desktop-file-utils)
3721 ("pkg-config" ,pkg-config)
3722 ("xmllint" ,libxml2)))
3723 (inputs
3724 `(("json-glib" ,json-glib)
3725 ("tdb" ,tdb)
3726 ("gnome-desktop" ,gnome-desktop)
3727 ("python" ,python)
3728 ("python-pygobject" ,python2-pygobject)
3729 ("vala" ,vala)
3730 ("gmime" ,gmime)
3731 ("nettle" ,nettle)
3732 ("adwaita-icon-theme" ,adwaita-icon-theme)
3733 ("grilo" ,grilo)
3734 ("grilo-plugins" ,grilo-plugins)
3735 ("gstreamer" ,gstreamer)
3736 ("gst-plugins-base" ,gst-plugins-base)
3737 ("gst-plugins-good" ,gst-plugins-good)
3738 ("totem-pl-parser" ,totem-pl-parser)
3739 ("libgudev" ,libgudev)
3740 ;;("libmtp" ,libmtp) FIXME: Not detected
3741 ("libsecret" ,libsecret)
3742 ("libsoup" ,libsoup)
3743 ("libnotify" ,libnotify)
3744 ("libpeas" ,libpeas)
3745 ("lirc" ,lirc)
3746 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3747 ;;("clutter" ,clutter)
3748 ;;("clutter-gtk" ,clutter-gtk)
3749 ;;("clutter-gst" ,clutter-gst)
3750 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3751 ("atk" ,atk)
3752 ("pango" ,pango)
3753 ("gtk+" ,gtk+)
3754 ;; TODO:
3755 ;; * libgpod
3756 ;; * mx
3757 ("brasero" ,brasero)))
3758 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3759 (synopsis "Music player for GNOME")
3760 (description "Rhythmbox is a music playing application for GNOME. It
3761 supports playlists, song ratings, and any codecs installed through gstreamer.")
3762 (license license:gpl2+)))
3763
3764 (define-public eog
3765 (package
3766 (name "eog")
3767 (version "3.26.1")
3768 (source (origin
3769 (method url-fetch)
3770 (uri (string-append "mirror://gnome/sources/" name "/"
3771 (version-major+minor version) "/"
3772 name "-" version ".tar.xz"))
3773 (sha256
3774 (base32
3775 "125wzr1mai4raybfb2hwjzxv59q20bjpw9j4wn682nn5bd9ypnwq"))))
3776 (build-system glib-or-gtk-build-system)
3777 (arguments
3778 `(#:phases
3779 (modify-phases %standard-phases
3780 (add-after
3781 'install 'wrap-eog
3782 (lambda* (#:key outputs #:allow-other-keys)
3783 (let ((out (assoc-ref outputs "out"))
3784 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3785 (wrap-program (string-append out "/bin/eog")
3786 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3787 #t)))))
3788 (propagated-inputs
3789 `(("dconf" ,dconf)))
3790 (native-inputs
3791 `(("intltool" ,intltool)
3792 ("itstool" ,itstool)
3793 ("glib" ,glib "bin")
3794 ("gobject-introspection" ,gobject-introspection)
3795 ("pkg-config" ,pkg-config)
3796 ("xmllint" ,libxml2)))
3797 (inputs
3798 `(("gnome-desktop" ,gnome-desktop)
3799 ("shared-mime-info" ,shared-mime-info)
3800 ("adwaita-icon-theme" ,adwaita-icon-theme)
3801 ("exempi" ,exempi)
3802 ("lcms" ,lcms)
3803 ("libexif" ,libexif)
3804 ("libpeas" ,libpeas)
3805 ("libjpeg" ,libjpeg)
3806 ("librsvg" ,librsvg)
3807 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3808 ("gtk+" ,gtk+)))
3809 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3810 (synopsis "GNOME image viewer")
3811 (description "Eye of GNOME is the GNOME image viewer. It
3812 supports image conversion, rotation, and slideshows.")
3813 (license license:gpl2+)))
3814
3815 (define-public eog-plugins
3816 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
3817 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
3818 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
3819 ;; 'XDG_DATA_DIRS' appropriately set.
3820 (package
3821 (name "eog-plugins")
3822 (version "3.26.1")
3823 (source (origin
3824 (method url-fetch)
3825 (uri (string-append "mirror://gnome/sources/" name "/"
3826 (version-major+minor version) "/"
3827 name "-" version ".tar.xz"))
3828 (sha256
3829 (base32
3830 "0v45f2m3b60ygkwpq6jrl49nwrivw6qy0ciibpv821qrm73hsgd7"))))
3831 (build-system gnu-build-system)
3832 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
3833 (synopsis "Extensions for the Eye of GNOME image viewer")
3834 (native-inputs
3835 `(("pkg-config" ,pkg-config)
3836 ("gettext" ,gnu-gettext)))
3837 (inputs
3838 `(("eog" ,eog)
3839 ("glib" ,glib)
3840 ("gtk+" ,gtk+)
3841 ("libpeas" ,libpeas)
3842 ("libexif" ,libexif)
3843 ("libchamplain" ,libchamplain)))
3844 (description
3845 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
3846 notably:
3847
3848 @itemize
3849 @item @dfn{EXIF Display}, which displays camera (EXIF) information;
3850 @item @dfn{Map}, which displays a map of where the picture was taken on the
3851 side panel;
3852 @item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
3853 @end itemize\n")
3854
3855 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
3856 ;; long suspicious byte stream that goes to a
3857 ;; ".gresource.eog_postasa_plugin" ELF section.
3858 (license license:gpl2+)))
3859
3860 (define-public libgudev
3861 (package
3862 (name "libgudev")
3863 (version "230")
3864 (source (origin
3865 (method url-fetch)
3866 (uri (string-append "mirror://gnome/sources/" name "/"
3867 version "/" name "-" version ".tar.xz"))
3868 (sha256
3869 (base32
3870 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3871 (build-system gnu-build-system)
3872 (native-inputs
3873 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3874 ("gobject-introspection" ,gobject-introspection)
3875 ("pkg-config" ,pkg-config)))
3876 (propagated-inputs
3877 `(("glib" ,glib))) ; required by gudev-1.0.pc
3878 (inputs
3879 `(("udev" ,eudev)))
3880 (home-page "https://wiki.gnome.org/Projects/libgudev")
3881 (synopsis "GObject bindings for libudev")
3882 (description
3883 "This library provides GObject bindings for libudev. It was originally
3884 part of udev-extras, then udev, then systemd. It's now a project on its own.")
3885 (license license:lgpl2.1+)))
3886
3887 (define-public gvfs
3888 (package
3889 (name "gvfs")
3890 (version "1.32.1")
3891 (source (origin
3892 (method url-fetch)
3893 (uri (string-append "mirror://gnome/sources/" name "/"
3894 (version-major+minor version) "/"
3895 name "-" version ".tar.xz"))
3896 (sha256
3897 (base32
3898 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3899 (build-system gnu-build-system)
3900 (arguments
3901 '(#:tests? #f)) ; XXX: requiring `pidof'
3902 (native-inputs
3903 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3904 ("intltool" ,intltool)
3905 ("pkg-config" ,pkg-config)
3906 ("xsltproc" ,libxslt)))
3907 (inputs
3908 `(("avahi" ,avahi)
3909 ("docbook-xml" ,docbook-xml-4.2)
3910 ("docbook-xsl" ,docbook-xsl)
3911 ("dbus" ,dbus)
3912 ("fuse" ,fuse)
3913 ("gcr" ,gcr)
3914 ("glib" ,glib)
3915 ("libarchive" ,libarchive)
3916 ("libbluray" ,libbluray)
3917 ("libcap" ,libcap)
3918 ("libcdio-paranoia" ,libcdio-paranoia)
3919 ("libgcrypt" ,libgcrypt)
3920 ("libgphoto2" ,libgphoto2)
3921 ("libgudev" ,libgudev)
3922 ("libmtp" ,libmtp)
3923 ("libsecret" ,libsecret)
3924 ("libsmbclient" ,samba)
3925 ("libsoup" ,libsoup)
3926 ("libxml2" ,libxml2)
3927 ("nettle" ,nettle) ; XXX: required by libarchive.pc
3928 ("polkit" ,polkit)
3929 ("udisks" ,udisks)))
3930 (home-page "https://wiki.gnome.org/gvfs/")
3931 (synopsis "Userspace virtual file system for GIO")
3932 (description
3933 "GVFS is a userspace virtual file system designed to work with the I/O
3934 abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3935 to all applications using the GIO API. It also supports exposing the GVFS
3936 mounts to non-GIO applications using FUSE.
3937
3938 GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3939 DAV, and others.")
3940 (license license:lgpl2.0+)))
3941
3942 (define-public gusb
3943 (package
3944 (name "gusb")
3945 (version "0.2.9")
3946 (source (origin
3947 (method url-fetch)
3948 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3949 "gusb_"
3950 (string-join (string-split version #\.)
3951 "_")
3952 ".tar.gz"))
3953 (sha256
3954 (base32
3955 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
3956 (build-system gnu-build-system)
3957 (native-inputs
3958 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3959 ("gobject-introspection" ,gobject-introspection)
3960 ("pkg-config" ,pkg-config)
3961 ("vala" ,vala)
3962 ("autoconf" ,autoconf)
3963 ("automake" ,automake)
3964 ("libtool" ,libtool)
3965 ("gtk-doc" ,gtk-doc)))
3966 (propagated-inputs
3967 ;; Both of these are required by gusb.pc.
3968 `(("glib" ,glib)
3969 ("libusb" ,libusb)))
3970 (arguments
3971 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3972 #:phases
3973 (modify-phases %standard-phases
3974 (add-after 'unpack 'autogen
3975 (lambda _
3976 (and (zero? (system* "gtkdocize"))
3977 (zero? (system* "autoreconf" "-vif"))))))))
3978 (home-page "https://github.com/hughsie/libgusb")
3979 (synopsis "GLib binding for libusb1")
3980 (description
3981 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3982 asynchronous control, bulk and interrupt transfers with proper cancellation
3983 and integration into a mainloop. This makes it easy to integrate low level
3984 USB transfers with your high-level application or system daemon.")
3985 (license license:lgpl2.1+)))
3986
3987 (define-public simple-scan
3988 (package
3989 (name "simple-scan")
3990 (version "3.24.1")
3991 (source (origin
3992 (method url-fetch)
3993 (uri (string-append "https://launchpad.net/simple-scan/"
3994 (version-major+minor version) "/"
3995 version "/+download/simple-scan-"
3996 version ".tar.xz"))
3997 (sha256
3998 (base32
3999 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
4000 (build-system glib-or-gtk-build-system)
4001 (inputs
4002 `(("gtk" ,gtk+)
4003 ("zlib" ,zlib)
4004 ("cairo" ,cairo)
4005 ("gdk-pixbuf" ,gdk-pixbuf)
4006 ("gusb" ,gusb)
4007 ("libsane" ,sane-backends)))
4008 (native-inputs
4009 `(("gettext" ,gettext-minimal)
4010 ("itstool" ,itstool)
4011 ("colord" ,colord)
4012 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
4013 ("pkg-config" ,pkg-config)
4014 ("vala" ,vala)
4015 ("xmllint" ,libxml2)))
4016 (arguments
4017 '(#:configure-flags '("--disable-packagekit")
4018 #:phases
4019 (modify-phases %standard-phases
4020 (add-after 'unpack 'clean
4021 (lambda _
4022 ;; Remove a left-over reference to PackageKit.
4023
4024 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
4025
4026 ;; There are some generated C files erroneously
4027 ;; included in the source distribution, and this
4028 ;; one breaks the build by referring to a
4029 ;; non-existent header (packagekit.h)
4030 (delete-file "src/ui.c"))))))
4031 (home-page "https://launchpad.net/simple-scan")
4032 (synopsis "Document and image scanner")
4033 (description "Simple Scan is an easy-to-use application, designed to let
4034 users connect their scanner and quickly have the image/document in an
4035 appropriate format. Simple Scan is basically a frontend for SANE - which is
4036 the same backend as XSANE uses. This means that all existing scanners will
4037 work and the interface is well tested.")
4038 (license license:gpl3+)))
4039
4040 (define-public eolie
4041 (package
4042 (name "eolie")
4043 (version "0.9.4")
4044 (source (origin
4045 (method url-fetch)
4046 (uri (string-append "https://github.com/gnumdk/eolie/"
4047 "releases/download/" version
4048 "/eolie-" version ".tar.xz"))
4049 (sha256
4050 (base32
4051 "0zw2zqgnpsvk35nrp4kqkh2hb5kchzpvi684xjv7a9hhrlsxkdqd"))))
4052 (build-system glib-or-gtk-build-system)
4053 (arguments
4054 `(#:phases
4055 (modify-phases %standard-phases
4056 (delete 'configure)
4057 (replace 'build
4058 (lambda* (#:key outputs #:allow-other-keys)
4059 (zero? (system* "meson" "build"
4060 "--prefix" (assoc-ref outputs "out")))))
4061 (replace 'check
4062 (lambda _ (zero? (system* "ninja" "-C" "build" "test"))))
4063 (replace 'install
4064 (lambda* (#:key outputs #:allow-other-keys)
4065 (zero? (system* "ninja" "-C" "build" "install"))))
4066 (add-after 'wrap 'wrap-more
4067 (lambda* (#:key inputs outputs #:allow-other-keys)
4068 (let* ((out (assoc-ref outputs "out"))
4069 ;; These libraries must be on LD_LIBRARY_PATH.
4070 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
4071 "atk" "gtk+" "gsettings-desktop-schemas"
4072 "gobject-introspection"))
4073 (path (string-join
4074 (map (lambda (lib)
4075 (string-append (assoc-ref inputs lib) "/lib"))
4076 libs)
4077 ":")))
4078 (wrap-program (string-append out "/bin/eolie")
4079 `("LD_LIBRARY_PATH" ":" prefix (,path))
4080 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
4081 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
4082 #t)))))
4083 (native-inputs
4084 `(("intltool" ,intltool)
4085 ("itstool" ,itstool)
4086 ("pkg-config" ,pkg-config)
4087 ("meson" ,meson-for-build)
4088 ("ninja" ,ninja)
4089 ("python" ,python)
4090 ("gtk+" ,gtk+ "bin")))
4091 (inputs
4092 `(("gobject-introspection" ,gobject-introspection)
4093 ("glib-networking" ,glib-networking)
4094 ("cairo" ,cairo)
4095 ("gtk+" ,gtk+)
4096 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4097 ("python" ,python-wrapper)
4098 ("python-pygobject" ,python-pygobject)
4099 ("python-pycairo" ,python-pycairo)
4100 ("libsecret" ,libsecret)
4101 ("gtkspell3" ,gtkspell3)
4102 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4103 ("webkitgtk" ,webkitgtk)))
4104 (home-page "https://github.com/gnumdk/eolie/")
4105 (synopsis "Web browser for GNOME")
4106 (description
4107 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4108 a secret password store, an adblocker, and a modern UI.")
4109 (license license:gpl3+)))
4110
4111 (define-public epiphany
4112 (package
4113 (name "epiphany")
4114 (version "3.24.4")
4115 (source (origin
4116 (method url-fetch)
4117 (uri (string-append "mirror://gnome/sources/" name "/"
4118 (version-major+minor version) "/"
4119 name "-" version ".tar.xz"))
4120 (sha256
4121 (base32
4122 "1jg59s98aljf603w24r5a3cr4fw6z88gc0warqy1946iprjgdw0m"))))
4123 (build-system glib-or-gtk-build-system)
4124 (arguments
4125 ;; FIXME: tests run under Xvfb, but fail with:
4126 ;; /src/bookmarks/ephy-bookmarks/create:
4127 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4128 ;; subsystem
4129 ;; FAIL
4130 '(#:tests? #f
4131 #:configure-flags '("CFLAGS=-std=gnu99")))
4132 (propagated-inputs
4133 `(("dconf" ,dconf)))
4134 (native-inputs
4135 `(("intltool" ,intltool)
4136 ("itstool" ,itstool)
4137 ("pkg-config" ,pkg-config)
4138 ("xmllint" ,libxml2)))
4139 (inputs
4140 `(("avahi" ,avahi)
4141 ("gcr" ,gcr)
4142 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
4143 ("glib-networking" ,glib-networking)
4144 ("gnome-desktop" ,gnome-desktop)
4145 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4146 ("json-glib" ,json-glib)
4147 ("iso-codes" ,iso-codes)
4148 ("libnotify" ,libnotify)
4149 ("libsecret" ,libsecret)
4150 ("libxslt" ,libxslt)
4151 ("sqlite" ,sqlite)
4152 ("webkitgtk" ,webkitgtk)))
4153 (home-page "https://wiki.gnome.org/Apps/Web")
4154 (synopsis "GNOME web browser")
4155 (description
4156 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4157 principles are simplicity and standards compliance.")
4158 (license license:gpl2+)))
4159
4160 (define-public d-feet
4161 (package
4162 (name "d-feet")
4163 (version "0.3.11")
4164 (source (origin
4165 (method url-fetch)
4166 (uri (string-append "mirror://gnome/sources/" name "/"
4167 (version-major+minor version) "/"
4168 name "-" version ".tar.xz"))
4169 (sha256
4170 (base32
4171 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
4172 (build-system glib-or-gtk-build-system)
4173 (arguments
4174 '(#:out-of-source? #f ; tests need to run in the source directory.
4175 #:phases
4176 (modify-phases %standard-phases
4177 (add-before
4178 'check 'pre-check
4179 (lambda _
4180 ;; The test suite requires a running X server.
4181 (system "Xvfb :1 &")
4182 (setenv "DISPLAY" ":1")
4183 ;; Don't fail on missing '/etc/machine-id'.
4184 (setenv "DBUS_FATAL_WARNINGS" "0")
4185 ;; tests.py and window.py don't meet E402:
4186 ;; E402 module level import not at top of file
4187 (substitute* "src/tests/Makefile"
4188 (("--ignore=E123") "--ignore=E123,E402"))
4189 #t))
4190 (add-after
4191 'install 'wrap-program
4192 (lambda* (#:key outputs #:allow-other-keys)
4193 (let ((prog (string-append (assoc-ref outputs "out")
4194 "/bin/d-feet")))
4195 (wrap-program prog
4196 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
4197 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4198 #t))))))
4199 (native-inputs
4200 `(("intltool" ,intltool)
4201 ("itstool" ,itstool)
4202 ("pkg-config" ,pkg-config)
4203 ("python-pep8" ,python-pep8)
4204 ("xmllint" ,libxml2)
4205 ("xorg-server" ,xorg-server)))
4206 (inputs
4207 `(("gobject-introspection" ,gobject-introspection)
4208 ("gtk+" ,gtk+)
4209 ("python" ,python-wrapper)
4210 ("python-pygobject" ,python-pygobject)))
4211 (home-page "https://wiki.gnome.org/Apps/DFeet")
4212 (synopsis "D-Bus debugger")
4213 (description
4214 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4215 of running programs and invoke methods on those interfaces.")
4216 (license license:gpl2+)))
4217
4218 (define-public yelp-xsl
4219 (package
4220 (name "yelp-xsl")
4221 (version "3.20.1")
4222 (source (origin
4223 (method url-fetch)
4224 (uri (string-append "mirror://gnome/sources/" name "/"
4225 (version-major+minor version) "/"
4226 name "-" version ".tar.xz"))
4227 (sha256
4228 (base32
4229 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
4230 (build-system gnu-build-system)
4231 (native-inputs
4232 `(("intltool" ,intltool)
4233 ("itstool" ,itstool)
4234 ("xmllint" ,libxml2)))
4235 (home-page "https://wiki.gnome.org/Apps/Yelp")
4236 (synopsis "XSL stylesheets for Yelp")
4237 (description
4238 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4239 to format Docbook and Mallard documents.")
4240 (license license:gpl2+)))
4241
4242 (define-public yelp
4243 (package
4244 (name "yelp")
4245 (version "3.22.0")
4246 (source (origin
4247 (method url-fetch)
4248 (uri (string-append "mirror://gnome/sources/" name "/"
4249 (version-major+minor version) "/"
4250 name "-" version ".tar.xz"))
4251 (sha256
4252 (base32
4253 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
4254 (build-system glib-or-gtk-build-system)
4255 (native-inputs
4256 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4257 ("intltool" ,intltool)
4258 ("itstool" ,itstool)
4259 ("pkg-config" ,pkg-config)))
4260 (propagated-inputs
4261 `(("dconf" ,dconf)))
4262 (inputs
4263 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4264 ("libxslt" ,libxslt)
4265 ("sqlite" ,sqlite)
4266 ("webkitgtk" ,webkitgtk)
4267 ("yelp-xsl" ,yelp-xsl)))
4268 (home-page "https://wiki.gnome.org/Apps/Yelp")
4269 (synopsis "GNOME help browser")
4270 (description
4271 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4272 man, info, and HTML documents. It can locate documents according to the
4273 freedesktop.org help system specification.")
4274 (license license:gpl2+)))
4275
4276 (define-public yelp-tools
4277 (package
4278 (name "yelp-tools")
4279 (version "3.18.0")
4280 (source (origin
4281 (method url-fetch)
4282 (uri (string-append "mirror://gnome/sources/" name "/"
4283 (version-major+minor version) "/"
4284 name "-" version ".tar.xz"))
4285 (sha256
4286 (base32
4287 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
4288 (build-system gnu-build-system)
4289 (native-inputs
4290 `(("pkg-config" ,pkg-config)))
4291 (propagated-inputs
4292 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4293 `(("itstool" ,itstool)
4294 ("xmllint" ,libxml2)
4295 ("xsltproc" ,libxslt)))
4296 (inputs
4297 `(("yelp-xsl" ,yelp-xsl)))
4298 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4299 (synopsis "Yelp documentation tools")
4300 (description
4301 "Yelp-tools is a collection of scripts and build utilities to help create,
4302 manage, and publish documentation for Yelp and the web. Most of the heavy
4303 lifting is done by packages like yelp-xsl and itstool. This package just
4304 wraps things up in a developer-friendly way.")
4305 (license license:gpl2+)))
4306
4307 (define-public libgee
4308 (package
4309 (name "libgee")
4310 (version "0.20.0")
4311 (source (origin
4312 (method url-fetch)
4313 (uri (string-append "mirror://gnome/sources/" name "/"
4314 (version-major+minor version) "/"
4315 name "-" version ".tar.xz"))
4316 (sha256
4317 (base32
4318 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
4319 (build-system gnu-build-system)
4320 (arguments
4321 `(#:phases
4322 (modify-phases %standard-phases
4323 (add-after 'unpack 'fix-introspection-install-dir
4324 (lambda* (#:key outputs #:allow-other-keys)
4325 (let ((out (assoc-ref outputs "out")))
4326 (substitute* "gee/Makefile.in"
4327 (("@INTROSPECTION_GIRDIR@")
4328 (string-append out "/share/gir-1.0/"))
4329 (("@INTROSPECTION_TYPELIBDIR@")
4330 (string-append out "/lib/girepository-1.0/")))))))))
4331 (native-inputs
4332 `(("glib" ,glib "bin")
4333 ("pkg-config" ,pkg-config)))
4334 (inputs
4335 `(("glib" ,glib)
4336 ("gobject-introspection" ,gobject-introspection)))
4337 (home-page "https://wiki.gnome.org/Projects/Libgee")
4338 (synopsis "GObject collection library")
4339 (description
4340 "Libgee is a utility library providing GObject-based interfaces and
4341 classes for commonly used data structures.")
4342 (license license:lgpl2.1+)))
4343
4344 (define-public gexiv2
4345 (package
4346 (name "gexiv2")
4347 (version "0.10.6")
4348 (source (origin
4349 (method url-fetch)
4350 (uri (string-append "mirror://gnome/sources/" name "/"
4351 (version-major+minor version) "/"
4352 name "-" version ".tar.xz"))
4353 (sha256
4354 (base32
4355 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
4356 (build-system gnu-build-system)
4357 (native-inputs
4358 `(("glib" ,glib "bin")
4359 ("pkg-config" ,pkg-config)))
4360 (propagated-inputs
4361 ;; Listed in "Requires" section of gexiv2.pc
4362 `(("exiv2" ,exiv2)))
4363 (inputs
4364 `(("glib" ,glib)
4365 ("gobject-introspection" ,gobject-introspection)))
4366 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4367 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4368 (description
4369 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4370 allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4371 metadata in photo and video files of various formats.")
4372 (license license:gpl2+)))
4373
4374 (define-public shotwell
4375 (package
4376 (name "shotwell")
4377 (version "0.26.3")
4378 (source (origin
4379 (method url-fetch)
4380 (uri (string-append "mirror://gnome/sources/" name "/"
4381 (version-major+minor version) "/"
4382 name "-" version ".tar.xz"))
4383 (sha256
4384 (base32
4385 "1r8fd63r7c5n99hwrkzv9jlrk84z4sa15q3h70pydzfjnfqf90zv"))))
4386 (build-system glib-or-gtk-build-system)
4387 (propagated-inputs
4388 `(("dconf" ,dconf)))
4389 (native-inputs
4390 `(("pkg-config" ,pkg-config)
4391 ("itstool" ,itstool)
4392 ("gettext" ,gettext-minimal)
4393 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
4394 ("itstool" ,itstool)
4395 ("vala" ,vala)))
4396 (inputs
4397 `(("glib:bin" ,glib "bin")
4398 ("gstreamer" ,gstreamer)
4399 ("gst-plugins-base" ,gst-plugins-base)
4400 ("libgdata" ,libgdata)
4401 ("libgee" ,libgee)
4402 ("gexiv2" ,gexiv2)
4403 ("libraw" ,libraw)
4404 ("json-glib" ,json-glib)
4405 ("webkitgtk" ,webkitgtk)
4406 ("sqlite" ,sqlite)
4407 ("libsoup" ,libsoup)
4408 ("libxml2" ,libxml2)
4409 ("libgudev" ,libgudev)
4410 ("libgphoto2" ,libgphoto2)
4411 ("gcr" ,gcr)))
4412 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4413 (synopsis "Photo manager for GNOME 3")
4414 (description
4415 "Shotwell is a digital photo manager designed for the GNOME desktop
4416 environment. It allows you to import photos from disk or camera, organize
4417 them by keywords and events, view them in full-window or fullscreen mode, and
4418 share them with others via social networking and more.")
4419 (license license:lgpl2.1+)))
4420
4421 (define-public file-roller
4422 (package
4423 (name "file-roller")
4424 (version "3.26.2")
4425 (source (origin
4426 (method url-fetch)
4427 (uri (string-append "mirror://gnome/sources/" name "/"
4428 (version-major+minor version) "/"
4429 name "-" version ".tar.xz"))
4430 (sha256
4431 (base32
4432 "19d8pc5z2xzhnicgaysxmwx3ghwzl4cw8kygd6nsw69g3j77nrry"))))
4433 (build-system glib-or-gtk-build-system)
4434 (arguments
4435 '(#:phases
4436 (modify-phases %standard-phases
4437 (add-before 'install 'skip-gtk-update-icon-cache
4438 (lambda _
4439 ;; Don't create 'icon-theme.cache'
4440 (substitute* (find-files "data" "^Makefile$")
4441 (("gtk-update-icon-cache") (which "true")))
4442 #t)))))
4443 (native-inputs
4444 `(("intltool" ,intltool)
4445 ("pkg-config" ,pkg-config)))
4446 ;; TODO: Add libnautilus.
4447 (inputs
4448 `(("gtk+" ,gtk+)
4449 ("gdk-pixbuf" ,gdk-pixbuf)
4450 ("json-glib" ,json-glib)
4451 ("libarchive" ,libarchive)
4452 ("libnotify" ,libnotify)
4453 ("nettle" ,nettle)
4454 ("itstool" ,itstool)
4455 ("libxml2" ,libxml2)))
4456 (synopsis "Graphical archive manager for GNOME")
4457 (description "File Roller is an archive manager for the GNOME desktop
4458 environment that allows users to view, unpack, and create compressed archives
4459 such as gzip tarballs.")
4460 (home-page "http://fileroller.sourceforge.net/")
4461 (license license:gpl2+)))
4462
4463 (define-public gnome-session
4464 (package
4465 (name "gnome-session")
4466 (version "3.24.1")
4467 (source (origin
4468 (method url-fetch)
4469 (uri (string-append "mirror://gnome/sources/" name "/"
4470 (version-major+minor version) "/"
4471 name "-" version ".tar.xz"))
4472 (sha256
4473 (base32
4474 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
4475 (arguments
4476 '(#:phases
4477 (modify-phases %standard-phases
4478 (add-before 'configure 'pre-configure
4479 (lambda* (#:key outputs #:allow-other-keys)
4480 ;; Use elogind instead of systemd.
4481 (substitute* "configure"
4482 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4483 "libelogind")
4484 (("systemd") "elogind"))
4485 (substitute* "gnome-session/gsm-systemd.c"
4486 (("#include <systemd/sd-login.h>")
4487 "#include <elogind/sd-login.h>"))
4488 ;; Remove uses of the systemd journal.
4489 (substitute* "gnome-session/main.c"
4490 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4491 (substitute* "gnome-session/gsm-manager.c"
4492 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4493 (substitute* "gnome-session/gsm-autostart-app.c"
4494 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4495 #t))
4496 (add-after 'install 'wrap-gnome-session
4497 (lambda* (#:key inputs outputs #:allow-other-keys)
4498 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4499 (let ((glib (assoc-ref inputs "glib:bin"))
4500 (out (assoc-ref outputs "out")))
4501 (wrap-program (string-append out "/bin/gnome-session")
4502 `("PATH" ":" prefix (,(string-append glib "/bin"))))
4503 #t)))
4504 (add-after 'install 'disable-hardware-acceleration-check
4505 (lambda* (#:key outputs #:allow-other-keys)
4506 ;; Do not abort if hardware acceleration is missing. This allows
4507 ;; GNOME to run in QEMU and on low-end devices.
4508 (let ((out (assoc-ref outputs "out")))
4509 (substitute* (string-append out
4510 "/share/xsessions/gnome.desktop")
4511 (("gnome-session")
4512 "gnome-session --disable-acceleration-check"))
4513 #t))))
4514
4515 #:configure-flags
4516 '("--enable-elogind")))
4517 (build-system glib-or-gtk-build-system)
4518 (native-inputs
4519 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4520 ("pkg-config" ,pkg-config)
4521 ("intltool" ,intltool)
4522 ("xsltproc" ,libxslt)))
4523 (inputs
4524 `(("elogind" ,elogind)
4525 ("gnome-desktop" ,gnome-desktop)
4526 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4527 ("gtk+" ,gtk+)
4528 ("json-glib" ,json-glib)
4529 ("libsm" ,libsm)
4530 ("libxcomposite" ,libxcomposite)
4531 ("libxtst" ,libxtst)
4532 ("mesa" ,mesa)
4533 ("upower" ,upower)
4534 ("xtrans" ,xtrans)))
4535 (synopsis "Session manager for GNOME")
4536 (description
4537 "This package contains the GNOME session manager, as well as a
4538 configuration program to choose applications starting on login.")
4539 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4540 (license license:gpl2+)))
4541
4542 (define-public gjs
4543 (package
4544 (name "gjs")
4545 (version "1.48.6")
4546 (source (origin
4547 (method url-fetch)
4548 (uri (string-append "mirror://gnome/sources/" name "/"
4549 (version-major+minor version) "/"
4550 name "-" version ".tar.xz"))
4551 (sha256
4552 (base32
4553 "04nkig077r7xq55dxg9v46w8i7p8zkkdyja92yv81grq9fx6apz8"))))
4554 (build-system gnu-build-system)
4555 (arguments
4556 '(#:phases
4557 (modify-phases %standard-phases
4558 (add-before
4559 'check 'pre-check
4560 (lambda _
4561 ;; The test suite requires a running X server.
4562 (system "Xvfb :1 &")
4563 (setenv "DISPLAY" ":1")
4564
4565 ;; For the missing /etc/machine-id.
4566 (setenv "DBUS_FATAL_WARNINGS" "0")
4567
4568 ;; Our mozjs-38 package does not compile the required Intl API
4569 ;; support for these failing tests.
4570 (substitute* "installed-tests/js/testLocale.js"
4571 ((".*toBeDefined.*") "")
4572 ((".*expect\\(datestr\\).*") ""))
4573 #t)))))
4574 (native-inputs
4575 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4576 ("pkg-config" ,pkg-config)
4577 ("xmllint" ,libxml2)
4578 ;; For testing
4579 ("dbus-launch" ,dbus)
4580 ("uuidgen" ,util-linux)
4581 ("xvfb" ,xorg-server)))
4582 (propagated-inputs
4583 ;; These are all in the Requires.private field of gjs-1.0.pc.
4584 `(("cairo" ,cairo)
4585 ("gobject-introspection" ,gobject-introspection)
4586 ("mozjs" ,mozjs-38)))
4587 (inputs
4588 `(("gtk+" ,gtk+)
4589 ("readline" ,readline)))
4590 (synopsis "Javascript bindings for GNOME")
4591 (home-page "https://live.gnome.org/Gjs")
4592 (description
4593 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4594 javascript engine and the GObject introspection framework.")
4595 (license license:gpl2+)))
4596
4597 (define-public gedit
4598 (package
4599 (name "gedit")
4600 (version "3.22.1")
4601 (source (origin
4602 (method url-fetch)
4603 (uri (string-append "mirror://gnome/sources/" name "/"
4604 (version-major+minor version) "/"
4605 name "-" version ".tar.xz"))
4606 (sha256
4607 (base32
4608 "0as9r5zvnyrxh699q6jnd0p9ddqy5qamfbxggpdjzagzixhw6yxa"))))
4609 (build-system glib-or-gtk-build-system)
4610 (arguments
4611 `(#:phases
4612 (modify-phases %standard-phases
4613 (add-after
4614 'install 'wrap-gedit
4615 (lambda* (#:key inputs outputs #:allow-other-keys)
4616 (let ((out (assoc-ref outputs "out"))
4617 (gtksourceview (assoc-ref inputs "gtksourceview"))
4618 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4619 (python-path (getenv "PYTHONPATH")))
4620 (wrap-program (string-append out "/bin/gedit")
4621 ;; For plugins.
4622 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4623 `("PYTHONPATH" ":" prefix (,python-path))
4624 ;; For language-specs.
4625 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4626 "/share")))))
4627 #t)))))
4628 (propagated-inputs
4629 `(("dconf" ,dconf)))
4630 (native-inputs
4631 `(("intltool" ,intltool)
4632 ("itstool" ,itstool)
4633 ("gobject-introspection" ,gobject-introspection)
4634 ("pkg-config" ,pkg-config)))
4635 (inputs
4636 `(("glib" ,glib)
4637 ("gspell" ,gspell)
4638 ("gtk+" ,gtk+)
4639 ("gtksourceview" ,gtksourceview)
4640 ("libpeas" ,libpeas)
4641 ("libxml2" ,libxml2)
4642 ("iso-codes" ,iso-codes)
4643 ("python-pygobject" ,python-pygobject)
4644 ("python" ,python)
4645 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4646 ("libx11" ,libx11)
4647 ("vala" ,vala)
4648 ("adwaita-icon-theme" ,adwaita-icon-theme)
4649 ("libsoup" ,libsoup)
4650 ("gnome-desktop" ,gnome-desktop)))
4651 (home-page "https://wiki.gnome.org/Apps/Gedit")
4652 (synopsis "GNOME text editor")
4653 (description "While aiming at simplicity and ease of use, gedit is a
4654 powerful general purpose text editor.")
4655 (license license:gpl2+)))
4656
4657 (define-public zenity
4658 (package
4659 (name "zenity")
4660 (version "3.24.0")
4661 (source (origin
4662 (method url-fetch)
4663 (uri (string-append "mirror://gnome/sources/" name "/"
4664 (version-major+minor version) "/"
4665 name "-" version ".tar.xz"))
4666 (sha256
4667 (base32
4668 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
4669 (build-system gnu-build-system)
4670 (native-inputs
4671 `(("gettext" ,gettext-minimal)
4672 ("itstool" ,itstool)
4673 ("pkg-config" ,pkg-config)))
4674 (inputs
4675 `(("libnotify" ,libnotify)
4676 ("webkitgtk" ,webkitgtk)))
4677 (synopsis "Display graphical dialog boxes from shell scripts")
4678 (home-page "https://www.gnome.org")
4679 (description
4680 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4681 to display dialog boxes from the commandline and shell scripts.")
4682 (license license:lgpl2.0+)))
4683
4684 (define-public mutter
4685 (package
4686 (name "mutter")
4687 (version "3.24.4")
4688 (source (origin
4689 (method url-fetch)
4690 (uri (string-append "mirror://gnome/sources/" name "/"
4691 (version-major+minor version) "/"
4692 name "-" version ".tar.xz"))
4693 (sha256
4694 (base32
4695 "1slspy5krbqfvnma72lvdnxjf8ag2cvxssa8bvi7y3xxy7xv603k"))))
4696 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4697 ;; versions of cogl and clutter. As a result, many of the inputs,
4698 ;; propagated-inputs, and configure flags used in cogl and clutter are
4699 ;; needed here as well.
4700 (build-system gnu-build-system)
4701 (arguments
4702 '(#:configure-flags
4703 ;; XXX: build fails with [-Werror]:
4704 ;; backends/meta-cursor-renderer.c:112:5: error:
4705 ;; implicit declaration of function ?roundf?
4706 (list "--enable-compile-warnings=minimum"
4707
4708 "--enable-native-backend"
4709
4710 ;; The following flags are needed for the bundled clutter
4711 "--enable-x11-backend=yes"
4712
4713 ;; the remaining flags are needed for the bundled cogl
4714 "--enable-cogl-gst"
4715 (string-append "--with-gl-libname="
4716 (assoc-ref %build-inputs "mesa")
4717 "/lib/libGL.so"))
4718 #:phases
4719 (modify-phases %standard-phases
4720 ;; Replace references to systemd libraries to elogind references.
4721 (add-before 'configure 'use-elogind
4722 (lambda _
4723 (substitute* (list "configure"
4724 "src/backends/native/meta-launcher.c"
4725 "src/core/main.c")
4726 (("systemd") "elogind"))
4727 #t)))))
4728 (native-inputs
4729 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4730 ("gobject-introspection" ,gobject-introspection)
4731 ("intltool" ,intltool)
4732 ("pkg-config" ,pkg-config)
4733 ;; For git build
4734 ("autoconf" ,autoconf)
4735 ("automake" ,automake)
4736 ("libtool" ,libtool)))
4737 (propagated-inputs
4738 `(;; libmutter.pc refers to these:
4739 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4740 ("gtk+" ,gtk+)
4741 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4742 ("atk" ,atk)
4743 ("cairo" ,cairo)
4744 ("gdk-pixbuf" ,gdk-pixbuf)
4745 ("glib" ,glib)
4746 ("gtk+" ,gtk+)
4747 ("json-glib" ,json-glib)
4748 ("libinput" ,libinput)
4749 ("libx11" ,libx11)
4750 ("libxcomposite" ,libxcomposite)
4751 ("libxdamage" ,libxdamage)
4752 ("libxext" ,libxext)
4753 ("libxfixes" ,libxfixes)
4754 ("libxkbcommon" ,libxkbcommon)
4755 ("libxrandr" ,libxrandr)
4756 ("mesa" ,mesa)
4757 ("pango" ,pango)
4758 ("udev" ,eudev)
4759 ("xinput" ,xinput)))
4760 (inputs
4761 `(("elogind" ,elogind)
4762 ("gnome-desktop" ,gnome-desktop)
4763 ("libcanberra-gtk" ,libcanberra)
4764 ("libgudev" ,libgudev)
4765 ("libice" ,libice)
4766 ("libsm" ,libsm)
4767 ("libxkbfile" ,libxkbfile)
4768 ("libxrandr" ,libxrandr)
4769 ("libxtst" ,libxtst)
4770 ("startup-notification" ,startup-notification)
4771 ("upower-glib" ,upower)
4772 ("xkeyboard-config" ,xkeyboard-config)
4773 ("zenity" ,zenity)))
4774 (synopsis "Window and compositing manager")
4775 (home-page "https://www.gnome.org")
4776 (description
4777 "Mutter is a window and compositing manager that displays and manages your
4778 desktop via OpenGL. Mutter combines a sophisticated display engine using the
4779 Clutter toolkit with solid window-management logic inherited from the Metacity
4780 window manager.")
4781 (license license:gpl2+)))
4782
4783 (define-public gnome-online-accounts
4784 (package
4785 (name "gnome-online-accounts")
4786 (version "3.24.3")
4787 (source (origin
4788 (method url-fetch)
4789 (uri (string-append "mirror://gnome/sources/" name "/"
4790 (version-major+minor version) "/"
4791 name "-" version ".tar.xz"))
4792 (sha256
4793 (base32
4794 "0m1qf2ffxzmwxa157lrvh3507d5gr3lg4kvj653zhcihjpmmhbi5"))))
4795 (build-system glib-or-gtk-build-system)
4796 (native-inputs
4797 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4798 ("gobject-introspection" ,gobject-introspection)
4799 ("intltool" ,intltool)
4800 ("pkg-config" ,pkg-config)
4801 ("xsltproc" ,libxslt)))
4802 (propagated-inputs
4803 `(("glib" ,glib) ; required by goa-1.0.pc
4804 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4805 (inputs
4806 `(("docbook-xsl" ,docbook-xsl)
4807 ("json-glib" ,json-glib)
4808 ("libsecret" ,libsecret)
4809 ("rest" ,rest)
4810 ("telepathy-glib" ,telepathy-glib)
4811 ("webkitgtk" ,webkitgtk)))
4812 (synopsis "Single sign-on framework for GNOME")
4813 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4814 (description
4815 "GNOME Online Accounts provides interfaces so that applications and
4816 libraries in GNOME can access the user's online accounts. It has providers for
4817 Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4818 Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4819 (license license:lgpl2.0+)))
4820
4821 (define-public evolution-data-server
4822 (package
4823 (name "evolution-data-server")
4824 (version "3.24.3")
4825 (source (origin
4826 (method url-fetch)
4827 (uri (string-append "mirror://gnome/sources/" name "/"
4828 (version-major+minor version) "/"
4829 name "-" version ".tar.xz"))
4830 (sha256
4831 (base32
4832 "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
4833 (build-system cmake-build-system)
4834 (arguments
4835 '(;; XXX FIXME: 11/85 tests are failing.
4836 #:tests? #f
4837 #:configure-flags
4838 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4839 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4840 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4841 "-DENABLE_VALA_BINDINGS=ON"
4842 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
4843 #:phases
4844 (modify-phases %standard-phases
4845 (add-after 'unpack 'patch-paths
4846 (lambda _
4847 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4848 (("/bin/rm") (which "rm")))
4849 #t)))))
4850 (native-inputs
4851 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4852 ("gobject-introspection" ,gobject-introspection)
4853 ("gperf" ,gperf)
4854 ("intltool" ,intltool)
4855 ("pkg-config" ,pkg-config)
4856 ("vala" ,vala)
4857 ("python" ,python-wrapper)))
4858 (propagated-inputs
4859 ;; These are all in the Requires field of .pc files.
4860 `(("gtk+" ,gtk+)
4861 ("libical" ,libical)
4862 ("libsecret" ,libsecret)
4863 ("libsoup" ,libsoup)
4864 ("nss" ,nss)
4865 ("sqlite" ,sqlite)))
4866 (inputs
4867 `(("bdb" ,bdb)
4868 ("gcr" ,gcr)
4869 ("gnome-online-accounts" ,gnome-online-accounts)
4870 ("libgweather" ,libgweather)
4871 ("mit-krb5" ,mit-krb5)
4872 ("openldap" ,openldap)))
4873 (synopsis "Store address books and calendars")
4874 (home-page "https://wiki.gnome.org/Apps/Evolution")
4875 (description
4876 "This package provides a unified backend for programs that work with
4877 contacts, tasks, and calendar information. It was originally developed for
4878 Evolution (hence the name), but is now used by other packages as well.")
4879 (license license:lgpl2.0)))
4880
4881 (define-public caribou
4882 (package
4883 (name "caribou")
4884 (version "0.4.21")
4885 (source (origin
4886 (method url-fetch)
4887 (uri (string-append "mirror://gnome/sources/" name "/"
4888 (version-major+minor version) "/"
4889 name "-" version ".tar.xz"))
4890 (sha256
4891 (base32
4892 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
4893 (build-system glib-or-gtk-build-system)
4894 (arguments
4895 '(#:phases
4896 (modify-phases %standard-phases
4897 (add-before
4898 'build 'pre-build
4899 (lambda* (#:key outputs #:allow-other-keys)
4900 (let ((out (assoc-ref outputs "out")))
4901 ;; Use absolute shared library path in Caribou-1.0.typelib.
4902 (substitute* "libcaribou/Makefile"
4903 (("--shared-library=libcaribou.so")
4904 (string-append "--shared-library="
4905 out "/lib/libcaribou.so")))
4906 #t)))
4907 (add-after 'install 'wrap-programs
4908 (lambda* (#:key outputs #:allow-other-keys)
4909 (let* ((out (assoc-ref outputs "out"))
4910 (python-path (getenv "PYTHONPATH"))
4911 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4912 (for-each
4913 (lambda (prog)
4914 (wrap-program prog
4915 `("PYTHONPATH" ":" prefix (,python-path))
4916 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4917 (list (string-append out "/bin/caribou-preferences")
4918 (string-append out "/libexec/antler-keyboard"))))
4919 #t)))))
4920 (native-inputs
4921 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4922 ("gobject-introspection" ,gobject-introspection)
4923 ("intltool" ,intltool)
4924 ("pkg-config" ,pkg-config)
4925 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4926 ("vala" ,vala)
4927 ("xsltproc" ,libxslt)))
4928 (propagated-inputs
4929 ;; caribou-1.0.pc refers to all these.
4930 `(("libgee" ,libgee)
4931 ("libxklavier" ,libxklavier)
4932 ("libxtst" ,libxtst)
4933 ("gtk+" ,gtk+)))
4934 (inputs
4935 `(("clutter" ,clutter)
4936 ("dconf" ,dconf)
4937 ("gtk+-2" ,gtk+-2)
4938 ("python-pygobject" ,python2-pygobject)))
4939 (synopsis "Text entry and UI navigation application")
4940 (home-page "https://wiki.gnome.org/Projects/Caribou")
4941 (description
4942 "Caribou is an input assistive technology intended for switch and pointer
4943 users.")
4944 (license license:lgpl2.1)))
4945
4946 (define-public network-manager
4947 (package
4948 (name "network-manager")
4949 (version "1.8.4")
4950 (source (origin
4951 (method url-fetch)
4952 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4953 (version-major+minor version) "/"
4954 "NetworkManager-" version ".tar.xz"))
4955 (sha256
4956 (base32
4957 "04lj081a5cdkhcnj1xs77chhy08d2h0648kmj1csxp46cfrjwpk2"))
4958 (snippet
4959 '(begin
4960 (use-modules (guix build utils))
4961 (substitute* "configure"
4962 ;; Replace libsystemd-login with libelogind.
4963 (("libsystemd-login") "libelogind"))
4964 (substitute* "src/devices/wwan/nm-modem-manager.c"
4965 (("systemd") "elogind"))
4966 (substitute* "src/nm-session-monitor.c"
4967 (("systemd") "elogind"))
4968 (substitute* "./src/nm-logging.c"
4969 (("systemd") "elogind"))))))
4970 (build-system gnu-build-system)
4971 (outputs '("out"
4972 "doc")) ; 8 MiB of gtk-doc HTML
4973 (arguments
4974 '(#:configure-flags
4975 (let ((out (assoc-ref %outputs "out"))
4976 (doc (assoc-ref %outputs "doc"))
4977 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4978 "/sbin/dhclient")))
4979 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4980 "--with-consolekit=no"
4981 "--with-crypto=gnutls"
4982 "--disable-config-plugin-ibft"
4983 "--sysconfdir=/etc"
4984 "--localstatedir=/var"
4985 (string-append "--with-udev-dir="
4986 out "/lib/udev")
4987 (string-append "--with-dbus-sys-dir="
4988 out "/etc/dbus-1/system.d")
4989 (string-append "--with-html-dir="
4990 doc "/share/gtk-doc/html")
4991 (string-append "--with-dhclient=" dhclient)))
4992 #:phases
4993 (modify-phases %standard-phases
4994 (add-before 'configure 'pre-configure
4995 (lambda _
4996 ;; These tests try to test aspects of network-manager's
4997 ;; functionality within restricted containers, but they don't
4998 ;; cope with being already in the Guix build jail as that jail
4999 ;; lacks some features that they would like to proxy over (like
5000 ;; a /sys mount).
5001 (substitute* '("Makefile.in")
5002 (("src/platform/tests/test-address-linux") " ")
5003 (("src/platform/tests/test-cleanup-linux") " ")
5004 (("src/platform/tests/test-link-linux") " ")
5005 (("src/platform/tests/test-route-linux") " ")
5006 (("src/devices/tests/test-arping") " ")
5007 (("src/devices/tests/test-lldp") " ")
5008 (("src/tests/test-route-manager-linux") " "))
5009 #t))
5010 (add-before 'check 'pre-check
5011 (lambda _
5012 ;; For the missing /etc/machine-id.
5013 (setenv "DBUS_FATAL_WARNINGS" "0")
5014 #t))
5015 (replace 'install
5016 (lambda _
5017 (zero? (system* "make"
5018 "sysconfdir=/tmp"
5019 "rundir=/tmp"
5020 "statedir=/tmp"
5021 "nmstatedir=/tmp/nm"
5022 "install")))))))
5023 (propagated-inputs
5024 `(("glib" ,glib)))
5025 (native-inputs
5026 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
5027 ("gobject-introspection" ,gobject-introspection)
5028 ("docbook-xsl" ,docbook-xsl)
5029 ("intltool" ,intltool)
5030 ("libxslt" ,libxslt)
5031 ("libxml2" ,libxml2)
5032 ("pkg-config" ,pkg-config)
5033 ;; For testing.
5034 ("python" ,python-wrapper)
5035 ("python-dbus" ,python-dbus)
5036 ("python-pygobject" ,python-pygobject)))
5037 (inputs
5038 `(("curl" ,curl)
5039 ("cyrus-sasl" ,cyrus-sasl)
5040 ("dbus-glib" ,dbus-glib)
5041 ("dnsmasq" ,dnsmasq)
5042 ("eudev" ,eudev)
5043 ("gnutls" ,gnutls)
5044 ("iptables" ,iptables)
5045 ("isc-dhcp" ,isc-dhcp)
5046 ("jansson" ,jansson)
5047 ("libgcrypt" ,libgcrypt)
5048 ("libgudev" ,libgudev)
5049 ("libndp" ,libndp)
5050 ("libnl" ,libnl)
5051 ("libsoup" ,libsoup)
5052 ("modem-manager" ,modem-manager)
5053 ("newt" ,newt) ;for the 'nmtui' console interface
5054 ("polkit" ,polkit)
5055 ("ppp" ,ppp)
5056 ("readline" ,readline)
5057 ("util-linux" ,util-linux)
5058 ("elogind" ,elogind)))
5059 (synopsis "Network connection manager")
5060 (home-page "https://www.gnome.org/projects/NetworkManager/")
5061 (description
5062 "NetworkManager is a system network service that manages your network
5063 devices and connections, attempting to keep active network connectivity when
5064 available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
5065 devices, and provides VPN integration with a variety of different VPN
5066 services.")
5067 (license license:gpl2+)
5068 (properties '((upstream-name . "NetworkManager")))))
5069
5070 (define-public network-manager-openvpn
5071 (package
5072 (name "network-manager-openvpn")
5073 (version "1.8.0")
5074 (source (origin
5075 (method url-fetch)
5076 (uri (string-append
5077 "mirror://gnome/sources/NetworkManager-openvpn/"
5078 (version-major+minor version)
5079 "/NetworkManager-openvpn-" version ".tar.xz"))
5080 (sha256
5081 (base32
5082 "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn"))))
5083 (build-system gnu-build-system)
5084 (arguments
5085 '(#:configure-flags '("--enable-absolute-paths")))
5086 (native-inputs
5087 `(("pkg-config" ,pkg-config)
5088 ("intltool" ,intltool)))
5089 (inputs
5090 `(("gtk+" ,gtk+)
5091 ("openvpn" ,openvpn)
5092 ("network-manager" ,network-manager)
5093 ("network-manager-applet" ,network-manager-applet) ;for libnma
5094 ("libsecret" ,libsecret)))
5095 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5096 (synopsis "OpenVPN plug-in for NetworkManager")
5097 (description
5098 "This extension of NetworkManager allows it to take care of connections
5099 to virtual private networks (VPNs) via OpenVPN.")
5100 (license license:gpl2+)
5101 (properties `((upstream-name . "NetworkManager-openvpn")))))
5102
5103 (define-public mobile-broadband-provider-info
5104 (package
5105 (name "mobile-broadband-provider-info")
5106 (version "20170310")
5107 (source (origin
5108 (method url-fetch)
5109 (uri (string-append
5110 "mirror://gnome/sources/"
5111 "mobile-broadband-provider-info/" version "/"
5112 "mobile-broadband-provider-info-" version ".tar.xz"))
5113 (sha256
5114 (base32
5115 "0fxm11x8k9hxjg8l5inaldfmmjnwkay3ibjv899jra03bv4h6kql"))))
5116 (build-system gnu-build-system)
5117 (arguments
5118 `(#:tests? #f)) ; No tests
5119 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5120 (synopsis "Database of broadband connection configuration")
5121 (description "Database of broadband connection configuration.")
5122 (license license:public-domain)))
5123
5124 (define-public network-manager-applet
5125 (package
5126 (name "network-manager-applet")
5127 (version "1.8.4")
5128 (source (origin
5129 (method url-fetch)
5130 (uri (string-append "mirror://gnome/sources/" name "/"
5131 (version-major+minor version) "/"
5132 name "-" version ".tar.xz"))
5133 (sha256
5134 (base32
5135 "0ag3pvjp58ykrzsjfbdxi0j5xd2i796jk7nns67zy03xwg9i0l0h"))))
5136 (build-system glib-or-gtk-build-system)
5137 (arguments '(#:configure-flags '("--disable-migration")))
5138 (native-inputs
5139 `(("intltool" ,intltool)
5140 ("gobject-introspection" ,gobject-introspection)
5141 ("pkg-config" ,pkg-config)))
5142 (propagated-inputs
5143 ;; libnm-gtk.pc refers to all these.
5144 `(("dbus-glib" ,dbus-glib)
5145 ("gtk+" ,gtk+)
5146 ("network-manager" ,network-manager)))
5147 (inputs
5148 `(("iso-codes" ,iso-codes)
5149 ("libgudev" ,libgudev)
5150 ("libnotify" ,libnotify)
5151 ("libsecret" ,libsecret)
5152 ("libselinux" ,libselinux)
5153 ("jansson" ,jansson) ; for team support
5154 ("modem-manager" ,modem-manager)))
5155 (synopsis "Applet for managing network connections")
5156 (home-page "https://www.gnome.org/projects/NetworkManager/")
5157 (description
5158 "This package contains a systray applet for NetworkManager. It displays
5159 the available networks and allows users to easily switch between them.")
5160 (license license:gpl2+)))
5161
5162 (define-public libxml++
5163 (package
5164 (name "libxml++")
5165 (version "3.0.1")
5166 (source (origin
5167 (method url-fetch)
5168 (uri (string-append "mirror://gnome/sources/" name "/"
5169 (version-major+minor version) "/"
5170 name "-" version ".tar.xz"))
5171 (sha256
5172 (base32
5173 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
5174 (build-system gnu-build-system)
5175 ;; libxml++-3.0.pc refers to all these.
5176 (propagated-inputs
5177 `(("libxml2" ,libxml2)
5178 ("glibmm" ,glibmm)))
5179 (native-inputs
5180 `(("perl" ,perl)
5181 ("pkg-config" ,pkg-config)))
5182 (home-page "http://libxmlplusplus.sourceforge.net/")
5183 (synopsis "C++ wrapper for XML parser library libxml2")
5184 (description
5185 "This package provides a C++ wrapper for the XML parser library
5186 libxml2.")
5187 (license license:lgpl2.1+)))
5188
5189 (define-public libxml++-2
5190 (package
5191 (inherit libxml++)
5192 (name "libxml++")
5193 (version "2.40.1")
5194 (source (origin
5195 (method url-fetch)
5196 (uri (string-append "mirror://gnome/sources/" name "/"
5197 (version-major+minor version) "/"
5198 name "-" version ".tar.xz"))
5199 (sha256
5200 (base32
5201 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5202
5203 (define-public gdm
5204 (package
5205 (name "gdm")
5206 (version "3.24.2")
5207 (source (origin
5208 (method url-fetch)
5209 (uri (string-append "mirror://gnome/sources/" name "/"
5210 (version-major+minor version) "/"
5211 name "-" version ".tar.xz"))
5212 (sha256
5213 (base32
5214 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
5215 (build-system glib-or-gtk-build-system)
5216 (arguments
5217 '(#:configure-flags
5218 `("--without-plymouth"
5219 "--disable-systemd-journal"
5220 "--localstatedir=/var"
5221 ,(string-append "--with-default-path="
5222 (string-join '("/run/setuid-programs"
5223 "/run/current-system/profile/bin"
5224 "/run/current-system/profile/sbin")
5225 ":"))
5226 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
5227 ;; XDG_DATA_DIRS so that it finds its schemas.
5228 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
5229 #:phases
5230 (modify-phases %standard-phases
5231 (add-before
5232 'configure 'pre-configure
5233 (lambda _
5234 ;; We don't have <systemd/sd-daemon.h>.
5235 (substitute* '("common/gdm-log.c"
5236 "daemon/gdm-server.c"
5237 "daemon/gdm-session-worker.c"
5238 "daemon/gdm-session-worker-job.c")
5239 (("#include <systemd/sd-daemon\\.h>") ""))
5240 ;; Use elogind for sd-login.
5241 (substitute* '("common/gdm-common.c"
5242 "daemon/gdm-manager.c"
5243 "libgdm/gdm-user-switching.c")
5244 (("#include <systemd/sd-login\\.h>")
5245 "#include <elogind/sd-login.h>"))
5246 ;; Check for elogind.
5247 (substitute* '("configure")
5248 (("libsystemd")
5249 "libelogind"))
5250 ;; Look for system-installed sessions in
5251 ;; /run/current-system/profile/share.
5252 (substitute* '("libgdm/gdm-sessions.c"
5253 "daemon/gdm-session.c"
5254 "daemon/gdm-display.c"
5255 "daemon/gdm-launch-environment.c")
5256 (("DATADIR \"/x")
5257 "\"/run/current-system/profile/share/x")
5258 (("DATADIR \"/wayland")
5259 "\"/run/current-system/profile/share/wayland")
5260 (("DATADIR \"/gnome")
5261 "\"/run/current-system/profile/share/gnome"))
5262 (substitute* '("daemon/gdm-session.c")
5263 (("set_up_session_environment \\(self\\);")
5264 (string-append
5265 "set_up_session_environment (self);\n"
5266 ;; Propagate GDM_X_SERVER environment variable (which is set
5267 ;; by the GDM service, as it's a function of what X modules
5268 ;; the user decides to have available) down to worker
5269 ;; processes.
5270 "gdm_session_set_environment_variable (self, \"GDM_X_SERVER\",\n"
5271 " g_getenv (\"GDM_X_SERVER\"));\n"
5272 ;; FIXME: Really glib should be declaring XDG_CONFIG_DIRS as a
5273 ;; variable, but it doesn't do that right now. Anyway
5274 ;; /run/current-system/profile/share/gnome-session/sessions/gnome.desktop
5275 ;; requires that a number of .desktop files be present, and
5276 ;; these special .desktop files are in $XDG_CONFIG_DIRS (which
5277 ;; defaults to /etc/xdg if it's not set). Here we need to
5278 ;; provide a value such that the GNOME session's requirements
5279 ;; are met (provided GNOME is installed of course).
5280 "gdm_session_set_environment_variable (self, \"XDG_CONFIG_DIRS\",\n"
5281 " \"/run/current-system/profile/etc/xdg\");\n"
5282 )))
5283 ;; Look for custom GDM conf in /run/current-system.
5284 (substitute* '("common/gdm-settings-backend.c")
5285 (("GDM_CUSTOM_CONF")
5286 "/run/current-system/etc/gdm/custom.conf"))
5287 ;; Use service-supplied path to X.
5288 (substitute* '("daemon/gdm-server.c")
5289 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
5290 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
5291 (substitute* '("daemon/gdm-x-session.c")
5292 (("X_SERVER")
5293 "g_getenv (\"GDM_X_SERVER\")"))
5294 #t)))))
5295 (native-inputs
5296 `(("dconf" ,dconf)
5297 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5298 ("gobject-introspection" ,gobject-introspection)
5299 ("intltool" ,intltool)
5300 ("itstool" ,itstool)
5301 ("pkg-config" ,pkg-config)
5302 ("xmllint" ,libxml2)))
5303 (inputs
5304 `(("accountsservice" ,accountsservice)
5305 ("check" ,check) ; for testing
5306 ("elogind" ,elogind)
5307 ("gtk+" ,gtk+)
5308 ("iso-codes" ,iso-codes)
5309 ("libcanberra" ,libcanberra)
5310 ("linux-pam" ,linux-pam)))
5311 (synopsis "Display manager for GNOME")
5312 (home-page "https://wiki.gnome.org/Projects/GDM/")
5313 (description
5314 "GNOME Display Manager is a system service that is responsible for
5315 providing graphical log-ins and managing local and remote displays.")
5316 (license license:gpl2+)))
5317
5318 (define-public libgtop
5319 (package
5320 (name "libgtop")
5321 (version "2.38.0")
5322 (source (origin
5323 (method url-fetch)
5324 (uri (string-append "mirror://gnome/sources/" name "/"
5325 (version-major+minor version) "/"
5326 name "-" version ".tar.xz"))
5327 (sha256
5328 (base32
5329 "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g"))))
5330 (build-system gnu-build-system)
5331 (native-inputs
5332 `(("gobject-introspection" ,gobject-introspection)
5333 ("intltool" ,intltool)
5334 ("perl" ,perl)
5335 ("pkg-config" ,pkg-config)))
5336 (propagated-inputs
5337 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5338 (synopsis "Portable system access library")
5339 (home-page "https://www.gnome.org/")
5340 (description
5341 "LibGTop is a library to get system specific data such as CPU and memory
5342 usage and information about running processes.")
5343 (license license:gpl2+)))
5344
5345 (define-public gnome-bluetooth
5346 (package
5347 (name "gnome-bluetooth")
5348 (version "3.20.1")
5349 (source (origin
5350 (method url-fetch)
5351 (uri (string-append "mirror://gnome/sources/" name "/"
5352 (version-major+minor version) "/"
5353 name "-" version ".tar.xz"))
5354 (sha256
5355 (base32
5356 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
5357 (build-system glib-or-gtk-build-system)
5358 (native-inputs
5359 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5360 ("gobject-introspection" ,gobject-introspection)
5361 ("intltool" ,intltool)
5362 ("pkg-config" ,pkg-config)
5363 ("xmllint" ,libxml2)))
5364 (propagated-inputs
5365 ;; gnome-bluetooth-1.0.pc refers to all these.
5366 `(("gtk+" ,gtk+)
5367 ("udev" ,eudev)))
5368 (inputs
5369 `(("libcanberra" ,libcanberra)
5370 ("libnotify" ,libnotify)))
5371 (synopsis "GNOME Bluetooth subsystem")
5372 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5373 (description
5374 "This package contains tools for managing and manipulating Bluetooth
5375 devices using the GNOME desktop.")
5376 (license license:lgpl2.1+)))
5377
5378 (define-public gnome-control-center
5379 (package
5380 (name "gnome-control-center")
5381 (version "3.24.3")
5382 (source (origin
5383 (method url-fetch)
5384 (uri (string-append "mirror://gnome/sources/" name "/"
5385 (version-major+minor version) "/"
5386 name "-" version ".tar.xz"))
5387 (sha256
5388 (base32
5389 "18ncjqjj93a39sla2zjr9i6pw59yh87p4jla899lmvi2qajd5923"))))
5390 (build-system glib-or-gtk-build-system)
5391 (arguments
5392 '(#:phases
5393 (modify-phases %standard-phases
5394 (add-before 'configure 'patch-paths
5395 (lambda* (#:key inputs #:allow-other-keys)
5396 (let ((libc (assoc-ref inputs "libc"))
5397 (tzdata (assoc-ref inputs "tzdata")))
5398 (substitute* "panels/datetime/tz.h"
5399 (("/usr/share/zoneinfo/zone.tab")
5400 (string-append tzdata "/share/zoneinfo/zone.tab")))
5401 (substitute* "panels/datetime/test-endianess.c"
5402 (("/usr/share/locale")
5403 (string-append libc "/share/locale")))
5404 #t))))))
5405 (native-inputs
5406 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5407 ("intltool" ,intltool)
5408 ("pkg-config" ,pkg-config)
5409 ("xsltproc" ,libxslt)))
5410 (inputs
5411 `(("accountsservice" ,accountsservice)
5412 ("clutter-gtk" ,clutter-gtk)
5413 ("colord-gtk" ,colord-gtk)
5414 ("cups" ,cups)
5415 ("dconf" ,dconf)
5416 ("docbook-xsl" ,docbook-xsl)
5417 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
5418 ("gnome-bluetooth" ,gnome-bluetooth)
5419 ("gnome-desktop" ,gnome-desktop)
5420 ("gnome-online-accounts" ,gnome-online-accounts)
5421 ("gnome-settings-daemon" ,gnome-settings-daemon)
5422 ("grilo" ,grilo)
5423 ("ibus" ,ibus)
5424 ("libcanberra" ,libcanberra)
5425 ("libgudev" ,libgudev)
5426 ("libgtop" ,libgtop)
5427 ("libpwquality" ,libpwquality)
5428 ("libsoup" ,libsoup)
5429 ("libxml2" ,libxml2)
5430 ("libwacom" ,libwacom)
5431 ("mesa" ,mesa)
5432 ("mit-krb5" ,mit-krb5)
5433 ("modem-manager" ,modem-manager)
5434 ("network-manager-applet" ,network-manager-applet)
5435 ("polkit" ,polkit)
5436 ("pulseaudio" ,pulseaudio)
5437 ("smbclient" ,samba)
5438 ("tzdata" ,tzdata)
5439 ("upower" ,upower)))
5440 (synopsis "Utilities to configure the GNOME desktop")
5441 (home-page "https://www.gnome.org/")
5442 (description
5443 "This package contains configuration applets for the GNOME desktop,
5444 allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5445 properties, sound setup, desktop theme and background, user interface
5446 properties, screen resolution, and other GNOME parameters.")
5447 (license license:gpl2+)))
5448
5449 (define-public gnome-shell
5450 (package
5451 (name "gnome-shell")
5452 (version "3.24.3")
5453 (source (origin
5454 (method url-fetch)
5455 (uri (string-append "mirror://gnome/sources/" name "/"
5456 (version-major+minor version) "/"
5457 name "-" version ".tar.xz"))
5458 (sha256
5459 (base32
5460 "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
5461 (build-system glib-or-gtk-build-system)
5462 (arguments
5463 '(#:phases
5464 (modify-phases %standard-phases
5465 (replace 'install
5466 (lambda* (#:key outputs #:allow-other-keys)
5467 (let* ((out (assoc-ref outputs "out"))
5468 (keysdir (string-append
5469 out "/share/gnome-control-center/keybindings")))
5470 (zero? (system* "make"
5471 (string-append "keysdir=" keysdir)
5472 "install")))))
5473 (add-after
5474 'install 'wrap-programs
5475 (lambda* (#:key outputs #:allow-other-keys)
5476 (let ((out (assoc-ref outputs "out"))
5477 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5478 (python-path (getenv "PYTHONPATH")))
5479 (wrap-program (string-append out "/bin/gnome-shell")
5480 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5481 (for-each
5482 (lambda (prog)
5483 (wrap-program (string-append out "/bin/" prog)
5484 `("PYTHONPATH" ":" prefix (,python-path))
5485 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5486 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5487 #t))))))
5488 (native-inputs
5489 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5490 ("gobject-introspection" ,gobject-introspection)
5491 ("intltool" ,intltool)
5492 ("pkg-config" ,pkg-config)
5493 ("python" ,python)
5494 ("xsltproc" ,libxslt)))
5495 (inputs
5496 `(("accountsservice" ,accountsservice)
5497 ("caribou" ,caribou)
5498 ("docbook-xsl" ,docbook-xsl)
5499 ("evolution-data-server" ,evolution-data-server)
5500 ("gcr" ,gcr)
5501 ("gdm" ,gdm)
5502 ("gjs" ,gjs)
5503 ("gnome-bluetooth" ,gnome-bluetooth)
5504 ("gnome-control-center" ,gnome-control-center)
5505 ("gnome-desktop" ,gnome-desktop)
5506 ("gnome-settings-daemon" ,gnome-settings-daemon)
5507 ("gst-plugins-base" ,gst-plugins-base)
5508 ("ibus" ,ibus)
5509 ("libcanberra" ,libcanberra)
5510 ("libcroco" ,libcroco)
5511 ("libgweather" ,libgweather)
5512 ("libsoup" ,libsoup)
5513 ("mesa-headers" ,mesa-headers)
5514 ("mutter" ,mutter)
5515 ("network-manager-applet" ,network-manager-applet)
5516 ("polkit" ,polkit)
5517 ("pulseaudio" ,pulseaudio)
5518 ("python-pygobject" ,python-pygobject)
5519 ("startup-notification" ,startup-notification)
5520 ("telepathy-logger" ,telepathy-logger)
5521 ("upower" ,upower)
5522 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5523 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5524 ("librsvg" ,librsvg)
5525 ("geoclue" ,geoclue)
5526 ;; XXX: required by libgjs.la.
5527 ("readline" ,readline)))
5528 (synopsis "Desktop shell for GNOME")
5529 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5530 (description
5531 "GNOME Shell provides core user interface functions for the GNOME desktop,
5532 like switching to windows and launching applications.")
5533 (license license:gpl2+)))
5534
5535 (define-public gtk-vnc
5536 (package
5537 (name "gtk-vnc")
5538 (version "0.7.0")
5539 (source
5540 (origin
5541 (method url-fetch)
5542 (uri (string-append "mirror://gnome/sources/" name "/"
5543 (version-major+minor version) "/"
5544 name "-" version ".tar.xz"))
5545 (sha256
5546 (base32
5547 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
5548 (build-system gnu-build-system)
5549 (arguments
5550 '(#:configure-flags '("--with-gtk=3.0")))
5551 (propagated-inputs
5552 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5553 (inputs
5554 `(("cyrus-sasl" ,cyrus-sasl)
5555 ("gnutls" ,gnutls)
5556 ("libgcrypt" ,libgcrypt)
5557 ("pulseaudio" ,pulseaudio)))
5558 (native-inputs
5559 `(("glib:bin" ,glib "bin")
5560 ("gobject-introspection" ,gobject-introspection)
5561 ("intltool" ,intltool)
5562 ("pkg-config" ,pkg-config)
5563 ("vala" ,vala)))
5564 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5565 (synopsis "VNC viewer widget for GTK+")
5566 (description
5567 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5568 applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5569 GTK-VNC implements client side RFB protocol and authentication extensions such
5570 as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5571 (license license:lgpl2.1+)))
5572
5573 (define-public gnome-autoar
5574 (package
5575 (name "gnome-autoar")
5576 (version "0.2.2")
5577 (source (origin
5578 (method url-fetch)
5579 (uri (string-append "mirror://gnome/sources/" name "/"
5580 (version-major+minor version) "/"
5581 name "-" version ".tar.xz"))
5582 (sha256
5583 (base32
5584 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
5585 (build-system glib-or-gtk-build-system)
5586 (native-inputs
5587 `(("gnome-common" ,gnome-common)
5588 ("gobject-introspection" ,gobject-introspection)
5589 ("pkg-config" ,pkg-config)))
5590 (propagated-inputs
5591 `(("libarchive" ,libarchive))) ; XXX document why
5592 (inputs
5593 `(("gtk+" ,gtk+)
5594 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5595 (synopsis "Archives integration support for GNOME")
5596 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5597 (description
5598 "GNOME Autoar is a library which makes creating and extracting archives
5599 easy, safe, and automatic.")
5600 (license license:lgpl2.1+)))
5601
5602 (define-public tracker
5603 (package
5604 (name "tracker")
5605 (version "1.12.3")
5606 (source (origin
5607 (method url-fetch)
5608 (uri (string-append "mirror://gnome/sources/" name "/"
5609 (version-major+minor version) "/"
5610 name "-" version ".tar.xz"))
5611 (sha256
5612 (base32
5613 "1mpq418lzba7fad0w0m3bnxvz3khf461b5zya8zmq5n1g0w99ki3"))))
5614 (build-system glib-or-gtk-build-system)
5615 (native-inputs
5616 `(("gnome-common" ,gnome-common)
5617 ("gobject-introspection" ,gobject-introspection)
5618 ("intltool" ,intltool)
5619 ("pkg-config" ,pkg-config)
5620 ("vala" ,vala)))
5621 (inputs
5622 `(("gtk+" ,gtk+)
5623 ("dbus" ,dbus)
5624 ("gstreamer" ,gstreamer)
5625 ("gst-plugins-base" ,gst-plugins-base)
5626 ("sqlite" ,sqlite)
5627 ("nettle" ,nettle) ; XXX why is this needed?
5628 ("poppler" ,poppler)
5629 ("libgsf" ,libgsf)
5630 ("libexif" ,libexif)
5631 ("libpng" ,libpng)
5632 ("libtiff" ,libtiff)
5633 ("libvorbis" ,libvorbis)
5634 ("flac" ,flac)
5635 ("totem-pl-parser" ,totem-pl-parser)
5636 ("zlib" ,zlib)
5637 ("exempi" ,exempi)
5638 ("libxml2" ,libxml2)
5639 ("upower" ,upower)
5640 ("libunistring" ,libunistring)
5641 ("giflib" ,giflib)
5642 ("json-glib" ,json-glib)
5643 ("openjpeg" ,openjpeg-1)
5644 ("libosinfo" ,libosinfo)
5645 ("libcue" ,libcue)
5646 ("libseccomp" ,libseccomp)
5647 ("libsoup" ,libsoup)
5648 ("libuuid" ,util-linux)))
5649 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5650 (synopsis "Metadata database, indexer and search tool")
5651 (home-page "https://wiki.gnome.org/Projects/Tracker")
5652 (description
5653 "Tracker is an advanced framework for first class objects with associated
5654 metadata and tags. It provides a one stop solution for all metadata, tags,
5655 shared object databases, search tools and indexing.")
5656 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5657 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5658 (license (list license:gpl2+
5659 license:lgpl2.1+
5660 license:lgpl2.0+))))
5661
5662 (define-public nautilus
5663 (package
5664 (name "nautilus")
5665 (version "3.24.2.1")
5666 (source (origin
5667 (method url-fetch)
5668 (uri (string-append "mirror://gnome/sources/" name "/"
5669 (version-major+minor version) "/"
5670 name "-" version ".tar.xz"))
5671 (sha256
5672 (base32
5673 "1cv138z04qx0fh1a2z2hvxy4p1x15vdv5gmkx5f3hb6c3w2rsz9m"))))
5674 (build-system glib-or-gtk-build-system)
5675 (arguments
5676 '(#:configure-flags
5677 '("--disable-selinux") ; XXX: not packaged
5678 ;; XXX: FAIL: check-nautilus
5679 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5680 #:tests? #f))
5681 (native-inputs
5682 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5683 ("gobject-introspection" ,gobject-introspection)
5684 ("intltool" ,intltool)
5685 ("pkg-config" ,pkg-config)))
5686 (inputs
5687 `(("dconf" ,dconf)
5688 ("gvfs" ,gvfs)
5689 ("exempi" ,exempi)
5690 ("gnome-desktop" ,gnome-desktop)
5691 ("gnome-autoar" ,gnome-autoar)
5692 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5693 ("tracker" ,tracker)
5694 ;; XXX: gtk+ is required by libnautilus-extension.pc
5695 ;;
5696 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5697 ;; package. See:
5698 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5699 ("gtk+" ,gtk+)
5700 ("libexif" ,libexif)
5701 ("libxml2" ,libxml2)))
5702 (synopsis "File manager for GNOME")
5703 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5704 (description
5705 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5706 design and behaviour, giving the user a simple way to navigate and manage its
5707 files.")
5708 (license license:gpl2+)))
5709
5710 (define-public baobab
5711 (package
5712 (name "baobab")
5713 (version "3.26.1")
5714 (source (origin
5715 (method url-fetch)
5716 (uri (string-append
5717 "mirror://gnome/sources/" name "/"
5718 (version-major+minor version) "/"
5719 name "-" version ".tar.xz"))
5720 (sha256
5721 (base32
5722 "0zkqxyqyxd6j270jf5hbcrb3yh4k31ddh40v4cjhgngm8mcsnnbs"))))
5723 (build-system glib-or-gtk-build-system)
5724 (native-inputs
5725 `(("intltool" ,intltool)
5726 ("pkg-config" ,pkg-config)
5727 ("itstool" ,itstool)
5728 ("xmllint" ,libxml2)
5729 ("glib" ,glib "bin")
5730 ("vala" ,vala)))
5731 (inputs
5732 `(("gtk+" ,gtk+)))
5733 (synopsis "Disk usage analyzer for GNOME")
5734 (description
5735 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5736 usage in the GNOME desktop environment. It can easily scan device volumes or
5737 a specific user-requested directory branch (local or remote). Once the scan
5738 is complete it provides a graphical representation of each selected folder.")
5739 (home-page "https://wiki.gnome.org/Apps/Baobab")
5740 (license license:gpl2+)))
5741
5742 (define-public gnome-backgrounds
5743 (package
5744 (name "gnome-backgrounds")
5745 (version "3.26.2")
5746 (source
5747 (origin
5748 (method url-fetch)
5749 (uri (string-append "mirror://gnome/sources/" name "/"
5750 (version-major+minor version) "/"
5751 name "-" version ".tar.xz"))
5752 (sha256
5753 (base32
5754 "0kzrh5h0cfby3rhsy31d1w1c0rr3wcc845kv6zibqw1x8v9si2rs"))))
5755 (build-system glib-or-gtk-build-system)
5756 (native-inputs
5757 `(("intltool" ,intltool)))
5758 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5759 (synopsis "Background images for the GNOME desktop")
5760 (description
5761 "GNOME backgrounds package contains a collection of graphics files which
5762 can be used as backgrounds in the GNOME Desktop environment. Additionally,
5763 the package creates the proper framework and directory structure so that you
5764 can add your own files to the collection.")
5765 (license (list license:gpl2+
5766 license:cc-by2.0
5767 license:cc-by-sa2.0
5768 license:cc-by-sa3.0))))
5769
5770 (define-public gnome-screenshot
5771 (package
5772 (name "gnome-screenshot")
5773 (version "3.22.0")
5774 (source
5775 (origin
5776 (method url-fetch)
5777 (uri (string-append "mirror://gnome/sources/" name "/"
5778 (version-major+minor version) "/"
5779 name "-" version ".tar.xz"))
5780 (sha256
5781 (base32
5782 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
5783 (build-system glib-or-gtk-build-system)
5784 (native-inputs
5785 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5786 ("intltool" ,intltool)
5787 ("pkg-config" ,pkg-config)))
5788 (inputs
5789 `(("gtk+" ,gtk+)
5790 ("libcanberra" ,libcanberra)
5791 ("libx11" ,libx11)
5792 ("libxext" ,libxext)))
5793 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5794 (synopsis "Take pictures of your screen")
5795 (description
5796 "GNOME Screenshot is a utility used for taking screenshots of the entire
5797 screen, a window or a user defined area of the screen, with optional
5798 beautifying border effects.")
5799 (license license:gpl2+)))
5800
5801 (define-public dconf-editor
5802 (package
5803 (name "dconf-editor")
5804 (version "3.26.2")
5805 (source
5806 (origin
5807 (method url-fetch)
5808 (uri (string-append "mirror://gnome/sources/" name "/"
5809 (version-major+minor version) "/"
5810 name "-" version ".tar.xz"))
5811 (sha256
5812 (base32
5813 "1lcarg8igsqpq4iv5834mf9kz4cmfhfw11bwy3x7v7f497z57d18"))))
5814 (build-system glib-or-gtk-build-system)
5815 (arguments
5816 '(#:phases
5817 (modify-phases %standard-phases
5818 (add-before 'install 'skip-gtk-update-icon-cache
5819 (lambda _
5820 ;; Don't create 'icon-theme.cache'.
5821 (substitute* "editor/Makefile"
5822 (("gtk-update-icon-cache") "true"))
5823 #t)))))
5824 (native-inputs
5825 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5826 ("intltool" ,intltool)
5827 ("pkg-config" ,pkg-config)))
5828 (inputs
5829 `(("dconf" ,dconf)
5830 ("gtk+" ,gtk+)
5831 ("libxml2" ,libxml2)))
5832 (home-page "https://git.gnome.org/browse/dconf-editor")
5833 (synopsis "Graphical editor for GNOME's dconf configuration system")
5834 (description
5835 "Dconf-editor is a graphical tool for browsing and editing the dconf
5836 configuration system for GNOME. It allows users to configure desktop
5837 software that do not provide their own configuration interface.")
5838 (license license:lgpl2.1+)))
5839
5840 (define-public gnome-default-applications
5841 (package
5842 (name "gnome-default-applications")
5843 (version "0")
5844 (build-system trivial-build-system)
5845 (source #f)
5846 (propagated-inputs
5847 `(("nautilus" ,nautilus)))
5848 (arguments
5849 `(#:modules ((guix build utils))
5850 #:builder
5851 (begin
5852 (use-modules (guix build utils))
5853 (let* ((out (assoc-ref %outputs "out"))
5854 (apps (string-append out "/share/applications")))
5855 (mkdir-p apps)
5856 (call-with-output-file (string-append apps "/defaults.list")
5857 (lambda (port)
5858 (format port "[Default Applications]\n")
5859 (format port "inode/directory=org.gnome.Nautilus.desktop\n")))
5860 #t))))
5861 (synopsis "Default MIME type associations for the GNOME desktop")
5862 (description
5863 "Given many installed packages which might handle a given MIME type, a
5864 user running the GNOME desktop probably has some preferences: for example,
5865 that folders be opened by default by the Nautilus file manager, not the Baobab
5866 disk usage analyzer. This package establishes that set of default MIME type
5867 associations for GNOME.")
5868 (license license:gpl3+)
5869 (home-page #f)))
5870
5871 (define-public gnome
5872 (package
5873 (name "gnome")
5874 (version (package-version gnome-shell))
5875 (source #f)
5876 (build-system trivial-build-system)
5877 (arguments '(#:builder (mkdir %output)))
5878 (propagated-inputs
5879 ;; TODO: Add more packages according to:
5880 ;; <https://packages.debian.org/jessie/gnome-core>.
5881 `(("adwaita-icon-theme" ,adwaita-icon-theme)
5882 ("baobab" ,baobab)
5883 ("font-cantarell" ,font-cantarell)
5884 ("font-dejavu" ,font-dejavu)
5885 ("at-spi2-core" ,at-spi2-core)
5886 ("dbus" ,dbus)
5887 ("dconf" ,dconf)
5888 ("desktop-file-utils" ,desktop-file-utils)
5889 ("eog" ,eog)
5890 ("epiphany" ,epiphany)
5891 ("evince" ,evince)
5892 ("file-roller" ,file-roller)
5893 ("gedit" ,gedit)
5894 ("glib-networking" ,glib-networking)
5895 ("gnome-backgrounds" ,gnome-backgrounds)
5896 ("gnome-bluetooth" ,gnome-bluetooth)
5897 ("gnome-calculator" ,gnome-calculator)
5898 ("gnome-control-center" ,gnome-control-center)
5899 ("gnome-disk-utility" ,gnome-disk-utility)
5900 ("gnome-default-applications" ,gnome-default-applications)
5901 ("gnome-keyring" ,gnome-keyring)
5902 ("gnome-online-accounts" ,gnome-online-accounts)
5903 ("gnome-session" ,gnome-session)
5904 ("gnome-settings-daemon" ,gnome-settings-daemon)
5905 ("gnome-shell" ,gnome-shell)
5906 ("gnome-system-monitor" ,gnome-system-monitor)
5907 ("gnome-terminal" ,gnome-terminal)
5908 ("gnome-themes-standard" ,gnome-themes-standard)
5909 ("gst-plugins-base" ,gst-plugins-base)
5910 ("gst-plugins-good" ,gst-plugins-good)
5911 ("gucharmap" ,gucharmap)
5912 ("gvfs" ,gvfs)
5913 ("hicolor-icon-theme" ,hicolor-icon-theme)
5914 ("nautilus" ,nautilus)
5915 ("pinentry-gnome3" ,pinentry-gnome3)
5916 ("pulseaudio" ,pulseaudio)
5917 ("shared-mime-info" ,shared-mime-info)
5918 ("totem" ,totem)
5919 ("xdg-user-dirs" ,xdg-user-dirs)
5920 ("yelp" ,yelp)
5921 ("zenity" ,zenity)))
5922 (synopsis "The GNU desktop environment")
5923 (home-page "https://www.gnome.org/")
5924 (description
5925 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5926 applications for browsing the web, editing text and images, creating
5927 documents and diagrams, playing media, scanning, and much more.")
5928 (license license:gpl2+)))
5929
5930 (define-public byzanz
5931 ;; The last stable release of Byzanz was in 2011, but there have been many
5932 ;; useful commits made to the Byzanz repository since then that it would be
5933 ;; silly to use such an old release.
5934 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5935 (package
5936 (name "byzanz")
5937 (version (string-append "0.2-1." (string-take commit 7)))
5938 (source (origin
5939 (method git-fetch)
5940 (uri (git-reference
5941 (url "https://git.gnome.org/browse/byzanz")
5942 (commit commit)))
5943 (file-name (string-append name "-" version "-checkout"))
5944 (sha256
5945 (base32
5946 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5947 (build-system glib-or-gtk-build-system)
5948 (arguments
5949 '(#:phases
5950 (modify-phases %standard-phases
5951 (add-after 'unpack 'bootstrap
5952 (lambda _
5953 ;; The build system cleverly detects that we're not building from
5954 ;; a release tarball and turns on -Werror for GCC.
5955 ;; Unsurprisingly, there is a warning during compilation that
5956 ;; causes the build to fail unnecessarily, so we remove the flag.
5957 (substitute* '("configure.ac")
5958 (("-Werror") ""))
5959 ;; The autogen.sh script in gnome-common will run ./configure
5960 ;; by default, which is problematic because source shebangs
5961 ;; have not yet been patched.
5962 (setenv "NOCONFIGURE" "t")
5963 (zero? (system* "sh" "autogen.sh")))))))
5964 (native-inputs
5965 `(("autoconf" ,autoconf)
5966 ("automake" ,automake)
5967 ("gnome-common" ,gnome-common)
5968 ("intltool" ,intltool)
5969 ("libtool" ,libtool)
5970 ("pkg-config" ,pkg-config)
5971 ("which" ,which)))
5972 (inputs
5973 `(("glib" ,glib)
5974 ("gstreamer" ,gstreamer)
5975 ("gst-plugins-base" ,gst-plugins-base)
5976 ("gtk+" ,gtk+)))
5977 (synopsis "Desktop recording program")
5978 (description "Byzanz is a simple desktop recording program with a
5979 command-line interface. It can record part or all of an X display for a
5980 specified duration and save it as a GIF encoded animated image file.")
5981 (home-page "https://git.gnome.org/browse/byzanz")
5982 (license license:gpl2+))))
5983
5984 (define-public gsound
5985 (package
5986 (name "gsound")
5987 (version "1.0.2")
5988 (source (origin
5989 (method url-fetch)
5990 (uri (string-append "mirror://gnome/sources/" name "/"
5991 (version-major+minor version) "/"
5992 name "-" version ".tar.xz"))
5993 (sha256
5994 (base32
5995 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
5996 (build-system glib-or-gtk-build-system)
5997 (native-inputs
5998 `(("pkg-config" ,pkg-config)
5999 ("gobject-introspection" ,gobject-introspection)
6000 ("vala" ,vala)))
6001 (inputs
6002 `(("glib" ,glib)
6003 ("libcanberra" ,libcanberra)))
6004 (home-page "https://wiki.gnome.org/Projects/GSound")
6005 (synopsis "GObject wrapper for libcanberra")
6006 (description
6007 "GSound is a small library for playing system sounds. It's designed to be
6008 used via GObject Introspection, and is a thin wrapper around the libcanberra C
6009 library.")
6010 (license license:lgpl2.1+)))
6011
6012 (define-public libzapojit
6013 (package
6014 (name "libzapojit")
6015 (version "0.0.3")
6016 (source (origin
6017 (method url-fetch)
6018 (uri (string-append "mirror://gnome/sources/" name "/"
6019 (version-major+minor version) "/"
6020 name "-" version ".tar.xz"))
6021 (sha256
6022 (base32
6023 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
6024 (build-system gnu-build-system)
6025 (native-inputs
6026 `(("gobject-introspection" ,gobject-introspection)
6027 ("intltool" ,intltool)
6028 ("pkg-config" ,pkg-config)))
6029 (inputs
6030 `(("gnome-online-accounts" ,gnome-online-accounts)
6031 ("json-glib" ,json-glib)
6032 ("rest" ,rest)))
6033 (home-page "https://wiki.gnome.org/Projects/Zapojit")
6034 (synopsis "Library for accessing SkyDrive and Hotmail")
6035 (description
6036 "Libzapojit is a GLib-based library for accessing online service APIs of
6037 Microsoft SkyDrive and Hotmail, using their REST protocols.")
6038 (license license:lgpl2.1+)))
6039
6040 (define-public gnome-clocks
6041 (package
6042 (name "gnome-clocks")
6043 (version "3.26.1")
6044 (source (origin
6045 (method url-fetch)
6046 (uri (string-append "mirror://gnome/sources/" name "/"
6047 (version-major+minor version) "/"
6048 name "-" version ".tar.xz"))
6049 (sha256
6050 (base32
6051 "1xqirnf7xkiv5vj3ng4slpyh50ihn625vhdgskfzx83a3pgxin1b"))))
6052 (build-system meson-build-system)
6053 (arguments
6054 '(#:glib-or-gtk? #t))
6055 (native-inputs
6056 `(("vala" ,vala)
6057 ("pkg-config" ,pkg-config)
6058 ("glib" ,glib "bin") ; for glib-compile-resources
6059 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6060 ("desktop-file-utils" ,desktop-file-utils)
6061 ("gettext" ,gettext-minimal)
6062 ("itstool" ,itstool)))
6063 (inputs
6064 `(("glib" ,glib)
6065 ("gtk+" ,gtk+)
6066 ("gsound" ,gsound)
6067 ("geoclue" ,geoclue)
6068 ("geocode-glib" ,geocode-glib)
6069 ("libgweather" ,libgweather)
6070 ("gnome-desktop" ,gnome-desktop)))
6071 (home-page "https://wiki.gnome.org/Apps/Clocks")
6072 (synopsis "GNOME's clock application")
6073 (description
6074 "GNOME Clocks is a simple clocks application designed to fit the GNOME
6075 desktop. It supports world clock, stop watch, alarms, and count down timer.")
6076 (license license:gpl3+)))
6077
6078 (define-public gnome-calendar
6079 (package
6080 (name "gnome-calendar")
6081 (version "3.26.2")
6082 (source (origin
6083 (method url-fetch)
6084 (uri (string-append "mirror://gnome/sources/" name "/"
6085 (version-major+minor version) "/"
6086 name "-" version ".tar.xz"))
6087 (sha256
6088 (base32
6089 "03n51mvlc0vabr1rx9577z927icl3mrxrrv8zckfjav6p4vwg8hr"))))
6090 (build-system meson-build-system)
6091 (arguments
6092 '(#:glib-or-gtk? #t
6093 ;; gnome-calendar has to be installed before the tests can be run
6094 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
6095 #:tests? #f))
6096 (native-inputs
6097 `(("gettext" ,gettext-minimal)
6098 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
6099 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6100 ("pkg-config" ,pkg-config)))
6101 (inputs
6102 `(("evolution-data-server" ,evolution-data-server)
6103 ("gnome-online-accounts" ,gnome-online-accounts)
6104 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6105 (home-page "https://wiki.gnome.org/Apps/Calendar")
6106 (synopsis "GNOME's calendar application")
6107 (description
6108 "GNOME Calendar is a simple calendar application designed to fit the GNOME
6109 desktop. It supports multiple calendars, month, week and year view.")
6110 (license license:gpl3+)))
6111
6112 (define-public gnome-todo
6113 (package
6114 (name "gnome-todo")
6115 (version "3.26.2")
6116 (source (origin
6117 (method url-fetch)
6118 (uri (string-append "mirror://gnome/sources/" name "/"
6119 (version-major+minor version) "/"
6120 name "-" version ".tar.xz"))
6121 (sha256
6122 (base32
6123 "106xx1w18pxjmj5k0k2qjzi6b3c3kaz7b5kyrpknykibnr401ff9"))))
6124 (build-system meson-build-system)
6125 (arguments
6126 '(#:glib-or-gtk? #t
6127 #:phases (modify-phases %standard-phases
6128 (add-after
6129 'install 'wrap-gnome-todo
6130 (lambda* (#:key inputs outputs #:allow-other-keys)
6131 (let ((out (assoc-ref outputs "out"))
6132 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6133 (python-path (getenv "PYTHONPATH")))
6134 (wrap-program (string-append out "/bin/gnome-todo")
6135 ;; XXX: gi plugins are broken.
6136 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
6137 ;; For plugins.
6138 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6139 `("PYTHONPATH" ":" prefix (,python-path))))
6140 #t)))))
6141 (native-inputs
6142 `(("gettext" ,gettext-minimal)
6143 ("gobject-introspection" ,gobject-introspection)
6144 ("glib:bin" ,glib "bin") ; For glib-compile-resources
6145 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6146 ("pkg-config" ,pkg-config)))
6147 (inputs
6148 `(("rest" ,rest) ; For Todoist plugin
6149 ("json-glib" ,json-glib) ; For Todoist plugin
6150 ("libical" ,libical)
6151 ("libpeas" ,libpeas)
6152 ("python-pygobject" ,python-pygobject)
6153 ("evolution-data-server" ,evolution-data-server)
6154 ("gnome-online-accounts" ,gnome-online-accounts)
6155 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6156 (home-page "https://wiki.gnome.org/Apps/Todo")
6157 (synopsis "GNOME's ToDo Application")
6158 (description
6159 "GNOME To Do is a simplistic personal task manager designed to perfectly
6160 fit the GNOME desktop.")
6161 (license license:gpl3+)))
6162
6163 (define-public gnome-dictionary
6164 (package
6165 (name "gnome-dictionary")
6166 (version "3.24.0")
6167 (source (origin
6168 (method url-fetch)
6169 (uri (string-append "mirror://gnome/sources/" name "/"
6170 (version-major+minor version) "/"
6171 name "-" version ".tar.xz"))
6172 (sha256
6173 (base32
6174 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
6175 (build-system glib-or-gtk-build-system)
6176 (native-inputs
6177 `(("glib:bin" ,glib "bin")
6178 ("gobject-introspection" ,gobject-introspection)
6179 ("intltool" ,intltool)
6180 ("itstool" ,itstool)
6181 ("pkg-config" ,pkg-config)
6182 ("xmllint" ,libxml2)))
6183 (inputs
6184 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6185 ("gtk+" ,gtk+)))
6186 (home-page "https://wiki.gnome.org/Apps/Dictionary")
6187 (synopsis "Look up words in dictionary sources")
6188 (description
6189 "GNOME Dictionary can look for the definition or translation of a word in
6190 existing databases over the internet.")
6191 (license license:gpl3+)))
6192
6193 (define-public gnome-tweak-tool
6194 (package
6195 (name "gnome-tweak-tool")
6196 (version "3.24.1")
6197 (source (origin
6198 (method url-fetch)
6199 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
6200 (version-major+minor version) "/"
6201 "gnome-tweak-tool-" version ".tar.xz"))
6202 (patches (list
6203 (search-patch "gnome-tweak-tool-search-paths.patch")))
6204 (sha256
6205 (base32
6206 "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
6207 (build-system glib-or-gtk-build-system)
6208 (arguments
6209 `(#:configure-flags '("--localstatedir=/tmp"
6210 "--sysconfdir=/tmp")
6211 #:imported-modules ((guix build python-build-system)
6212 ,@%glib-or-gtk-build-system-modules)
6213 #:phases (modify-phases %standard-phases
6214 (add-after 'install 'wrap-program
6215 (lambda* (#:key outputs #:allow-other-keys)
6216 (let ((out (assoc-ref outputs "out"))
6217 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6218 (wrap-program (string-append out "/bin/gnome-tweak-tool")
6219 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6220 #t))
6221 (add-after 'install 'wrap
6222 (@@ (guix build python-build-system) wrap)))))
6223 (native-inputs
6224 `(("intltool" ,intltool)
6225 ("pkg-config" ,pkg-config)))
6226 (inputs
6227 `(("python" ,python-2)
6228 ("python2-pygobject" ,python2-pygobject)
6229 ("gnome-desktop" ,gnome-desktop)
6230 ("libsoup" ,libsoup)
6231 ("libnotify" ,libnotify)
6232 ("gobject-introspection" ,gobject-introspection)
6233 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6234 ("gtk+" ,gtk+)))
6235 (synopsis "Customize advanced GNOME 3 options")
6236 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
6237 (description
6238 "GNOME Tweak Tool allows adjusting advanced configuration settings in
6239 GNOME 3. This includes things like the fonts used in user interface elements,
6240 alternative user interface themes, changes in window management behavior,
6241 GNOME Shell appearance and extension, etc.")
6242 (license license:gpl3+)))
6243
6244 (define-public gnome-shell-extensions
6245 (package
6246 (name "gnome-shell-extensions")
6247 (version "3.24.3")
6248 (source (origin
6249 (method url-fetch)
6250 (uri (string-append "mirror://gnome/sources/" name "/"
6251 (version-major+minor version) "/"
6252 name "-" version ".tar.xz"))
6253 (sha256
6254 (base32
6255 "0y8anpp9ymp0lxn15w63ra6zxxf8nvbl48xqkvqdjzida73fyz9w"))))
6256 (build-system gnu-build-system)
6257 (arguments
6258 '(#:configure-flags '("--enable-extensions=all")))
6259 (native-inputs
6260 `(("intltool" ,intltool)
6261 ("pkg-config" ,pkg-config)))
6262 (propagated-inputs
6263 `(("glib" ,glib)
6264 ("glib" ,glib "bin")))
6265 (synopsis "Extensions for GNOME Shell")
6266 (description "GNOME Shell extensions modify and extend GNOME Shell
6267 functionality and behavior.")
6268 (home-page "https://extensions.gnome.org/")
6269 (license license:gpl3+)))
6270
6271 (define-public arc-theme
6272 (package
6273 (name "arc-theme")
6274 (version "20170302")
6275 (source (origin
6276 (method url-fetch)
6277 (uri (string-append "https://github.com/horst3180/arc-theme"
6278 "/archive/" version ".tar.gz"))
6279 (file-name (string-append name "-" version ".tar.gz"))
6280 (sha256
6281 (base32
6282 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
6283 (build-system gnu-build-system)
6284 (arguments
6285 '(#:phases
6286 (modify-phases %standard-phases
6287 (add-after 'unpack 'bootstrap
6288 (lambda _
6289 (zero? (system* "autoreconf" "-vif")))))))
6290 (native-inputs
6291 `(("autoconf" ,autoconf)
6292 ("automake" ,automake)
6293 ("pkg-config" ,pkg-config)))
6294 (inputs
6295 `(("gtk+" ,gtk+)))
6296 (synopsis "A flat GTK+ theme with transparent elements")
6297 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
6298 2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
6299 like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
6300 (home-page "https://github.com/horst3180/arc-theme")
6301 ;; No "or later" language found.
6302 (license license:gpl3)))
6303
6304 (define-public moka-icon-theme
6305 (package
6306 (name "moka-icon-theme")
6307 (version "5.3.6")
6308 (source (origin
6309 (method url-fetch)
6310 (uri (string-append "https://github.com/moka-project"
6311 "/moka-icon-theme/archive/v"
6312 version ".tar.gz"))
6313 (file-name (string-append name "-" version ".tar.gz"))
6314 (sha256
6315 (base32
6316 "04axinv79qnngsxkwqzi5j9lc3hn24rjqps5ai8d42pdnfaf0x37"))))
6317 (build-system gnu-build-system)
6318 (arguments
6319 '(#:phases
6320 (modify-phases %standard-phases
6321 (add-after 'unpack 'patch-makefile.am
6322 (lambda _
6323 (substitute* '("Makefile.am")
6324 (("\\$\\(DESTDIR\\)/usr/share")
6325 "$(datadir)"))
6326 #t))
6327 (add-after 'patch-makefile.am 'bootstrap
6328 (lambda _
6329 (zero? (system* "autoreconf" "-vif")))))))
6330 (native-inputs
6331 `(("autoconf" ,autoconf)
6332 ("automake" ,automake)))
6333 (synopsis "Moka icon theme")
6334 (description "Moka is a stylized desktop icon set, designed to be clear,
6335 simple and consistent.")
6336 (home-page "http://snwh.org/moka")
6337 (license license:gpl3+)))
6338
6339 (define-public arc-icon-theme
6340 (package
6341 (name "arc-icon-theme")
6342 (version "20161122")
6343 (source (origin
6344 (method url-fetch)
6345 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6346 "/archive/" version ".tar.gz"))
6347 (file-name (string-append name "-" version ".tar.gz"))
6348 (sha256
6349 (base32
6350 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6351 (build-system gnu-build-system)
6352 (arguments
6353 '(#:phases
6354 (modify-phases %standard-phases
6355 (add-after 'unpack 'bootstrap
6356 (lambda _
6357 (zero? (system* "autoreconf" "-vif")))))))
6358 (native-inputs
6359 `(("autoconf" ,autoconf)
6360 ("automake" ,automake)))
6361 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6362 (propagated-inputs
6363 `(("moka-icon-theme" ,moka-icon-theme)))
6364 (synopsis "Arc icon theme")
6365 (description "The Arc icon theme provides a set of icons matching the
6366 style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6367 the Moka icon theme.")
6368 (home-page "https://github.com/horst3180/arc-icon-theme")
6369 (license license:gpl3+)))
6370
6371 (define-public folks
6372 (package
6373 (name "folks")
6374 (version "0.11.2")
6375 (source (origin
6376 (method url-fetch)
6377 (uri (string-append
6378 "mirror://gnome/sources/" name "/"
6379 (version-major+minor version) "/"
6380 name "-" version ".tar.xz"))
6381 (sha256
6382 (base32
6383 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
6384 (build-system glib-or-gtk-build-system)
6385 (inputs
6386 `(("bdb" ,bdb)
6387 ("dbus-glib" ,dbus-glib)
6388 ("evolution-data-server" ,evolution-data-server)
6389 ("glib" ,glib)
6390 ("libgee" ,libgee)
6391 ("telepathy-glib" ,telepathy-glib)))
6392 (native-inputs
6393 `(("gobject-introspection" ,gobject-introspection)
6394 ("intltool" ,intltool)
6395 ("pkg-config" ,pkg-config)
6396 ("vala" ,vala)))
6397 (synopsis "Library to aggregate data about people")
6398 (description "Libfolks is a library that aggregates information about people
6399 from multiple sources (e.g., Telepathy connection managers for IM contacts,
6400 Evolution Data Server for local contacts, libsocialweb for web service contacts,
6401 etc.) to create metacontacts. It's written in Vala, which generates C code when
6402 compiled.")
6403 (home-page "https://wiki.gnome.org/Projects/Folks")
6404 (license license:lgpl2.1+)))
6405
6406 (define-public gfbgraph
6407 (package
6408 (name "gfbgraph")
6409 (version "0.2.3")
6410 (source (origin
6411 (method url-fetch)
6412 (uri (string-append
6413 "mirror://gnome/sources/" name "/"
6414 (version-major+minor version) "/"
6415 name "-" version ".tar.xz"))
6416 (sha256
6417 (base32
6418 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6419 (build-system glib-or-gtk-build-system)
6420 (arguments
6421 `(#:tests? #f ; Tests appear to require the network.
6422 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6423 #:configure-flags '("--disable-gtk-doc"
6424 "--disable-static"
6425 "--enable-introspection")))
6426 (native-inputs
6427 `(("pkg-config" ,pkg-config)
6428 ("gobject-introspection" ,gobject-introspection)))
6429 (inputs
6430 `(("json-glib" ,json-glib)
6431 ("gnome-online-accounts" ,gnome-online-accounts)
6432 ("rest" ,rest)))
6433 (synopsis "GLib/GObject wrapper for the Facebook API")
6434 (description "This library allows you to use the Facebook API from
6435 GLib/GObject code.")
6436 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6437 (license license:lgpl2.1+)))
6438
6439 (define-public libgnomekbd
6440 (package
6441 (name "libgnomekbd")
6442 (version "3.22.0.1")
6443 (source (origin
6444 (method url-fetch)
6445 (uri (string-append "mirror://gnome/sources/" name "/"
6446 (version-major+minor version) "/"
6447 name "-" version ".tar.xz"))
6448 (sha256
6449 (base32
6450 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
6451 (build-system gnu-build-system)
6452 (native-inputs
6453 `(("pkg-config" ,pkg-config)
6454 ("glib" ,glib "bin")
6455 ("intltool" ,intltool)))
6456 (propagated-inputs
6457 ;; Referred to in .h files and .pc.
6458 `(("glib" ,glib)
6459 ("gtk+" ,gtk+)
6460 ("libxklavier" ,libxklavier)))
6461 (home-page "https://www.gnome.org")
6462 (synopsis "GNOME keyboard configuration library")
6463 (description
6464 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6465 environment, which can notably display keyboard layouts.")
6466 (license license:lgpl2.0+)))
6467
6468 ;;; This package is no longer maintained:
6469 ;;; https://wiki.gnome.org/Attic/LibUnique
6470 ;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6471 ;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6472 (define-public libunique
6473 (package
6474 (name "libunique")
6475 (version "3.0.2")
6476 (source (origin
6477 (method url-fetch)
6478 (uri (string-append "mirror://gnome/sources/" name "/"
6479 (version-major+minor version) "/"
6480 name "-" version ".tar.xz"))
6481 (sha256
6482 (base32
6483 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6484 (build-system glib-or-gtk-build-system)
6485 (arguments
6486 `(#:configure-flags '("--disable-static"
6487 "--disable-dbus" ; use gdbus
6488 "--enable-introspection")))
6489 (native-inputs
6490 `(("pkg-config" ,pkg-config)
6491 ("gobject-introspection" ,gobject-introspection)
6492 ("glib:bin" ,glib "bin")
6493 ("gtk-doc" ,gtk-doc)))
6494 (propagated-inputs
6495 ;; Referred to in .h files and .pc.
6496 `(("gtk+" ,gtk+)))
6497 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6498 (synopsis "Library for writing single instance applications")
6499 (description
6500 "Libunique is a library for writing single instance applications. If you
6501 launch a single instance application twice, the second instance will either just
6502 quit or will send a message to the running instance. Libunique makes it easy to
6503 write this kind of application, by providing a base class, taking care of all
6504 the IPC machinery needed to send messages to a running instance, and also
6505 handling the startup notification side.")
6506 (license license:lgpl2.1+)))
6507
6508 (define-public gnome-calculator
6509 (package
6510 (name "gnome-calculator")
6511 (version "3.24.0")
6512 (source
6513 (origin
6514 (method url-fetch)
6515 (uri (string-append "mirror://gnome/sources/" name "/"
6516 (version-major+minor version) "/"
6517 name "-" version ".tar.xz"))
6518 (sha256
6519 (base32
6520 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
6521 (build-system glib-or-gtk-build-system)
6522 (native-inputs
6523 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6524 ("intltool" ,intltool)
6525 ("itstool" ,itstool)
6526 ("pkg-config" ,pkg-config)))
6527 (inputs
6528 `(("gtksourceview" ,gtksourceview)
6529 ("libsoup" ,libsoup)
6530 ("mpc" ,mpc)
6531 ("mpfr" ,mpfr)))
6532 (home-page "https://wiki.gnome.org/Apps/Calculator")
6533 (synopsis "Desktop calculator")
6534 (description
6535 "Calculator is an application that solves mathematical equations and
6536 is suitable as a default application in a Desktop environment.")
6537 (license license:gpl3)))
6538
6539 (define-public xpad
6540 (package
6541 (name "xpad")
6542 (version "4.8.0")
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
6547 name "-" version ".tar.bz2"))
6548 (sha256
6549 (base32
6550 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
6551 (build-system gnu-build-system)
6552 (native-inputs
6553 `(("intltool" ,intltool)
6554 ("pkg-config" ,pkg-config)))
6555 (inputs
6556 `(("gtk+" ,gtk+)
6557 ("gtksourceview" ,gtksourceview)
6558 ("libsm" ,libsm)))
6559 (home-page "https://wiki.gnome.org/Apps/Xpad")
6560 (synopsis "Virtual sticky note")
6561 (description
6562 "Xpad is a sticky note that strives to be simple, fault tolerant,
6563 and customizable. Xpad consists of independent pad windows, each is
6564 basically a text box in which notes can be written.")
6565 (license license:gpl3+)))
6566
6567 (define-public gucharmap
6568 (package
6569 (name "gucharmap")
6570 (version "3.18.0")
6571 (source
6572 (origin
6573 (method url-fetch)
6574 (uri (string-append "mirror://gnome/sources/" name "/"
6575 (version-major+minor version) "/"
6576 name "-" version ".tar.xz"))
6577 (sha256
6578 (base32
6579 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
6580 (build-system gnu-build-system)
6581 (native-inputs
6582 `(("desktop-file-utils" ,desktop-file-utils)
6583 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6584 ("gobject-introspection" ,gobject-introspection)
6585 ("intltool" ,intltool)
6586 ("itstool" ,itstool)
6587 ("pkg-config" ,pkg-config)))
6588 (inputs
6589 `(("gtk+" ,gtk+)
6590 ("xmllint" ,libxml2)))
6591 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6592 (synopsis "Unicode character picker and font browser")
6593 (description
6594 "This program allows you to browse through all the available Unicode
6595 characters and categories for the installed fonts, and to examine their
6596 detailed properties. It is an easy way to find the character you might
6597 only know by its Unicode name or code point.")
6598 (license license:gpl3+)))
6599
6600 (define-public bluefish
6601 (package
6602 (name "bluefish")
6603 (version "2.2.10")
6604 (source
6605 (origin
6606 (method url-fetch)
6607 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6608 name "-" version ".tar.gz"))
6609 (sha256
6610 (base32
6611 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
6612 (build-system gnu-build-system)
6613 (native-inputs
6614 `(("desktop-file-utils" ,desktop-file-utils)
6615 ("intltool" ,intltool)
6616 ("pkg-config" ,pkg-config)))
6617 (inputs
6618 `(("enchant" ,enchant)
6619 ("gtk+" ,gtk+)
6620 ("python" ,python-2)
6621 ("xmllint" ,libxml2)
6622 ("gucharmap" ,gucharmap)))
6623 (home-page "http://bluefish.openoffice.nl")
6624 (synopsis "Web development studio")
6625 (description
6626 "Bluefish is an editor targeted towards programmers and web developers,
6627 with many options to write web sites, scripts and other code.
6628 Bluefish supports many programming and markup languages.")
6629 (license license:gpl3+)))
6630
6631 (define-public gnome-system-monitor
6632 (package
6633 (name "gnome-system-monitor")
6634 (version "3.24.0")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "mirror://gnome/sources/" name "/"
6639 (version-major+minor version) "/"
6640 name "-" version ".tar.xz"))
6641 (sha256
6642 (base32
6643 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
6644 (build-system glib-or-gtk-build-system)
6645 (native-inputs
6646 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6647 ("intltool" ,intltool)
6648 ("itstool" ,itstool)
6649 ("libgtop" ,libgtop)
6650 ("pkg-config" ,pkg-config)))
6651 (inputs
6652 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6653 ("gtk+" ,gtk+)
6654 ("gtkmm" ,gtkmm)
6655 ("librsvg" ,librsvg)
6656 ("libxml2" ,libxml2)))
6657 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6658 (synopsis "Process viewer and system resource monitor for GNOME")
6659 (description
6660 "GNOME System Monitor is a GNOME process viewer and system monitor with
6661 an attractive, easy-to-use interface. It has features, such as a tree view
6662 for process dependencies, icons for processes, the ability to hide processes,
6663 graphical time histories of CPU/memory/swap usage and the ability to
6664 kill/reinice processes.")
6665 (license license:gpl2+)))
6666
6667 (define-public python-pyatspi
6668 (package
6669 (name "python-pyatspi")
6670 (version "2.24.0")
6671 (source (origin
6672 (method url-fetch)
6673 (uri (string-append
6674 "mirror://gnome/sources/pyatspi/"
6675 (version-major+minor version)
6676 "/pyatspi-" version ".tar.xz"))
6677 (sha256
6678 (base32
6679 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6680 (build-system gnu-build-system)
6681 (native-inputs
6682 `(("pkg-config" ,pkg-config)))
6683 (inputs
6684 `(("python" ,python)
6685 ("python-pygobject" ,python-pygobject)))
6686 (synopsis "Python client bindings for D-Bus AT-SPI")
6687 (home-page "https://wiki.linuxfoundation.org/accessibility\
6688 /atk/at-spi/at-spi_on_d-bus")
6689 (description
6690 "This package includes a python client library for the AT-SPI D-Bus
6691 accessibility infrastructure.")
6692 (license license:lgpl2.0)
6693 (properties '((upstream-name . "pyatspi")))))
6694
6695 (define-public orca
6696 (package
6697 (name "orca")
6698 (version "3.26.0")
6699 (source (origin
6700 (method url-fetch)
6701 (uri (string-append
6702 "mirror://gnome/sources/" name "/"
6703 (version-major+minor version) "/"
6704 name "-" version ".tar.xz"))
6705 (sha256
6706 (base32
6707 "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7"))))
6708 (build-system glib-or-gtk-build-system)
6709 (arguments
6710 '(#:phases
6711 (modify-phases %standard-phases
6712 (add-before 'configure 'qualify-xkbcomp
6713 (lambda* (#:key inputs #:allow-other-keys)
6714 (let ((xkbcomp (string-append
6715 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6716 (substitute* "src/orca/orca.py"
6717 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6718 #t))
6719 (add-after 'install 'wrap-orca
6720 (lambda* (#:key outputs #:allow-other-keys)
6721 (let* ((out (assoc-ref outputs "out"))
6722 (prog (string-append out "/bin/orca")))
6723 (wrap-program prog
6724 `("GI_TYPELIB_PATH" ":" prefix
6725 (,(getenv "GI_TYPELIB_PATH")))
6726 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6727 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6728 `("PYTHONPATH" ":" prefix
6729 (,(getenv "PYTHONPATH")))))
6730 #t)))))
6731 (native-inputs
6732 `(("intltool" ,intltool)
6733 ("itstool" ,itstool)
6734 ("pkg-config" ,pkg-config)
6735 ("xmllint" ,libxml2)))
6736 (inputs
6737 `(("at-spi2-atk" ,at-spi2-atk)
6738 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6739 ("gstreamer" ,gstreamer)
6740 ("gst-plugins-base" ,gst-plugins-base)
6741 ("gst-plugins-good" ,gst-plugins-good)
6742 ("gtk+" ,gtk+)
6743 ("python" ,python)
6744 ("python-pygobject" ,python-pygobject)
6745 ("python-pyatspi" ,python-pyatspi)
6746 ("python-speechd" ,speech-dispatcher)
6747 ("xkbcomp" ,xkbcomp)))
6748 (synopsis
6749 "Screen reader for individuals who are blind or visually impaired")
6750 (home-page "https://wiki.gnome.org/Projects/Orca")
6751 (description
6752 "Orca is a screen reader that provides access to the graphical desktop
6753 via speech and refreshable braille. Orca works with applications and toolkits
6754 that support the Assistive Technology Service Provider Interface (AT-SPI).")
6755 (license license:lgpl2.1+)))
6756
6757 (define-public gspell
6758 (package
6759 (name "gspell")
6760 (version "1.4.2")
6761 (source (origin
6762 (method url-fetch)
6763 (uri (string-append "mirror://gnome/sources/" name "/"
6764 (version-major+minor version) "/"
6765 name "-" version ".tar.xz"))
6766 (sha256
6767 (base32
6768 "1683vyyfq3q0ph665jj6id8hnlyid4qxzmqiwpv97gmz8zksg6x5"))
6769 (patches (search-patches "gspell-dash-test.patch"))))
6770 (build-system glib-or-gtk-build-system)
6771 (arguments
6772 '(#:phases
6773 (modify-phases %standard-phases
6774 (add-before 'check 'pre-check
6775 (lambda* (#:key inputs #:allow-other-keys)
6776 ;; Tests require a running X server.
6777 (system "Xvfb :1 &")
6778 (setenv "DISPLAY" ":1")
6779
6780 ;; For the missing /etc/machine-id.
6781 (setenv "DBUS_FATAL_WARNINGS" "0")
6782
6783 ;; Allow Enchant and its Aspell backend to find the en_US
6784 ;; dictionary.
6785 (setenv "ASPELL_DICT_DIR"
6786 (string-append (assoc-ref inputs "aspell-dict-en")
6787 "/lib/aspell"))
6788 #t)))))
6789 (inputs
6790 `(("gtk+" ,gtk+)
6791 ("glib" ,glib)
6792 ("iso-codes" ,iso-codes)))
6793 (native-inputs
6794 `(("glib" ,glib "bin")
6795 ("pkg-config" ,pkg-config)
6796 ("xmllint" ,libxml2)
6797
6798 ;; For tests.
6799 ("aspell-dict-en" ,aspell-dict-en)
6800 ("xorg-server" ,xorg-server)))
6801 (propagated-inputs
6802 `(("enchant" ,enchant))) ; enchant.pc is required by gspell-1.pc
6803 (home-page "https://wiki.gnome.org/Projects/gspell")
6804 (synopsis "GNOME's alternative spell checker")
6805 (description
6806 "gspell provides a flexible API to add spell-checking to a GTK+
6807 application. It provides a GObject API, spell-checking to text entries and
6808 text views, and buttons to choose the language.")
6809 (license license:gpl2+)))
6810
6811 (define-public gnome-planner
6812 (package
6813 (name "gnome-planner")
6814 (version "0.14.6")
6815 (source (origin
6816 (method url-fetch)
6817 (uri (string-append "mirror://gnome/sources/planner/"
6818 (version-major+minor version) "/planner-"
6819 version ".tar.xz"))
6820 (sha256
6821 (base32
6822 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
6823 (build-system glib-or-gtk-build-system)
6824 (arguments
6825 ;; Disable the Python bindings because the Planner program functions
6826 ;; without them, and (as of 2017-06-13) we have not packaged all of
6827 ;; packages that are necessary for building the Python bindings.
6828 `(#:configure-flags
6829 (list "--disable-python"
6830 ,@(if (string=? "aarch64-linux" (%current-system))
6831 '("--build=aarch64-unknown-linux-gnu")
6832 '()))))
6833 (inputs
6834 `(("libgnomecanvas" ,libgnomecanvas)
6835 ("libgnomeui" ,libgnomeui)
6836 ("libglade" ,libglade)
6837 ("gnome-vfs" ,gnome-vfs)
6838 ("gconf" ,gconf)
6839 ("libxml2" ,libxml2)
6840 ("libxslt" ,libxslt)
6841 ("gtk+" ,gtk+)
6842 ("glib" ,glib)))
6843 (native-inputs
6844 `(("intltool" ,intltool)
6845 ("scrollkeeper" ,scrollkeeper)
6846 ("pkg-config" ,pkg-config)))
6847 (home-page "https://wiki.gnome.org/Apps/Planner")
6848 (synopsis "Project management software for the GNOME desktop")
6849 (description
6850 "GNOME Planner is a project management tool based on the Work Breakdown
6851 Structure (WBS). Its goal is to enable you to easily plan projects. Based on
6852 the resources, tasks, and constraints that you define, Planner generates
6853 various views into a project. For example, Planner can show a Gantt chart of
6854 the project. It can show a detailed summary of tasks including their
6855 duration, cost, and current progress. It can also show a report of resource
6856 utilization that highlights under-utilized and over-utilized resources. These
6857 views can be printed as PDF or PostScript files, or exported to HTML.")
6858 (license license:gpl2+)))
6859
6860 (define-public lollypop
6861 (package
6862 (name "lollypop")
6863 (version "0.9.244")
6864 (source
6865 (origin
6866 (method url-fetch)
6867 (uri (string-append "https://github.com/gnumdk/lollypop/"
6868 "releases/download/" version "/"
6869 name "-" version ".tar.xz"))
6870 (sha256
6871 (base32
6872 "0y9nmwrplz4mlvc2badfbyjj97ksn6qqis3rgm8lvp5llsk1583w"))))
6873 ;; TODO: Use meson-build-system
6874 (build-system glib-or-gtk-build-system)
6875 (arguments
6876 `(#:imported-modules ((guix build python-build-system)
6877 ,@%glib-or-gtk-build-system-modules)
6878 #:tests? #f ; no test suite
6879 #:phases
6880 (modify-phases %standard-phases
6881 (delete 'configure)
6882 (replace 'build
6883 (lambda* (#:key inputs outputs #:allow-other-keys)
6884 (let ((out (assoc-ref outputs "out")))
6885 ;; remove post-install script, we update the caches later
6886 (substitute* "meson.build"
6887 (("meson.add_install_script\\('meson_post_install.py'\\)") ""))
6888 (zero?
6889 (system* "meson" "builddir" (string-append "--prefix=" out))))))
6890 (replace 'install
6891 (lambda _ (zero? (system* "ninja" "-C" "builddir" "install"))))
6892 (add-after 'install 'wrap-program
6893 (lambda* (#:key outputs #:allow-other-keys)
6894 (let ((out (assoc-ref outputs "out"))
6895 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6896 (wrap-program (string-append out "/bin/lollypop")
6897 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6898 #t))
6899 (add-after 'install 'wrap
6900 (@@ (guix build python-build-system) wrap)))))
6901 (native-inputs
6902 `(("intltool" ,intltool)
6903 ("itstool" ,itstool)
6904 ("ninja" ,ninja)
6905 ("pkg-config" ,pkg-config)))
6906 (inputs
6907 `(("gobject-introspection" ,gobject-introspection)
6908 ("gst-plugins-base" ,gst-plugins-base)
6909 ("gtk+" ,gtk+)
6910 ("libnotify" ,libnotify)
6911 ("libsecret" ,libsecret)
6912 ("libsoup" ,libsoup)
6913 ("meson" ,meson)
6914 ("python" ,python)
6915 ("python-beautifulsoup4" ,python-beautifulsoup4)
6916 ("python-gst" ,python-gst)
6917 ("python-pycairo" ,python-pycairo)
6918 ("python-pygobject" ,python-pygobject)
6919 ("python-pylast" ,python-pylast)
6920 ("totem-pl-parser" ,totem-pl-parser)
6921 ("webkitgtk" ,webkitgtk)))
6922 (propagated-inputs
6923 `(;; gst-plugins-base is required to start Lollypop,
6924 ;; the others are required to play streaming.
6925 ("gst-plugins-good" ,gst-plugins-good)
6926 ("gst-plugins-ugly" ,gst-plugins-ugly)))
6927 (home-page "https://gnumdk.github.io/lollypop-web")
6928 (synopsis "GNOME music playing application")
6929 (description
6930 "Lollypop is a music player designed to play well with GNOME desktop.
6931 Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
6932 from artists and tracks from the web. It also fetches cover artworks
6933 automatically and it can stream songs from online music services and charts.")
6934 (license license:gpl3+)))
6935
6936 (define-public gnome-video-effects
6937 (package
6938 (name "gnome-video-effects")
6939 (version "0.4.3")
6940 (source (origin
6941 (method url-fetch)
6942 (uri (string-append "mirror://gnome/sources/" name "/"
6943 (version-major+minor version) "/" name "-"
6944 version ".tar.xz"))
6945 (sha256
6946 (base32
6947 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
6948 (build-system glib-or-gtk-build-system)
6949 (arguments
6950 `(#:out-of-source? #f))
6951 (native-inputs
6952 `(("glib:bin" ,glib "bin")
6953 ("intltool" ,intltool)
6954 ("gettext" ,gettext-minimal)
6955 ("pkg-config" ,pkg-config)))
6956 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
6957 (synopsis "Video effects for Cheese and other GNOME applications")
6958 (description
6959 "A collection of GStreamer video filters and effects to be used in
6960 photo-booth-like software, such as Cheese.")
6961 (license license:gpl2+)))
6962
6963 (define-public cheese
6964 (package
6965 (name "cheese")
6966 (version "3.24.0")
6967 (source (origin
6968 (method url-fetch)
6969 (uri (string-append "mirror://gnome/sources/" name "/"
6970 (version-major+minor version) "/" name "-"
6971 version ".tar.xz"))
6972 (sha256
6973 (base32
6974 "0wpks2lnr8va9wxgmj26dwmhlcb3vamhpxkqi8xaan6q25635l16"))))
6975 (arguments
6976 ;; Tests require GDK.
6977 `(#:tests? #f
6978 #:phases
6979 (modify-phases %standard-phases
6980 (add-before 'install 'skip-gtk-update-icon-cache
6981 (lambda _
6982 ;; Don't create 'icon-theme.cache'
6983 (substitute* "Makefile"
6984 (("gtk-update-icon-cache") (which "true")))
6985 #t))
6986 (add-after 'install 'wrap-cheese
6987 (lambda* (#:key inputs outputs #:allow-other-keys)
6988 (let ((out (assoc-ref outputs "out"))
6989 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
6990 (wrap-program (string-append out "/bin/cheese")
6991 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
6992 #t)))))
6993 (build-system glib-or-gtk-build-system)
6994 (native-inputs
6995 `(("glib:bin" ,glib "bin")
6996 ("intltool" ,intltool)
6997 ("itstool" ,itstool)
6998 ("libxml2" ,libxml2)
6999 ("pkg-config" ,pkg-config)
7000 ("vala" ,vala)))
7001 (propagated-inputs
7002 `(("gnome-video-effects" ,gnome-video-effects)))
7003 (inputs
7004 `(("clutter" ,clutter)
7005 ("clutter-gst" ,clutter-gst)
7006 ("clutter-gtk" ,clutter-gtk)
7007 ("gdk-pixbuf" ,gdk-pixbuf)
7008 ("glib" ,glib)
7009 ("gnome-desktop" ,gnome-desktop)
7010 ("gobject-introspection" ,gobject-introspection)
7011 ("gstreamer" ,gstreamer)
7012 ("gst-plugins-base" ,gst-plugins-base)
7013 ("gst-plugins-bad" ,gst-plugins-bad)
7014 ("gtk+" ,gtk+)
7015 ("libcanberra" ,libcanberra)
7016 ("libx11" ,libx11)
7017 ("libxtst" ,libxtst)))
7018 (home-page "https://wiki.gnome.org/Apps/Cheese")
7019 (synopsis "Webcam photo booth software for GNOME")
7020 (description
7021 "Cheese uses your webcam to take photos and videos. Cheese can also
7022 apply fancy special effects and lets you share the fun with others.")
7023 (license license:gpl2+)))