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