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