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