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