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