gnu: love: Update to 0.10.1.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
... / ...
CommitLineData
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
3;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
5;;; Copyright © 2014 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 Ricardo Wurmus <rekado@elephly.net>
12;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
13;;; Copyright © 2015 David Thompson <davet@gnu.org>
14;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
15;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
17;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
18;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages gnome)
36 #:use-module ((guix licenses) #:prefix license:)
37 #:use-module (guix packages)
38 #:use-module (guix download)
39 #:use-module (guix git-download)
40 #:use-module (guix utils)
41 #:use-module (guix build-system gnu)
42 #:use-module (guix build-system glib-or-gtk)
43 #:use-module (guix build-system trivial)
44 #:use-module (gnu packages)
45 #:use-module (gnu packages admin)
46 #:use-module (gnu packages autotools)
47 #:use-module (gnu packages avahi)
48 #:use-module (gnu packages base)
49 #:use-module (gnu packages bison)
50 #:use-module (gnu packages calendar)
51 #:use-module (gnu packages check)
52 #:use-module (gnu packages cups)
53 #:use-module (gnu packages curl)
54 #:use-module (gnu packages cyrus-sasl)
55 #:use-module (gnu packages databases)
56 #:use-module (gnu packages djvu)
57 #:use-module (gnu packages dns)
58 #:use-module (gnu packages flex)
59 #:use-module (gnu packages docbook)
60 #:use-module (gnu packages enchant)
61 #:use-module (gnu packages game-development)
62 #:use-module (gnu packages gettext)
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages gnupg)
65 #:use-module (gnu packages gnuzilla)
66 #:use-module (gnu packages gstreamer)
67 #:use-module (gnu packages gtk)
68 #:use-module (gnu packages gperf)
69 #:use-module (gnu packages guile)
70 #:use-module (gnu packages openldap)
71 #:use-module (gnu packages pdf)
72 #:use-module (gnu packages polkit)
73 #:use-module (gnu packages popt)
74 #:use-module (gnu packages ghostscript)
75 #:use-module (gnu packages ibus)
76 #:use-module (gnu packages iso-codes)
77 #:use-module (gnu packages libcanberra)
78 #:use-module (gnu packages linux)
79 #:use-module (gnu packages libusb)
80 #:use-module (gnu packages lirc)
81 #:use-module (gnu packages lua)
82 #:use-module (gnu packages m4)
83 #:use-module (gnu packages image)
84 #:use-module (gnu packages networking)
85 #:use-module (gnu packages password-utils)
86 #:use-module (gnu packages perl)
87 #:use-module (gnu packages photo)
88 #:use-module (gnu packages pkg-config)
89 #:use-module (gnu packages pulseaudio)
90 #:use-module (gnu packages python)
91 #:use-module (gnu packages scanner)
92 #:use-module (gnu packages ssh)
93 #:use-module (gnu packages xml)
94 #:use-module (gnu packages geeqie)
95 #:use-module (gnu packages gl)
96 #:use-module (gnu packages compression)
97 #:use-module (gnu packages texlive)
98 #:use-module (gnu packages tls)
99 #:use-module (gnu packages web)
100 #:use-module (gnu packages webkit)
101 #:use-module (gnu packages xorg)
102 #:use-module (gnu packages xdisorg)
103 #:use-module (gnu packages freedesktop)
104 #:use-module (gnu packages mail)
105 #:use-module (gnu packages mit-krb5)
106 #:use-module (gnu packages backup)
107 #:use-module (gnu packages nettle)
108 #:use-module (gnu packages ncurses)
109 #:use-module (gnu packages video)
110 #:use-module (gnu packages cdrom)
111 #:use-module (gnu packages samba)
112 #:use-module (gnu packages readline)
113 #:use-module (gnu packages fonts)
114 #:use-module (srfi srfi-1))
115
116(define-public brasero
117 (package
118 (name "brasero")
119 (version "3.12.1")
120 (source (origin
121 (method url-fetch)
122 (uri (string-append "mirror://gnome/sources/" name "/"
123 (version-major+minor version) "/"
124 name "-" version ".tar.xz"))
125 (sha256
126 (base32
127 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
128 (build-system glib-or-gtk-build-system)
129 (arguments
130 `(#:configure-flags (list
131 (string-append "--with-girdir="
132 (assoc-ref %outputs "out")
133 "/share/gir-1.0")
134 (string-append "--with-typelibdir="
135 (assoc-ref %outputs "out")
136 "/lib/girepository-1.0"))))
137 (propagated-inputs
138 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
139 (native-inputs
140 `(("intltool" ,intltool)
141 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
142 ("gobject-introspection" ,gobject-introspection)
143 ("pkg-config" ,pkg-config)))
144 (inputs
145 `(("glib" ,glib)
146 ("gnome-doc-utils" ,gnome-doc-utils)
147 ("gstreamer" ,gstreamer)
148 ("gst-plugins-base" ,gst-plugins-base)
149 ("gtk+" ,gtk+)
150 ("itstool" ,itstool)
151 ("libcanberra" ,libcanberra)
152 ("libice" ,libice)
153 ("libnotify" ,libnotify)
154 ("libsm" ,libsm)
155 ("libxml2" ,libxml2)
156 ("nettle" ,nettle)
157 ("totem-pl-parser" ,totem-pl-parser)))
158 (home-page "https://projects.gnome.org/brasero/")
159 (synopsis "CD/DVD burning tool for Gnome")
160 (description "Brasero is an application to burn CD/DVD for the Gnome
161Desktop. It is designed to be as simple as possible and has some unique
162features to enable users to create their discs easily and quickly.")
163 (license license:gpl2+)))
164
165(define-public gnome-common
166 (package
167 (name "gnome-common")
168 (version "3.18.0")
169 (source
170 (origin
171 (method url-fetch)
172 (uri (string-append "mirror://gnome/sources/" name "/"
173 (version-major+minor version) "/"
174 name "-" version ".tar.xz"))
175 (sha256
176 (base32
177 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
178 (build-system gnu-build-system)
179 (home-page "https://www.gnome.org/")
180 (synopsis "Bootstrap GNOME modules built from Git")
181 (description "gnome-common contains various files needed to bootstrap
182GNOME modules built from Git. It contains a common \"autogen.sh\" script that
183can be used to configure a source directory checked out from Git and some
184commonly used macros.")
185 (license license:gpl2+)))
186
187(define-public gnome-desktop
188 (package
189 (name "gnome-desktop")
190 (version "3.20.1")
191 (source
192 (origin
193 (method url-fetch)
194 (uri (string-append "mirror://gnome/sources/" name "/"
195 (version-major+minor version) "/"
196 name "-" version ".tar.xz"))
197 (sha256
198 (base32
199 "0h6185lmkaf49dr43pb6gsb9yi25rc32n7dq5186hwln38mppb3f"))))
200 (build-system gnu-build-system)
201 (native-inputs
202 `(("gobject-introspection" ,gobject-introspection)
203 ("itstool" ,itstool)
204 ("intltool" ,intltool)
205 ("pkg-config" ,pkg-config)
206 ("xmllint" ,libxml2)))
207 (propagated-inputs
208 ;; Required by gnome-desktop-3.0.pc.
209 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
210 ("gtk+" ,gtk+)))
211 (inputs
212 `(("gdk-pixbuf" ,gdk-pixbuf)
213 ("glib" ,glib)
214 ("iso-codes" ,iso-codes)
215 ("libx11" ,libx11)
216 ("libxext" ,libxext)
217 ("libxkbfile" ,libxkbfile)
218 ("libxrandr" ,libxrandr)
219 ("xkeyboard-config" ,xkeyboard-config)))
220 (home-page "https://www.gnome.org/")
221 (synopsis
222 "Libgnome-desktop, gnome-about, and desktop-wide documents")
223 (description
224 "The libgnome-desktop library provides API shared by several applications
225on the desktop, but that cannot live in the platform for various reasons.
226There is no API or ABI guarantee, although we are doing our best to provide
227stability. Documentation for the API is available with gtk-doc.
228
229The gnome-about program helps find which version of GNOME is installed.")
230 ; Some bits under the LGPL.
231 (license license:gpl2+)))
232
233(define-public gnome-doc-utils
234 (package
235 (name "gnome-doc-utils")
236 (version "0.20.10")
237 (source
238 (origin
239 (method url-fetch)
240 (uri (string-append "mirror://gnome/sources/" name "/"
241 (version-major+minor version) "/"
242 name "-" version ".tar.xz"))
243 (sha256
244 (base32
245 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
246 (build-system gnu-build-system)
247 (native-inputs
248 `(("intltool" ,intltool)
249 ("docbook-xml" ,docbook-xml-4.4)
250 ("python2-libxml2" ,python2-libxml2)
251 ("libxml2" ,libxml2)
252 ("libxslt" ,libxslt)
253 ("pkg-config" ,pkg-config)
254 ("python-2" ,python-2)))
255 (home-page "https://wiki.gnome.org/GnomeDocUtils")
256 (synopsis
257 "Documentation utilities for the Gnome project")
258 (description
259 "Gnome-doc-utils is a collection of documentation utilities for the
260Gnome project. It includes xml2po tool which makes it easier to translate
261and keep up to date translations of documentation.")
262 (license license:gpl2+))) ; xslt under lgpl
263
264(define-public gcr
265 (package
266 (name "gcr")
267 (version "3.20.0")
268 (source (origin
269 (method url-fetch)
270 (uri (string-append "mirror://gnome/sources/" name "/"
271 (version-major+minor version) "/"
272 name "-" version ".tar.xz"))
273 (sha256
274 (base32
275 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))))
276 (build-system gnu-build-system)
277 (arguments
278 '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
279 ;not exist
280 #:phases (modify-phases %standard-phases
281 (add-before
282 'check 'pre-check
283 (lambda* (#:key inputs #:allow-other-keys)
284 (substitute* "build/tap-driver"
285 (("/usr/bin/env python") (which "python"))))))))
286 (inputs
287 `(("dbus" ,dbus)
288 ("gnupg" ,gnupg) ;called as a child process during tests
289 ("libgcrypt" ,libgcrypt)))
290 (native-inputs
291 `(("python" ,python-2) ;for tests
292 ("pkg-config" ,pkg-config)
293 ("glib" ,glib "bin")
294 ("gobject-introspection" ,gobject-introspection)
295 ("intltool" ,intltool)
296 ("xsltproc" ,libxslt)))
297 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
298 (propagated-inputs
299 `(("p11-kit" ,p11-kit)
300 ("glib" ,glib)
301 ("gtk+" ,gtk+)))
302 (home-page "http://www.gnome.org")
303 (synopsis "Libraries for displaying certificates and accessing key stores")
304 (description
305 "The GCR package contains libraries used for displaying certificates and
306accessing key stores. It also provides the viewer for crypto files on the
307GNOME Desktop.")
308 (license license:lgpl2.1+)))
309
310(define-public libgnome-keyring
311 (package
312 (name "libgnome-keyring")
313 (version "3.12.0")
314 (source (origin
315 (method url-fetch)
316 (uri (string-append "mirror://gnome/sources/" name "/"
317 (version-major+minor version) "/"
318 name "-" version ".tar.xz"))
319 (sha256
320 (base32
321 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
322 (build-system gnu-build-system)
323 (inputs
324 `(("libgcrypt" ,libgcrypt)
325 ("dbus" ,dbus)))
326 (native-inputs
327 `(("pkg-config" ,pkg-config)
328 ("glib" ,glib "bin")
329 ("intltool" ,intltool)))
330 (propagated-inputs
331 ;; Referred to in .h files and .pc.
332 `(("glib" ,glib)))
333 (home-page "http://www.gnome.org")
334 (synopsis "Accessing passwords from the GNOME keyring")
335 (description
336 "Client library to access passwords from the GNOME keyring.")
337
338 ;; Though a couple of files are LGPLv2.1+.
339 (license license:lgpl2.0+)))
340
341(define-public gnome-keyring
342 (package
343 (name "gnome-keyring")
344 (version "3.20.0")
345 (source (origin
346 (method url-fetch)
347 (uri (string-append "mirror://gnome/sources/" name "/"
348 (version-major+minor version) "/"
349 name "-" version ".tar.xz"))
350 (sha256
351 (base32
352 "16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw"))))
353 (build-system gnu-build-system)
354 (arguments
355 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
356 ;not exist
357 #:configure-flags
358 (list
359 (string-append "--with-pkcs11-config="
360 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
361 (string-append "--with-pkcs11-modules="
362 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
363 #:phases
364 (modify-phases %standard-phases
365 (add-before
366 'check 'pre-check
367 (lambda* (#:key inputs #:allow-other-keys)
368 (substitute* "build/tap-driver"
369 (("/usr/bin/env python") (which "python")))))
370 (add-before
371 'configure 'fix-docbook
372 (lambda* (#:key inputs #:allow-other-keys)
373 (substitute* "docs/Makefile.am"
374 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
375 (string-append (assoc-ref inputs "docbook-xsl")
376 "/xml/xsl/docbook-xsl-"
377 ,(package-version docbook-xsl)
378 "/manpages/docbook.xsl")))
379 (setenv "XML_CATALOG_FILES"
380 (string-append (assoc-ref inputs "docbook-xml")
381 "/xml/dtd/docbook/catalog.xml")))))))
382 (inputs
383 `(("libgcrypt" ,libgcrypt)
384 ("linux-pam" ,linux-pam)
385 ("dbus" ,dbus)
386 ("gcr" ,gcr)))
387 (native-inputs
388 `(("pkg-config" ,pkg-config)
389 ("glib" ,glib "bin")
390 ("python" ,python-2) ;for tests
391 ("intltool" ,intltool)
392 ("autoconf" ,autoconf)
393 ("automake" ,automake)
394 ("libxslt" ,libxslt) ;for documentation
395 ("docbook-xml" ,docbook-xml-4.2)
396 ("docbook-xsl" ,docbook-xsl)))
397 (home-page "http://www.gnome.org")
398 (synopsis "Daemon to store passwords and encryption keys")
399 (description
400 "gnome-keyring is a program that keeps passwords and other secrets for
401users. It is run as a daemon in the session, similar to ssh-agent, and other
402applications locate it via an environment variable or D-Bus.
403
404The program can manage several keyrings, each with its own master password,
405and there is also a session keyring which is never stored to disk, but
406forgotten when the session ends.")
407 (license license:lgpl2.1+)))
408
409(define-public evince
410 (package
411 (name "evince")
412 (version "3.20.0")
413 (source (origin
414 (method url-fetch)
415 (uri (string-append "mirror://gnome/sources/" name "/"
416 (version-major+minor version) "/"
417 name "-" version ".tar.xz"))
418 (sha256
419 (base32
420 "1052lm4i5qq27sgk6ck5xc1cxh0qx4zzhifjhmzjlv38afj5i0yg"))))
421 (build-system glib-or-gtk-build-system)
422 (arguments
423 `(#:configure-flags '("--disable-nautilus")
424
425 ;; FIXME: Tests fail with:
426 ;; ImportError: No module named gi.repository
427 ;; Where should that module come from?
428 #:tests? #f))
429 (inputs
430 `(("libspectre" ,libspectre)
431 ("djvulibre" ,djvulibre)
432 ("ghostscript" ,ghostscript)
433 ("poppler" ,poppler)
434 ("libtiff" ,libtiff)
435 ;; TODO:
436 ;; Add libgxps for XPS support.
437 ;; Build libkpathsea as a shared library for DVI support.
438 ;; ("libkpathsea" ,texlive-bin)
439 ("gnome-desktop" ,gnome-desktop)
440 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
441 ("libgnome-keyring" ,libgnome-keyring)
442 ("adwaita-icon-theme" ,adwaita-icon-theme)
443 ("gdk-pixbuf" ,gdk-pixbuf)
444 ("atk" ,atk)
445 ("pango" ,pango)
446 ("gtk+" ,gtk+)
447 ("glib" ,glib)
448 ("libxml2" ,libxml2)
449 ("libsm" ,libsm)
450 ("libice" ,libice)
451 ("shared-mime-info" ,shared-mime-info)
452 ("dconf" ,dconf)
453 ("libcanberra" ,libcanberra)
454 ("libsecret" ,libsecret)
455 ;; For tests.
456 ("dogtail" ,python2-dogtail)))
457 (native-inputs
458 `(("itstool" ,itstool)
459 ("intltool" ,intltool)
460 ("glib" ,glib "bin")
461 ("pkg-config" ,pkg-config)
462 ("xmllint" ,libxml2)))
463 (home-page
464 "http://www.gnome.org/projects/evince/")
465 (synopsis "GNOME's document viewer")
466 (description
467 "Evince is a document viewer for multiple document formats. It
468currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
469of Evince is to replace the multiple document viewers that exist
470on the GNOME Desktop with a single simple application.")
471 (license license:gpl2+)))
472
473(define-public gsettings-desktop-schemas
474 (package
475 (name "gsettings-desktop-schemas")
476 (version "3.20.0")
477 (source
478 (origin
479 (method url-fetch)
480 (uri (string-append "mirror://gnome/sources/" name "/"
481 (version-major+minor version) "/"
482 name "-" version ".tar.xz"))
483 (sha256
484 (base32
485 "1hfrqqsmqscgbnaikmyq4yq8h72554wdg13algh5bf8a7i9ip92m"))))
486 (build-system gnu-build-system)
487 (inputs
488 `(("glib" ,glib)))
489 (native-inputs
490 `(("intltool" ,intltool)
491 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
492 ("gobject-introspection" ,gobject-introspection)
493 ("pkg-config" ,pkg-config)))
494 (home-page "https://launchpad.net/gsettings-desktop-schemas")
495 (synopsis
496 "GNOME settings for various desktop components")
497 (description
498 "Gsettings-desktop-schemas contains a collection of GSettings schemas
499for settings shared by various components of the GNOME desktop.")
500 (license license:lgpl2.1+)))
501
502(define-public icon-naming-utils
503 (package
504 (name "icon-naming-utils")
505 (version "0.8.90")
506 (source
507 (origin
508 (method url-fetch)
509 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
510 version ".tar.bz2"))
511 (sha256
512 (base32
513 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
514 (build-system gnu-build-system)
515 (inputs
516 `(("perl" ,perl)
517 ("perl-xml-simple" ,perl-xml-simple)))
518 (arguments
519 '(#:phases
520 (alist-cons-after
521 'install 'set-load-paths
522 ;; Tell 'icon-name-mapping' where XML::Simple is.
523 (lambda* (#:key outputs #:allow-other-keys)
524 (let* ((out (assoc-ref outputs "out"))
525 (prog (string-append out "/libexec/icon-name-mapping")))
526 (wrap-program
527 prog
528 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
529 %standard-phases)))
530 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
531 (synopsis
532 "Utility to implement the Freedesktop Icon Naming Specification")
533 (description
534 "To help with the transition to the Freedesktop Icon Naming
535Specification, the icon naming utility maps the icon names used by the
536GNOME and KDE desktops to the icon names proposed in the specification.")
537 (license license:lgpl2.1+)))
538
539(define-public desktop-file-utils
540 (package
541 (name "desktop-file-utils")
542 (version "0.22")
543 (source (origin
544 (method url-fetch)
545 (uri (string-append "https://www.freedesktop.org/software/" name
546 "/releases/" name "-" version ".tar.xz"))
547 (sha256
548 (base32
549 "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"))))
550 (build-system gnu-build-system)
551 (native-inputs
552 `(("pkg-config" ,pkg-config)))
553 (inputs
554 `(("glib" ,glib)))
555 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
556 (synopsis "Utilities for working with desktop entries")
557 (description
558 "This package contains a few command line utilities for working with
559desktop entries:
560
561desktop-file-validate: validates a desktop file and prints warnings/errors
562 about desktop entry specification violations.
563
564desktop-file-install: installs a desktop file to the applications directory,
565 optionally munging it a bit in transit.
566
567update-desktop-database: updates the database containing a cache of MIME types
568 handled by desktop files.")
569 (license license:gpl2+)))
570
571(define-public gnome-icon-theme
572 (package
573 (name "gnome-icon-theme")
574 (version "3.12.0")
575 (source
576 (origin
577 (method url-fetch)
578 (uri (string-append "mirror://gnome/sources/" name "/"
579 (version-major+minor version) "/"
580 name "-" version ".tar.xz"))
581 (sha256
582 (base32
583 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
584 (build-system gnu-build-system)
585 (native-inputs
586 `(("gtk+" ,gtk+) ; for gtk-update-icon-cache
587 ("icon-naming-utils" ,icon-naming-utils)
588 ("intltool" ,intltool)
589 ("pkg-config" ,pkg-config)))
590 (home-page "http://art.gnome.org/")
591 (synopsis
592 "GNOME icon theme")
593 (description
594 "Icons for the GNOME desktop.")
595 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
596
597;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
598(define-public adwaita-icon-theme
599 (package (inherit gnome-icon-theme)
600 (name "adwaita-icon-theme")
601 (version "3.20")
602 (source (origin
603 (method url-fetch)
604 (uri (string-append "mirror://gnome/sources/" name "/"
605 (version-major+minor version) "/"
606 name "-" version ".tar.xz"))
607 (sha256
608 (base32
609 "0ddfwwqx8s63qbqimmbb015lqsab4s0rvy1j81jdsh7k95rqh2ks"))))))
610
611(define-public shared-mime-info
612 (package
613 (name "shared-mime-info")
614 (version "1.6")
615 (source (origin
616 (method url-fetch)
617 (uri (string-append "https://freedesktop.org/~hadess/"
618 "shared-mime-info-" version ".tar.xz"))
619 (sha256
620 (base32
621 "0k637g047gci8g69bg4g19akylpfraxm40hd30j3i4v7cidziy5j"))))
622 (build-system gnu-build-system)
623 (arguments
624 ;; The build system appears not to be parallel-safe.
625 '(#:parallel-build? #f))
626 (inputs
627 `(("glib" ,glib)
628 ("libxml2" ,libxml2)))
629 (native-inputs
630 `(("intltool" ,intltool)
631 ("pkg-config" ,pkg-config)))
632 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
633 (synopsis "Database of common MIME types")
634 (description
635 "The shared-mime-info package contains the core database of common types
636and the update-mime-database command used to extend it. It requires glib2 to
637be installed for building the update command. Additionally, it uses intltool
638for translations, though this is only a dependency for the maintainers. This
639database is translated at Transifex.")
640 (license license:gpl2+)))
641
642(define-public hicolor-icon-theme
643 (package
644 (name "hicolor-icon-theme")
645 (version "0.12")
646 (source
647 (origin
648 (method url-fetch)
649 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
650 "hicolor-icon-theme-" version ".tar.gz"))
651 (sha256
652 (base32
653 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
654 (build-system gnu-build-system)
655 (arguments
656 `(#:tests? #f)) ; no check target
657 (home-page "http://icon-theme.freedesktop.org/releases/")
658 (synopsis
659 "Freedesktop icon theme")
660 (description
661 "Freedesktop icon theme.")
662 (license license:gpl2)))
663
664(define-public libnotify
665 (package
666 (name "libnotify")
667 (version "0.7.6")
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append "mirror://gnome/sources/" name "/"
672 (version-major+minor version) "/"
673 name "-" version ".tar.xz"))
674 (sha256
675 (base32
676 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
677 (build-system gnu-build-system)
678 (inputs
679 `(("gdk-pixbuf" ,gdk-pixbuf)
680 ("glib" ,glib)
681 ("gtk+" ,gtk+)
682 ("libpng" ,libpng)))
683 (native-inputs
684 `(("pkg-config" ,pkg-config)
685 ("glib" ,glib "bin")))
686 (home-page "https://developer-next.gnome.org/libnotify/")
687 (synopsis
688 "GNOME desktop notification library")
689 (description
690 "Libnotify is a library that sends desktop notifications to a
691notification daemon, as defined in the Desktop Notifications spec. These
692notifications can be used to inform the user about an event or display
693some form of information without getting in the user's way.")
694 (license license:lgpl2.1+)))
695
696(define-public libpeas
697 (package
698 (name "libpeas")
699 (version "1.18.0")
700 (source
701 (origin
702 (method url-fetch)
703 (uri (string-append "mirror://gnome/sources/" name "/"
704 (version-major+minor version) "/"
705 name "-" version ".tar.xz"))
706 (sha256
707 (base32
708 "09jy2rwwgp0xx7cnypxl56m7zzxnj3j4v58xqjxjasf3chn88jdz"))))
709 (build-system gnu-build-system)
710 (inputs
711 `(("gtk+" ,gtk+)
712 ("glade" ,glade3)
713 ("libxml2" ,libxml2) ; XXX: required by gladeui-2.0.pc
714 ("python" ,python)
715 ("python-pygobject" ,python-pygobject)))
716 (native-inputs
717 `(("pkg-config" ,pkg-config)
718 ("glib:bin" ,glib "bin")
719 ("gobject-introspection" ,gobject-introspection)
720 ("intltool" ,intltool)))
721 (home-page "https://wiki.gnome.org/Libpeas")
722 (synopsis "GObject plugin system")
723 (description
724 "Libpeas is a gobject-based plugins engine, and is targetted at giving
725every application the chance to assume its own extensibility. It also has a
726set of features including, but not limited to: multiple extension points; on
727demand (lazy) programming language support for C, Python and JS; simplicity of
728the API.")
729 (license license:lgpl2.0+)))
730
731(define-public gtkglext
732 (package
733 (name "gtkglext")
734 (version "1.2.0")
735 (source (origin
736 (method url-fetch)
737 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
738 version "/gtkglext-" version ".tar.gz"))
739 (sha256
740 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
741 (patches (search-patches
742 "gtkglext-disable-disable-deprecated.patch"))))
743 (build-system gnu-build-system)
744 (inputs `(("gtk+" ,gtk+-2)
745 ("mesa" ,mesa)
746 ("glu" ,glu)
747 ("libx11" ,libx11)
748 ("libxt" ,libxt)))
749 (native-inputs `(("pkg-config" ,pkg-config)
750 ("glib" ,glib "bin")))
751 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
752 (home-page "https://projects.gnome.org/gtkglext")
753 (synopsis "OpenGL extension to GTK+")
754 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
755additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
756API add-ons to make GTK+ widgets OpenGL-capable.")
757 (license license:lgpl2.1+)))
758
759(define-public glade3
760 (package
761 (name "glade")
762 (version "3.20.0")
763 (source (origin
764 (method url-fetch)
765 (uri (string-append "mirror://gnome/sources/" name "/"
766 (version-major+minor version) "/"
767 name "-" version ".tar.xz"))
768 (sha256
769 (base32
770 "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2"))))
771 (build-system glib-or-gtk-build-system)
772 (arguments
773 `(#:tests? #f ; needs X, GL, and software rendering
774 #:phases
775 (modify-phases %standard-phases
776 (add-before 'configure 'fix-docbook
777 (lambda* (#:key inputs #:allow-other-keys)
778 (substitute* "man/Makefile.in"
779 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
780 (string-append (assoc-ref inputs "docbook-xsl")
781 "/xml/xsl/docbook-xsl-"
782 ,(package-version docbook-xsl)
783 "/manpages/docbook.xsl")))
784 #t)))))
785 (inputs
786 `(("gtk+" ,gtk+)
787 ("libxml2" ,libxml2)))
788 (native-inputs
789 `(("intltool" ,intltool)
790 ("itstool" ,itstool)
791 ("libxslt" ,libxslt) ;for xsltproc
792 ("docbook-xml" ,docbook-xml-4.2)
793 ("docbook-xsl" ,docbook-xsl)
794 ("python" ,python-2)
795 ("pkg-config" ,pkg-config)))
796 (home-page "https://glade.gnome.org")
797 (synopsis "GTK+ rapid application development tool")
798 (description "Glade is a rapid application development (RAD) tool to
799enable quick & easy development of user interfaces for the GTK+ toolkit and
800the GNOME desktop environment.")
801 (license license:lgpl2.0+)))
802
803(define-public libcroco
804 (package
805 (name "libcroco")
806 (version "0.6.11")
807 (source (origin
808 (method url-fetch)
809 (uri (string-append "mirror://gnome/sources/" name "/"
810 (version-major+minor version) "/"
811 name "-" version ".tar.xz"))
812 (sha256
813 (base32
814 "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk"))))
815 (build-system gnu-build-system)
816 (native-inputs
817 `(("pkg-config" ,pkg-config)))
818 (inputs
819 `(("glib" ,glib)
820 ("libxml2" ,libxml2)
821 ("zlib" ,zlib)))
822 (home-page "https://github.com/GNOME/libcroco")
823 (synopsis "CSS2 parsing and manipulation library")
824 (description
825 "Libcroco is a standalone CSS2 parsing and manipulation library.
826The parser provides a low level event driven SAC-like API and a CSS object
827model like API. Libcroco provides a CSS2 selection engine and an experimental
828XML/CSS rendering engine.")
829
830 ;; LGPLv2.1-only.
831 (license license:lgpl2.1)))
832
833(define-public libgsf
834 (package
835 (name "libgsf")
836 (version "1.14.36")
837 (source (origin
838 (method url-fetch)
839 (uri (string-append "mirror://gnome/sources/" name "/"
840 (version-major+minor version) "/"
841 name "-" version ".tar.xz"))
842 (sha256
843 (base32
844 "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi"))))
845 (build-system gnu-build-system)
846 (native-inputs
847 `(("intltool" ,intltool)
848 ("pkg-config" ,pkg-config)))
849 (inputs
850 `(("python" ,python)
851 ("zlib" ,zlib)
852 ("bzip2" ,bzip2)))
853 (propagated-inputs
854 `(("gdk-pixbuf" ,gdk-pixbuf)
855 ("glib" ,glib)
856 ("libxml2" ,libxml2)))
857 (home-page "http://www.gnome.org/projects/libgsf")
858 (synopsis "GNOME's Structured File Library")
859 (description
860 "Libgsf aims to provide an efficient extensible I/O abstraction for
861dealing with different structured file formats.")
862
863 ;; LGPLv2.1-only.
864 (license license:lgpl2.1)))
865
866(define-public librsvg
867 (package
868 (name "librsvg")
869 (version "2.40.15")
870 (source (origin
871 (method url-fetch)
872 (uri (string-append "mirror://gnome/sources/" name "/"
873 (version-major+minor version) "/"
874 name "-" version ".tar.xz"))
875 (sha256
876 (base32
877 "1x05vd2llpmskq3prkp7kbpmshmpp9whj4kfl99ybipf4fhw9jnr"))))
878 (build-system gnu-build-system)
879 (arguments
880 `(#:phases
881 (alist-cons-before
882 'configure 'pre-configure
883 (lambda* (#:key inputs #:allow-other-keys)
884 (substitute* "gdk-pixbuf-loader/Makefile.in"
885 ;; By default the gdk-pixbuf loader is installed under
886 ;; gdk-pixbuf's prefix. Work around that.
887 (("gdk_pixbuf_moduledir = .*$")
888 (string-append "gdk_pixbuf_moduledir = "
889 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
890 "loaders\n"))
891 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
892 (("gdk_pixbuf_cache_file = .*$")
893 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))
894 %standard-phases)))
895 (native-inputs
896 `(("pkg-config" ,pkg-config)
897 ("glib" ,glib "bin") ; glib-mkenums, etc.
898 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
899 (inputs
900 `(("pango" ,pango)
901 ("libcroco" ,libcroco)
902 ("bzip2" ,bzip2)
903 ("libgsf" ,libgsf)
904 ("libxml2" ,libxml2)))
905 (propagated-inputs
906 ;; librsvg-2.0.pc refers to all of that.
907 `(("cairo" ,cairo)
908 ("gdk-pixbuf" ,gdk-pixbuf)
909 ("glib" ,glib)))
910 (home-page "https://wiki.gnome.org/LibRsvg")
911 (synopsis "Render SVG files using Cairo")
912 (description
913 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
914library.")
915 (license license:lgpl2.0+)))
916
917(define-public libidl
918 (package
919 (name "libidl")
920 (version "0.8.14")
921 (source (origin
922 (method url-fetch)
923 (uri (let ((upstream-name "libIDL"))
924 (string-append "mirror://gnome/sources/" upstream-name "/"
925 (version-major+minor version) "/"
926 upstream-name "-" version ".tar.bz2")))
927 (sha256
928 (base32
929 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
930 (build-system gnu-build-system)
931 (inputs `(("glib" ,glib)))
932 (native-inputs
933 `(("pkg-config" ,pkg-config)
934 ("flex" ,flex)
935 ("bison" ,bison)))
936 (home-page "http://freecode.com/projects/libidl")
937 (synopsis "Create trees of CORBA Interface Definition Language files")
938 (description "Libidl is a library for creating trees of CORBA Interface
939Definition Language (idl) files, which is a specification for defining
940portable interfaces. libidl was initially written for orbit (the orb from the
941GNOME project, and the primary means of libidl distribution). However, the
942functionality was designed to be as reusable and portable as possible.")
943 (license license:lgpl2.0+)))
944
945
946(define-public orbit2
947 (package
948 (name "orbit2")
949 (version "2.14.19")
950 (source (origin
951 (method url-fetch)
952 (uri (let ((upstream-name "ORBit2"))
953 (string-append "mirror://gnome/sources/" upstream-name "/"
954 (version-major+minor version) "/"
955 upstream-name "-" version ".tar.bz2")))
956 (sha256
957 (base32
958 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
959 (build-system gnu-build-system)
960 (arguments
961 `(#:configure-flags
962 ;; The programmer kindly gives us a hook to turn off deprecation
963 ;; warnings ...
964 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
965 ;; ... which they then completly ignore !!
966 #:phases
967 (alist-cons-before
968 'configure 'ignore-deprecations
969 (lambda _
970 (substitute* "linc2/src/Makefile.in"
971 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
972 %standard-phases)))
973 (inputs `(("glib" ,glib)
974 ("libidl" ,libidl)))
975 (native-inputs
976 `(("pkg-config" ,pkg-config)))
977 (home-page "https://projects.gnome.org/orbit2/")
978 (synopsis "CORBA 2.4-compliant Object Request Broker")
979 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
980featuring mature C, C++ and Python bindings.")
981 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
982 ;; a version. SOME of the code files have licence notices for GPLv2+.
983 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
984 (license license:gpl2+)))
985
986
987(define-public libbonobo
988 (package
989 (name "libbonobo")
990 (version "2.32.1")
991 (source (origin
992 (method url-fetch)
993 (uri (string-append "mirror://gnome/sources/" name "/"
994 (version-major+minor version)
995 "/" name "-" version ".tar.bz2"))
996 (sha256
997 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
998 (patches (search-patches
999 "libbonobo-activation-test-race.patch"))))
1000 (build-system gnu-build-system)
1001 (arguments
1002 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
1003 `(#:configure-flags
1004 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1005 ;; ... which they then completly ignore !!
1006 #:phases
1007 (alist-cons-before
1008 'configure 'ignore-deprecations
1009 (lambda _
1010 (substitute* "activation-server/Makefile.in"
1011 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1012 %standard-phases)))
1013 (inputs `(("popt" ,popt)
1014 ("libxml2" ,libxml2)))
1015 ;; The following are Required by the .pc file
1016 (propagated-inputs
1017 `(("glib" ,glib)
1018 ("orbit2" ,orbit2)))
1019 (native-inputs
1020 `(("intltool" ,intltool)
1021 ("pkg-config" ,pkg-config)
1022 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1023 ("flex" ,flex)
1024 ("bison" ,bison)))
1025 (home-page "https://developer.gnome.org/libbonobo/")
1026 (synopsis "Framework for creating reusable components for use in GNOME applications")
1027 (description "Bonobo is a framework for creating reusable components for
1028use in GNOME applications, built on top of CORBA.")
1029 ;; Licence not explicitly stated. Source files contain no licence notices.
1030 ;; Tarball contains text of both GPLv2 and LGPLv2
1031 ;; GPLv2 covers both conditions
1032 (license license:gpl2+)))
1033
1034
1035(define-public gconf
1036 (package
1037 (name "gconf")
1038 (version "3.2.6")
1039 (source (origin
1040 (method url-fetch)
1041 (uri
1042 (let ((upstream-name "GConf"))
1043 (string-append "mirror://gnome/sources/" upstream-name "/"
1044 (version-major+minor version) "/"
1045 upstream-name "-" version ".tar.xz")))
1046 (sha256
1047 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1048 (build-system gnu-build-system)
1049 (inputs `(("dbus-glib" ,dbus-glib)
1050 ("libxml2" ,libxml2)))
1051 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1052 ("orbit2" ,orbit2)))
1053 (native-inputs
1054 `(("intltool" ,intltool)
1055 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1056 ("pkg-config" ,pkg-config)))
1057 (home-page "https://projects.gnome.org/gconf/")
1058 (synopsis "Store application preferences")
1059 (description "Gconf is a system for storing application preferences. It
1060is intended for user preferences; not arbitrary data storage.")
1061 (license license:lgpl2.0+)))
1062
1063
1064(define-public gnome-mime-data
1065 (package
1066 (name "gnome-mime-data")
1067 (version "2.18.0")
1068 (source (origin
1069 (method url-fetch)
1070 (uri (string-append "mirror://gnome/sources/" name "/"
1071 (version-major+minor version) "/"
1072 name "-" version ".tar.bz2"))
1073 (sha256
1074 (base32
1075 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1076 (build-system gnu-build-system)
1077 (native-inputs
1078 `(("perl" ,perl)
1079 ("intltool" ,intltool)))
1080 (home-page "http://www.gnome.org")
1081 (synopsis "Base MIME and Application database for GNOME")
1082 (description "GNOME Mime Data is a module which contains the base MIME
1083and Application database for GNOME. The data stored by this module is
1084designed to be accessed through the MIME functions in GnomeVFS.")
1085 (license license:gpl2+)))
1086
1087
1088(define-public gnome-vfs
1089 (package
1090 (name "gnome-vfs")
1091 (version "2.24.4")
1092 (source (origin
1093 (method url-fetch)
1094 (uri (string-append "mirror://gnome/sources/" name "/"
1095 (version-major+minor version) "/"
1096 name "-" version ".tar.bz2"))
1097 (sha256
1098 (base32
1099 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
1100 (build-system gnu-build-system)
1101 (arguments
1102 `(#:phases
1103 (alist-cons-before
1104 'configure 'ignore-deprecations
1105 (lambda _
1106 (substitute* '("libgnomevfs/Makefile.in"
1107 "daemon/Makefile.in")
1108 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1109 #t)
1110 (alist-cons-before
1111 'configure 'patch-test-async-cancel-to-never-fail
1112 (lambda _
1113 (substitute* "test/test-async-cancel.c"
1114 (("EXIT_FAILURE") "77")))
1115 %standard-phases))))
1116 (inputs `(("libxml2" ,libxml2)
1117 ("dbus-glib" ,dbus-glib)
1118 ("gconf" ,gconf)
1119 ("gnome-mime-data" ,gnome-mime-data)
1120 ("zlib" ,zlib)))
1121 (native-inputs
1122 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1123 ("intltool" ,intltool)
1124 ("pkg-config" ,pkg-config)))
1125 (home-page "https://developer.gnome.org/gnome-vfs/")
1126 (synopsis "Access files and folders in GNOME applications")
1127 (description
1128 "GnomeVFS is the core library used to access files and folders in GNOME
1129applications. It provides a file system abstraction which allows applications
1130to access local and remote files with a single consistent API.")
1131 (license license:lgpl2.0+)))
1132
1133
1134
1135(define-public libgnome
1136 (package
1137 (name "libgnome")
1138 (version "2.32.1")
1139 (source (origin
1140 (method url-fetch)
1141 (uri (string-append "mirror://gnome/sources/" name "/"
1142 (version-major+minor version) "/"
1143 name "-" version ".tar.bz2"))
1144 (sha256
1145 (base32
1146 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1147 (build-system gnu-build-system)
1148 (arguments
1149 `(#:phases
1150 (alist-cons-before
1151 'configure 'enable-deprecated
1152 (lambda _
1153 (substitute* "libgnome/Makefile.in"
1154 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1155 %standard-phases)))
1156 (inputs `(("libxml2" ,libxml2)))
1157 (native-inputs
1158 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1159 ("intltool" ,intltool)
1160 ("pkg-config" ,pkg-config)))
1161 ;; The following are listed as Required in the .pc file
1162 ;; (except for libcanberra -- which seems to be oversight on the part
1163 ;; of the upstream developers -- anything that links against libgnome,
1164 ;; must also link against libcanberra
1165 (propagated-inputs
1166 `(("libcanberra" ,libcanberra)
1167 ("libbonobo" ,libbonobo)
1168 ("gconf" ,gconf)
1169 ("gnome-vfs" ,gnome-vfs)
1170 ("popt" ,popt))) ;gnome-program.h includes popt.h
1171 (home-page "https://developer.gnome.org/libgnome/")
1172 (synopsis "Useful routines for building applications")
1173 (description "The libgnome library provides a number of useful routines
1174for building modern applications, including session management, activation of
1175files and URIs, and displaying help.")
1176 (license license:lgpl2.0+)))
1177
1178
1179(define-public libart-lgpl
1180 (package
1181 (name "libart-lgpl")
1182 (version "2.3.21")
1183 (source (origin
1184 (method url-fetch)
1185 (uri (let ((upstream-name "libart_lgpl"))
1186 (string-append "mirror://gnome/sources/" upstream-name "/"
1187 (version-major+minor version) "/"
1188 upstream-name "-" version ".tar.bz2")))
1189 (sha256
1190 (base32
1191 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
1192 (build-system gnu-build-system)
1193 (native-inputs
1194 `(("pkg-config" ,pkg-config)))
1195 (home-page "https://people.gnome.org/~mathieu/libart")
1196 (synopsis "2D drawing library")
1197 (description "Libart is a 2D drawing library intended as a
1198high-quality vector-based 2D library with antialiasing and alpha composition.")
1199 (license license:lgpl2.0+)))
1200
1201
1202
1203(define-public libgnomecanvas
1204 (package
1205 (name "libgnomecanvas")
1206 (version "2.30.3")
1207 (source (origin
1208 (method url-fetch)
1209 (uri (string-append "mirror://gnome/sources/" name "/"
1210 (version-major+minor version) "/"
1211 name "-" version ".tar.gz"))
1212 (sha256
1213 (base32
1214 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1215 (build-system gnu-build-system)
1216 ;; Mentioned as Required in the .pc file
1217 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1218 ("gtk+" ,gtk+-2)))
1219 (native-inputs
1220 `(("intltool" ,intltool)
1221 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1222 ("pkg-config" ,pkg-config)))
1223 (home-page "https://developer.gnome.org/libgnomecanvas/")
1224 (synopsis "Flexible widget for creating interactive structured graphics")
1225 (description "The GnomeCanvas widget provides a flexible widget for
1226creating interactive structured graphics.")
1227 (license license:lgpl2.0+)))
1228
1229(define-public libgnomecanvasmm
1230 (package
1231 (name "libgnomecanvasmm")
1232 (version "2.26.0")
1233 (source (origin
1234 (method url-fetch)
1235 (uri (string-append "mirror://gnome/sources/" name "/"
1236 (version-major+minor version) "/"
1237 name "-" version ".tar.bz2"))
1238 (sha256
1239 (base32
1240 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1241 (build-system gnu-build-system)
1242 (arguments
1243 '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
1244 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1245 (native-inputs
1246 `(("gtkmm-2" ,gtkmm-2)
1247 ("pkg-config" ,pkg-config)))
1248 (home-page "http://gtkmm.org")
1249 (synopsis "C++ bindings to the GNOME Canvas library")
1250 (description "C++ bindings to the GNOME Canvas library.")
1251 (license license:lgpl2.0+)))
1252
1253(define-public libgnomeui
1254 (package
1255 (name "libgnomeui")
1256 (version "2.24.5")
1257 (source (origin
1258 (method url-fetch)
1259 (uri (string-append "mirror://gnome/sources/" name "/"
1260 (version-major+minor version) "/"
1261 name "-" version ".tar.bz2"))
1262 (sha256
1263 (base32
1264 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1265 (build-system gnu-build-system)
1266 ;; Mentioned as Required in the .pc file
1267 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1268 ("libgnome" ,libgnome)
1269 ("libgnomecanvas" ,libgnomecanvas)
1270 ("libgnome-keyring" ,libgnome-keyring)))
1271 (inputs `(("libjpeg" ,libjpeg)
1272 ("popt" ,popt)
1273 ("libbonobo" ,libbonobo)
1274 ("libxml2" ,libxml2)
1275 ("libglade" ,libglade)))
1276 (native-inputs
1277 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1278 ("intltool" ,intltool)
1279 ("pkg-config" ,pkg-config)))
1280 (home-page "https://developer.gnome.org/libgnomeui/")
1281 (synopsis "Additional widgets for applications")
1282 (description "The libgnomeui library provides additional widgets for
1283applications. Many of the widgets from libgnomeui have already been
1284ported to GTK+.")
1285 (license license:lgpl2.0+)))
1286
1287(define-public libglade
1288 (package
1289 (name "libglade")
1290 (version "2.6.4")
1291 (source (origin
1292 (method url-fetch)
1293 (uri (string-append "mirror://gnome/sources/" name "/"
1294 (version-major+minor version) "/"
1295 name "-" version ".tar.bz2"))
1296 (sha256
1297 (base32
1298 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1299 (build-system gnu-build-system)
1300 (inputs
1301 `(("python" ,python))) ;; needed for the optional libglade-convert program
1302 (propagated-inputs
1303 `(("gtk+-2" ,gtk+-2)
1304 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
1305 (native-inputs
1306 `(("pkg-config" ,pkg-config)))
1307 (home-page "https://developer.gnome.org/libglade")
1308 (synopsis "Load glade interfaces and access the glade built widgets")
1309 (description "Libglade is a library that provides interfaces for loading
1310graphical interfaces described in glade files and for accessing the
1311widgets built in the loading process.")
1312 (license license:gpl2+))) ; This is correct. GPL not LGPL
1313
1314(define-public libgnomeprint
1315 ;; This library has been deprecated since 2006; see
1316 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
1317 (package
1318 (name "libgnomeprint")
1319 (version "2.8.2")
1320 (source (origin
1321 (method url-fetch)
1322 (uri (string-append "mirror://gnome/sources/" name "/"
1323 (version-major+minor version) "/"
1324 name "-" version ".tar.bz2"))
1325 (sha256
1326 (base32
1327 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
1328 (build-system gnu-build-system)
1329 (inputs
1330 `(("popt" ,popt)
1331 ("libart-lgpl" ,libart-lgpl)
1332 ("gtk+" ,gtk+-2)
1333 ("libxml2" ,libxml2)))
1334 (native-inputs
1335 `(("intltool" ,intltool)
1336 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1337 ("pkg-config" ,pkg-config)))
1338 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1339 (synopsis "Printing framework for GNOME")
1340 (description
1341 "GNOME-print was a printing framework for GNOME. It has been deprecated
1342since ca. 2006, when GTK+ itself incorporated printing support.")
1343 (license license:lgpl2.0+)))
1344
1345
1346(define-public libgnomeprintui
1347 ;; Deprecated; see libgnomeprint.
1348 (package
1349 (name "libgnomeprintui")
1350 (version "2.8.2")
1351 (source (origin
1352 (method url-fetch)
1353 (uri (string-append "mirror://gnome/sources/" name "/"
1354 (version-major+minor version) "/"
1355 name "-" version ".tar.bz2"))
1356 (sha256
1357 (base32
1358 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1359 (build-system gnu-build-system)
1360 ;; Mentioned as Required in the .pc file
1361 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1362 (inputs `(("gtk+" ,gtk+-2)
1363 ("glib" ,glib)
1364 ("gnome-icon-theme" ,gnome-icon-theme)
1365 ("libgnomecanvas" ,libgnomecanvas)
1366 ("libxml2" ,libxml2)))
1367 (native-inputs
1368 `(("intltool" ,intltool)
1369 ("pkg-config" ,pkg-config)))
1370 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1371 (synopsis "Printing framework for GNOME")
1372 (description (package-description libgnomeprint))
1373 (license license:lgpl2.0+)))
1374
1375(define-public libbonoboui
1376 (package
1377 (name "libbonoboui")
1378 (version "2.24.5")
1379 (source (origin
1380 (method url-fetch)
1381 (uri (string-append "mirror://gnome/sources/" name "/"
1382 (version-major+minor version) "/"
1383 name "-" version ".tar.bz2"))
1384 (sha256
1385 (base32
1386 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1387 (build-system gnu-build-system)
1388 (arguments
1389 `(#:phases
1390 (alist-cons-before
1391 'check 'start-xserver
1392 (lambda* (#:key inputs #:allow-other-keys)
1393 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1394 (disp ":1"))
1395
1396 (setenv "HOME" (getcwd))
1397 (setenv "DISPLAY" disp)
1398 ;; There must be a running X server and make check doesn't start one.
1399 ;; Therefore we must do it.
1400 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1401 %standard-phases)))
1402 ;; Mentioned as Required by the .pc file
1403 (propagated-inputs `(("libxml2" ,libxml2)))
1404 (inputs
1405 `(("popt" ,popt)
1406 ("pangox-compat" ,pangox-compat)
1407 ("libgnome" ,libgnome)
1408 ("libgnomecanvas" ,libgnomecanvas)
1409 ("libglade" ,libglade)))
1410 (native-inputs
1411 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1412 ("intltool" ,intltool)
1413 ("xorg-server" ,xorg-server) ; For running the tests
1414 ("pkg-config" ,pkg-config)))
1415 (home-page "https://developer.gnome.org/libbonoboui/")
1416 (synopsis "Some user interface controls using Bonobo")
1417 (description "The Bonobo UI library provides a number of user interface
1418controls using the Bonobo component framework.")
1419 (license license:lgpl2.0+)))
1420
1421(define-public libwnck
1422 (package
1423 (name "libwnck")
1424 (version "3.14.1")
1425 (source (origin
1426 (method url-fetch)
1427 (uri (string-append "mirror://gnome/sources/" name "/"
1428 (version-major+minor version) "/"
1429 name "-" version ".tar.xz"))
1430 (sha256
1431 (base32 "1ymya8gkjygvg0i901wr3q6ihfqxx5yf4g4pb6fag2iw8af3qr5v"))))
1432 (build-system gnu-build-system)
1433 (native-inputs
1434 `(("pkg-config" ,pkg-config)
1435 ("intltool" ,intltool)))
1436 (propagated-inputs
1437 `(("gtk+" ,gtk+)
1438 ("libxres" ,libxres)
1439 ("startup-notification" ,startup-notification)))
1440 (home-page "https://developer.gnome.org/libwnck/")
1441 (synopsis "Window Navigator Construction Kit")
1442 (description
1443 "Libwnck is the Window Navigator Construction Kit, a library for use in
1444writing pagers, tasklists, and more generally applications that are dealing
1445with window management. It tries hard to respect the Extended Window Manager
1446Hints specification (EWMH).")
1447 (license license:lgpl2.0+)))
1448
1449;; stable version for gtk2, required by xfwm4.
1450(define-public libwnck-2
1451 (package (inherit libwnck)
1452 (name "libwnck")
1453 (version "2.30.7")
1454 (source (origin
1455 (method url-fetch)
1456 (uri (string-append "mirror://gnome/sources/" name "/"
1457 (version-major+minor version) "/"
1458 name "-" version ".tar.xz"))
1459 (sha256
1460 (base32
1461 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1462 (propagated-inputs
1463 `(("gtk+" ,gtk+-2)
1464 ("libxres" ,libxres)
1465 ("startup-notification" ,startup-notification)))))
1466
1467(define-public goffice
1468 (package
1469 (name "goffice")
1470 (version "0.10.28")
1471 (source (origin
1472 (method url-fetch)
1473 (uri (string-append "mirror://gnome/sources/" name "/"
1474 (version-major+minor version) "/"
1475 name "-" version ".tar.xz"))
1476 (sha256
1477 (base32 "12rsgxrixkfpk420gv026i74pnlgqjzsvm6vffrmih54w46hd3q6"))))
1478 (build-system gnu-build-system)
1479 (outputs '("out"
1480 "doc")) ;4.1 MiB of gtk-doc
1481 (arguments
1482 '(#:configure-flags (list (string-append "--with-html-dir="
1483 (assoc-ref %outputs "doc")
1484 "/share/gtk-doc/html"))))
1485 (inputs
1486 `(("gtk+" ,gtk+)
1487 ("libgsf" ,libgsf)
1488 ("librsvg" ,librsvg)
1489 ("libxslt" ,libxslt)
1490 ("libxml2" ,libxml2)))
1491 (native-inputs
1492 `(("intltool" ,intltool)
1493 ("glib" ,glib "bin")
1494 ("pkg-config" ,pkg-config)))
1495 (home-page "https://developer.gnome.org/goffice/")
1496 (synopsis "Document-centric objects and utilities")
1497 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1498 (license
1499 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1500 ;; Note: NOT LGPL
1501 (list license:gpl2 license:gpl3))))
1502
1503(define-public goffice-0.8
1504 (package (inherit goffice)
1505 (version "0.8.17")
1506 (source (origin
1507 (method url-fetch)
1508 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1509 (version-major+minor version) "/"
1510 (package-name goffice) "-" version ".tar.xz"))
1511 (sha256
1512 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1513 (arguments
1514 `(#:phases
1515 (alist-cons-after
1516 'unpack 'fix-pcre-check
1517 (lambda _
1518 ;; Only glib.h can be included directly. See
1519 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1520 (substitute* "configure"
1521 (("glib/gregex\\.h") "glib.h")) #t)
1522 %standard-phases)
1523
1524 ,@(package-arguments goffice)))
1525 (propagated-inputs
1526 ;; libgoffice-0.8.pc mentions libgsf-1
1527 `(("libgsf" ,libgsf)))
1528 (inputs
1529 `(("gtk" ,gtk+-2)
1530 ,@(alist-delete "gtk" (package-inputs goffice))))))
1531
1532(define-public gnumeric
1533 (package
1534 (name "gnumeric")
1535 (version "1.12.28")
1536 (source (origin
1537 (method url-fetch)
1538 (uri (string-append "mirror://gnome/sources/" name "/"
1539 (version-major+minor version) "/"
1540 name "-" version ".tar.xz"))
1541 (sha256
1542 (base32
1543 "1fsdp7r6fhc0m3fb4ly4xwh83v3hp2zrv9d0713g4lcy709svm02"))))
1544 (build-system gnu-build-system)
1545 (arguments
1546 `(;; The gnumeric developers don't worry much about failing tests.
1547 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1548 #:tests? #f
1549 #:phases
1550 (modify-phases %standard-phases
1551 (add-before
1552 'configure 'pre-conf
1553 (lambda* (#:key outputs #:allow-other-keys)
1554 ;; Make install tries to write into the directory of goffice
1555 ;; I am informed that this only affects the possibility to embed a
1556 ;; spreadsheet inside an Abiword document. So presumably when we
1557 ;; package Abiword we'll have to refer it to this directory.
1558 (substitute* "configure"
1559 (("^GOFFICE_PLUGINS_DIR=.*")
1560 (string-append "GOFFICE_PLUGINS_DIR="
1561 (assoc-ref outputs "out")
1562 "/goffice/plugins"))))))))
1563 (inputs
1564 `(("glib" ,glib)
1565 ("gtk+" ,gtk+)
1566 ("goffice" ,goffice)
1567 ("libgsf" ,libgsf)
1568 ("librsvg" ,librsvg)
1569 ("libxml2" ,libxml2)
1570 ("libxslt" ,libxslt)
1571 ("python" ,python-2)
1572 ("python2-pygobject" ,python2-pygobject)
1573 ("zlib" ,zlib)))
1574 (native-inputs
1575 `(("bison" ,bison)
1576 ("intltool" ,intltool)
1577 ("glib:bin" ,glib "bin")
1578 ("pkg-config" ,pkg-config)))
1579 (home-page "http://www.gnumeric.org")
1580 (synopsis "Spreadsheet application")
1581 (description
1582 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1583interoperable with other spreadsheet applications. It has a vast array of
1584features beyond typical spreadsheet functionality, such as support for linear
1585and non-linear solvers, statistical analysis, and telecommunication
1586engineering.")
1587 (license
1588 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1589 (list license:gpl2 license:gpl3))))
1590
1591(define-public gnome-themes-standard
1592 (package
1593 (name "gnome-themes-standard")
1594 (version "3.20")
1595 (source
1596 (origin
1597 (method url-fetch)
1598 (uri (string-append "mirror://gnome/sources/" name "/"
1599 (version-major+minor version) "/" name "-"
1600 version ".tar.xz"))
1601 (sha256
1602 (base32
1603 "1p1vvmzfky1ax3yv9ld10xgqwydhmglxpgq3skrfc4539nrq9phw"))))
1604 (build-system gnu-build-system)
1605 (inputs
1606 `(("gtk+" ,gtk+)
1607 ("gtk+-2" ,gtk+-2)
1608 ("librsvg" ,librsvg)
1609 ("libxml2" ,libxml2)
1610 ("glib" ,glib)))
1611 (native-inputs
1612 `(("intltool" ,intltool)
1613 ("glib:bin" ,glib "bin")
1614 ("pkg-config" ,pkg-config)))
1615 (home-page "https://launchpad.net/gnome-themes-standard")
1616 (synopsis "Default GNOME 3 themes")
1617 (description
1618 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1619 (license license:lgpl2.1+)))
1620
1621(define-public seahorse
1622 (package
1623 (name "seahorse")
1624 (version "3.20.0")
1625 (source
1626 (origin
1627 (method url-fetch)
1628 (uri (string-append "mirror://gnome/sources/" name "/"
1629 (version-major+minor version) "/" name "-"
1630 version ".tar.xz"))
1631 (sha256
1632 (base32
1633 "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
1634 (build-system glib-or-gtk-build-system)
1635 (inputs
1636 `(("gtk+" ,gtk+)
1637 ("gcr" ,gcr)
1638 ("gnupg" ,gnupg)
1639 ("gpgme" ,gpgme)
1640 ("openldap" ,openldap)
1641 ("openssh" ,openssh)
1642 ("libsecret" ,libsecret)
1643 ("libsoup" ,libsoup)))
1644 (native-inputs
1645 `(("intltool" ,intltool)
1646 ("glib:bin" ,glib "bin")
1647 ("itstool" ,itstool)
1648 ("pkg-config" ,pkg-config)
1649 ("xmllint" ,libxml2)))
1650 (home-page "https://launchpad.net/gnome-themes-standard")
1651 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1652 (description
1653 "Seahorse is a GNOME application for managing encryption keys and
1654passwords in the GNOME keyring.")
1655 (license license:gpl2+)))
1656
1657(define-public vala
1658 (package
1659 (name "vala")
1660 (version "0.32.0")
1661 (source (origin
1662 (method url-fetch)
1663 (uri (string-append "mirror://gnome/sources/" name "/"
1664 (version-major+minor version) "/"
1665 name "-" version ".tar.xz"))
1666 (sha256
1667 (base32
1668 "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7"))))
1669 (build-system gnu-build-system)
1670 (arguments
1671 '(#:phases
1672 (modify-phases %standard-phases
1673 (add-before 'check 'pre-check
1674 (lambda _
1675 (setenv "CC" "gcc")
1676 ;; For missing '/etc/machine-id'.
1677 (setenv "DBUS_FATAL_WARNINGS" "0")
1678 #t)))))
1679 (native-inputs
1680 `(("pkg-config" ,pkg-config)
1681 ("flex" ,flex)
1682 ("bison" ,bison)
1683 ("xsltproc" ,libxslt)
1684 ("dbus" ,dbus) ; for dbus tests
1685 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1686 (propagated-inputs
1687 `(("glib" ,glib))) ; required by libvala-0.26.pc
1688 (home-page "http://live.gnome.org/Vala/")
1689 (synopsis "Compiler for the GObject type system")
1690 (description
1691 "Vala is a programming language that aims to bring modern programming
1692language features to GNOME developers without imposing any additional runtime
1693requirements and without using a different ABI compared to applications and
1694libraries written in C.")
1695 (license license:lgpl2.1+)))
1696
1697(define-public vte
1698 (package
1699 (name "vte")
1700 (version "0.44.1")
1701 (source (origin
1702 (method url-fetch)
1703 (uri (string-append "mirror://gnome/sources/" name "/"
1704 (version-major+minor version) "/"
1705 name "-" version ".tar.xz"))
1706 (sha256
1707 (base32
1708 "0kjxzqcwqxky0l7bl8ydn9hl6fm1f0k2pl91wbbhyq4z6d4dabbi"))))
1709 (build-system gnu-build-system)
1710 (arguments
1711 ;; XXX: fails to compile tests with the default flags.
1712 ;; vteconv.cc:774:40:
1713 ;; error: missing sentinel in function call [-Werror=format=]
1714 ;; g_test_init (&argc, &argv, NULL);
1715 ;;
1716 ;; cc1plus: some warnings being treated as errors
1717 '(#:configure-flags '("CXXFLAGS=-Wformat=0")))
1718 (native-inputs
1719 `(("pkg-config" ,pkg-config)
1720 ("intltool" ,intltool)
1721 ("vala" ,vala)
1722 ("gobject-introspection" ,gobject-introspection)
1723 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1724 ("xmllint" ,libxml2)))
1725 (propagated-inputs
1726 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
1727 ("gnutls" ,gnutls))) ;ditto
1728 (home-page "http://www.gnome.org/")
1729 (synopsis "Virtual Terminal Emulator")
1730 (description
1731 "VTE is a library (libvte) implementing a terminal emulator widget for
1732GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1733gnome-terminal, but can also be used to embed a console/terminal in games,
1734editors, IDEs, etc.")
1735 (license license:lgpl2.1+)))
1736
1737;; provides vte 2.90, required for some terminal emulators
1738;; tilda bug: https://github.com/lanoxx/tilda/issues/94
1739;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
1740;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
1741;; pantheon-terminal, roxterm are not currently packaged
1742(define-public vte-0.36
1743 (package (inherit vte)
1744 (name "vte")
1745 (version "0.36.5")
1746 (source (origin
1747 (method url-fetch)
1748 (uri (string-append "mirror://gnome/sources/" name "/"
1749 (version-major+minor version) "/"
1750 name "-" version ".tar.xz"))
1751 (sha256
1752 (base32
1753 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
1754 (propagated-inputs
1755 `(("gtk" ,gtk+)
1756 ("ncurses" ,ncurses)))))
1757
1758;; stable version for gtk2, required by xfce4-terminal.
1759(define-public vte/gtk+-2
1760 (package (inherit vte)
1761 (name "vte")
1762 (version "0.28.2")
1763 (source (origin
1764 (method url-fetch)
1765 (uri (string-append "mirror://gnome/sources/" name "/"
1766 (version-major+minor version) "/"
1767 name "-" version ".tar.xz"))
1768 (sha256
1769 (base32
1770 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1771 (arguments
1772 '(#:configure-flags '("--disable-python")))
1773 (native-inputs
1774 `(("pkg-config" ,pkg-config)
1775 ("intltool" ,intltool)
1776 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1777 (propagated-inputs
1778 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1779 ("ncurses" ,ncurses))))) ; required by libvte.la
1780
1781(define-public dconf
1782 (package
1783 (name "dconf")
1784 (version "0.26.0")
1785 (source (origin
1786 (method url-fetch)
1787 (uri (string-append
1788 "mirror://gnome/sources/" name "/"
1789 (version-major+minor version) "/"
1790 name "-" version ".tar.xz"))
1791 (sha256
1792 (base32
1793 "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"))))
1794 (build-system glib-or-gtk-build-system)
1795 (inputs
1796 `(("gtk+" ,gtk+)
1797 ("glib" ,glib)
1798 ("dbus" ,dbus)
1799 ("libxml2" ,libxml2)))
1800 (native-inputs
1801 `(("libxslt" ,libxslt)
1802 ("docbook-xml" ,docbook-xml-4.2)
1803 ("docbook-xsl" ,docbook-xsl)
1804 ("intltool" ,intltool)
1805 ("pkg-config" ,pkg-config)))
1806 (arguments
1807 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1808 ; or /etc/machine-id.
1809 #:configure-flags
1810 ;; Set the correct RUNPATH in binaries.
1811 (list (string-append "LDFLAGS=-Wl,-rpath="
1812 (assoc-ref %outputs "out") "/lib")
1813 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1814 #:phases
1815 (alist-cons-before
1816 'configure 'fix-docbook
1817 (lambda* (#:key inputs #:allow-other-keys)
1818 (substitute* "docs/Makefile.in"
1819 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1820 (string-append (assoc-ref inputs "docbook-xsl")
1821 "/xml/xsl/docbook-xsl-"
1822 ,(package-version docbook-xsl)
1823 "/manpages/docbook.xsl")))
1824 (setenv "XML_CATALOG_FILES"
1825 (string-append (assoc-ref inputs "docbook-xml")
1826 "/xml/dtd/docbook/catalog.xml")))
1827 %standard-phases)))
1828 (home-page "https://developer.gnome.org/dconf")
1829 (synopsis "Low-level GNOME configuration system")
1830 (description "Dconf is a low-level configuration system. Its main purpose
1831is to provide a backend to GSettings on platforms that don't already have
1832configuration storage systems.")
1833 (license license:lgpl2.1)))
1834
1835(define-public json-glib
1836 (package
1837 (name "json-glib")
1838 (version "1.2.0")
1839 (source (origin
1840 (method url-fetch)
1841 (uri (string-append "mirror://gnome/sources/" name "/"
1842 (version-major+minor version) "/"
1843 name "-" version ".tar.xz"))
1844 (sha256
1845 (base32
1846 "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr"))
1847 (modules '((guix build utils)))
1848 (snippet
1849 ;; Don't duplicate test names.
1850 ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>.
1851 '(substitute* "json-glib/tests/builder.c"
1852 (("\"/builder/complex\", test_builder_empty")
1853 "\"/builder/empty\", test_builder_empty")))))
1854 (build-system gnu-build-system)
1855 (native-inputs
1856 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
1857 ("gobject-introspection" ,gobject-introspection)
1858 ("pkg-config" ,pkg-config)))
1859 (propagated-inputs
1860 `(("glib" ,glib))) ;according to json-glib-1.0.pc
1861 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
1862 (synopsis "Compiler for the GObject type system")
1863 (description
1864 "JSON-GLib is a C library based on GLib providing serialization and
1865deserialization support for the JavaScript Object Notation (JSON) format
1866described by RFC 4627. It provides parser and generator GObject classes and
1867various wrappers for the complex data types employed by JSON, such as arrays
1868and objects.")
1869 (license license:lgpl2.1+)))
1870
1871(define-public libxklavier
1872 (package
1873 (name "libxklavier")
1874 (version "5.3")
1875 (source (origin
1876 (method url-fetch)
1877 (uri (string-append "mirror://gnome/sources/" name "/"
1878 version "/" name "-" version ".tar.xz"))
1879 (sha256
1880 (base32
1881 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
1882 (build-system gnu-build-system)
1883 (arguments
1884 '(#:configure-flags
1885 (list (string-append "--with-xkb-base="
1886 (assoc-ref %build-inputs "xkeyboard-config")
1887 "/share/X11/xkb"))))
1888 (native-inputs
1889 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
1890 ("gobject-introspection" ,gobject-introspection)
1891 ("pkg-config" ,pkg-config)))
1892 (propagated-inputs
1893 ;; Required by libxklavier.pc.
1894 `(("glib" ,glib)
1895 ("libxml2" ,libxml2)))
1896 (inputs
1897 `(("iso-codes" ,iso-codes)
1898 ("libxi" ,libxi)
1899 ("libxkbfile" ,libxkbfile)
1900 ("xkbcomp" ,xkbcomp)
1901 ("xkeyboard-config" ,xkeyboard-config)))
1902 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
1903 (synopsis "High-level API for X Keyboard Extension")
1904 (description
1905 "LibXklavier is a library providing high-level API for X Keyboard
1906Extension known as XKB. This library is intended to support XFree86 and other
1907commercial X servers. It is useful for creating XKB-related software (layout
1908indicators etc).")
1909 (license license:lgpl2.0+)))
1910
1911(define-public python2-rsvg
1912 ;; XXX: This is actually a subset of gnome-python-desktop.
1913 (package
1914 (name "python2-rsvg")
1915 (version "2.32.0")
1916 (source
1917 (origin
1918 (method url-fetch)
1919 (uri (string-append
1920 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
1921 version ".tar.bz2"))
1922 (sha256
1923 (base32
1924 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
1925 (build-system gnu-build-system)
1926 (native-inputs
1927 `(("pkg-config" ,pkg-config)))
1928 (inputs
1929 `(("python" ,python-2)
1930 ("python2-pygtk" ,python2-pygtk)
1931 ("librsvg" ,librsvg)))
1932 (home-page "http://www.gnome.org")
1933 (synopsis "Python bindings to librsvg")
1934 (description
1935 "This packages provides Python bindings to librsvg, the SVG rendering
1936library.")
1937
1938 ;; This is the license of the rsvg bindings. The license of each module
1939 ;; of gnome-python-desktop is given in 'COPYING'.
1940 (license license:lgpl2.1+)))
1941
1942(define-public glib-networking
1943 (package
1944 (name "glib-networking")
1945 (version "2.48.1")
1946 (source (origin
1947 (method url-fetch)
1948 (uri (string-append "mirror://gnome/sources/glib-networking/"
1949 (version-major+minor version) "/"
1950 name "-" version ".tar.xz"))
1951 (sha256
1952 (base32
1953 "0jm4pr91kbq7rcyll08840zkagb9vfhhm2ymyrd1q0b0k2mj76fg"))
1954 (patches
1955 (search-patches "glib-networking-ssl-cert-file.patch"))))
1956 (build-system gnu-build-system)
1957 (arguments
1958 `(#:configure-flags
1959 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
1960 #:phases
1961 (modify-phases %standard-phases
1962 (add-before 'configure 'patch-giomoduledir
1963 ;; Install GIO modules into $out/lib/gio/modules.
1964 (lambda _
1965 (substitute* "configure"
1966 (("GIO_MODULE_DIR=.*")
1967 (string-append "GIO_MODULE_DIR=" %output
1968 "/lib/gio/modules\n")))))
1969 (add-before 'check 'use-empty-ssl-cert-file
1970 (lambda _
1971 ;; The ca-certificates.crt is not available in the build
1972 ;; environment.
1973 (setenv "SSL_CERT_FILE" "/dev/null")
1974 #t)))))
1975 (native-inputs
1976 `(("pkg-config" ,pkg-config)
1977 ("intltool" ,intltool)))
1978 (inputs
1979 `(("glib" ,glib)
1980 ("gnutls" ,gnutls)
1981 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1982 ("p11-kit" ,p11-kit)))
1983 (home-page "http://www.gnome.org")
1984 (synopsis "Network-related GIO modules")
1985 (description
1986 "This package contains various network related extensions for the GIO
1987library.")
1988 (license license:lgpl2.0+)))
1989
1990(define-public rest
1991 (package
1992 (name "rest")
1993 (version "0.8.0")
1994 (source (origin
1995 (method url-fetch)
1996 (uri (string-append "mirror://gnome/sources/rest/"
1997 (version-major+minor version) "/"
1998 name "-" version ".tar.xz"))
1999 (sha256
2000 (base32
2001 "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77"))))
2002 (build-system gnu-build-system)
2003 (arguments
2004 '(#:tests? #f ; tests require internet connection
2005 #:configure-flags
2006 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2007 (native-inputs
2008 `(("glib-mkenums" ,glib "bin")
2009 ("gobject-introspection" ,gobject-introspection)
2010 ("pkg-config" ,pkg-config)))
2011 (propagated-inputs
2012 ;; rest-0.7.pc refers to all these.
2013 `(("glib" ,glib)
2014 ("libsoup" ,libsoup)
2015 ("libxml2" ,libxml2)))
2016 (home-page "http://www.gtk.org/")
2017 (synopsis "RESTful web api query library")
2018 (description
2019 "This library was designed to make it easier to access web services that
2020claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2021libxml to ease remote use of the RESTful API.")
2022 (license license:lgpl2.1+)))
2023
2024(define-public libsoup
2025 (package
2026 (name "libsoup")
2027 (version "2.54.1")
2028 (source (origin
2029 (method url-fetch)
2030 (uri (string-append "mirror://gnome/sources/libsoup/"
2031 (version-major+minor version) "/"
2032 name "-" version ".tar.xz"))
2033 (sha256
2034 (base32
2035 "0cyn5pq4xl1gb8413h2p4d5wrn558dc054zhwmk4swrl40ijrd27"))))
2036 (build-system gnu-build-system)
2037 (outputs '("out" "doc"))
2038 (arguments
2039 `(#:configure-flags
2040 (list (string-append "--with-html-dir="
2041 (assoc-ref %outputs "doc")
2042 "/share/gtk-doc/html"))
2043 #:phases
2044 (modify-phases %standard-phases
2045 (add-before 'configure 'disable-unconnected-socket-test
2046 ;; This test fails due to missing /etc/nsswitch.conf
2047 ;; in the build environment.
2048 (lambda _
2049 (substitute* "tests/socket-test.c"
2050 ((".*/sockets/unconnected.*") ""))
2051 #t))
2052 (add-before 'check 'pre-check
2053 (lambda _
2054 ;; The 'check-local' target runs 'env LANG=C sort -u',
2055 ;; unset 'LC_ALL' to make 'LANG' working.
2056 (unsetenv "LC_ALL")
2057 ;; The ca-certificates.crt is not available in the build
2058 ;; environment.
2059 (setenv "SSL_CERT_FILE" "/dev/null")
2060 #t))
2061 (replace 'install
2062 (lambda _
2063 (zero?
2064 (system* "make"
2065 ;; Install vala bindings into $out.
2066 (string-append "vapidir=" %output
2067 "/share/vala/vapi")
2068 "install")))))))
2069 (native-inputs
2070 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2071 ("gobject-introspection" ,gobject-introspection)
2072 ("intltool" ,intltool)
2073 ("pkg-config" ,pkg-config)
2074 ("python" ,python-wrapper)
2075 ("vala" ,vala)
2076 ;; These are needed for the tests.
2077 ;; FIXME: Add PHP once available.
2078 ("curl" ,curl)
2079 ("httpd" ,httpd)))
2080 (propagated-inputs
2081 ;; libsoup-2.4.pc refers to all these.
2082 `(("glib" ,glib)
2083 ("libxml2" ,libxml2)))
2084 (inputs
2085 `(("glib-networking" ,glib-networking)
2086 ("sqlite" ,sqlite)))
2087 (home-page "https://live.gnome.org/LibSoup/")
2088 (synopsis "GLib-based HTTP Library")
2089 (description
2090 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2091and the GLib main loop, to integrate well with GNOME applications.")
2092 (license license:lgpl2.0+)))
2093
2094(define-public libsecret
2095 (package
2096 (name "libsecret")
2097 (version "0.18.5")
2098 (source (origin
2099 (method url-fetch)
2100 (uri (string-append
2101 "mirror://gnome/sources/libsecret/"
2102 (version-major+minor version) "/"
2103 name "-" version ".tar.xz"))
2104 (sha256
2105 (base32
2106 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
2107 (build-system gnu-build-system)
2108 (outputs '("out" "doc"))
2109 (arguments
2110 `(#:tests? #f ; FIXME: Testing hangs.
2111 #:configure-flags
2112 (list (string-append "--with-html-dir="
2113 (assoc-ref %outputs "doc")
2114 "/share/gtk-doc/html"))))
2115 (native-inputs
2116 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2117 ("gobject-introspection" ,gobject-introspection)
2118 ("intltool" ,intltool)
2119 ("pkg-config" ,pkg-config)
2120 ("vala" ,vala)
2121 ("xsltproc" ,libxslt)))
2122 ;; These are needed for the tests.
2123 ;; FIXME: Add gjs once available.
2124 ;("dbus" ,dbus)
2125 ;("python2" ,python-2)
2126 ;("python2-dbus" ,python2-dbus)
2127 ;("python2-pygobject" ,python2-pygobject)
2128 ;("python2-pygobject-2" ,python2-pygobject-2)))
2129 (propagated-inputs
2130 `(("glib" ,glib))) ; required by libsecret-1.pc
2131 (inputs
2132 `(("docbook-xsl" ,docbook-xsl)
2133 ("libgcrypt" ,libgcrypt)
2134 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2135 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2136 (synopsis "GObject bindings for \"Secret Service\" API")
2137 (description
2138 "Libsecret is a GObject based library for storing and retrieving passwords
2139and other secrets. It communicates with the \"Secret Service\" using DBus.")
2140 (license license:lgpl2.1+)))
2141
2142(define-public gnome-mines
2143 (package
2144 (name "gnome-mines")
2145 (version "3.20.0")
2146 (source
2147 (origin
2148 (method url-fetch)
2149 (uri (string-append "mirror://gnome/sources/" name "/"
2150 (version-major+minor version) "/"
2151 name "-" version ".tar.xz"))
2152 (sha256
2153 (base32
2154 "19khp4ckqbdgk6828gprxy52fsg8klf957dnwsin75nskk8whxbp"))))
2155 (build-system glib-or-gtk-build-system)
2156 (arguments
2157 '(#:phases
2158 (modify-phases %standard-phases
2159 (add-before 'configure 'patch-/bin/true
2160 (lambda _
2161 (substitute* "configure"
2162 (("/bin/true") (which "true"))))))))
2163 (native-inputs
2164 `(("pkg-config" ,pkg-config)
2165 ("desktop-file-utils" ,desktop-file-utils)
2166 ("intltool" ,intltool)
2167 ("itstool" ,itstool)
2168 ("xmllint" ,libxml2)))
2169 (inputs
2170 `(("gtk+" ,gtk+)
2171 ("librsvg" ,librsvg)))
2172 (home-page "https://wiki.gnome.org/Apps/Mines")
2173 (synopsis "Minesweeper game")
2174 (description
2175 "Mines (previously gnomine) is a puzzle game where you locate mines
2176floating in an ocean using only your brain and a little bit of luck.")
2177 (license license:gpl2+)))
2178
2179(define-public gnome-sudoku
2180 (package
2181 (name "gnome-sudoku")
2182 (version "3.20.0")
2183 (source
2184 (origin
2185 (method url-fetch)
2186 (uri (string-append "mirror://gnome/sources/" name "/"
2187 (version-major+minor version) "/"
2188 name "-" version ".tar.xz"))
2189 (sha256
2190 (base32
2191 "1n8hp3pl56p9s0c5kldk11zg1vg7ykhgn3ndp8nf375h1q49ldh8"))))
2192 (build-system glib-or-gtk-build-system)
2193 (native-inputs
2194 `(("pkg-config" ,pkg-config)
2195 ("desktop-file-utils" ,desktop-file-utils)
2196 ("intltool" ,intltool)
2197 ("itstool" ,itstool)
2198 ("xmllint" ,libxml2)))
2199 (inputs
2200 `(("gtk+" ,gtk+)
2201 ("json-glib" ,json-glib)
2202 ("libgee" ,libgee)
2203 ("librsvg" ,librsvg)
2204 ("qqwing" ,qqwing)))
2205 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2206 (synopsis "Japanese logic game")
2207 (description
2208 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2209GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2210possible while still providing features that make playing difficult Sudoku
2211more fun.")
2212 (license license:gpl2+)))
2213
2214(define-public gnome-terminal
2215 (package
2216 (name "gnome-terminal")
2217 (version "3.20.1")
2218 (source
2219 (origin
2220 (method url-fetch)
2221 (uri (string-append "mirror://gnome/sources/" name "/"
2222 (version-major+minor version) "/"
2223 name "-" version ".tar.xz"))
2224 (sha256
2225 (base32
2226 "1508nm35znlfq9v1s2j4ypx5x608yq391c565b4hazxk2f5z9dwq"))))
2227 (build-system glib-or-gtk-build-system)
2228 (arguments
2229 '(#:configure-flags
2230 (list "--disable-migration" "--disable-search-provider"
2231 "--without-nautilus-extension")
2232 #:phases
2233 (modify-phases %standard-phases
2234 (add-before 'configure 'patch-/bin/true
2235 (lambda _
2236 (substitute* "configure"
2237 (("/bin/true") (which "true"))))))))
2238 (native-inputs
2239 `(("pkg-config" ,pkg-config)
2240 ("desktop-file-utils" ,desktop-file-utils)
2241 ("intltool" ,intltool)
2242 ("itstool" ,itstool)
2243 ("xmllint" ,libxml2)))
2244 (propagated-inputs
2245 `(("dconf" ,dconf)))
2246 (inputs
2247 `(("gtk+" ,gtk+)
2248 ("vte" ,vte)
2249 ("gnutls" ,gnutls)
2250 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2251 ("util-linux" ,util-linux)
2252 ("vala" ,vala)))
2253 (home-page "https://wiki.gnome.org/Apps/Terminal")
2254 (synopsis "Terminal emulator")
2255 (description
2256 "GNOME Terminal is a terminal emulator application for accessing a
2257UNIX shell environment which can be used to run programs available on
2258your system.
2259
2260It supports several profiles, multiple tabs and implements several
2261keyboard shortcuts.")
2262 (license license:gpl3+)))
2263
2264(define-public colord
2265 (package
2266 (name "colord")
2267 (version "1.1.8")
2268 (source
2269 (origin
2270 (method url-fetch)
2271 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
2272 name "-" version ".tar.xz"))
2273 (sha256
2274 (base32
2275 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2276 (build-system glib-or-gtk-build-system)
2277 (arguments
2278 '(;; The tests want to run valgrind. Punt for now.
2279 #:tests? #f
2280 #:configure-flags (list "--localstatedir=/var"
2281 ;; GUSB not packaged yet.
2282 "--disable-gusb"
2283 ;; No dep on systemd.
2284 "--disable-systemd-login"
2285 ;; Wants to install to global completion dir;
2286 ;; punt.
2287 "--disable-bash-completion"
2288 ;; colord-gtk not packaged yet.
2289 "--disable-session-example"
2290 "--with-daemon-user=colord"
2291 "--enable-sane"
2292 (string-append "--with-udevrulesdir="
2293 (assoc-ref %outputs "out")
2294 "/lib/udev/rules.d"))
2295 #:phases
2296 (modify-phases %standard-phases
2297 (add-before 'configure 'patch-/bin/true
2298 (lambda _
2299 (substitute* "configure"
2300 (("/bin/true") (which "true")))
2301 (substitute* "src/Makefile.in"
2302 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
2303 "if test -w $(DESTDIR)$(localstatedir);")))))))
2304 (native-inputs
2305 `(("pkg-config" ,pkg-config)
2306 ("gobject-introspection" ,gobject-introspection)
2307 ("libtool" ,libtool)
2308 ("intltool" ,intltool)))
2309 (propagated-inputs
2310 ;; colord.pc refers to all these.
2311 `(("glib" ,glib)
2312 ("udev" ,eudev)
2313 ("lcms" ,lcms)))
2314 (inputs
2315 `(("dbus-glib" ,dbus-glib)
2316 ("libgudev" ,libgudev)
2317 ("libusb" ,libusb)
2318 ("sqlite" ,sqlite)
2319 ("polkit" ,polkit)
2320 ("sane-backends" ,sane-backends)))
2321 (home-page "http://www.freedesktop.org/software/colord/")
2322 (synopsis "Color management service")
2323 (description "Colord is a system service that makes it easy to manage,
2324install and generate color profiles to accurately color manage input and
2325output devices.")
2326 (license license:gpl2+)))
2327
2328(define-public geoclue
2329 (package
2330 (name "geoclue")
2331 (version "2.4.3")
2332 (source
2333 (origin
2334 (method url-fetch)
2335 (uri (string-append "https://www.freedesktop.org/software/" name
2336 "/releases/" (version-major+minor version) "/"
2337 name "-" version ".tar.xz"))
2338 (sha256
2339 (base32
2340 "0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd"))
2341 (patches (search-patches "geoclue-config.patch"))))
2342 (build-system glib-or-gtk-build-system)
2343 (arguments
2344 '(;; The tests want to run the system bus.
2345 #:tests? #f
2346 #:configure-flags (list ;; Disable bits requiring ModemManager.
2347 "--disable-3g-source"
2348 "--disable-cdma-source"
2349 "--disable-modem-gps-source"
2350 "--with-dbus-service-user=geoclue")
2351 #:phases
2352 (modify-phases %standard-phases
2353 (add-before 'configure 'patch-/bin/true
2354 (lambda _
2355 (substitute* "configure"
2356 (("/bin/true") (which "true"))))))))
2357 (native-inputs
2358 `(("pkg-config" ,pkg-config)
2359 ("intltool" ,intltool)))
2360 (inputs
2361 `(("avahi" ,avahi)
2362 ("glib" ,glib)
2363 ("json-glib" ,json-glib)
2364 ("libsoup" ,libsoup)))
2365 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2366 (synopsis "Geolocation service")
2367 (description "Geoclue is a D-Bus service that provides location
2368information. The primary goal of the Geoclue project is to make creating
2369location-aware applications as simple as possible, while the secondary goal is
2370to ensure that no application can access location information without explicit
2371permission from user.")
2372 (license license:gpl2+)))
2373
2374(define-public geocode-glib
2375 (package
2376 (name "geocode-glib")
2377 (version "3.20.1")
2378 (source (origin
2379 (method url-fetch)
2380 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2381 (version-major+minor version) "/"
2382 name "-" version ".tar.xz"))
2383 (sha256
2384 (base32
2385 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2386 (build-system gnu-build-system)
2387 (arguments
2388 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2389 ;; work for the builder. Punt.
2390 #:tests? #f))
2391 (native-inputs
2392 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2393 ("gobject-introspection" ,gobject-introspection)
2394 ("pkg-config" ,pkg-config)
2395 ("json-glib" ,json-glib)))
2396 (propagated-inputs
2397 ;; geocode-glib-1.0.pc refers to GIO.
2398 `(("glib" ,glib)))
2399 (inputs
2400 `(("libsoup" ,libsoup)))
2401 (home-page "https://github.com/GNOME/geocode-glib/")
2402 (synopsis "Geocoding and reverse-geocoding library")
2403 (description
2404 "geocode-glib is a convenience library for geocoding (finding longitude,
2405and latitude from an address) and reverse geocoding (finding an address from
2406coordinates) using the Nominatim service. geocode-glib caches requests for
2407faster results and to avoid unnecessary server load.")
2408 (license license:lgpl2.0+)))
2409
2410(define-public upower
2411 (package
2412 (name "upower")
2413 (version "0.99.3")
2414 (source (origin
2415 (method url-fetch)
2416 (uri (string-append "https://upower.freedesktop.org/releases/"
2417 name "-" version ".tar.xz"))
2418 (sha256
2419 (base32
2420 "0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9"))
2421 (patches (search-patches "upower-builddir.patch"))))
2422 (build-system glib-or-gtk-build-system)
2423 (arguments
2424 '( ;; The tests want to contact the system bus, which can't be done in the
2425 ;; build environment. The integration test can run, but the last of
2426 ;; the up-self-tests doesn't. Disable tests for now.
2427 #:tests? #f
2428 #:configure-flags (list "--localstatedir=/var"
2429 (string-append "--with-udevrulesdir="
2430 (assoc-ref %outputs "out")
2431 "/lib/udev/rules.d"))
2432 #:phases
2433 (modify-phases %standard-phases
2434 (add-before 'configure 'patch-/bin/true
2435 (lambda _
2436 (substitute* "configure"
2437 (("/bin/true") (which "true")))))
2438 (add-before 'configure 'patch-integration-test
2439 (lambda _
2440 (substitute* "src/linux/integration-test"
2441 (("/usr/bin/python3") (which "python3"))))))))
2442 (native-inputs
2443 `(("gobject-introspection" ,gobject-introspection)
2444 ("pkg-config" ,pkg-config)
2445 ("intltool" ,intltool)
2446 ("python" ,python)
2447
2448 ;; For man pages.
2449 ("libxslt" ,libxslt) ;for 'xsltproc'
2450 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2451 ("docbook-xsl" ,docbook-xsl)))
2452 (inputs
2453 `(("dbus-glib" ,dbus-glib)
2454 ("libgudev" ,libgudev)
2455 ("libusb" ,libusb)))
2456 (home-page "http://upower.freedesktop.org/")
2457 (synopsis "System daemon for managing power devices")
2458 (description
2459 "UPower is an abstraction for enumerating power devices,
2460listening to device events and querying history and statistics. Any
2461application or service on the system can access the org.freedesktop.UPower
2462service via the system message bus.")
2463 (license license:gpl2+)))
2464
2465(define-public libgweather
2466 (package
2467 (name "libgweather")
2468 (version "3.20.0")
2469 (source (origin
2470 (method url-fetch)
2471 (uri (string-append "mirror://gnome/sources/" name "/"
2472 (version-major+minor version) "/"
2473 name "-" version ".tar.xz"))
2474 (sha256
2475 (base32
2476 "1mmqg7wf0bhk450akyj0x71x75kh1v7j68isyivr75ydky79nqjj"))))
2477 (build-system gnu-build-system)
2478 (arguments
2479 `(#:configure-flags
2480 `(,(string-append "--with-zoneinfo-dir="
2481 (assoc-ref %build-inputs "tzdata")
2482 "/share/zoneinfo"))
2483 #:phases
2484 (modify-phases %standard-phases
2485 (add-before
2486 'check 'pre-check
2487 (lambda* (#:key inputs #:allow-other-keys)
2488 (substitute* "data/check-timezones.sh"
2489 (("/usr/share/zoneinfo/zone.tab")
2490 (string-append (assoc-ref inputs "tzdata")
2491 "/share/zoneinfo/zone.tab")))
2492 #t)))))
2493 (native-inputs
2494 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2495 ("gobject-introspection" ,gobject-introspection)
2496 ("pkg-config" ,pkg-config)
2497 ("intltool" ,intltool)))
2498 (propagated-inputs
2499 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2500 ;; libsoup.
2501 `(("gtk+" ,gtk+)
2502 ("gdk-pixbuf" ,gdk-pixbuf)
2503 ("libxml2" ,libxml2)
2504 ("libsoup" ,libsoup)))
2505 (inputs
2506 `(("tzdata" ,tzdata)
2507 ("geocode-glib" ,geocode-glib)))
2508 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2509 (synopsis "Location, time zone, and weather library for GNOME")
2510 (description
2511 "libgweather is a library to access weather information from online
2512services for numerous locations.")
2513 (license license:gpl2+)))
2514
2515(define-public gnome-settings-daemon
2516 (package
2517 (name "gnome-settings-daemon")
2518 (version "3.20.1")
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append "mirror://gnome/sources/" name "/"
2523 (version-major+minor version) "/"
2524 name "-" version ".tar.xz"))
2525 (sha256
2526 (base32
2527 "1rvqisrh3lridsb8rvm7spvncyq206ly0245zgpbm8swi5fhfjp8"))))
2528 (build-system glib-or-gtk-build-system)
2529 (arguments
2530 `(;; Network manager not yet packaged.
2531 #:configure-flags '("--disable-network-manager")
2532 ;; Color management test can't reach the colord system service.
2533 #:tests? #f))
2534 (native-inputs
2535 `(("pkg-config" ,pkg-config)
2536 ("intltool" ,intltool)
2537 ("xsltproc" ,libxslt)
2538 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2539 ("docbook-xml" ,docbook-xml-4.2)
2540 ("docbook-xsl" ,docbook-xsl)))
2541 (inputs
2542 `(("colord" ,colord)
2543 ("libgudev" ,libgudev)
2544 ("upower" ,upower)
2545 ("polkit" ,polkit)
2546 ("pulseaudio" ,pulseaudio)
2547 ("libcanberra" ,libcanberra)
2548 ("libx11" ,libx11)
2549 ("libxtst" ,libxtst)
2550 ("lcms" ,lcms)
2551 ("libnotify" ,libnotify)
2552 ("geoclue" ,geoclue)
2553 ("geocode-glib" ,geocode-glib)
2554 ("libgweather" ,libgweather)
2555 ("gnome-desktop" ,gnome-desktop)
2556 ("nss" ,nss)
2557 ("cups" ,cups)
2558 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2559 ("libwacom" ,libwacom)
2560 ("librsvg" ,librsvg)
2561 ("xf86-input-wacom" ,xf86-input-wacom)))
2562 (home-page "http://www.gnome.org")
2563 (synopsis "GNOME settings daemon")
2564 (description
2565 "This package contains the daemon responsible for setting the various
2566parameters of a GNOME session and the applications that run under it. It
2567handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2568settings, themes, mouse settings, and startup of other daemons.")
2569 (license license:gpl2+)))
2570
2571(define-public totem-pl-parser
2572 (package
2573 (name "totem-pl-parser")
2574 (version "3.10.6")
2575 (source (origin
2576 (method url-fetch)
2577 (uri (string-append "mirror://gnome/sources/totem-pl-parser/3.10/"
2578 "totem-pl-parser-" version ".tar.xz"))
2579 (sha256
2580 (base32
2581 "0mv7aw9mw77w04zg95zjf0zmk6ckshpysbb9nap15h5is6zdk9cq"))))
2582 (build-system gnu-build-system)
2583 (arguments
2584 ;; FIXME: Tests require gvfs.
2585 `(#:tests? #f))
2586 (native-inputs
2587 `(("intltool" ,intltool)
2588 ("glib" ,glib "bin")
2589 ("gobject-introspection" ,gobject-introspection)
2590 ("pkg-config" ,pkg-config)))
2591 (propagated-inputs
2592 `(("glib" ,glib)
2593 ("gmime" ,gmime)
2594 ("libxml2" ,libxml2)))
2595 (inputs
2596 `(("libarchive" ,libarchive)
2597 ("libgcrypt" ,libgcrypt)
2598 ("nettle" ,nettle)
2599 ("libsoup" ,libsoup)))
2600 (home-page "https://projects.gnome.org/totem")
2601 (synopsis "Library to parse and save media playlists for GNOME")
2602 (description "Totem-pl-parser is a GObjects-based library to parse and save
2603playlists in a variety of formats.")
2604 (license license:lgpl2.0+)))
2605
2606(define-public aisleriot
2607 (package
2608 (name "aisleriot")
2609 (version "3.20.1")
2610 (source (origin
2611 (method url-fetch)
2612 (uri (string-append "mirror://gnome/sources/" name "/"
2613 (version-major+minor version) "/"
2614 name "-" version ".tar.xz"))
2615 (sha256
2616 (base32
2617 "1nipky336jj81mhm8wwxp96zilgcrarihf95dnyj3r1pw8kpg7gy"))))
2618 (build-system glib-or-gtk-build-system)
2619 (arguments
2620 '(#:configure-flags
2621 '("--with-platform=gtk-only"
2622 "--with-card-theme-formats=svg")))
2623 (native-inputs
2624 `(("desktop-file-utils" ,desktop-file-utils)
2625 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2626 ("intltool" ,intltool)
2627 ("itstool" ,itstool)
2628 ("pkg-config" ,pkg-config)
2629 ("xmllint" ,libxml2)))
2630 (inputs
2631 `(("gtk+" ,gtk+)
2632 ("guile" ,guile-2.0)
2633 ("libcanberra" ,libcanberra)
2634 ("librsvg" ,librsvg)))
2635 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
2636 (synopsis "Solitaire card games")
2637 (description
2638 "Aisleriot (also known as Solitaire or sol) is a collection of card games
2639which are easy to play with the aid of a mouse.")
2640 (license license:gpl3+)))
2641
2642(define-public devhelp
2643 (package
2644 (name "devhelp")
2645 (version "3.20.0")
2646 (source (origin
2647 (method url-fetch)
2648 (uri (string-append "mirror://gnome/sources/" name "/"
2649 (version-major+minor version) "/"
2650 name "-" version ".tar.xz"))
2651 (sha256
2652 (base32
2653 "078zr92xs5ifp862v1vdmw1j9m6gr9zk5hjbk5065vxjwb17acx2"))))
2654 (build-system glib-or-gtk-build-system)
2655 (native-inputs
2656 `(("intltool" ,intltool)
2657 ("pkg-config" ,pkg-config)))
2658 (inputs
2659 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2660 ("webkitgtk" ,webkitgtk)))
2661 (home-page "https://wiki.gnome.org/Apps/Devhelp")
2662 (synopsis "API documentation browser for GNOME")
2663 (description
2664 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
2665natively with GTK-Doc (the API reference system developed for GTK+ and used
2666throughout GNOME for API documentation).")
2667 (license license:gpl2+)))
2668
2669(define-public cogl
2670 (package
2671 (name "cogl")
2672 (version "1.22.0")
2673 (source
2674 (origin
2675 (method url-fetch)
2676 (uri (string-append "mirror://gnome/sources/" name "/"
2677 (version-major+minor version) "/"
2678 name "-" version ".tar.xz"))
2679 (sha256
2680 (base32
2681 "14daxqrid5039xmq9yl4pk86awng1n9zgl6ysblhc4gw2ifzp7b8"))))
2682 (build-system gnu-build-system)
2683 (native-inputs
2684 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2685 ("gobject-introspection" ,gobject-introspection)
2686 ;;("xorg-server" ,xorg-server) ; for the test suite
2687 ("pkg-config" ,pkg-config)))
2688 (propagated-inputs
2689 `(("glib" ,glib)
2690 ("gdk-pixbuf" ,gdk-pixbuf)
2691 ("libx11" ,libx11)
2692 ("libxext" ,libxext)
2693 ("libxfixes" ,libxfixes)
2694 ("libxdamage" ,libxdamage)
2695 ("libxcomposite" ,libxcomposite)
2696 ("libxrandr" ,libxrandr)))
2697 (inputs
2698 `(("mesa" ,mesa)
2699 ("cairo" ,cairo)
2700 ("pango" ,pango)
2701 ("gstreamer" ,gstreamer)
2702 ("gst-plugins-base" ,gst-plugins-base)))
2703 (arguments
2704 `(#:configure-flags (list "--enable-cogl-gst"
2705 ;; Arrange to pass an absolute file name to
2706 ;; dlopen for libGL.so.
2707 (string-append "--with-gl-libname="
2708 (assoc-ref %build-inputs "mesa")
2709 "/lib/libGL.so"))
2710 ;; XXX FIXME: All tests fail, with many warnings printed like this:
2711 ;; _FontTransOpen: Unable to Parse address
2712 ;; ${prefix}/share/fonts/X11/misc/
2713 #:tests? #f
2714 #; #:phases
2715 #;
2716 (modify-phases %standard-phases
2717 (add-before 'check 'start-xorg-server
2718 (lambda* (#:key inputs #:allow-other-keys)
2719 ;; The test suite requires a running X server.
2720 (system (format #f "~a/bin/Xvfb :1 &"
2721 (assoc-ref inputs "xorg-server")))
2722 (setenv "DISPLAY" ":1")
2723 #t)))))
2724 (home-page "http://www.cogl3d.org")
2725 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
2726 (description
2727 "Cogl is a small library for using 3D graphics hardware to draw pretty
2728pictures. The API departs from the flat state machine style of OpenGL and is
2729designed to make it easy to write orthogonal components that can render
2730without stepping on each others toes.")
2731 (license (list license:expat ; most of the code
2732 license:bsd-3 ; cogl/cogl-point-in-poly.c
2733 license:sgifreeb2.0 ; cogl-path/tesselator/
2734 license:asl2.0)))) ; examples/android/
2735
2736(define-public clutter
2737 (package
2738 (name "clutter")
2739 (version "1.26.0")
2740 (source
2741 (origin
2742 (method url-fetch)
2743 (uri (string-append "mirror://gnome/sources/" name "/"
2744 (version-major+minor version) "/"
2745 name "-" version ".tar.xz"))
2746 (sha256
2747 (base32
2748 "01nfjd4k7j2n3agpx2d9ncff86nfsqv4n23465rb9zmk4iw4wlb7"))))
2749 (build-system gnu-build-system)
2750 (outputs '("out"
2751 "doc")) ;9 MiB of gtk-doc HTML pages
2752 (native-inputs
2753 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
2754 ("gobject-introspection" ,gobject-introspection)
2755 ("pkg-config" ,pkg-config)
2756 ("xsltproc" ,libxslt)))
2757 (propagated-inputs
2758 `(("cogl" ,cogl)
2759 ("cairo" ,cairo)
2760 ("atk" ,atk)
2761 ("gtk+" ,gtk+)
2762 ("json-glib" ,json-glib)
2763 ("glib" ,glib)
2764 ("libxcomposite" ,libxcomposite)
2765 ("libxdamage" ,libxdamage)
2766 ("libxext" ,libxext)
2767 ("xinput" ,xinput)))
2768 (inputs
2769 `(("libxkbcommon" ,libxkbcommon)
2770 ("udev" ,eudev)))
2771 (arguments
2772 `(#:configure-flags (list "--enable-x11-backend=yes"
2773
2774 ;; This produces share/doc/{clutter,cally}.
2775 (string-append "--with-html-dir="
2776 (assoc-ref %outputs "doc")
2777 "/share/doc"))
2778 ;; XXX FIXME: Get test suite working. It would probably fail in the
2779 ;; same way the cogl tests fail, since clutter is based on cogl.
2780 #:tests? #f))
2781 (home-page "http://www.clutter-project.org")
2782 (synopsis "Open GL based interactive canvas library")
2783 (description
2784 "Clutter is an Open GL based interactive canvas library, designed for
2785creating fast, mainly 2D single window applications such as media box UIs,
2786presentations, kiosk style applications and so on.")
2787 (license license:lgpl2.0+)))
2788
2789(define-public clutter-gtk
2790 (package
2791 (name "clutter-gtk")
2792 (version "1.8.0")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append "mirror://gnome/sources/" name "/"
2797 (version-major+minor version) "/"
2798 name "-" version ".tar.xz"))
2799 (sha256
2800 (base32
2801 "07dzvx0b3fsswxnpxgk0adjgccnrvbxsd971naqwndnfivbgjbkl"))))
2802 (build-system gnu-build-system)
2803 (native-inputs
2804 `(("pkg-config" ,pkg-config)
2805 ("gobject-introspection" ,gobject-introspection)))
2806 (propagated-inputs
2807 ;; clutter-gtk.pc refers to all these.
2808 `(("clutter" ,clutter)
2809 ("gtk+" ,gtk+)))
2810 (home-page "http://www.clutter-project.org")
2811 (synopsis "Open GL based interactive canvas library GTK+ widget")
2812 (description
2813 "Clutter is an Open GL based interactive canvas library, designed for
2814creating fast, mainly 2D single window applications such as media box UIs,
2815presentations, kiosk style applications and so on.")
2816 (license license:lgpl2.0+)))
2817
2818(define-public clutter-gst
2819 (package
2820 (name "clutter-gst")
2821 (version "3.0.18")
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append "mirror://gnome/sources/" name "/"
2826 (version-major+minor version) "/"
2827 name "-" version ".tar.xz"))
2828 (sha256
2829 (base32
2830 "14w0pi9myvcn1yxzmk9sk8dghj17m5ji3aqdpfjikk90c060vv0a"))))
2831 (build-system gnu-build-system)
2832 (native-inputs
2833 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2834 ("pkg-config" ,pkg-config)
2835 ("gobject-introspection" ,gobject-introspection)))
2836 (inputs
2837 `(("clutter" ,clutter)
2838 ("gstreamer" ,gstreamer)
2839 ("gst-plugins-base" ,gst-plugins-base)))
2840 (home-page "http://www.clutter-project.org")
2841 (synopsis "Integration library for using GStreamer with Clutter")
2842 (description
2843 "Clutter-Gst is an integration library for using GStreamer with Clutter.
2844It provides a GStreamer sink to upload frames to GL and an actor that
2845implements the ClutterGstPlayer interface using playbin. Clutter is an Open
2846GL based interactive canvas library.")
2847 (license license:lgpl2.0+)))
2848
2849(define-public libchamplain
2850 (package
2851 (name "libchamplain")
2852 (version "0.12.13")
2853 (source (origin
2854 (method url-fetch)
2855 (uri (string-append
2856 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
2857 version ".tar.xz"))
2858 (sha256
2859 (base32
2860 "1arzd1hsgq14rbiwa1ih2g250x6ljna2s2kiqfrw155c612s9cxk"))))
2861 (build-system gnu-build-system)
2862 (native-inputs `(("pkg-config" ,pkg-config)))
2863 (propagated-inputs
2864 `(("libsoup" ,libsoup)
2865 ("sqlite" ,sqlite)
2866 ("clutter" ,clutter)
2867 ("clutter-gtk" ,clutter-gtk)
2868 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
2869 ("cairo" ,cairo)
2870 ("gtk+3" ,gtk+)
2871 ("glib" ,glib)))
2872 (home-page "http://projects.gnome.org/libchamplain/")
2873 (synopsis "C library providing a ClutterActor to display maps")
2874 (description
2875 "libchamplain is a C library providing a ClutterActor to display maps.
2876It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
2877and Perl bindings are also available. It supports numerous free map sources
2878such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
2879 (license license:lgpl2.1+)))
2880
2881(define-public gom
2882 (package
2883 (name "gom")
2884 (version "0.3.2")
2885 (source
2886 (origin
2887 (method url-fetch)
2888 (uri (string-append "mirror://gnome/sources/" name "/"
2889 (version-major+minor version) "/"
2890 name "-" version ".tar.xz"))
2891 (sha256
2892 (base32
2893 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
2894 (build-system gnu-build-system)
2895 (native-inputs
2896 `(("intltool" ,intltool)
2897 ("pkg-config" ,pkg-config)
2898 ("gobject-introspection" ,gobject-introspection)))
2899 (inputs
2900 `(("glib" ,glib)
2901 ("gdk-pixbuf" ,gdk-pixbuf)
2902 ("sqlite" ,sqlite)))
2903 ;; XXX TODO: Figure out how to run the test suite.
2904 (arguments `(#:tests? #f))
2905 (home-page "https://wiki.gnome.org/Projects/Gom")
2906 (synopsis "Object mapper from GObjects to SQLite")
2907 (description
2908 "Gom provides an object mapper from GObjects to SQLite. It helps you
2909write applications that need to store structured data as well as make complex
2910queries upon that data.")
2911 (license license:lgpl2.1+)))
2912
2913(define-public libgames-support
2914 (package
2915 (name "libgames-support")
2916 (version "1.0.2")
2917 (source (origin
2918 (method url-fetch)
2919 (uri (string-append "mirror://gnome/sources/" name "/"
2920 (version-major+minor version) "/"
2921 name "-" version ".tar.xz"))
2922 (sha256
2923 (base32
2924 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
2925 (build-system gnu-build-system)
2926 (arguments
2927 '(#:phases
2928 (modify-phases %standard-phases
2929 (add-before 'check 'pre-check
2930 (lambda _
2931 ;; tests require a writable HOME.
2932 (setenv "HOME" (getcwd))
2933 #t)))))
2934 (native-inputs
2935 `(("intltool" ,intltool)
2936 ("pkg-config" ,pkg-config)
2937 ("vala" ,vala)))
2938 (propagated-inputs
2939 ;; Required by libgames-support-1.0.pc
2940 `(("gtk+" ,gtk+)
2941 ("libgee" ,libgee)))
2942 (home-page "https://www.gnome.org/")
2943 (synopsis "Useful functionality shared among GNOME games")
2944 (description
2945 "libgames-support is a small library intended for internal use by
2946GNOME Games, but it may be used by others.")
2947 (license license:lgpl3+)))
2948
2949(define-public gnome-klotski
2950 (package
2951 (name "gnome-klotski")
2952 (version "3.20.1")
2953 (source (origin
2954 (method url-fetch)
2955 (uri (string-append "mirror://gnome/sources/" name "/"
2956 (version-major+minor version) "/"
2957 name "-" version ".tar.xz"))
2958 (sha256
2959 (base32
2960 "1130v6sk9h74b3xgv0bq43anaw7xs9x8vdab3q7p9db6w0px02wj"))))
2961 (build-system glib-or-gtk-build-system)
2962 (native-inputs
2963 `(("desktop-file-utils" ,desktop-file-utils)
2964 ("intltool" ,intltool)
2965 ("itstool" ,itstool)
2966 ("pkg-config" ,pkg-config)
2967 ("xmllint" ,libxml2)))
2968 (inputs
2969 `(("gtk+" ,gtk+)
2970 ("libgames-support" ,libgames-support)
2971 ("librsvg" ,librsvg)))
2972 (home-page "https://wiki.gnome.org/Apps/Klotski")
2973 (synopsis "Sliding block puzzles")
2974 (description
2975 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
2976the patterned block to the area bordered by green markers. To do so, you will
2977need to slide other blocks out of the way. Complete each puzzle in as few moves
2978as possible!")
2979 (license license:gpl2+)))
2980
2981(define-public grilo
2982 (package
2983 (name "grilo")
2984 (version "0.3.0")
2985 (source
2986 (origin
2987 (method url-fetch)
2988 (uri (string-append "mirror://gnome/sources/" name "/"
2989 (version-major+minor version) "/"
2990 name "-" version ".tar.xz"))
2991 (sha256
2992 (base32
2993 "0q5wcvnckpfks48hy0gvlfdmvqm67vnblm3912rssmkgc1ysil8z"))))
2994 (build-system gnu-build-system)
2995 (native-inputs
2996 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
2997 ("intltool" ,intltool)
2998 ("pkg-config" ,pkg-config)
2999 ("gobject-introspection" ,gobject-introspection)))
3000 (inputs
3001 `(("glib" ,glib)
3002 ("gtk+" ,gtk+)
3003 ("libxml2" ,libxml2)
3004 ;; XXX TODO: Add oauth
3005 ("libsoup" ,libsoup)
3006 ("totem-pl-parser" ,totem-pl-parser)))
3007 (arguments
3008 `(#:phases
3009 (modify-phases %standard-phases
3010 (add-after 'unpack 'fix-introspection-install-dir
3011 (lambda* (#:key outputs #:allow-other-keys)
3012 (let ((out (assoc-ref outputs "out")))
3013 (substitute* '("src/Makefile.in"
3014 "libs/pls/Makefile.in"
3015 "libs/net/Makefile.in")
3016 (("@INTROSPECTION_GIRDIR@")
3017 (string-append out "/share/gir-1.0/"))
3018 (("@INTROSPECTION_TYPELIBDIR@")
3019 (string-append out "/lib/girepository-1.0/")))))))))
3020 (native-search-paths
3021 (list (search-path-specification
3022 (variable "GRL_PLUGIN_PATH")
3023 (files (list (string-append "lib/grilo-"
3024 (version-major+minor version)))))))
3025 (home-page "http://live.gnome.org/Grilo")
3026 (synopsis "Framework for discovering and browsing media")
3027 (description
3028 "Grilo is a framework focused on making media discovery and browsing easy
3029for application developers.")
3030 (license license:lgpl2.1+)))
3031
3032(define-public grilo-plugins
3033 (package
3034 (name "grilo-plugins")
3035 (version "0.3.1")
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append "mirror://gnome/sources/" name "/"
3040 (version-major+minor version) "/"
3041 name "-" version ".tar.xz"))
3042 (sha256
3043 (base32
3044 "1akd7q6pqnkcnayrdfjb0qx5w5yyl06kxzwhqp2gxm4y1b208pb0"))))
3045 (build-system gnu-build-system)
3046 (native-inputs
3047 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3048 ("intltool" ,intltool)
3049 ("itstool" ,itstool)
3050 ("pkg-config" ,pkg-config)))
3051 (inputs
3052 `(("grilo" ,grilo)
3053 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
3054 ("glib" ,glib)
3055 ("libxml2" ,libxml2)
3056 ("sqlite" ,sqlite)
3057 ("gom" ,gom)
3058 ;; XXX TODO: Add oauth
3059 ;; XXX TODO: Add goa
3060 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3061 ;; XXX TODO: Add lua (needs help finding it)
3062 ("json-glib" ,json-glib)
3063 ("avahi" ,avahi)
3064 ("gmime" ,gmime)
3065 ("libsoup" ,libsoup)
3066 ("libarchive" ,libarchive)
3067 ("totem-pl-parser" ,totem-pl-parser)))
3068 (arguments
3069 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3070 %output
3071 "/lib/grilo-"
3072 ,(version-major+minor version)))
3073 ;; XXX FIXME: Try to get the test suite working. It appears to require
3074 ;; a working system dbus. Inside the build container, all tests fail
3075 ;; with: "assertion failed: (source)". Outside of the build container,
3076 ;; most tests succeed.
3077 #:tests? #f))
3078 (home-page "http://live.gnome.org/Grilo")
3079 (synopsis "Plugins for the Grilo media discovery library")
3080 (description
3081 "Grilo is a framework focused on making media discovery and browsing easy
3082for application developers.")
3083 (license license:lgpl2.1+)))
3084
3085(define-public totem
3086 (package
3087 (name "totem")
3088 (version "3.20.1")
3089 (source
3090 (origin
3091 (method url-fetch)
3092 (uri (string-append "mirror://gnome/sources/" name "/"
3093 (version-major+minor version) "/"
3094 name "-" version ".tar.xz"))
3095 (sha256
3096 (base32
3097 "09swnhp46cyy2svqx02fzy555pjgc61lyjw56v9rz1mfc41lh8kg"))
3098 (patches (search-patches "totem-debug-format-fix.patch"))))
3099 (build-system glib-or-gtk-build-system)
3100 (native-inputs
3101 `(("pkg-config" ,pkg-config)
3102 ("desktop-file-utils" ,desktop-file-utils)
3103 ("gobject-introspection" ,gobject-introspection)
3104 ("intltool" ,intltool)
3105 ("itstool" ,itstool)
3106 ("xmllint" ,libxml2)))
3107 (propagated-inputs
3108 `(("dconf" ,dconf)))
3109 (inputs
3110 `(("gtk+" ,gtk+)
3111 ("gdk-pixbuf" ,gdk-pixbuf)
3112 ("atk" ,atk)
3113 ("cairo" ,cairo)
3114 ("dbus-glib" ,dbus-glib)
3115 ("clutter" ,clutter)
3116 ("clutter-gtk" ,clutter-gtk)
3117 ("clutter-gst" ,clutter-gst)
3118 ("xproto" ,xproto)
3119 ("libxxf86vm" ,libxxf86vm)
3120 ("libxtst" ,libxtst)
3121 ("libxrandr" ,libxrandr)
3122 ("libxml2" ,libxml2)
3123 ("libsoup" ,libsoup)
3124 ("libpeas" ,libpeas)
3125 ("librsvg" ,librsvg)
3126 ("lirc" ,lirc)
3127 ("gnome-desktop" ,gnome-desktop)
3128 ("gstreamer" ,gstreamer)
3129 ("gst-plugins-base" ,gst-plugins-base)
3130 ("gst-plugins-good" ,gst-plugins-good)
3131 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3132 ("adwaita-icon-theme" ,adwaita-icon-theme)
3133 ;; XXX We use python-2 because libxml2 because itstool (which needs
3134 ;; libxml) currently uses python-2.
3135 ("python" ,python-2)
3136 ("python-pygobject" ,python2-pygobject)
3137 ;; XXX TODO pylint needed for python support
3138 ("totem-pl-parser" ,totem-pl-parser)
3139 ("grilo" ,grilo)
3140 ("grilo-plugins" ,grilo-plugins)
3141 ("nettle" ,nettle)
3142 ("vala" ,vala)))
3143 (arguments
3144 `(#:phases
3145 (modify-phases %standard-phases
3146 (add-after
3147 'install 'wrap-totem
3148 (lambda* (#:key inputs outputs #:allow-other-keys)
3149 (let ((out (assoc-ref outputs "out"))
3150 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3151 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3152 (wrap-program (string-append out "/bin/totem")
3153 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3154 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3155 #t)))))
3156 (home-page "https://wiki.gnome.org/Apps/Videos")
3157 (synopsis "Simple media player for GNOME based on GStreamer")
3158 (description "Totem is a simple yet featureful media player for GNOME
3159which can read a large number of file formats.")
3160 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3161 ;; to be used and distributed together with GStreamer and Totem. See
3162 ;; file://COPYING in the source distribution for details.
3163 (license license:gpl2+)))
3164
3165(define-public rhythmbox
3166 (package
3167 (name "rhythmbox")
3168 (version "3.2.1")
3169 (source (origin
3170 (method url-fetch)
3171 (uri (string-append "mirror://gnome/sources/" name "/"
3172 (version-major+minor version) "/"
3173 name "-" version ".tar.xz"))
3174 (sha256
3175 (base32
3176 "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
3177 (build-system glib-or-gtk-build-system)
3178 (arguments
3179 `(#:configure-flags
3180 (list "--enable-lirc"
3181 "--enable-python"
3182 "--enable-vala"
3183 "--with-brasero"
3184 "--with-gudev"
3185 "--with-libsecret")
3186 #:phases
3187 (modify-phases %standard-phases
3188 (add-after
3189 'install 'wrap-rhythmbox
3190 (lambda* (#:key inputs outputs #:allow-other-keys)
3191 (let ((out (assoc-ref outputs "out"))
3192 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3193 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3194 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3195 (wrap-program (string-append out "/bin/rhythmbox")
3196 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3197 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3198 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3199 #t)))))
3200 (propagated-inputs
3201 `(("dconf" ,dconf)))
3202 (native-inputs
3203 `(("itstool" ,itstool)
3204 ("intltool" ,intltool)
3205 ("glib" ,glib "bin")
3206 ("gobject-introspection" ,gobject-introspection)
3207 ("desktop-file-utils" ,desktop-file-utils)
3208 ("pkg-config" ,pkg-config)
3209 ("xmllint" ,libxml2)))
3210 (inputs
3211 `(("json-glib" ,json-glib)
3212 ("tdb" ,tdb)
3213 ("gnome-desktop" ,gnome-desktop)
3214 ("python" ,python)
3215 ("python-pygobject" ,python2-pygobject)
3216 ("vala" ,vala)
3217 ("gmime" ,gmime)
3218 ("nettle" ,nettle)
3219 ("adwaita-icon-theme" ,adwaita-icon-theme)
3220 ("grilo" ,grilo)
3221 ("grilo-plugins" ,grilo-plugins)
3222 ("gstreamer" ,gstreamer)
3223 ("gst-plugins-base" ,gst-plugins-base)
3224 ("gst-plugins-good" ,gst-plugins-good)
3225 ("totem-pl-parser" ,totem-pl-parser)
3226 ("libgudev" ,libgudev)
3227 ;;("libmtp" ,libmtp) FIXME: Not detected
3228 ("libsecret" ,libsecret)
3229 ("libsoup" ,libsoup)
3230 ("libnotify" ,libnotify)
3231 ("libpeas" ,libpeas)
3232 ("lirc" ,lirc)
3233 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3234 ;;("clutter" ,clutter)
3235 ;;("clutter-gtk" ,clutter-gtk)
3236 ;;("clutter-gst" ,clutter-gst)
3237 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3238 ("atk" ,atk)
3239 ("pango" ,pango)
3240 ("gtk+" ,gtk+)
3241 ;; TODO:
3242 ;; * libgpod
3243 ;; * mx
3244 ;; * webkit
3245 ("brasero" ,brasero)))
3246 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3247 (synopsis "Music player for GNOME")
3248 (description "Rhythmbox is a music playing application for GNOME. It
3249supports playlists, song ratings, and any codecs installed through gstreamer.")
3250 (license license:gpl2+)))
3251
3252(define-public eog
3253 (package
3254 (name "eog")
3255 (version "3.20.1")
3256 (source (origin
3257 (method url-fetch)
3258 (uri (string-append "mirror://gnome/sources/" name "/"
3259 (version-major+minor version) "/"
3260 name "-" version ".tar.xz"))
3261 (sha256
3262 (base32
3263 "0ll3vz1kyjagiqmrpypk1a4nwjhrjsapiz45bxblsjxjy641j0jg"))))
3264 (build-system glib-or-gtk-build-system)
3265 (arguments
3266 `(#:phases
3267 (modify-phases %standard-phases
3268 (add-after
3269 'install 'wrap-eog
3270 (lambda* (#:key outputs #:allow-other-keys)
3271 (let ((out (assoc-ref outputs "out"))
3272 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3273 (wrap-program (string-append out "/bin/eog")
3274 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3275 #t)))))
3276 (propagated-inputs
3277 `(("dconf" ,dconf)))
3278 (native-inputs
3279 `(("intltool" ,intltool)
3280 ("itstool" ,itstool)
3281 ("glib" ,glib "bin")
3282 ("gobject-introspection" ,gobject-introspection)
3283 ("pkg-config" ,pkg-config)
3284 ("xmllint" ,libxml2)))
3285 (inputs
3286 `(("gnome-desktop" ,gnome-desktop)
3287 ("shared-mime-info" ,shared-mime-info)
3288 ("adwaita-icon-theme" ,adwaita-icon-theme)
3289 ("exempi" ,exempi)
3290 ("lcms" ,lcms)
3291 ("libexif" ,libexif)
3292 ("libpeas" ,libpeas)
3293 ("libjpeg" ,libjpeg)
3294 ("librsvg" ,librsvg)
3295 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3296 ("gtk+" ,gtk+)))
3297 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3298 (synopsis "GNOME image viewer")
3299 (description "Eye of GNOME is the GNOME image viewer. It
3300supports image conversion, rotation, and slideshows.")
3301 (license license:gpl2+)))
3302
3303(define-public libgudev
3304 (package
3305 (name "libgudev")
3306 (version "230")
3307 (source (origin
3308 (method url-fetch)
3309 (uri (string-append "mirror://gnome/sources/" name "/"
3310 version "/" name "-" version ".tar.xz"))
3311 (sha256
3312 (base32
3313 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3314 (build-system gnu-build-system)
3315 (native-inputs
3316 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3317 ("gobject-introspection" ,gobject-introspection)
3318 ("pkg-config" ,pkg-config)))
3319 (propagated-inputs
3320 `(("glib" ,glib))) ; required by gudev-1.0.pc
3321 (inputs
3322 `(("udev" ,eudev)))
3323 (home-page "https://wiki.gnome.org/Projects/libgudev")
3324 (synopsis "GObject bindings for libudev")
3325 (description
3326 "This library provides GObject bindings for libudev. It was originally
3327part of udev-extras, then udev, then systemd. It's now a project on its own.")
3328 (license license:lgpl2.1+)))
3329
3330(define-public gvfs
3331 (package
3332 (name "gvfs")
3333 (version "1.28.1")
3334 (source (origin
3335 (method url-fetch)
3336 (uri (string-append "mirror://gnome/sources/" name "/"
3337 (version-major+minor version) "/"
3338 name "-" version ".tar.xz"))
3339 (sha256
3340 (base32
3341 "16bry61hg681bwb0pih86cjayzvc5f89ip5xd8fydcy16nnfbksf"))))
3342 (build-system gnu-build-system)
3343 (arguments
3344 '(#:tests? #f)) ; XXX: requiring `pidof'
3345 (native-inputs
3346 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3347 ("intltool" ,intltool)
3348 ("pkg-config" ,pkg-config)
3349 ("xsltproc" ,libxslt)))
3350 (inputs
3351 `(("avahi" ,avahi)
3352 ("docbook-xml" ,docbook-xml-4.2)
3353 ("docbook-xsl" ,docbook-xsl)
3354 ("dbus" ,dbus)
3355 ("fuse" ,fuse)
3356 ("gcr" ,gcr)
3357 ("glib" ,glib)
3358 ("libarchive" ,libarchive)
3359 ("libbluray" ,libbluray)
3360 ("libcdio-paranoia" ,libcdio-paranoia)
3361 ("libgcrypt" ,libgcrypt)
3362 ("libgphoto2" ,libgphoto2)
3363 ("libgudev" ,libgudev)
3364 ("libmtp" ,libmtp)
3365 ("libsecret" ,libsecret)
3366 ("libsmbclient" ,samba)
3367 ("libsoup" ,libsoup)
3368 ("libxml2" ,libxml2)
3369 ("nettle" ,nettle) ; XXX: required by libarchive.pc
3370 ("udisks" ,udisks)))
3371 (home-page "https://wiki.gnome.org/gvfs/")
3372 (synopsis "Userspace virtual filesystem for GIO")
3373 (description
3374 "GVFS is a userspace virtual filesystem designed to work with the I/O
3375abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3376to all applications using the GIO API. It also supports exposing the GVFS
3377mounts to non-GIO applications using FUSE.
3378
3379GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3380DAV, and others.")
3381 (license license:lgpl2.0+)))
3382
3383(define-public gusb
3384 (package
3385 (name "gusb")
3386 (version "0.2.6")
3387 (source (origin
3388 (method url-fetch)
3389 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3390 "gusb_"
3391 (string-join (string-split version #\.)
3392 "_")
3393 ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0h9dzaza81b0mx5jfh5cnc31xdynl0jsxgwvl6vqyhy8mnwfi5nr"))))
3397 (build-system gnu-build-system)
3398 (native-inputs
3399 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3400 ("gobject-introspection" ,gobject-introspection)
3401 ("pkg-config" ,pkg-config)
3402 ("vala" ,vala)
3403 ("autoconf" ,autoconf)
3404 ("automake" ,automake)
3405 ("libtool" ,libtool)
3406 ("gtk-doc" ,gtk-doc)))
3407 (propagated-inputs
3408 ;; Both of these are required by gusb.pc.
3409 `(("glib" ,glib)
3410 ("libusb" ,libusb)))
3411 (arguments
3412 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3413 #:phases
3414 (modify-phases %standard-phases
3415 (add-after 'unpack 'autogen
3416 (lambda _
3417 (and (zero? (system* "gtkdocize"))
3418 (zero? (system* "autoreconf" "-vif"))))))))
3419 (home-page "https://github.com/hughsie/libgusb")
3420 (synopsis "GLib binding for libusb1")
3421 (description
3422 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3423asynchronous control, bulk and interrupt transfers with proper cancellation
3424and integration into a mainloop. This makes it easy to integrate low level
3425USB transfers with your high-level application or system daemon.")
3426 (license license:lgpl2.1+)))
3427
3428(define-public simple-scan
3429 (package
3430 (name "simple-scan")
3431 (version "3.19.91")
3432 (source (origin
3433 (method url-fetch)
3434 (uri (string-append "https://launchpad.net/simple-scan/"
3435 (version-major+minor version) "/"
3436 version "/+download/simple-scan-"
3437 version ".tar.xz"))
3438 (sha256
3439 (base32
3440 "1c5glf5vxgld41w4jxfqcv17q76qnh43fawpv33hncgh8d283xkf"))))
3441 (build-system glib-or-gtk-build-system)
3442 (inputs
3443 `(("gtk" ,gtk+)
3444 ("zlib" ,zlib)
3445 ("cairo" ,cairo)
3446 ("gdk-pixbuf" ,gdk-pixbuf)
3447 ("gusb" ,gusb)
3448 ("libgudev" ,libgudev)
3449 ("libsane" ,sane-backends)))
3450 (native-inputs
3451 `(("intltool" ,intltool)
3452 ("itstool" ,itstool)
3453 ("colord" ,colord)
3454 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3455 ("pkg-config" ,pkg-config)
3456 ("vala" ,vala)
3457 ("xmllint" ,libxml2)))
3458 (arguments
3459 '(#:configure-flags '("--disable-packagekit")
3460 #:phases
3461 (modify-phases %standard-phases
3462 (add-after 'unpack 'clean
3463 (lambda _
3464 ;; Remove a left-over reference to PackageKit.
3465
3466 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3467
3468 ;; There are some generated C files erroneously
3469 ;; included in the source distribution, and this
3470 ;; one breaks the build by referring to a
3471 ;; non-existent header (packagekit.h)
3472 (delete-file "src/ui.c"))))))
3473 (home-page "https://launchpad.net/simple-scan")
3474 (synopsis "Document and image scanner")
3475 (description "Simple Scan is an easy-to-use application, designed to let
3476users connect their scanner and quickly have the image/document in an
3477appropriate format. Simple Scan is basically a frontend for SANE - which is
3478the same backend as XSANE uses. This means that all existing scanners will
3479work and the interface is well tested.")
3480 (license license:gpl3+)))
3481
3482(define-public epiphany
3483 (package
3484 (name "epiphany")
3485 (version "3.20.1")
3486 (source (origin
3487 (method url-fetch)
3488 (uri (string-append "mirror://gnome/sources/" name "/"
3489 (version-major+minor version) "/"
3490 name "-" version ".tar.xz"))
3491 (sha256
3492 (base32
3493 "1ry9z6d51gjbv5n8kspwdyfrdai2hrin2ixdicmyiq6xbryzcwbi"))))
3494 (build-system glib-or-gtk-build-system)
3495 (arguments
3496 ;; FIXME: tests run under Xvfb, but fail with:
3497 ;; /src/bookmarks/ephy-bookmarks/create:
3498 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
3499 ;; subsystem
3500 ;; FAIL
3501 '(#:tests? #f))
3502 (propagated-inputs
3503 `(("dconf" ,dconf)))
3504 (native-inputs
3505 `(("intltool" ,intltool)
3506 ("itstool" ,itstool)
3507 ("pkg-config" ,pkg-config)
3508 ("xmllint" ,libxml2)))
3509 (inputs
3510 `(("avahi" ,avahi)
3511 ("gcr" ,gcr)
3512 ("glib-networking" ,glib-networking)
3513 ("gnome-desktop" ,gnome-desktop)
3514 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3515 ("iso-codes" ,iso-codes)
3516 ("libnotify" ,libnotify)
3517 ("libsecret" ,libsecret)
3518 ("libwnck" ,libwnck)
3519 ("libxslt" ,libxslt)
3520 ("nss" ,nss)
3521 ("sqlite" ,sqlite)
3522 ("webkitgtk" ,webkitgtk)))
3523 (home-page "https://wiki.gnome.org/Apps/Web")
3524 (synopsis "GNOME web browser")
3525 (description
3526 "Epiphany is a GNOME web browser targeted at non-technical users. Its
3527principles are simplicity and standards compliance.")
3528 (license license:gpl2+)))
3529
3530(define-public d-feet
3531 (package
3532 (name "d-feet")
3533 (version "0.3.10")
3534 (source (origin
3535 (method url-fetch)
3536 (uri (string-append "mirror://gnome/sources/" name "/"
3537 (version-major+minor version) "/"
3538 name "-" version ".tar.xz"))
3539 (sha256
3540 (base32
3541 "0nb31bvwnj7pcpm85g8bvgjc6s5kbqy8g4qp7pzqf8w6rdgxzw48"))))
3542 (build-system glib-or-gtk-build-system)
3543 (arguments
3544 '(#:out-of-source? #f ; tests need to run in the source directory.
3545 #:phases
3546 (modify-phases %standard-phases
3547 (add-before
3548 'check 'pre-check
3549 (lambda _
3550 ;; The test suite requires a running X server.
3551 (system "Xvfb :1 &")
3552 (setenv "DISPLAY" ":1")
3553 ;; Don't fail on missing '/etc/machine-id'.
3554 (setenv "DBUS_FATAL_WARNINGS" "0")
3555 ;; tests.py and window.py don't meet E402:
3556 ;; E402 module level import not at top of file
3557 (substitute* "src/tests/Makefile"
3558 (("--ignore=E123") "--ignore=E123,E402"))
3559 #t))
3560 (add-after
3561 'install 'wrap-program
3562 (lambda* (#:key outputs #:allow-other-keys)
3563 (let ((prog (string-append (assoc-ref outputs "out")
3564 "/bin/d-feet")))
3565 (wrap-program prog
3566 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
3567 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
3568 #t))))))
3569 (native-inputs
3570 `(("intltool" ,intltool)
3571 ("itstool" ,itstool)
3572 ("pkg-config" ,pkg-config)
3573 ("python-pep8" ,python-pep8)
3574 ("xmllint" ,libxml2)
3575 ("xorg-server" ,xorg-server)))
3576 (inputs
3577 `(("gobject-introspection" ,gobject-introspection)
3578 ("gtk+" ,gtk+)
3579 ("python" ,python-wrapper)
3580 ("python-pygobject" ,python-pygobject)))
3581 (home-page "https://wiki.gnome.org/Apps/DFeet")
3582 (synopsis "D-Bus debugger")
3583 (description
3584 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
3585of running programs and invoke methods on those interfaces.")
3586 (license license:gpl2+)))
3587
3588(define-public yelp-xsl
3589 (package
3590 (name "yelp-xsl")
3591 (version "3.20.1")
3592 (source (origin
3593 (method url-fetch)
3594 (uri (string-append "mirror://gnome/sources/" name "/"
3595 (version-major+minor version) "/"
3596 name "-" version ".tar.xz"))
3597 (sha256
3598 (base32
3599 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
3600 (build-system gnu-build-system)
3601 (native-inputs
3602 `(("intltool" ,intltool)
3603 ("itstool" ,itstool)
3604 ("xmllint" ,libxml2)))
3605 (home-page "https://wiki.gnome.org/Apps/Yelp")
3606 (synopsis "XSL stylesheets for Yelp")
3607 (description
3608 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
3609to format Docbook and Mallard documents.")
3610 (license license:gpl2+)))
3611
3612(define-public yelp
3613 (package
3614 (name "yelp")
3615 (version "3.20.1")
3616 (source (origin
3617 (method url-fetch)
3618 (uri (string-append "mirror://gnome/sources/" name "/"
3619 (version-major+minor version) "/"
3620 name "-" version ".tar.xz"))
3621 (sha256
3622 (base32
3623 "1hh8yqbv0scn9nksk9mq94cb4sdczlzxplclv2wqr41jmm8v186x"))))
3624 (build-system glib-or-gtk-build-system)
3625 (native-inputs
3626 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3627 ("intltool" ,intltool)
3628 ("itstool" ,itstool)
3629 ("pkg-config" ,pkg-config)))
3630 (propagated-inputs
3631 `(("dconf" ,dconf)))
3632 (inputs
3633 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3634 ("libxslt" ,libxslt)
3635 ("sqlite" ,sqlite)
3636 ("webkitgtk" ,webkitgtk)
3637 ("yelp-xsl" ,yelp-xsl)))
3638 (home-page "https://wiki.gnome.org/Apps/Yelp")
3639 (synopsis "GNOME help browser")
3640 (description
3641 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
3642man, info, and HTML documents. It can locate documents according to the
3643freedesktop.org help system specification.")
3644 (license license:gpl2+)))
3645
3646(define-public yelp-tools
3647 (package
3648 (name "yelp-tools")
3649 (version "3.18.0")
3650 (source (origin
3651 (method url-fetch)
3652 (uri (string-append "mirror://gnome/sources/" name "/"
3653 (version-major+minor version) "/"
3654 name "-" version ".tar.xz"))
3655 (sha256
3656 (base32
3657 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
3658 (build-system gnu-build-system)
3659 (native-inputs
3660 `(("pkg-config" ,pkg-config)))
3661 (propagated-inputs
3662 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
3663 `(("itstool" ,itstool)
3664 ("xmllint" ,libxml2)
3665 ("xsltproc" ,libxslt)))
3666 (inputs
3667 `(("yelp-xsl" ,yelp-xsl)))
3668 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
3669 (synopsis "Yelp documentation tools")
3670 (description
3671 "Yelp-tools is a collection of scripts and build utilities to help create,
3672manage, and publish documentation for Yelp and the web. Most of the heavy
3673lifting is done by packages like yelp-xsl and itstool. This package just
3674wraps things up in a developer-friendly way.")
3675 (license license:gpl2+)))
3676
3677(define-public libgee
3678 (package
3679 (name "libgee")
3680 (version "0.18.0")
3681 (source (origin
3682 (method url-fetch)
3683 (uri (string-append "mirror://gnome/sources/" name "/"
3684 (version-major+minor version) "/"
3685 name "-" version ".tar.xz"))
3686 (sha256
3687 (base32
3688 "16a34js81w9m2bw4qd8csm4pcgr3zq5z87867j4b8wfh6zwrxnaa"))))
3689 (build-system gnu-build-system)
3690 (arguments
3691 `(#:phases
3692 (modify-phases %standard-phases
3693 (add-after 'unpack 'fix-introspection-install-dir
3694 (lambda* (#:key outputs #:allow-other-keys)
3695 (let ((out (assoc-ref outputs "out")))
3696 (substitute* "gee/Makefile.in"
3697 (("@INTROSPECTION_GIRDIR@")
3698 (string-append out "/share/gir-1.0/"))
3699 (("@INTROSPECTION_TYPELIBDIR@")
3700 (string-append out "/lib/girepository-1.0/")))))))))
3701 (native-inputs
3702 `(("glib" ,glib "bin")
3703 ("pkg-config" ,pkg-config)))
3704 (inputs
3705 `(("glib" ,glib)
3706 ("gobject-introspection" ,gobject-introspection)))
3707 (home-page "https://wiki.gnome.org/Projects/Libgee")
3708 (synopsis "GObject collection library")
3709 (description
3710 "Libgee is a utility library providing GObject-based interfaces and
3711classes for commonly used data structures.")
3712 (license license:lgpl2.1+)))
3713
3714(define-public gexiv2
3715 (package
3716 (name "gexiv2")
3717 (version "0.10.3")
3718 (source (origin
3719 (method url-fetch)
3720 (uri (string-append "mirror://gnome/sources/" name "/"
3721 (version-major+minor version) "/"
3722 name "-" version ".tar.xz"))
3723 (sha256
3724 (base32
3725 "121r5lv6l82pjr0ycdf2b01mdwy7sxwca2r068zrzylpc6bgn31r"))))
3726 (build-system gnu-build-system)
3727 (native-inputs
3728 `(("glib" ,glib "bin")
3729 ("pkg-config" ,pkg-config)))
3730 (propagated-inputs
3731 ;; Listed in "Requires" section of gexiv2.pc
3732 `(("exiv2" ,exiv2)))
3733 (inputs
3734 `(("glib" ,glib)
3735 ("gobject-introspection" ,gobject-introspection)))
3736 (home-page "https://wiki.gnome.org/Projects/gexiv2")
3737 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
3738 (description
3739 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
3740allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
3741metadata in photo and video files of various formats.")
3742 (license license:gpl2+)))
3743
3744(define-public shotwell
3745 (package
3746 (name "shotwell")
3747 (version "0.22.1")
3748 (source (origin
3749 (method url-fetch)
3750 (uri (string-append "mirror://gnome/sources/" name "/"
3751 (version-major+minor version) "/"
3752 name "-" version ".tar.xz"))
3753 (sha256
3754 (base32
3755 "1a9lx9a7p6fgaf838xlw98f73xxyxmg6jmm29830lsl8ynbhq9bk"))))
3756 (build-system glib-or-gtk-build-system)
3757 (arguments
3758 `(#:tests? #f ;no "check" target
3759 #:make-flags '("CC=gcc")
3760 #:configure-flags '("--disable-gsettings-convert-install")
3761 #:out-of-source? #f))
3762 (native-inputs
3763 `(("pkg-config" ,pkg-config)
3764 ("gettext" ,gnu-gettext)
3765 ("m4" ,m4)
3766 ("desktop-file-utils" ,desktop-file-utils)
3767 ("vala" ,vala)
3768 ("which" ,which)
3769 ("gnome-doc-utils" ,gnome-doc-utils)
3770 ;; FIXME: I only added python2-libxml2 because xml2po needs it at
3771 ;; runtime. It should be propagated.
3772 ("python2-libxml2" ,python2-libxml2)
3773 ("python2" ,python-2)))
3774 (inputs
3775 `(("gstreamer" ,gstreamer)
3776 ("gst-plugins-base" ,gst-plugins-base)
3777 ("gst-plugins-good" ,gst-plugins-good)
3778 ("libgee" ,libgee)
3779 ("gexiv2" ,gexiv2)
3780 ("libraw" ,libraw)
3781 ("json-glib" ,json-glib)
3782 ("rest" ,rest)
3783 ("webkitgtk" ,webkitgtk-2.4)
3784 ("sqlite" ,sqlite)
3785 ("libsoup" ,libsoup)
3786 ("libxml2" ,libxml2)
3787 ("gtk+" ,gtk+)
3788 ("libgudev" ,libgudev)
3789 ("libgphoto2" ,libgphoto2)))
3790 (home-page "https://wiki.gnome.org/Apps/Shotwell")
3791 (synopsis "Photo manager for GNOME 3")
3792 (description
3793 "Shotwell is a digital photo manager designed for the GNOME desktop
3794environment. It allows you to import photos from disk or camera, organize
3795them by keywords and events, view them in full-window or fullscreen mode, and
3796share them with others via social networking and more.")
3797 (license license:lgpl2.1+)))
3798
3799(define-public file-roller
3800 (package
3801 (name "file-roller")
3802 (version "3.20.1")
3803 (source (origin
3804 (method url-fetch)
3805 (uri (string-append "mirror://gnome/sources/" name "/"
3806 (version-major+minor version) "/"
3807 name "-" version ".tar.xz"))
3808 (sha256
3809 (base32
3810 "0cx3d8mp0pxz9wcsb2ph7g1zy22m8z5x0a4f5vgfzl0jmrcxpcy8"))))
3811 (build-system glib-or-gtk-build-system)
3812 (native-inputs
3813 `(("intltool" ,intltool)
3814 ("pkg-config" ,pkg-config)))
3815 ;; TODO: Add libnautilus.
3816 (inputs
3817 `(("gtk+" ,gtk+)
3818 ("gdk-pixbuf" ,gdk-pixbuf)
3819 ("json-glib" ,json-glib)
3820 ("libarchive" ,libarchive)
3821 ("libnotify" ,libnotify)
3822 ("nettle" ,nettle)
3823 ("itstool" ,itstool)
3824 ("libxml2" ,libxml2)))
3825 (synopsis "Graphical archive manager for GNOME")
3826 (description "File Roller is an archive manager for the GNOME desktop
3827environment that allows users to view, unpack, and create compressed archives
3828such as gzip tarballs.")
3829 (home-page "http://fileroller.sourceforge.net/")
3830 (license license:gpl2+)))
3831
3832(define-public gnome-session
3833 (package
3834 (name "gnome-session")
3835 (version "3.20.1")
3836 (source (origin
3837 (method url-fetch)
3838 (uri (string-append "mirror://gnome/sources/" name "/"
3839 (version-major+minor version) "/"
3840 name "-" version ".tar.xz"))
3841 (sha256
3842 (base32
3843 "04w90gyl0kdx5vwmdcgfdk3qr9xhip00vgpgzci151agqwyzbs9a"))))
3844 (arguments
3845 '(#:phases
3846 (modify-phases %standard-phases
3847 (add-before 'configure 'pre-configure
3848 (lambda* (#:key outputs #:allow-other-keys)
3849 ;; Use elogind instead of systemd.
3850 (substitute* "configure"
3851 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
3852 "libelogind")
3853 (("systemd") "elogind"))
3854 (substitute* "gnome-session/gsm-systemd.c"
3855 (("#include <systemd/sd-login.h>")
3856 "#include <elogind/sd-login.h>"))
3857 ;; Remove uses of the systemd journal.
3858 (substitute* "gnome-session/main.c"
3859 (("#ifdef HAVE_SYSTEMD") "#if 0"))
3860 (substitute* "gnome-session/gsm-manager.c"
3861 (("#ifdef HAVE_SYSTEMD") "#if 0"))
3862 (substitute* "gnome-session/gsm-autostart-app.c"
3863 (("#ifdef HAVE_SYSTEMD") "#if 0"))
3864 #t))
3865 (add-after 'install 'wrap-gnome-session
3866 (lambda* (#:key inputs outputs #:allow-other-keys)
3867 ;; Make sure 'gnome-session' finds the 'gsettings' program.
3868 (let ((glib (assoc-ref inputs "glib:bin"))
3869 (out (assoc-ref outputs "out")))
3870 (wrap-program (string-append out "/bin/gnome-session")
3871 `("PATH" ":" prefix (,(string-append glib "/bin"))))
3872 #t)))
3873 (add-after 'install 'disable-hardware-acceleration-check
3874 (lambda* (#:key outputs #:allow-other-keys)
3875 ;; Do not abort if hardware acceleration is missing. This allows
3876 ;; GNOME to run in QEMU and on low-end devices.
3877 (let ((out (assoc-ref outputs "out")))
3878 (substitute* (string-append out
3879 "/share/xsessions/gnome.desktop")
3880 (("gnome-session")
3881 "gnome-session --disable-acceleration-check"))
3882 #t))))
3883
3884 #:configure-flags
3885 '("--enable-elogind")))
3886 (build-system glib-or-gtk-build-system)
3887 (native-inputs
3888 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3889 ("pkg-config" ,pkg-config)
3890 ("intltool" ,intltool)
3891 ("xsltproc" ,libxslt)))
3892 (inputs
3893 `(("elogind" ,elogind)
3894 ("gnome-desktop" ,gnome-desktop)
3895 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3896 ("gtk+" ,gtk+)
3897 ("json-glib" ,json-glib)
3898 ("libsm" ,libsm)
3899 ("libxcomposite" ,libxcomposite)
3900 ("libxtst" ,libxtst)
3901 ("mesa" ,mesa)
3902 ("upower" ,upower)
3903 ("xtrans" ,xtrans)))
3904 (synopsis "Session manager for GNOME")
3905 (description
3906 "This package contains the GNOME session manager, as well as a
3907configuration program to choose applications starting on login.")
3908 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
3909 (license license:gpl2+)))
3910
3911(define-public gjs
3912 (package
3913 (name "gjs")
3914 (version "1.44.0")
3915 (source (origin
3916 (method url-fetch)
3917 (uri (string-append "mirror://gnome/sources/" name "/"
3918 (version-major+minor version) "/"
3919 name "-" version ".tar.xz"))
3920 (sha256
3921 (base32
3922 "106fgpr4y99sj68l72pnfa2za11ps4bn6p9z28fr79j7mpv61jc8"))
3923 (modules '((guix build utils)))
3924 (snippet '(substitute* "test/run-with-dbus"
3925 (("/bin/rm") "rm")))))
3926 (build-system gnu-build-system)
3927 (arguments
3928 '(#:phases
3929 (modify-phases %standard-phases
3930 (add-before
3931 'check 'pre-check
3932 (lambda _
3933 ;; For the missing /etc/machine-id.
3934 (setenv "DBUS_FATAL_WARNINGS" "0")
3935
3936 ;; XXX: fails with:
3937 ;; Failed to convert UTF-8 string to JS string: ...
3938 ;; TODO: actually fix it.
3939 (substitute* "installed-tests/js/testEverythingBasic.js"
3940 ((".*test_utf8_inout.*") ""))
3941 #t)))))
3942 (native-inputs
3943 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3944 ("pkg-config" ,pkg-config)
3945 ("xmllint" ,libxml2)
3946 ;; For testing
3947 ("dbus-launch" ,dbus)
3948 ("uuidgen" ,util-linux)
3949 ("xvfb" ,xorg-server)))
3950 (propagated-inputs
3951 ;; These are all in the Requires.private field of gjs-1.0.pc.
3952 `(("gobject-introspection" ,gobject-introspection)
3953 ("mozjs" ,mozjs-24)))
3954 (inputs
3955 `(("gtk+" ,gtk+)
3956 ("readline" ,readline)))
3957 (synopsis "Javascript bindings for GNOME")
3958 (home-page "http://live.gnome.org/Gjs")
3959 (description
3960 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
3961javascript engine and the GObject introspection framework.")
3962 (license license:gpl2+)))
3963
3964(define-public gedit
3965 (package
3966 (name "gedit")
3967 (version "3.20.1")
3968 (source (origin
3969 (method url-fetch)
3970 (uri (string-append "mirror://gnome/sources/" name "/"
3971 (version-major+minor version) "/"
3972 name "-" version ".tar.xz"))
3973 (sha256
3974 (base32
3975 "1i0x1jd9x1vpv8lwdlzwf0ml8jxh3b3l6nlg6pbnfjw47w3y6iws"))))
3976 (build-system glib-or-gtk-build-system)
3977 (arguments
3978 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
3979 #:phases
3980 (modify-phases %standard-phases
3981 (add-after
3982 'install 'wrap-gedit
3983 (lambda* (#:key inputs outputs #:allow-other-keys)
3984 (let ((out (assoc-ref outputs "out"))
3985 (gtksourceview (assoc-ref inputs "gtksourceview"))
3986 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3987 (python-path (getenv "PYTHONPATH")))
3988 (wrap-program (string-append out "/bin/gedit")
3989 ;; For plugins.
3990 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3991 `("PYTHONPATH" ":" prefix (,python-path))
3992 ;; For language-specs.
3993 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
3994 "/share")))))
3995 #t)))))
3996 (propagated-inputs
3997 `(("dconf" ,dconf)))
3998 (native-inputs
3999 `(("intltool" ,intltool)
4000 ("itstool" ,itstool)
4001 ("gobject-introspection" ,gobject-introspection)
4002 ("pkg-config" ,pkg-config)))
4003 (inputs
4004 `(("glib" ,glib)
4005 ("gtk+" ,gtk+)
4006 ("gtksourceview" ,gtksourceview)
4007 ("libpeas" ,libpeas)
4008 ("libxml2" ,libxml2)
4009 ("iso-codes" ,iso-codes)
4010 ("python-pygobject" ,python-pygobject)
4011 ("python" ,python)
4012 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4013 ("libx11" ,libx11)
4014 ("vala" ,vala)
4015 ("adwaita-icon-theme" ,adwaita-icon-theme)
4016 ("libsoup" ,libsoup)
4017 ("gnome-desktop" ,gnome-desktop)))
4018 (home-page "https://wiki.gnome.org/Apps/Gedit")
4019 (synopsis "GNOME text editor")
4020 (description "While aiming at simplicity and ease of use, gedit is a
4021powerful general purpose text editor.")
4022 (license license:gpl2+)))
4023
4024(define-public zenity
4025 (package
4026 (name "zenity")
4027 (version "3.20.0")
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "mirror://gnome/sources/" name "/"
4031 (version-major+minor version) "/"
4032 name "-" version ".tar.xz"))
4033 (sha256
4034 (base32
4035 "0j2sy6imwp41l75hy3fwr68n35drvanbwgmr42kc04zqjy9pbs02"))))
4036 (build-system gnu-build-system)
4037 (native-inputs
4038 `(("gettext" ,gnu-gettext)
4039 ("itstool" ,itstool)
4040 ("pkg-config" ,pkg-config)))
4041 (inputs
4042 `(("libnotify" ,libnotify)
4043 ("webkitgtk" ,webkitgtk)))
4044 (synopsis "Display graphical dialog boxes from shell scripts")
4045 (home-page "http://www.gnome.org")
4046 (description
4047 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4048to display dialog boxes from the commandline and shell scripts.")
4049 (license license:lgpl2.0+)))
4050
4051(define-public mutter
4052 (package
4053 (name "mutter")
4054 (version "3.20.1")
4055 (source (origin
4056 (method url-fetch)
4057 (uri (string-append "mirror://gnome/sources/" name "/"
4058 (version-major+minor version) "/"
4059 name "-" version ".tar.xz"))
4060 (sha256
4061 (base32
4062 "0752vkkmaaay8ziczqrf7z3735bq3brx2djw36arqsdhwawh6jba"))))
4063 (build-system gnu-build-system)
4064 (arguments
4065 '(#:configure-flags
4066 ;; XXX: build fails with [-Werror]:
4067 ;; backends/meta-cursor-renderer.c:112:5: error:
4068 ;; implicit declaration of function ?roundf?
4069 '("--enable-compile-warnings=minimum")))
4070 (native-inputs
4071 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4072 ("gobject-introspection" ,gobject-introspection)
4073 ("intltool" ,intltool)
4074 ("pkg-config" ,pkg-config)))
4075 (propagated-inputs
4076 ;; libmutter.pc refers to all these.
4077 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4078 ("gtk+" ,gtk+)
4079 ("clutter" ,clutter)))
4080 (inputs
4081 `(("gnome-desktop" ,gnome-desktop)
4082 ("libcanberra-gtk" ,libcanberra)
4083 ("libice" ,libice)
4084 ("libsm" ,libsm)
4085 ("libxkbcommon" ,libxkbcommon)
4086 ("libxkbfile" ,libxkbfile)
4087 ("mesa-headers" ,mesa-headers)
4088 ("startup-notification" ,startup-notification)
4089 ("upower-glib" ,upower)
4090 ("xkeyboard-config" ,xkeyboard-config)
4091 ("zenity" ,zenity)))
4092 (synopsis "Window and compositing manager")
4093 (home-page "http://www.gnome.org")
4094 (description
4095 "Mutter is a window and compositing manager that displays and manages your
4096desktop via OpenGL. Mutter combines a sophisticated display engine using the
4097Clutter toolkit with solid window-management logic inherited from the Metacity
4098window manager.")
4099 (license license:gpl2+)))
4100
4101(define-public gnome-online-accounts
4102 (package
4103 (name "gnome-online-accounts")
4104 (version "3.20.1")
4105 (source (origin
4106 (method url-fetch)
4107 (uri (string-append "mirror://gnome/sources/" name "/"
4108 (version-major+minor version) "/"
4109 name "-" version ".tar.xz"))
4110 (sha256
4111 (base32
4112 "14qcih1g136sn2aklzagv83jl82d3qc598rkdm8zac9gw70ynyn3"))))
4113 (build-system glib-or-gtk-build-system)
4114 (native-inputs
4115 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4116 ("gobject-introspection" ,gobject-introspection)
4117 ("intltool" ,intltool)
4118 ("pkg-config" ,pkg-config)
4119 ("xsltproc" ,libxslt)))
4120 (propagated-inputs
4121 `(("glib" ,glib) ; required by goa-1.0.pc
4122 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4123 (inputs
4124 `(("docbook-xsl" ,docbook-xsl)
4125 ("json-glib" ,json-glib)
4126 ("libsecret" ,libsecret)
4127 ("rest" ,rest)
4128 ("telepathy-glib" ,telepathy-glib)
4129 ("webkitgtk" ,webkitgtk)))
4130 (synopsis "Single sign-on framework for GNOME")
4131 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4132 (description
4133 "GNOME Online Accounts provides interfaces so that applications and
4134libraries in GNOME can access the user's online accounts. It has providers for
4135Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4136Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4137 (license license:lgpl2.0+)))
4138
4139(define-public evolution-data-server
4140 (package
4141 (name "evolution-data-server")
4142 (version "3.20.1")
4143 (source (origin
4144 (method url-fetch)
4145 (uri (string-append "mirror://gnome/sources/" name "/"
4146 (version-major+minor version) "/"
4147 name "-" version ".tar.xz"))
4148 (sha256
4149 (base32
4150 "0lsbhzacr2bs90z8sx44vf403r0h2yqsy4l2svrh5hjnassgdyqx"))))
4151 (build-system gnu-build-system)
4152 (arguments
4153 '(;; XXX: fails with:
4154 ;; /Fixture/Calendar0: cleaning up pid xxxx
4155 ;; t status: 139)
4156 #:tests? #f
4157 #:configure-flags
4158 (let ((nss (assoc-ref %build-inputs "nss"))
4159 (nspr (assoc-ref %build-inputs "nspr")))
4160 (list "--disable-uoa" ; disable Ubuntu Online Accounts support
4161 "--disable-google" ; disable Google Contacts support
4162 "--disable-google-auth" ; disable Google authentication
4163 (string-append "--with-nspr-includes=" nspr "/include/nspr")
4164 (string-append "--with-nss-includes=" nss "/include/nss")
4165 (string-append "--with-nss-libs=" nss "/lib/nss")))
4166 #:phases
4167 (modify-phases %standard-phases
4168 (add-before 'check 'pre-check
4169 (lambda _
4170 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4171 (("/bin/rm") (which "rm")))
4172 #t)))))
4173 (native-inputs
4174 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4175 ("gobject-introspection" ,gobject-introspection)
4176 ("gperf" ,gperf)
4177 ("intltool" ,intltool)
4178 ("pkg-config" ,pkg-config)
4179 ("python" ,python)))
4180 (propagated-inputs
4181 ;; These are all in the Requires field of .pc files.
4182 `(("gtk+" ,gtk+)
4183 ("libical" ,libical)
4184 ("libsecret" ,libsecret)
4185 ("libsoup" ,libsoup)
4186 ("nss" ,nss)
4187 ("sqlite" ,sqlite)))
4188 (inputs
4189 `(("bdb" ,bdb)
4190 ("gcr" ,gcr)
4191 ("gnome-online-accounts" ,gnome-online-accounts)
4192 ("libgweather" ,libgweather)))
4193 (synopsis "Store address books and calendars")
4194 (home-page "https://wiki.gnome.org/Apps/Evolution")
4195 (description
4196 "This package provides a unified backend for programs that work with
4197contacts, tasks, and calendar information. It was originally developed for
4198Evolution (hence the name), but is now used by other packages as well.")
4199 (license license:lgpl2.0)))
4200
4201(define-public caribou
4202 (package
4203 (name "caribou")
4204 (version "0.4.20")
4205 (source (origin
4206 (method url-fetch)
4207 (uri (string-append "mirror://gnome/sources/" name "/"
4208 (version-major+minor version) "/"
4209 name "-" version ".tar.xz"))
4210 (sha256
4211 (base32
4212 "1nahpfs5ap9f9wsvn93kg8isqffk60v785f1q6k64awcd7an8ris"))))
4213 (build-system glib-or-gtk-build-system)
4214 (arguments
4215 '(#:phases
4216 (modify-phases %standard-phases
4217 (add-before
4218 'build 'pre-build
4219 (lambda* (#:key outputs #:allow-other-keys)
4220 (let ((out (assoc-ref outputs "out")))
4221 ;; Use absolute shared library path in Caribou-1.0.typelib.
4222 (substitute* "libcaribou/Makefile"
4223 (("--shared-library=libcaribou.so")
4224 (string-append "--shared-library="
4225 out "/lib/libcaribou.so")))
4226 #t)))
4227 (add-after 'install 'wrap-programs
4228 (lambda* (#:key outputs #:allow-other-keys)
4229 (let* ((out (assoc-ref outputs "out"))
4230 (python-path (getenv "PYTHONPATH"))
4231 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4232 (for-each
4233 (lambda (prog)
4234 (wrap-program prog
4235 `("PYTHONPATH" ":" prefix (,python-path))
4236 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4237 (list (string-append out "/bin/caribou-preferences")
4238 (string-append out "/libexec/antler-keyboard"))))
4239 #t)))))
4240 (native-inputs
4241 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4242 ("gobject-introspection" ,gobject-introspection)
4243 ("intltool" ,intltool)
4244 ("pkg-config" ,pkg-config)
4245 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4246 ("vala" ,vala)
4247 ("xsltproc" ,libxslt)))
4248 (propagated-inputs
4249 ;; caribou-1.0.pc refers to all these.
4250 `(("libgee" ,libgee)
4251 ("libxklavier" ,libxklavier)
4252 ("libxtst" ,libxtst)
4253 ("gtk+" ,gtk+)))
4254 (inputs
4255 `(("clutter" ,clutter)
4256 ("dconf" ,dconf)
4257 ("gtk+-2" ,gtk+-2)
4258 ("python-pygobject" ,python2-pygobject)))
4259 (synopsis "Text entry and UI navigation application")
4260 (home-page "https://wiki.gnome.org/Projects/Caribou")
4261 (description
4262 "Caribou is an input assistive technology intended for switch and pointer
4263users.")
4264 (license license:lgpl2.1)))
4265
4266(define-public network-manager
4267 (package
4268 (name "network-manager")
4269 (version "1.2.0")
4270 (source (origin
4271 (method url-fetch)
4272 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4273 (version-major+minor version) "/"
4274 "NetworkManager-" version ".tar.xz"))
4275 (sha256
4276 (base32
4277 "101axwk3bc1pm9m98vwrnxyjna6w0qgzaskgivldq69xz8qcyiz9"))))
4278 (build-system gnu-build-system)
4279 (outputs '("out"
4280 "doc")) ; 8 MiB of gtk-doc HTML
4281 (arguments
4282 '(#:configure-flags
4283 (let ((out (assoc-ref %outputs "out"))
4284 (doc (assoc-ref %outputs "doc"))
4285 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4286 "/sbin/dhclient")))
4287 (list "--with-crypto=gnutls"
4288 "--disable-config-plugin-ibft"
4289 "--sysconfdir=/etc"
4290 "--localstatedir=/var"
4291 (string-append "--with-udev-dir="
4292 out "/lib/udev")
4293 (string-append "--with-dbus-sys-dir="
4294 out "/etc/dbus-1/system.d")
4295 (string-append "--with-html-dir="
4296 doc "/share/gtk-doc/html")
4297 (string-append "--with-dhclient=" dhclient)))
4298 #:phases
4299 (modify-phases %standard-phases
4300 (add-before 'configure 'pre-configure
4301 (lambda _
4302 ;; These tests try to test aspects of network-manager's
4303 ;; functionality within restricted containers, but they don't
4304 ;; cope with being already in the Guix build jail as that jail
4305 ;; lacks some features that they would like to proxy over (like
4306 ;; a /sys mount).
4307 (substitute* '("src/platform/Makefile.in"
4308 "src/devices/Makefile.in")
4309 (("SUBDIRS = tests") ""))
4310 (substitute* '("src/tests/Makefile.in")
4311 (("\ttest-route-manager-linux") "\t")
4312 (("\ttest-route-manager-fake") "\t"))
4313 #t))
4314 (add-before 'check 'pre-check
4315 (lambda _
4316 ;; For the missing /etc/machine-id.
4317 (setenv "DBUS_FATAL_WARNINGS" "0")
4318 #t))
4319 (replace 'install
4320 (lambda _
4321 (zero? (system* "make"
4322 "sysconfdir=/tmp"
4323 "rundir=/tmp"
4324 "statedir=/tmp"
4325 "install")))))))
4326 (native-inputs
4327 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4328 ("gobject-introspection" ,gobject-introspection)
4329 ("intltool" ,intltool)
4330 ("pkg-config" ,pkg-config)
4331 ;; For testing.
4332 ("python" ,python-wrapper)
4333 ("python-dbus" ,python-dbus)
4334 ("python-pygobject" ,python-pygobject)))
4335 (inputs
4336 `(("dbus-glib" ,dbus-glib)
4337 ("dnsmasq" ,dnsmasq)
4338 ("gnutls" ,gnutls)
4339 ("iptables" ,iptables)
4340 ("isc-dhcp" ,isc-dhcp)
4341 ("libgcrypt" ,libgcrypt)
4342 ("libgudev" ,libgudev)
4343 ("libndp" ,libndp)
4344 ("libnl" ,libnl)
4345 ("libsoup" ,libsoup)
4346 ("modem-manager" ,modem-manager)
4347 ("polkit" ,polkit)
4348 ("ppp" ,ppp)
4349 ("readline" ,readline)
4350 ("util-linux" ,util-linux)))
4351 (synopsis "Network connection manager")
4352 (home-page "http://www.gnome.org/projects/NetworkManager/")
4353 (description
4354 "NetworkManager is a system network service that manages your network
4355devices and connections, attempting to keep active network connectivity when
4356available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4357devices, and provides VPN integration with a variety of different VPN
4358services.")
4359 (license license:gpl2+)))
4360
4361(define-public network-manager-applet
4362 (package
4363 (name "network-manager-applet")
4364 (version "1.2.0")
4365 (source (origin
4366 (method url-fetch)
4367 (uri (string-append "mirror://gnome/sources/" name "/"
4368 (version-major+minor version) "/"
4369 name "-" version ".tar.xz"))
4370 (sha256
4371 (base32
4372 "0dhvk3dvy6djn6blpkv46dn6yfh28wsh6mpl0v53qxfip97j8kwk"))))
4373 (build-system glib-or-gtk-build-system)
4374 (arguments '(#:configure-flags '("--disable-migration")))
4375 (native-inputs
4376 `(("intltool" ,intltool)
4377 ("gobject-introspection" ,gobject-introspection)
4378 ("pkg-config" ,pkg-config)))
4379 (propagated-inputs
4380 ;; libnm-gtk.pc refers to all these.
4381 `(("dbus-glib" ,dbus-glib)
4382 ("gtk+" ,gtk+)
4383 ("network-manager" ,network-manager)))
4384 (inputs
4385 `(("iso-codes" ,iso-codes)
4386 ("libgudev" ,libgudev)
4387 ("libnotify" ,libnotify)
4388 ("libsecret" ,libsecret)))
4389 (synopsis "Applet for managing network connections")
4390 (home-page "http://www.gnome.org/projects/NetworkManager/")
4391 (description
4392 "This package contains a systray applet for NetworkManager. It displays
4393the available networks and allows users to easily switch between them.")
4394 (license license:gpl2+)))
4395
4396(define-public libxml++
4397 (package
4398 (name "libxml++")
4399 (version "3.0.0")
4400 (source (origin
4401 (method url-fetch)
4402 (uri (string-append "mirror://gnome/sources/" name "/"
4403 (version-major+minor version) "/"
4404 name "-" version ".tar.xz"))
4405 (sha256
4406 (base32
4407 "0lkrajbdys5f6w6qwfijih3hnbk4c6809qx2mmxkb7bj2w269wrg"))))
4408 (build-system gnu-build-system)
4409 ;; libxml++-3.0.pc refers to all these.
4410 (propagated-inputs
4411 `(("libxml2" ,libxml2)
4412 ("glibmm" ,glibmm)))
4413 (native-inputs
4414 `(("perl" ,perl)
4415 ("pkg-config" ,pkg-config)))
4416 (home-page "http://libxmlplusplus.sourceforge.net/")
4417 (synopsis "C++ wrapper for XML parser library libxml2")
4418 (description
4419 "This package provides a C++ wrapper for the XML parser library
4420libxml2.")
4421 (license license:lgpl2.1+)))
4422
4423(define-public gdm
4424 (package
4425 (name "gdm")
4426 (version "3.20.1")
4427 (source (origin
4428 (method url-fetch)
4429 (uri (string-append "mirror://gnome/sources/" name "/"
4430 (version-major+minor version) "/"
4431 name "-" version ".tar.xz"))
4432 (sha256
4433 (base32
4434 "17vqcnqnwx7s5xzgn358gsgbmpz7k90sh1qrwrh3wnj5r0pm38hh"))))
4435 (build-system gnu-build-system)
4436 (arguments
4437 '(#:configure-flags
4438 '("--without-plymouth")
4439 #:phases
4440 (modify-phases %standard-phases
4441 (add-before
4442 'configure 'pre-configure
4443 (lambda _
4444 ;; We don't have <systemd/sd-daemon.h>.
4445 (substitute* '("common/gdm-log.c"
4446 "daemon/gdm-server.c"
4447 "daemon/gdm-session-worker.c"
4448 "daemon/gdm-session-worker-job.c")
4449 (("#include <systemd/sd-daemon\\.h>") ""))
4450 ;; Use elogind for sd-login.
4451 (substitute* '("common/gdm-common.c"
4452 "daemon/gdm-manager.c"
4453 "libgdm/gdm-user-switching.c")
4454 (("#include <systemd/sd-login\\.h>")
4455 "#include <elogind/sd-login.h>"))
4456 ;; Avoid checking SYSTEMD using pkg-config.
4457 (setenv "SYSTEMD_CFLAGS" " ")
4458 (setenv "SYSTEMD_LIBS" "-lelogind")
4459 #t)))))
4460 (native-inputs
4461 `(("dconf" ,dconf)
4462 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4463 ("gobject-introspection" ,gobject-introspection)
4464 ("intltool" ,intltool)
4465 ("itstool" ,itstool)
4466 ("pkg-config" ,pkg-config)
4467 ("xmllint" ,libxml2)))
4468 (inputs
4469 `(("accountsservice" ,accountsservice)
4470 ("check" ,check) ; for testing
4471 ("elogind" ,elogind)
4472 ("gtk+" ,gtk+)
4473 ("iso-codes" ,iso-codes)
4474 ("libcanberra" ,libcanberra)
4475 ("linux-pam" ,linux-pam)))
4476 (synopsis "Display manager for GNOME")
4477 (home-page "http://wiki.gnome.org/Projects/GDM/")
4478 (description
4479 "GNOME Display Manager is a system service that is responsible for
4480providing graphical log-ins and managing local and remote displays.")
4481 (license license:gpl2+)))
4482
4483(define-public libgtop
4484 (package
4485 (name "libgtop")
4486 (version "2.34.0")
4487 (source (origin
4488 (method url-fetch)
4489 (uri (string-append "mirror://gnome/sources/" name "/"
4490 (version-major+minor version) "/"
4491 name "-" version ".tar.xz"))
4492 (sha256
4493 (base32
4494 "0apfnh9k6vmbdm8ms5wxyhagrrl8r88fv48k7q5qq70df2gf72ld"))))
4495 (build-system gnu-build-system)
4496 (native-inputs
4497 `(("gobject-introspection" ,gobject-introspection)
4498 ("intltool" ,intltool)
4499 ("perl" ,perl)
4500 ("pkg-config" ,pkg-config)))
4501 (propagated-inputs
4502 `(("glib" ,glib))) ; required by libgtop-2.0.pc
4503 (synopsis "Portable system access library")
4504 (home-page "https://www.gnome.org/")
4505 (description
4506 "LibGTop is a library to get system specific data such as CPU and memory
4507usage and information about running processes.")
4508 (license license:gpl2+)))
4509
4510(define-public gnome-bluetooth
4511 (package
4512 (name "gnome-bluetooth")
4513 (version "3.18.3")
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append "mirror://gnome/sources/" name "/"
4517 (version-major+minor version) "/"
4518 name "-" version ".tar.xz"))
4519 (sha256
4520 (base32
4521 "1qwc9q7x22sc71zhqv4db78rqzxl6fqfw6d978ydqap54c2bg0g4"))))
4522 (build-system glib-or-gtk-build-system)
4523 (native-inputs
4524 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
4525 ("gobject-introspection" ,gobject-introspection)
4526 ("intltool" ,intltool)
4527 ("pkg-config" ,pkg-config)
4528 ("xmllint" ,libxml2)))
4529 (propagated-inputs
4530 ;; gnome-bluetooth-1.0.pc refers to all these.
4531 `(("gtk+" ,gtk+)
4532 ("udev" ,eudev)))
4533 (inputs
4534 `(("libcanberra" ,libcanberra)
4535 ("libnotify" ,libnotify)))
4536 (synopsis "GNOME Bluetooth subsystem")
4537 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
4538 (description
4539 "This package contains tools for managing and manipulating Bluetooth
4540devices using the GNOME desktop.")
4541 (license license:lgpl2.1+)))
4542
4543(define-public gnome-control-center
4544 (package
4545 (name "gnome-control-center")
4546 (version "3.20.1")
4547 (source (origin
4548 (method url-fetch)
4549 (uri (string-append "mirror://gnome/sources/" name "/"
4550 (version-major+minor version) "/"
4551 name "-" version ".tar.xz"))
4552 (sha256
4553 (base32
4554 "1vd1h31vwyq7ss5f1151gx1vdsy35sjmapjmmz7x73ppc3y78r6f"))))
4555 (build-system glib-or-gtk-build-system)
4556 (arguments
4557 '(#:phases
4558 (modify-phases %standard-phases
4559 (add-before 'configure 'patch-paths
4560 (lambda* (#:key inputs #:allow-other-keys)
4561 (let ((libc (assoc-ref inputs "libc"))
4562 (tzdata (assoc-ref inputs "tzdata")))
4563 (substitute* "panels/datetime/tz.h"
4564 (("/usr/share/zoneinfo/zone.tab")
4565 (string-append tzdata "/share/zoneinfo/zone.tab")))
4566 (substitute* "panels/datetime/test-endianess.c"
4567 (("/usr/share/locale")
4568 (string-append libc "/share/locale")))
4569 #t))))))
4570 (native-inputs
4571 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4572 ("intltool" ,intltool)
4573 ("pkg-config" ,pkg-config)
4574 ("xsltproc" ,libxslt)))
4575 (inputs
4576 `(("accountsservice" ,accountsservice)
4577 ("clutter-gtk" ,clutter-gtk)
4578 ("colord-gtk" ,colord-gtk)
4579 ("cups" ,cups)
4580 ("dconf" ,dconf)
4581 ("docbook-xsl" ,docbook-xsl)
4582 ("gnome-bluetooth" ,gnome-bluetooth)
4583 ("gnome-desktop" ,gnome-desktop)
4584 ("gnome-online-accounts" ,gnome-online-accounts)
4585 ("gnome-settings-daemon" ,gnome-settings-daemon)
4586 ("grilo" ,grilo)
4587 ("ibus" ,ibus)
4588 ("libcanberra" ,libcanberra)
4589 ("libgudev" ,libgudev)
4590 ("libgtop" ,libgtop)
4591 ("libpwquality" ,libpwquality)
4592 ("libsoup" ,libsoup)
4593 ("libxml2" ,libxml2)
4594 ("libwacom" ,libwacom)
4595 ("mesa" ,mesa)
4596 ("mit-krb5" ,mit-krb5)
4597 ("modem-manager" ,modem-manager)
4598 ("network-manager-applet" ,network-manager-applet)
4599 ("polkit" ,polkit)
4600 ("pulseaudio" ,pulseaudio)
4601 ("smbclient" ,samba)
4602 ("tzdata" ,tzdata)
4603 ("upower" ,upower)))
4604 (synopsis "Utilities to configure the GNOME desktop")
4605 (home-page "https://www.gnome.org/")
4606 (description
4607 "This package contains configuration applets for the GNOME desktop,
4608allowing to set accessibility configuration, desktop fonts, keyboard and mouse
4609properties, sound setup, desktop theme and background, user interface
4610properties, screen resolution, and other GNOME parameters.")
4611 (license license:gpl2+)))
4612
4613(define-public gnome-shell
4614 (package
4615 (name "gnome-shell")
4616 (version "3.20.1")
4617 (source (origin
4618 (method url-fetch)
4619 (uri (string-append "mirror://gnome/sources/" name "/"
4620 (version-major+minor version) "/"
4621 name "-" version ".tar.xz"))
4622 (sha256
4623 (base32
4624 "08cgbr15cim3rgcngrv98rm48pkdxwj4nqx5za1lsnv376m4x5bs"))))
4625 (build-system glib-or-gtk-build-system)
4626 (arguments
4627 '(#:phases
4628 (modify-phases %standard-phases
4629 (replace 'install
4630 (lambda* (#:key outputs #:allow-other-keys)
4631 (let* ((out (assoc-ref outputs "out"))
4632 (keysdir (string-append
4633 out "/share/gnome-control-center/keybindings")))
4634 (zero? (system* "make"
4635 (string-append "keysdir=" keysdir)
4636 "install")))))
4637 (add-after
4638 'install 'wrap-programs
4639 (lambda* (#:key outputs #:allow-other-keys)
4640 (let ((out (assoc-ref outputs "out"))
4641 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4642 (python-path (getenv "PYTHONPATH")))
4643 (wrap-program (string-append out "/bin/gnome-shell")
4644 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
4645 (for-each
4646 (lambda (prog)
4647 (wrap-program (string-append out "/bin/" prog)
4648 `("PYTHONPATH" ":" prefix (,python-path))
4649 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4650 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
4651 #t))))))
4652 (native-inputs
4653 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4654 ("gobject-introspection" ,gobject-introspection)
4655 ("intltool" ,intltool)
4656 ("pkg-config" ,pkg-config)
4657 ("python" ,python)
4658 ("xsltproc" ,libxslt)))
4659 (inputs
4660 `(("accountsservice" ,accountsservice)
4661 ("caribou" ,caribou)
4662 ("docbook-xsl" ,docbook-xsl)
4663 ("evolution-data-server" ,evolution-data-server)
4664 ("gcr" ,gcr)
4665 ("gdm" ,gdm)
4666 ("gjs" ,gjs)
4667 ("gnome-bluetooth" ,gnome-bluetooth)
4668 ("gnome-control-center" ,gnome-control-center)
4669 ("gnome-desktop" ,gnome-desktop)
4670 ("gnome-settings-daemon" ,gnome-settings-daemon)
4671 ("gst-plugins-base" ,gst-plugins-base)
4672 ("ibus" ,ibus)
4673 ("libcanberra" ,libcanberra)
4674 ("libcroco" ,libcroco)
4675 ("libgweather" ,libgweather)
4676 ("libsoup" ,libsoup)
4677 ("mesa-headers" ,mesa-headers)
4678 ("mutter" ,mutter)
4679 ("network-manager-applet" ,network-manager-applet)
4680 ("polkit" ,polkit)
4681 ("pulseaudio" ,pulseaudio)
4682 ("python-pygobject" ,python-pygobject)
4683 ("startup-notification" ,startup-notification)
4684 ("telepathy-logger" ,telepathy-logger)
4685 ("upower" ,upower)
4686 ;; XXX: required by libgjs.la.
4687 ("readline" ,readline)))
4688 (synopsis "Desktop shell for GNOME")
4689 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
4690 (description
4691 "GNOME Shell provides core user interface functions for the GNOME desktop,
4692like switching to windows and launching applications.")
4693 (license license:gpl2+)))
4694
4695(define-public gtk-vnc
4696 (package
4697 (name "gtk-vnc")
4698 (version "0.5.4")
4699 (source
4700 (origin
4701 (method url-fetch)
4702 (uri (string-append "mirror://gnome/sources/" name "/"
4703 (version-major+minor version) "/"
4704 name "-" version ".tar.xz"))
4705 (sha256
4706 (base32
4707 "1rwwdh7lb16xdmy76ca6mpqfc3zfl3a4bkcr0qb6hs6ffrxak2j8"))))
4708 (build-system gnu-build-system)
4709 (arguments
4710 '(#:configure-flags '("--with-gtk=3.0")))
4711 (propagated-inputs
4712 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
4713 (inputs
4714 `(("cyrus-sasl" ,cyrus-sasl)
4715 ("gnutls" ,gnutls)
4716 ("libgcrypt" ,libgcrypt)
4717 ("pulseaudio" ,pulseaudio)))
4718 (native-inputs
4719 `(("glib:bin" ,glib "bin")
4720 ("gobject-introspection" ,gobject-introspection)
4721 ("intltool" ,intltool)
4722 ("pkg-config" ,pkg-config)
4723 ("vala" ,vala)))
4724 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
4725 (synopsis "VNC viewer widget for GTK+")
4726 (description
4727 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
4728applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
4729GTK-VNC implements client side RFB protocol and authentication extensions such
4730as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
4731 (license license:lgpl2.1+)))
4732
4733(define-public nautilus
4734 (package
4735 (name "nautilus")
4736 (version "3.20.1")
4737 (source (origin
4738 (method url-fetch)
4739 (uri (string-append "mirror://gnome/sources/" name "/"
4740 (version-major+minor version) "/"
4741 name "-" version ".tar.xz"))
4742 (sha256
4743 (base32
4744 "1s41bsihacs7cywm60vqgv46m22gmga4b0bwxnki4r02jjwhgagj"))))
4745 (build-system glib-or-gtk-build-system)
4746 (arguments
4747 '(#:configure-flags
4748 '("--disable-tracker" "--disable-selinux") ; XXX: not packaged
4749 ;; XXX: FAIL: check-nautilus
4750 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
4751 #:tests? #f))
4752 (native-inputs
4753 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4754 ("gobject-introspection" ,gobject-introspection)
4755 ("intltool" ,intltool)
4756 ("pkg-config" ,pkg-config)))
4757 (inputs
4758 ;; TODO: add gvfs support.
4759 `(("dconf" ,dconf)
4760 ("exempi" ,exempi)
4761 ("gnome-desktop" ,gnome-desktop)
4762 ;; XXX: gtk+ is required by libnautilus-extension.pc
4763 ;;
4764 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
4765 ;; package. See:
4766 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
4767 ("gtk+" ,gtk+)
4768 ("libexif" ,libexif)
4769 ("libxml2" ,libxml2)))
4770 (synopsis "File manager for GNOME")
4771 (home-page "https://wiki.gnome.org/Apps/Nautilus")
4772 (description
4773 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
4774design and behaviour, giving the user a simple way to navigate and manage its
4775files.")
4776 (license license:gpl2+)))
4777
4778(define-public baobab
4779 (package
4780 (name "baobab")
4781 (version "3.20.1")
4782 (source (origin
4783 (method url-fetch)
4784 (uri (string-append
4785 "mirror://gnome/sources/" name "/"
4786 (version-major+minor version) "/"
4787 name "-" version ".tar.xz"))
4788 (sha256
4789 (base32
4790 "07wx4jb3nmipd4caybv21hl8h0gb282qc5a24b731mxhfqmg3pz9"))))
4791 (build-system glib-or-gtk-build-system)
4792 (native-inputs
4793 `(("intltool" ,intltool)
4794 ("pkg-config" ,pkg-config)
4795 ("itstool" ,itstool)
4796 ("xmllint" ,libxml2)
4797 ("glib" ,glib "bin")
4798 ("vala" ,vala)))
4799 (inputs
4800 `(("gtk+" ,gtk+)))
4801 (synopsis "Disk usage analyzer for GNOME")
4802 (description
4803 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
4804usage in the GNOME desktop environment. It can easily scan device volumes or
4805a specific user-requested directory branch (local or remote). Once the scan
4806is complete it provides a graphical representation of each selected folder.")
4807 (home-page "https://wiki.gnome.org/Apps/Baobab")
4808 (license license:gpl2+)))
4809
4810(define-public gnome-backgrounds
4811 (package
4812 (name "gnome-backgrounds")
4813 (version "3.20")
4814 (source
4815 (origin
4816 (method url-fetch)
4817 (uri (string-append "mirror://gnome/sources/" name "/"
4818 (version-major+minor version) "/"
4819 name "-" version ".tar.xz"))
4820 (sha256
4821 (base32
4822 "09viag7q53lfwrp074a1w7j0r8izlwpi10xbwjgbf5jwbqb6wv6n"))))
4823 (build-system glib-or-gtk-build-system)
4824 (native-inputs
4825 `(("intltool" ,intltool)))
4826 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
4827 (synopsis "Background images for the GNOME desktop")
4828 (description
4829 "GNOME backgrounds package contains a collection of graphics files which
4830can be used as backgrounds in the GNOME Desktop environment. Additionally,
4831the package creates the proper framework and directory structure so that you
4832can add your own files to the collection.")
4833 (license (list license:gpl2+
4834 license:cc-by2.0
4835 license:cc-by-sa2.0
4836 license:cc-by-sa3.0))))
4837
4838(define-public gnome-screenshot
4839 (package
4840 (name "gnome-screenshot")
4841 (version "3.18.0")
4842 (source
4843 (origin
4844 (method url-fetch)
4845 (uri (string-append "mirror://gnome/sources/" name "/"
4846 (version-major+minor version) "/"
4847 name "-" version ".tar.xz"))
4848 (sha256
4849 (base32
4850 "0hc8m435q7yzvrw7jpi53kaxpmrd9w59sm7c5wibh2ng9azlv9pb"))))
4851 (build-system glib-or-gtk-build-system)
4852 (native-inputs
4853 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4854 ("intltool" ,intltool)
4855 ("pkg-config" ,pkg-config)))
4856 (inputs
4857 `(("gtk+" ,gtk+)
4858 ("libcanberra" ,libcanberra)
4859 ("libx11" ,libx11)
4860 ("libxext" ,libxext)))
4861 (home-page "https://git.gnome.org/browse/gnome-screenshot")
4862 (synopsis "Take pictures of your screen")
4863 (description
4864 "GNOME Screenshot is a utility used for taking screenshots of the entire
4865screen, a window or a user defined area of the screen, with optional
4866beautifying border effects.")
4867 (license license:gpl2+)))
4868
4869(define-public dconf-editor
4870 (package
4871 (name "dconf-editor")
4872 (version "3.20.1")
4873 (source
4874 (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 "0pfpmvpv57a01nsd1fah3np33avihm5ic43fi6b60dyw6c5z953p"))))
4882 (build-system glib-or-gtk-build-system)
4883 (native-inputs
4884 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
4885 ("intltool" ,intltool)
4886 ("pkg-config" ,pkg-config)))
4887 (inputs
4888 `(("dconf" ,dconf)
4889 ("gtk+" ,gtk+)
4890 ("libxml2" ,libxml2)))
4891 (home-page "https://git.gnome.org/browse/dconf-editor")
4892 (synopsis "Graphical editor for GNOME's dconf configuration system")
4893 (description
4894 "Dconf-editor is a graphical tool for browsing and editing the dconf
4895configuration system for GNOME. It allows users to configure desktop
4896software that do not provide their own configuration interface.")
4897 (license license:lgpl2.1+)))
4898
4899(define-public gnome
4900 (package
4901 (name "gnome")
4902 (version (package-version gnome-shell))
4903 (source #f)
4904 (build-system trivial-build-system)
4905 (arguments '(#:builder (mkdir %output)))
4906 (propagated-inputs
4907 ;; TODO: Add more packages according to:
4908 ;; <https://packages.debian.org/jessie/gnome-core>.
4909 `(("adwaita-icon-theme" ,adwaita-icon-theme)
4910 ("baobab" ,baobab)
4911 ("font-cantarell" ,font-cantarell)
4912 ("at-spi2-core" ,at-spi2-core)
4913 ("dbus" ,dbus)
4914 ("dconf" ,dconf)
4915 ("desktop-file-utils" ,desktop-file-utils)
4916 ("eog" ,eog)
4917 ("epiphany" ,epiphany)
4918 ("evince" ,evince)
4919 ("gedit" ,gedit)
4920 ("glib-networking" ,glib-networking)
4921 ("gnome-backgrounds" ,gnome-backgrounds)
4922 ("gnome-control-center" ,gnome-control-center)
4923 ("gnome-keyring" ,gnome-keyring)
4924 ("gnome-session" ,gnome-session)
4925 ("gnome-settings-daemon" ,gnome-settings-daemon)
4926 ("gnome-shell" ,gnome-shell)
4927 ("gnome-terminal" ,gnome-terminal)
4928 ("gnome-themes-standard" ,gnome-themes-standard)
4929 ("gvfs" ,gvfs)
4930 ("hicolor-icon-theme" ,hicolor-icon-theme)
4931 ("nautilus" ,nautilus)
4932 ("pulseaudio" ,pulseaudio)
4933 ("shared-mime-info" ,shared-mime-info)
4934 ("totem" ,totem)
4935 ("yelp" ,yelp)
4936 ("zenity" ,zenity)))
4937 (synopsis "The GNU desktop environment")
4938 (home-page "https://www.gnome.org/")
4939 (description
4940 "GNOME is the graphical desktop for GNU. It includes a wide variety of
4941applications for browsing the web, editing text and images, creating
4942documents and diagrams, playing media, scanning, and much more.")
4943 (license license:gpl2+)))
4944
4945(define-public byzanz
4946 ;; The last stable release of Byzanz was in 2011, but there have been many
4947 ;; useful commits made to the Byzanz repository since then that it would be
4948 ;; silly to use such an old release.
4949 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
4950 (package
4951 (name "byzanz")
4952 (version (string-append "0.2-1." (string-take commit 7)))
4953 (source (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "git://git.gnome.org/byzanz")
4957 (commit commit)))
4958 (sha256
4959 (base32
4960 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
4961 (build-system glib-or-gtk-build-system)
4962 (arguments
4963 '(#:phases
4964 (modify-phases %standard-phases
4965 (add-after 'unpack 'bootstrap
4966 (lambda _
4967 ;; The build system cleverly detects that we're not building from
4968 ;; a release tarball and turns on -Werror for GCC.
4969 ;; Unsurprisingly, there is a warning during compilation that
4970 ;; causes the build to fail unnecessarily, so we remove the flag.
4971 (substitute* '("configure.ac")
4972 (("-Werror") ""))
4973 ;; The autogen.sh script in gnome-common will run ./configure
4974 ;; by default, which is problematic because source shebangs
4975 ;; have not yet been patched.
4976 (setenv "NOCONFIGURE" "t")
4977 (zero? (system* "sh" "autogen.sh")))))))
4978 (native-inputs
4979 `(("autoconf" ,autoconf)
4980 ("automake" ,automake)
4981 ("gnome-common" ,gnome-common)
4982 ("intltool" ,intltool)
4983 ("libtool" ,libtool)
4984 ("pkg-config" ,pkg-config)
4985 ("which" ,which)))
4986 (inputs
4987 `(("glib" ,glib)
4988 ("gstreamer" ,gstreamer)
4989 ("gst-plugins-base" ,gst-plugins-base)
4990 ("gtk+" ,gtk+)))
4991 (synopsis "Desktop recording program")
4992 (description "Byzanz is a simple desktop recording program with a
4993command-line interface. It can record part or all of an X display for a
4994specified duration and save it as a GIF encoded animated image file.")
4995 (home-page "https://git.gnome.org/browse/byzanz")
4996 (license license:gpl2+))))
4997
4998(define-public libzapojit
4999 (package
5000 (name "libzapojit")
5001 (version "0.0.3")
5002 (source (origin
5003 (method url-fetch)
5004 (uri (string-append "mirror://gnome/sources/" name "/"
5005 (version-major+minor version) "/"
5006 name "-" version ".tar.xz"))
5007 (sha256
5008 (base32
5009 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5010 (build-system gnu-build-system)
5011 (native-inputs
5012 `(("gobject-introspection" ,gobject-introspection)
5013 ("intltool" ,intltool)
5014 ("pkg-config" ,pkg-config)))
5015 (inputs
5016 `(("gnome-online-accounts" ,gnome-online-accounts)
5017 ("json-glib" ,json-glib)
5018 ("rest" ,rest)))
5019 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5020 (synopsis "Library for accessing SkyDrive and Hotmail")
5021 (description
5022 "Libzapojit is a GLib-based library for accessing online service APIs of
5023Microsoft SkyDrive and Hotmail, using their REST protocols.")
5024 (license license:lgpl2.1+)))