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