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