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