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