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