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