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