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