Merge branch 'master' into staging
[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>
89e34644 3;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 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>
49586905 11;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
8344a85e 12;;; Copyright © 2015, 2016, 2017 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>
cc3bc027 15;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
21f05134 17;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
6064a4e8 20;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
3920868c 22;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
d1e4ad1b 24;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
995b7261
AE
27;;;
28;;; This file is part of GNU Guix.
29;;;
30;;; GNU Guix is free software; you can redistribute it and/or modify it
31;;; under the terms of the GNU General Public License as published by
32;;; the Free Software Foundation; either version 3 of the License, or (at
33;;; your option) any later version.
34;;;
35;;; GNU Guix is distributed in the hope that it will be useful, but
36;;; WITHOUT ANY WARRANTY; without even the implied warranty of
37;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38;;; GNU General Public License for more details.
39;;;
40;;; You should have received a copy of the GNU General Public License
41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
42
43(define-module (gnu packages gnome)
b5b73a82 44 #:use-module ((guix licenses) #:prefix license:)
995b7261
AE
45 #:use-module (guix packages)
46 #:use-module (guix download)
4a526711 47 #:use-module (guix git-download)
29a7c98a 48 #:use-module (guix utils)
743aebd7 49 #:use-module (guix build-system cmake)
995b7261 50 #:use-module (guix build-system gnu)
121de2e1 51 #:use-module (guix build-system glib-or-gtk)
dc050251 52 #:use-module (guix build-system trivial)
ed19903d 53 #:use-module (gnu packages)
ba5dd105 54 #:use-module (gnu packages admin)
411ba511 55 #:use-module (gnu packages aspell)
75016d07 56 #:use-module (gnu packages autotools)
7b212526 57 #:use-module (gnu packages avahi)
6a180f6f 58 #:use-module (gnu packages base)
5698b8b8 59 #:use-module (gnu packages bison)
df217748 60 #:use-module (gnu packages calendar)
df12f04a 61 #:use-module (gnu packages check)
23a22af6 62 #:use-module (gnu packages cups)
6e1bb642 63 #:use-module (gnu packages curl)
c3f29bc9 64 #:use-module (gnu packages cyrus-sasl)
6e1bb642 65 #:use-module (gnu packages databases)
c769cf9f 66 #:use-module (gnu packages djvu)
ba5dd105 67 #:use-module (gnu packages dns)
121de2e1 68 #:use-module (gnu packages flex)
b4ce6300 69 #:use-module (gnu packages docbook)
329d731b 70 #:use-module (gnu packages enchant)
a56be436 71 #:use-module (gnu packages fontutils)
dfc407f3 72 #:use-module (gnu packages game-development)
fed5a689 73 #:use-module (gnu packages gettext)
995b7261 74 #:use-module (gnu packages glib)
c1354b90 75 #:use-module (gnu packages gnupg)
23a22af6 76 #:use-module (gnu packages gnuzilla)
85f5dc19 77 #:use-module (gnu packages gstreamer)
d9c1a22b 78 #:use-module (gnu packages gtk)
df217748 79 #:use-module (gnu packages gperf)
6b888eff 80 #:use-module (gnu packages guile)
34b979b9 81 #:use-module (gnu packages openldap)
c1354b90 82 #:use-module (gnu packages pdf)
75016d07 83 #:use-module (gnu packages polkit)
5698b8b8 84 #:use-module (gnu packages popt)
c1354b90 85 #:use-module (gnu packages ghostscript)
b645146f 86 #:use-module (gnu packages ibus)
9cc98f8a 87 #:use-module (gnu packages iso-codes)
85f5dc19 88 #:use-module (gnu packages libcanberra)
b64e217f 89 #:use-module (gnu packages libunistring)
88f70665 90 #:use-module (gnu packages linux)
75016d07 91 #:use-module (gnu packages libusb)
4e3fc547 92 #:use-module (gnu packages lirc)
7b212526 93 #:use-module (gnu packages lua)
e55354b8 94 #:use-module (gnu packages image)
ae792dba 95 #:use-module (gnu packages imagemagick)
ba5dd105 96 #:use-module (gnu packages networking)
b645146f 97 #:use-module (gnu packages password-utils)
de1215e2 98 #:use-module (gnu packages pcre)
27477d2d 99 #:use-module (gnu packages perl)
f70d8383 100 #:use-module (gnu packages photo)
995b7261 101 #:use-module (gnu packages pkg-config)
23a22af6 102 #:use-module (gnu packages pulseaudio)
995b7261 103 #:use-module (gnu packages python)
cce0da5e 104 #:use-module (gnu packages rdesktop)
75016d07 105 #:use-module (gnu packages scanner)
4a1bf090 106 #:use-module (gnu packages ssh)
85f5dc19 107 #:use-module (gnu packages xml)
200726ed 108 #:use-module (gnu packages gl)
1dd26275 109 #:use-module (gnu packages compression)
cce0da5e 110 #:use-module (gnu packages spice)
8f9ac901 111 #:use-module (gnu packages tex)
a7fd7b68 112 #:use-module (gnu packages tls)
6e1bb642 113 #:use-module (gnu packages web)
4a79e256 114 #:use-module (gnu packages webkit)
b64e217f 115 #:use-module (gnu packages xiph)
fecbf86e 116 #:use-module (gnu packages xorg)
ea57378f 117 #:use-module (gnu packages xdisorg)
ba421ab7 118 #:use-module (gnu packages freedesktop)
1e7464a9 119 #:use-module (gnu packages mail)
89e34644 120 #:use-module (gnu packages kerberos)
54021cd8 121 #:use-module (gnu packages multiprecision)
1e7464a9
DH
122 #:use-module (gnu packages backup)
123 #:use-module (gnu packages nettle)
c024ae36 124 #:use-module (gnu packages ncurses)
3dc8828f
SB
125 #:use-module (gnu packages video)
126 #:use-module (gnu packages cdrom)
127 #:use-module (gnu packages samba)
f47ba77e 128 #:use-module (gnu packages readline)
0bd3597b 129 #:use-module (gnu packages fonts)
b64e217f
MW
130 #:use-module (gnu packages qemu)
131 #:use-module (gnu packages zip)
53201c0d 132 #:use-module (gnu packages speech)
c024ae36 133 #:use-module (srfi srfi-1))
85f5dc19
AE
134
135(define-public brasero
136 (package
137 (name "brasero")
e8627cd9 138 (version "3.12.1")
85f5dc19
AE
139 (source (origin
140 (method url-fetch)
e8627cd9
DH
141 (uri (string-append "mirror://gnome/sources/" name "/"
142 (version-major+minor version) "/"
143 name "-" version ".tar.xz"))
85f5dc19
AE
144 (sha256
145 (base32
e8627cd9 146 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
1c40e3b7 147 (build-system glib-or-gtk-build-system)
e8627cd9
DH
148 (arguments
149 `(#:configure-flags (list
150 (string-append "--with-girdir="
151 (assoc-ref %outputs "out")
152 "/share/gir-1.0")
153 (string-append "--with-typelibdir="
154 (assoc-ref %outputs "out")
ce426deb
TD
155 "/lib/girepository-1.0"))
156 #:phases
157 (modify-phases %standard-phases
158 (add-before 'configure 'embed-growisofs
159 (lambda* (#:key inputs #:allow-other-keys)
160 (substitute* "plugins/growisofs/burn-growisofs.c"
161 (("\"growisofs") (string-append "\"" (which "growisofs"))))
162 #t )))))
85f5dc19
AE
163 (propagated-inputs
164 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
165 (native-inputs
166 `(("intltool" ,intltool)
426adbe8 167 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 168 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 169 ("pkg-config" ,pkg-config)))
85f5dc19 170 (inputs
ce426deb
TD
171 `(("dvd+rw-tools" ,dvd+rw-tools)
172 ("glib" ,glib)
85f5dc19
AE
173 ("gnome-doc-utils" ,gnome-doc-utils)
174 ("gstreamer" ,gstreamer)
175 ("gst-plugins-base" ,gst-plugins-base)
176 ("gtk+" ,gtk+)
85f5dc19
AE
177 ("itstool" ,itstool)
178 ("libcanberra" ,libcanberra)
179 ("libice" ,libice)
180 ("libnotify" ,libnotify)
181 ("libsm" ,libsm)
e8627cd9
DH
182 ("libxml2" ,libxml2)
183 ("nettle" ,nettle)
184 ("totem-pl-parser" ,totem-pl-parser)))
85f5dc19
AE
185 (home-page "https://projects.gnome.org/brasero/")
186 (synopsis "CD/DVD burning tool for Gnome")
187 (description "Brasero is an application to burn CD/DVD for the Gnome
188Desktop. It is designed to be as simple as possible and has some unique
189features to enable users to create their discs easily and quickly.")
1dd26275 190 (license license:gpl2+)))
995b7261 191
a56be436
RJ
192(define-public dia
193 ;; This version from GNOME's repository includes fixes for compiling with
194 ;; recent versions of the build tools. The latest activity on the
195 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
196 ;; fixes in 2016.
197 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
198 (package
199 (name "dia")
200 (version (string-append "0.97.2-" (string-take commit 7)))
201 (source (origin
202 (method git-fetch)
203 (uri (git-reference
204 (url "https://git.gnome.org/browse/dia")
205 (commit commit)))
206 (file-name (string-append name "-" version "-checkout"))
207 (sha256
208 (base32
209 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
210 (build-system gnu-build-system)
211 (inputs
212 `(("glib" ,glib "bin")
213 ("pango" ,pango)
214 ("gdk-pixbuf" ,gdk-pixbuf)
215 ("gtk+" ,gtk+-2)
216 ("libxml2" ,libxml2)
217 ("freetype" ,freetype)
218 ("libart-lgpl" ,libart-lgpl)))
219 (native-inputs
220 `(("intltool" ,intltool)
221 ("pkg-config" ,pkg-config)
222 ("automake" ,automake)
223 ("autoconf" ,autoconf)
224 ("libtool" ,libtool)
225 ("perl" ,perl)
226 ("python-wrapper" ,python-wrapper)))
227 (arguments
228 `(#:phases
229 (modify-phases %standard-phases
230 (add-before 'configure 'run-autogen
231 (lambda _
232 (system* "sh" "autogen.sh"))))))
233 (home-page "https://wiki.gnome.org/Apps/Dia")
234 (synopsis "Diagram creation for GNOME")
235 (description "Dia can be used to draw different types of diagrams, and
236includes support for UML static structure diagrams (class diagrams), entity
237relationship modeling, and network diagrams. The program supports various file
238formats like PNG, SVG, PDF and EPS.")
239 (license license:gpl2+))))
240
7aab13f1
ML
241(define-public gnome-common
242 (package
243 (name "gnome-common")
af83490d 244 (version "3.18.0")
7aab13f1
ML
245 (source
246 (origin
247 (method url-fetch)
248 (uri (string-append "mirror://gnome/sources/" name "/"
249 (version-major+minor version) "/"
250 name "-" version ".tar.xz"))
251 (sha256
252 (base32
af83490d 253 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
254 (build-system gnu-build-system)
255 (home-page "https://www.gnome.org/")
256 (synopsis "Bootstrap GNOME modules built from Git")
257 (description "gnome-common contains various files needed to bootstrap
258GNOME modules built from Git. It contains a common \"autogen.sh\" script that
259can be used to configure a source directory checked out from Git and some
260commonly used macros.")
261 (license license:gpl2+)))
262
9cc98f8a
CR
263(define-public gnome-desktop
264 (package
265 (name "gnome-desktop")
7a0d78fc 266 (version "3.24.2")
9cc98f8a
CR
267 (source
268 (origin
269 (method url-fetch)
b38e45d8
EB
270 (uri (string-append "mirror://gnome/sources/" name "/"
271 (version-major+minor version) "/"
9cc98f8a
CR
272 name "-" version ".tar.xz"))
273 (sha256
274 (base32
7a0d78fc 275 "0pkq5l1llw8gkjhfq6y58iyj6wac8dh1mc3rzjzn6nd7lrkdx8cg"))))
9cc98f8a
CR
276 (build-system gnu-build-system)
277 (native-inputs
a8340482
SB
278 `(("gobject-introspection" ,gobject-introspection)
279 ("itstool" ,itstool)
bcb354ad
SB
280 ("intltool" ,intltool)
281 ("pkg-config" ,pkg-config)
282 ("xmllint" ,libxml2)))
a8340482
SB
283 (propagated-inputs
284 ;; Required by gnome-desktop-3.0.pc.
285 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
286 ("gtk+" ,gtk+)))
9cc98f8a
CR
287 (inputs
288 `(("gdk-pixbuf" ,gdk-pixbuf)
289 ("glib" ,glib)
9cc98f8a 290 ("iso-codes" ,iso-codes)
9cc98f8a
CR
291 ("libx11" ,libx11)
292 ("libxext" ,libxext)
293 ("libxkbfile" ,libxkbfile)
294 ("libxrandr" ,libxrandr)
295 ("xkeyboard-config" ,xkeyboard-config)))
296 (home-page "https://www.gnome.org/")
297 (synopsis
35b9e423 298 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
299 (description
300 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
301on the desktop, but that cannot live in the platform for various reasons.
302There is no API or ABI guarantee, although we are doing our best to provide
303stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
304
305The gnome-about program helps find which version of GNOME is installed.")
306 ; Some bits under the LGPL.
1dd26275 307 (license license:gpl2+)))
9cc98f8a 308
995b7261
AE
309(define-public gnome-doc-utils
310 (package
311 (name "gnome-doc-utils")
312 (version "0.20.10")
313 (source
314 (origin
315 (method url-fetch)
b38e45d8
EB
316 (uri (string-append "mirror://gnome/sources/" name "/"
317 (version-major+minor version) "/"
995b7261
AE
318 name "-" version ".tar.xz"))
319 (sha256
320 (base32
321 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
322 (build-system gnu-build-system)
c4c4cc05 323 (native-inputs
995b7261 324 `(("intltool" ,intltool)
b4ce6300 325 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 326 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
327 ("libxml2" ,libxml2)
328 ("libxslt" ,libxslt)
329 ("pkg-config" ,pkg-config)
330 ("python-2" ,python-2)))
995b7261
AE
331 (home-page "https://wiki.gnome.org/GnomeDocUtils")
332 (synopsis
333 "Documentation utilities for the Gnome project")
334 (description
335 "Gnome-doc-utils is a collection of documentation utilities for the
336Gnome project. It includes xml2po tool which makes it easier to translate
337and keep up to date translations of documentation.")
1dd26275 338 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 339
6c4f7022
DC
340(define-public gnome-disk-utility
341 (package
342 (name "gnome-disk-utility")
62963f56 343 (version "3.24.1")
6c4f7022
DC
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
62963f56 351 "18akarcbhm8djlmz49jzavc7qx8dg71gvxc9xd23p0bwjj4h93w7"))))
6c4f7022
DC
352 (build-system gnu-build-system)
353 (native-inputs
354 `(("glib:bin" ,glib "bin")
355 ("intltool" ,intltool)
356 ("pkg-config" ,pkg-config)
357 ("docbook-xml" ,docbook-xml)
358 ("docbook-xsl" ,docbook-xsl)
359 ("libxml2" ,libxml2)
360 ("libxslt" ,libxslt)))
361 (inputs
362 `(("glib" ,glib)
363 ("appstream-glib" ,appstream-glib)
364 ("gnome-settings-daemon" ,gnome-settings-daemon)
365 ("gtk+" ,gtk+)
366 ("libcanberra" ,libcanberra)
367 ("libdvdread" ,libdvdread)
368 ("libnotify" ,libnotify)
369 ("libpwquality" ,libpwquality)
370 ("libsecret" ,libsecret)
371 ("udisks" ,udisks)))
372 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
373 (synopsis "Disk management utility for GNOME")
374 (description "Disk management utility for GNOME.")
375 (license license:gpl2+)))
376
8ff49011
RW
377(define-public gcr
378 (package
379 (name "gcr")
6983ba56 380 (version "3.20.0")
8ff49011
RW
381 (source (origin
382 (method url-fetch)
383 (uri (string-append "mirror://gnome/sources/" name "/"
384 (version-major+minor version) "/"
385 name "-" version ".tar.xz"))
386 (sha256
387 (base32
6983ba56 388 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))))
8ff49011
RW
389 (build-system gnu-build-system)
390 (arguments
391 '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
392 ;not exist
393 #:phases (modify-phases %standard-phases
394 (add-before
395 'check 'pre-check
396 (lambda* (#:key inputs #:allow-other-keys)
397 (substitute* "build/tap-driver"
398 (("/usr/bin/env python") (which "python"))))))))
399 (inputs
400 `(("dbus" ,dbus)
401 ("gnupg" ,gnupg) ;called as a child process during tests
402 ("libgcrypt" ,libgcrypt)))
403 (native-inputs
404 `(("python" ,python-2) ;for tests
405 ("pkg-config" ,pkg-config)
406 ("glib" ,glib "bin")
2af4f5b0
SB
407 ("gobject-introspection" ,gobject-introspection)
408 ("intltool" ,intltool)
409 ("xsltproc" ,libxslt)))
8ff49011
RW
410 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
411 (propagated-inputs
412 `(("p11-kit" ,p11-kit)
413 ("glib" ,glib)
414 ("gtk+" ,gtk+)))
415 (home-page "http://www.gnome.org")
416 (synopsis "Libraries for displaying certificates and accessing key stores")
417 (description
418 "The GCR package contains libraries used for displaying certificates and
419accessing key stores. It also provides the viewer for crypto files on the
420GNOME Desktop.")
421 (license license:lgpl2.1+)))
422
c1354b90
LC
423(define-public libgnome-keyring
424 (package
425 (name "libgnome-keyring")
5e8aec2c 426 (version "3.12.0")
c1354b90
LC
427 (source (origin
428 (method url-fetch)
b38e45d8
EB
429 (uri (string-append "mirror://gnome/sources/" name "/"
430 (version-major+minor version) "/"
431 name "-" version ".tar.xz"))
c1354b90
LC
432 (sha256
433 (base32
5e8aec2c 434 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 435 (build-system gnu-build-system)
c1354b90 436 (inputs
c4c4cc05 437 `(("libgcrypt" ,libgcrypt)
c1354b90 438 ("dbus" ,dbus)))
c4c4cc05
JD
439 (native-inputs
440 `(("pkg-config" ,pkg-config)
426adbe8 441 ("glib" ,glib "bin")
c4c4cc05 442 ("intltool" ,intltool)))
c1354b90
LC
443 (propagated-inputs
444 ;; Referred to in .h files and .pc.
445 `(("glib" ,glib)))
446 (home-page "http://www.gnome.org")
447 (synopsis "Accessing passwords from the GNOME keyring")
448 (description
449 "Client library to access passwords from the GNOME keyring.")
450
451 ;; Though a couple of files are LGPLv2.1+.
1dd26275 452 (license license:lgpl2.0+)))
c1354b90 453
e99a3d6f
RW
454(define-public gnome-keyring
455 (package
456 (name "gnome-keyring")
6983ba56 457 (version "3.20.0")
e99a3d6f
RW
458 (source (origin
459 (method url-fetch)
460 (uri (string-append "mirror://gnome/sources/" name "/"
461 (version-major+minor version) "/"
462 name "-" version ".tar.xz"))
463 (sha256
464 (base32
6983ba56 465 "16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw"))))
e99a3d6f
RW
466 (build-system gnu-build-system)
467 (arguments
468 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
469 ;not exist
470 #:configure-flags
471 (list
472 (string-append "--with-pkcs11-config="
473 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
474 (string-append "--with-pkcs11-modules="
475 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
476 #:phases
477 (modify-phases %standard-phases
478 (add-before
479 'check 'pre-check
480 (lambda* (#:key inputs #:allow-other-keys)
481 (substitute* "build/tap-driver"
482 (("/usr/bin/env python") (which "python")))))
483 (add-before
484 'configure 'fix-docbook
485 (lambda* (#:key inputs #:allow-other-keys)
486 (substitute* "docs/Makefile.am"
487 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
488 (string-append (assoc-ref inputs "docbook-xsl")
489 "/xml/xsl/docbook-xsl-"
490 ,(package-version docbook-xsl)
491 "/manpages/docbook.xsl")))
492 (setenv "XML_CATALOG_FILES"
493 (string-append (assoc-ref inputs "docbook-xml")
494 "/xml/dtd/docbook/catalog.xml")))))))
495 (inputs
496 `(("libgcrypt" ,libgcrypt)
1a0b2d82 497 ("linux-pam" ,linux-pam)
e99a3d6f
RW
498 ("dbus" ,dbus)
499 ("gcr" ,gcr)))
500 (native-inputs
501 `(("pkg-config" ,pkg-config)
502 ("glib" ,glib "bin")
503 ("python" ,python-2) ;for tests
504 ("intltool" ,intltool)
505 ("autoconf" ,autoconf)
506 ("automake" ,automake)
507 ("libxslt" ,libxslt) ;for documentation
508 ("docbook-xml" ,docbook-xml-4.2)
509 ("docbook-xsl" ,docbook-xsl)))
510 (home-page "http://www.gnome.org")
511 (synopsis "Daemon to store passwords and encryption keys")
512 (description
513 "gnome-keyring is a program that keeps passwords and other secrets for
514users. It is run as a daemon in the session, similar to ssh-agent, and other
515applications locate it via an environment variable or D-Bus.
516
517The program can manage several keyrings, each with its own master password,
518and there is also a session keyring which is never stored to disk, but
519forgotten when the session ends.")
520 (license license:lgpl2.1+)))
521
c1354b90
LC
522(define-public evince
523 (package
524 (name "evince")
a5d8c786 525 (version "3.24.0")
c1354b90
LC
526 (source (origin
527 (method url-fetch)
b38e45d8
EB
528 (uri (string-append "mirror://gnome/sources/" name "/"
529 (version-major+minor version) "/"
530 name "-" version ".tar.xz"))
c1354b90
LC
531 (sha256
532 (base32
a5d8c786 533 "13yw0i68dgqp9alyliy3zifszh7rikkpi1xbz5binvxxgfpraf04"))))
121de2e1 534 (build-system glib-or-gtk-build-system)
c1354b90
LC
535 (arguments
536 `(#:configure-flags '("--disable-nautilus")
554b2dac
SB
537 #:phases
538 (modify-phases %standard-phases
539 (add-before 'install 'skip-gtk-update-icon-cache
540 ;; Don't create 'icon-theme.cache'.
541 (lambda _
542 (substitute* "data/Makefile"
543 (("gtk-update-icon-cache") "true"))
544 #t)))))
c1354b90
LC
545 (inputs
546 `(("libspectre" ,libspectre)
c769cf9f 547 ("djvulibre" ,djvulibre)
c1354b90
LC
548 ("ghostscript" ,ghostscript)
549 ("poppler" ,poppler)
c769cf9f
SB
550 ("libtiff" ,libtiff)
551 ;; TODO:
552 ;; Add libgxps for XPS support.
553 ;; Build libkpathsea as a shared library for DVI support.
554 ;; ("libkpathsea" ,texlive-bin)
555 ("gnome-desktop" ,gnome-desktop)
c1354b90
LC
556 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
557 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 558 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
559 ("gdk-pixbuf" ,gdk-pixbuf)
560 ("atk" ,atk)
561 ("pango" ,pango)
562 ("gtk+" ,gtk+)
563 ("glib" ,glib)
564 ("libxml2" ,libxml2)
c1354b90
LC
565 ("libsm" ,libsm)
566 ("libice" ,libice)
96e42467 567 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
568 ("dconf" ,dconf)
569 ("libcanberra" ,libcanberra)
c769cf9f 570 ("libsecret" ,libsecret)
c1354b90
LC
571 ;; For tests.
572 ("dogtail" ,python2-dogtail)))
96e42467 573 (native-inputs
bcb354ad
SB
574 `(("itstool" ,itstool)
575 ("intltool" ,intltool)
426adbe8 576 ("glib" ,glib "bin")
bcb354ad
SB
577 ("pkg-config" ,pkg-config)
578 ("xmllint" ,libxml2)))
c1354b90
LC
579 (home-page
580 "http://www.gnome.org/projects/evince/")
581 (synopsis "GNOME's document viewer")
582 (description
583 "Evince is a document viewer for multiple document formats. It
584currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
585of Evince is to replace the multiple document viewers that exist
96e42467 586on the GNOME Desktop with a single simple application.")
1dd26275 587 (license license:gpl2+)))
c1354b90 588
22e32e69
AE
589(define-public gsettings-desktop-schemas
590 (package
591 (name "gsettings-desktop-schemas")
796a0c03 592 (version "3.24.0")
22e32e69
AE
593 (source
594 (origin
595 (method url-fetch)
596 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 597 (version-major+minor version) "/"
22e32e69
AE
598 name "-" version ".tar.xz"))
599 (sha256
600 (base32
796a0c03 601 "145vpcljy4660cnk8zk91qf7ywa7hqfl5hhw025gy8hxcqzklmzn"))))
22e32e69
AE
602 (build-system gnu-build-system)
603 (inputs
c4c4cc05
JD
604 `(("glib" ,glib)))
605 (native-inputs
606 `(("intltool" ,intltool)
426adbe8 607 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 608 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
609 ("pkg-config" ,pkg-config)))
610 (home-page "https://launchpad.net/gsettings-desktop-schemas")
611 (synopsis
612 "GNOME settings for various desktop components")
613 (description
614 "Gsettings-desktop-schemas contains a collection of GSettings schemas
615for settings shared by various components of the GNOME desktop.")
1dd26275 616 (license license:lgpl2.1+)))
22e32e69 617
27477d2d
AE
618(define-public icon-naming-utils
619 (package
620 (name "icon-naming-utils")
621 (version "0.8.90")
622 (source
623 (origin
624 (method url-fetch)
5cc3096c 625 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
626 version ".tar.bz2"))
627 (sha256
628 (base32
629 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
630 (build-system gnu-build-system)
631 (inputs
632 `(("perl" ,perl)
633 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
634 (arguments
635 '(#:phases
636 (alist-cons-after
637 'install 'set-load-paths
638 ;; Tell 'icon-name-mapping' where XML::Simple is.
639 (lambda* (#:key outputs #:allow-other-keys)
640 (let* ((out (assoc-ref outputs "out"))
641 (prog (string-append out "/libexec/icon-name-mapping")))
642 (wrap-program
643 prog
644 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
645 %standard-phases)))
27477d2d
AE
646 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
647 (synopsis
648 "Utility to implement the Freedesktop Icon Naming Specification")
649 (description
650 "To help with the transition to the Freedesktop Icon Naming
651Specification, the icon naming utility maps the icon names used by the
652GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 653 (license license:lgpl2.1+)))
27477d2d 654
686e025d
SB
655(define-public desktop-file-utils
656 (package
657 (name "desktop-file-utils")
562a79de 658 (version "0.23")
686e025d
SB
659 (source (origin
660 (method url-fetch)
5cc3096c 661 (uri (string-append "https://www.freedesktop.org/software/" name
686e025d
SB
662 "/releases/" name "-" version ".tar.xz"))
663 (sha256
664 (base32
562a79de 665 "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
686e025d
SB
666 (build-system gnu-build-system)
667 (native-inputs
668 `(("pkg-config" ,pkg-config)))
669 (inputs
670 `(("glib" ,glib)))
671 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
672 (synopsis "Utilities for working with desktop entries")
673 (description
674 "This package contains a few command line utilities for working with
675desktop entries:
676
677desktop-file-validate: validates a desktop file and prints warnings/errors
678 about desktop entry specification violations.
679
680desktop-file-install: installs a desktop file to the applications directory,
681 optionally munging it a bit in transit.
682
683update-desktop-database: updates the database containing a cache of MIME types
684 handled by desktop files.")
685 (license license:gpl2+)))
686
7d3f3651
AE
687(define-public gnome-icon-theme
688 (package
689 (name "gnome-icon-theme")
b32f58dd 690 (version "3.12.0")
7d3f3651
AE
691 (source
692 (origin
693 (method url-fetch)
694 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 695 (version-major+minor version) "/"
7d3f3651
AE
696 name "-" version ".tar.xz"))
697 (sha256
698 (base32
b32f58dd 699 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 700 (build-system gnu-build-system)
5613c27d
SB
701 (arguments
702 '(#:configure-flags
703 ;; Don't create 'icon-theme.cache'.
704 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
705 (true (string-append coreutils "/bin/true")))
706 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 707 (native-inputs
5613c27d 708 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
709 ("intltool" ,intltool)
710 ("pkg-config" ,pkg-config)))
7d3f3651
AE
711 (home-page "http://art.gnome.org/")
712 (synopsis
713 "GNOME icon theme")
714 (description
715 "Icons for the GNOME desktop.")
1dd26275 716 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 717
14eeefa2
SB
718;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
719(define-public adwaita-icon-theme
720 (package (inherit gnome-icon-theme)
721 (name "adwaita-icon-theme")
29548d26 722 (version "3.24.0")
14eeefa2
SB
723 (source (origin
724 (method url-fetch)
725 (uri (string-append "mirror://gnome/sources/" name "/"
726 (version-major+minor version) "/"
727 name "-" version ".tar.xz"))
728 (sha256
729 (base32
29548d26 730 "0ai73gs44yyw276xag6db0rlpvncy23qplp4girm80ilpprrzxyc"))))
5613c27d
SB
731 (native-inputs
732 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 733
ae792dba
RW
734(define-public tango-icon-theme
735 (package
736 (name "tango-icon-theme")
737 (version "0.8.90")
738 (source (origin
739 (method url-fetch)
740 (uri (string-append "http://tango.freedesktop.org/releases/"
741 "tango-icon-theme-" version ".tar.bz2"))
742 (sha256
743 (base32
744 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
745 (build-system gnu-build-system)
746 (native-inputs
747 `(("icon-naming-utils" ,icon-naming-utils)
748 ("intltool" ,intltool)
749 ("imagemagick" ,imagemagick)
750 ("pkg-config" ,pkg-config)))
751 (home-page "http://tango-project.org/")
752 (synopsis "Tango icon theme")
753 (description "This is an icon theme that follows the Tango visual
754guidelines.")
755 (license license:public-domain)))
756
9167f8e6
LC
757(define-public shared-mime-info
758 (package
759 (name "shared-mime-info")
b43b584f 760 (version "1.8")
9167f8e6
LC
761 (source (origin
762 (method url-fetch)
5cc3096c 763 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 764 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
765 (sha256
766 (base32
b43b584f 767 "1sc96lv9dp1lkvs8dh3ngm3hbjb274d363dl9avhb61il3qmxx9a"))))
9167f8e6
LC
768 (build-system gnu-build-system)
769 (arguments
770 ;; The build system appears not to be parallel-safe.
771 '(#:parallel-build? #f))
772 (inputs
773 `(("glib" ,glib)
c4c4cc05 774 ("libxml2" ,libxml2)))
9167f8e6 775 (native-inputs
c4c4cc05
JD
776 `(("intltool" ,intltool)
777 ("pkg-config" ,pkg-config)))
9167f8e6
LC
778 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
779 (synopsis "Database of common MIME types")
780 (description
781 "The shared-mime-info package contains the core database of common types
782and the update-mime-database command used to extend it. It requires glib2 to
783be installed for building the update command. Additionally, it uses intltool
784for translations, though this is only a dependency for the maintainers. This
785database is translated at Transifex.")
1dd26275 786 (license license:gpl2+)))
9167f8e6 787
bef4dd92
AE
788(define-public hicolor-icon-theme
789 (package
790 (name "hicolor-icon-theme")
b62a0070 791 (version "0.15")
bef4dd92
AE
792 (source
793 (origin
794 (method url-fetch)
5cc3096c 795 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 796 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
797 (sha256
798 (base32
b62a0070 799 "1k1kf2c5zbqh31nglc3nxs9j6wr083k9kjyql8p22ccc671mmi4w"))))
bef4dd92
AE
800 (build-system gnu-build-system)
801 (arguments
802 `(#:tests? #f)) ; no check target
803 (home-page "http://icon-theme.freedesktop.org/releases/")
804 (synopsis
805 "Freedesktop icon theme")
806 (description
807 "Freedesktop icon theme.")
1dd26275 808 (license license:gpl2)))
bef4dd92 809
d9c1a22b
AE
810(define-public libnotify
811 (package
812 (name "libnotify")
195bfa68 813 (version "0.7.7")
d9c1a22b
AE
814 (source
815 (origin
816 (method url-fetch)
817 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 818 (version-major+minor version) "/"
d9c1a22b
AE
819 name "-" version ".tar.xz"))
820 (sha256
821 (base32
195bfa68 822 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b
AE
823 (build-system gnu-build-system)
824 (inputs
825 `(("gdk-pixbuf" ,gdk-pixbuf)
826 ("glib" ,glib)
827 ("gtk+" ,gtk+)
c4c4cc05
JD
828 ("libpng" ,libpng)))
829 (native-inputs
426adbe8 830 `(("pkg-config" ,pkg-config)
277a7d82
JN
831 ("glib" ,glib "bin")
832 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
833 (home-page "https://developer-next.gnome.org/libnotify/")
834 (synopsis
835 "GNOME desktop notification library")
836 (description
837 "Libnotify is a library that sends desktop notifications to a
35b9e423 838notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
839notifications can be used to inform the user about an event or display
840some form of information without getting in the user's way.")
1dd26275 841 (license license:lgpl2.1+)))
7a8605ce
CR
842
843(define-public libpeas
844 (package
845 (name "libpeas")
0dd6aed9 846 (version "1.20.0")
7a8605ce
CR
847 (source
848 (origin
849 (method url-fetch)
850 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 851 (version-major+minor version) "/"
7a8605ce
CR
852 name "-" version ".tar.xz"))
853 (sha256
854 (base32
0dd6aed9 855 "0m6k6fcrx40n92nc1cy3z72vs1ja49sb58dj3fjp40605pzgz4pk"))))
7a8605ce 856 (build-system gnu-build-system)
7a8605ce 857 (inputs
2ed6522a
SB
858 `(("gtk+" ,gtk+)
859 ("glade" ,glade3)
860 ("libxml2" ,libxml2) ; XXX: required by gladeui-2.0.pc
861 ("python" ,python)
862 ("python-pygobject" ,python-pygobject)))
141aed80
LC
863 (native-inputs
864 `(("pkg-config" ,pkg-config)
93622993 865 ("glib:bin" ,glib "bin")
141aed80
LC
866 ("gobject-introspection" ,gobject-introspection)
867 ("intltool" ,intltool)))
7a8605ce
CR
868 (home-page "https://wiki.gnome.org/Libpeas")
869 (synopsis "GObject plugin system")
870 (description
d1e4ad1b
TGR
871 "Libpeas is a gobject-based plugin engine, targeted at giving every
872application the chance to assume its own extensibility. It also has a set of
873features including, but not limited to: multiple extension points; on-demand
874(lazy) programming language support for C, Python and JS; simplicity of the
875API.")
1dd26275 876 (license license:lgpl2.0+)))
ed19903d
JD
877
878(define-public gtkglext
879 (package
880 (name "gtkglext")
881 (version "1.2.0")
882 (source (origin
883 (method url-fetch)
0f971a04 884 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
885 version "/gtkglext-" version ".tar.gz"))
886 (sha256
887 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
888 (patches (search-patches
889 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d
JD
890 (build-system gnu-build-system)
891 (inputs `(("gtk+" ,gtk+-2)
892 ("mesa" ,mesa)
cc8b02f4 893 ("glu" ,glu)
ed19903d
JD
894 ("libx11" ,libx11)
895 ("libxt" ,libxt)))
426adbe8
LC
896 (native-inputs `(("pkg-config" ,pkg-config)
897 ("glib" ,glib "bin")))
a83b6a06 898 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 899 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 900 (synopsis "OpenGL extension to GTK+")
35b9e423 901 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
902additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
903API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 904 (license license:lgpl2.1+)))
3600420e
JD
905
906(define-public glade3
907 (package
908 (name "glade")
6983ba56 909 (version "3.20.0")
b38e45d8
EB
910 (source (origin
911 (method url-fetch)
912 (uri (string-append "mirror://gnome/sources/" name "/"
913 (version-major+minor version) "/"
f5ca44b8 914 name "-" version ".tar.xz"))
3600420e 915 (sha256
f714d9fe 916 (base32
6983ba56
SB
917 "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2"))))
918 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
919 (arguments
920 `(#:tests? #f ; needs X, GL, and software rendering
921 #:phases
922 (modify-phases %standard-phases
923 (add-before 'configure 'fix-docbook
924 (lambda* (#:key inputs #:allow-other-keys)
925 (substitute* "man/Makefile.in"
926 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
927 (string-append (assoc-ref inputs "docbook-xsl")
928 "/xml/xsl/docbook-xsl-"
929 ,(package-version docbook-xsl)
930 "/manpages/docbook.xsl")))
931 #t)))))
3600420e 932 (inputs
f5ca44b8 933 `(("gtk+" ,gtk+)
3600420e
JD
934 ("libxml2" ,libxml2)))
935 (native-inputs
936 `(("intltool" ,intltool)
f5ca44b8
RW
937 ("itstool" ,itstool)
938 ("libxslt" ,libxslt) ;for xsltproc
939 ("docbook-xml" ,docbook-xml-4.2)
940 ("docbook-xsl" ,docbook-xsl)
941 ("python" ,python-2)
3600420e
JD
942 ("pkg-config" ,pkg-config)))
943 (home-page "https://glade.gnome.org")
944 (synopsis "GTK+ rapid application development tool")
945 (description "Glade is a rapid application development (RAD) tool to
946enable quick & easy development of user interfaces for the GTK+ toolkit and
947the GNOME desktop environment.")
1dd26275
LC
948 (license license:lgpl2.0+)))
949
950(define-public libcroco
951 (package
952 (name "libcroco")
15d34a18 953 (version "0.6.12")
1dd26275
LC
954 (source (origin
955 (method url-fetch)
b38e45d8
EB
956 (uri (string-append "mirror://gnome/sources/" name "/"
957 (version-major+minor version) "/"
958 name "-" version ".tar.xz"))
15d34a18
MB
959 (patches
960 (search-patches "libcroco-CVE-2017-7960.patch"
961 "libcroco-CVE-2017-7961.patch"))
1dd26275
LC
962 (sha256
963 (base32
15d34a18 964 "0q7qhi7z64i26zabg9dbs5706fa8pmzp1qhpa052id4zdiabbi6x"))))
1dd26275
LC
965 (build-system gnu-build-system)
966 (native-inputs
967 `(("pkg-config" ,pkg-config)))
968 (inputs
969 `(("glib" ,glib)
970 ("libxml2" ,libxml2)
971 ("zlib" ,zlib)))
972 (home-page "https://github.com/GNOME/libcroco")
973 (synopsis "CSS2 parsing and manipulation library")
974 (description
975 "Libcroco is a standalone CSS2 parsing and manipulation library.
976The parser provides a low level event driven SAC-like API and a CSS object
977model like API. Libcroco provides a CSS2 selection engine and an experimental
978XML/CSS rendering engine.")
979
980 ;; LGPLv2.1-only.
981 (license license:lgpl2.1)))
25178594
LC
982
983(define-public libgsf
984 (package
985 (name "libgsf")
ef51eb99 986 (version "1.14.41")
25178594
LC
987 (source (origin
988 (method url-fetch)
b38e45d8
EB
989 (uri (string-append "mirror://gnome/sources/" name "/"
990 (version-major+minor version) "/"
991 name "-" version ".tar.xz"))
25178594
LC
992 (sha256
993 (base32
ef51eb99 994 "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm"))))
25178594
LC
995 (build-system gnu-build-system)
996 (native-inputs
997 `(("intltool" ,intltool)
998 ("pkg-config" ,pkg-config)))
999 (inputs
1000 `(("python" ,python)
1001 ("zlib" ,zlib)
1002 ("bzip2" ,bzip2)))
1003 (propagated-inputs
1004 `(("gdk-pixbuf" ,gdk-pixbuf)
1005 ("glib" ,glib)
1006 ("libxml2" ,libxml2)))
1007 (home-page "http://www.gnome.org/projects/libgsf")
1008 (synopsis "GNOME's Structured File Library")
1009 (description
1010 "Libgsf aims to provide an efficient extensible I/O abstraction for
1011dealing with different structured file formats.")
1012
1013 ;; LGPLv2.1-only.
1014 (license license:lgpl2.1)))
63016e7c
LC
1015
1016(define-public librsvg
1017 (package
1018 (name "librsvg")
27880b5e 1019 (version "2.40.16")
63016e7c
LC
1020 (source (origin
1021 (method url-fetch)
b38e45d8
EB
1022 (uri (string-append "mirror://gnome/sources/" name "/"
1023 (version-major+minor version) "/"
1024 name "-" version ".tar.xz"))
63016e7c
LC
1025 (sha256
1026 (base32
27880b5e 1027 "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl"))))
63016e7c
LC
1028 (build-system gnu-build-system)
1029 (arguments
ce2df078 1030 `(#:phases
63016e7c 1031 (alist-cons-before
f3045a5b 1032 'configure 'pre-configure
63016e7c 1033 (lambda* (#:key inputs #:allow-other-keys)
63016e7c
LC
1034 (substitute* "gdk-pixbuf-loader/Makefile.in"
1035 ;; By default the gdk-pixbuf loader is installed under
1036 ;; gdk-pixbuf's prefix. Work around that.
1037 (("gdk_pixbuf_moduledir = .*$")
1038 (string-append "gdk_pixbuf_moduledir = "
dc67ebd2 1039 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
63016e7c 1040 "loaders\n"))
f3045a5b 1041 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
63016e7c 1042 (("gdk_pixbuf_cache_file = .*$")
f3045a5b
SB
1043 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))
1044 %standard-phases)))
63016e7c
LC
1045 (native-inputs
1046 `(("pkg-config" ,pkg-config)
44add1ce 1047 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
1048 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1049 (inputs
1050 `(("pango" ,pango)
1051 ("libcroco" ,libcroco)
1052 ("bzip2" ,bzip2)
1053 ("libgsf" ,libgsf)
1054 ("libxml2" ,libxml2)))
1055 (propagated-inputs
1056 ;; librsvg-2.0.pc refers to all of that.
1057 `(("cairo" ,cairo)
1058 ("gdk-pixbuf" ,gdk-pixbuf)
1059 ("glib" ,glib)))
1060 (home-page "https://wiki.gnome.org/LibRsvg")
1061 (synopsis "Render SVG files using Cairo")
1062 (description
35b9e423 1063 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c
LC
1064library.")
1065 (license license:lgpl2.0+)))
5698b8b8
JD
1066
1067(define-public libidl
1068 (package
1069 (name "libidl")
1070 (version "0.8.14")
1071 (source (origin
1072 (method url-fetch)
1073 (uri (let ((upstream-name "libIDL"))
b38e45d8
EB
1074 (string-append "mirror://gnome/sources/" upstream-name "/"
1075 (version-major+minor version) "/"
1076 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1077 (sha256
1078 (base32
1079 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
1080 (build-system gnu-build-system)
1081 (inputs `(("glib" ,glib)))
1082 (native-inputs
1083 `(("pkg-config" ,pkg-config)
b3546174 1084 ("flex" ,flex)
5698b8b8
JD
1085 ("bison" ,bison)))
1086 (home-page "http://freecode.com/projects/libidl")
1087 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 1088 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
1089Definition Language (idl) files, which is a specification for defining
1090portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 1091GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 1092functionality was designed to be as reusable and portable as possible.")
5698b8b8
JD
1093 (license license:lgpl2.0+)))
1094
1095
1096(define-public orbit2
1097 (package
1098 (name "orbit2")
1099 (version "2.14.19")
1100 (source (origin
1101 (method url-fetch)
2e6ecc5c 1102 (uri (let ((upstream-name "ORBit2"))
a124bbd2 1103 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1104 (version-major+minor version) "/"
1105 upstream-name "-" version ".tar.bz2")))
5698b8b8 1106 (sha256
a124bbd2
SB
1107 (base32
1108 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
1109 (build-system gnu-build-system)
1110 (arguments
a124bbd2
SB
1111 `(#:configure-flags
1112 ;; The programmer kindly gives us a hook to turn off deprecation
1113 ;; warnings ...
1114 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1115 ;; ... which they then completly ignore !!
1116 #:phases
1117 (alist-cons-before
1118 'configure 'ignore-deprecations
1119 (lambda _
1120 (substitute* "linc2/src/Makefile.in"
1121 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1122 %standard-phases)))
5698b8b8
JD
1123 (inputs `(("glib" ,glib)
1124 ("libidl" ,libidl)))
1125 (native-inputs
1126 `(("pkg-config" ,pkg-config)))
1127 (home-page "https://projects.gnome.org/orbit2/")
1128 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 1129 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 1130featuring mature C, C++ and Python bindings.")
a124bbd2
SB
1131 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
1132 ;; a version. SOME of the code files have licence notices for GPLv2+.
1133 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
2e6ecc5c 1134 (license license:gpl2+)))
5698b8b8
JD
1135
1136
1137(define-public libbonobo
1138 (package
1139 (name "libbonobo")
1140 (version "2.32.1")
1141 (source (origin
1142 (method url-fetch)
5becd025 1143 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 1144 (version-major+minor version)
5becd025 1145 "/" name "-" version ".tar.bz2"))
5698b8b8 1146 (sha256
f1fc45a9 1147 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
1148 (patches (search-patches
1149 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
1150 (build-system gnu-build-system)
1151 (arguments
1152 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
1153 `(#:configure-flags
1154 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1155 ;; ... which they then completly ignore !!
1156 #:phases
1157 (alist-cons-before
1158 'configure 'ignore-deprecations
1159 (lambda _
1160 (substitute* "activation-server/Makefile.in"
1161 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1162 %standard-phases)))
5698b8b8
JD
1163 (inputs `(("popt" ,popt)
1164 ("libxml2" ,libxml2)))
1165 ;; The following are Required by the .pc file
44add1ce 1166 (propagated-inputs
5698b8b8
JD
1167 `(("glib" ,glib)
1168 ("orbit2" ,orbit2)))
1169 (native-inputs
1170 `(("intltool" ,intltool)
1171 ("pkg-config" ,pkg-config)
221ed17a 1172 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1173 ("flex" ,flex)
1174 ("bison" ,bison)))
1175 (home-page "https://developer.gnome.org/libbonobo/")
1176 (synopsis "Framework for creating reusable components for use in GNOME applications")
1177 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 1178use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
1179 ;; Licence not explicitly stated. Source files contain no licence notices.
1180 ;; Tarball contains text of both GPLv2 and LGPLv2
1181 ;; GPLv2 covers both conditions
1182 (license license:gpl2+)))
1183
1184
1185(define-public gconf
1186 (package
1187 (name "gconf")
1188 (version "3.2.6")
1189 (source (origin
1190 (method url-fetch)
a124bbd2
SB
1191 (uri
1192 (let ((upstream-name "GConf"))
1193 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1194 (version-major+minor version) "/"
1195 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
1196 (sha256
1197 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1198 (build-system gnu-build-system)
2e88d113 1199 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 1200 ("libxml2" ,libxml2)))
2e6ecc5c
AE
1201 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1202 ("orbit2" ,orbit2)))
5698b8b8
JD
1203 (native-inputs
1204 `(("intltool" ,intltool)
221ed17a 1205 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1206 ("pkg-config" ,pkg-config)))
1207 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
1208 (synopsis "Store application preferences")
1209 (description "Gconf is a system for storing application preferences. It
1210is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
1211 (license license:lgpl2.0+)
1212 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
1213
1214
1215(define-public gnome-mime-data
1216 (package
1217 (name "gnome-mime-data")
1218 (version "2.18.0")
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.bz2"))
5698b8b8
JD
1224 (sha256
1225 (base32
1226 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1227 (build-system gnu-build-system)
1228 (native-inputs
1229 `(("perl" ,perl)
1230 ("intltool" ,intltool)))
1231 (home-page "http://www.gnome.org")
35b9e423 1232 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
1233 (description "GNOME Mime Data is a module which contains the base MIME
1234and Application database for GNOME. The data stored by this module is
1235designed to be accessed through the MIME functions in GnomeVFS.")
1236 (license license:gpl2+)))
1237
1238
1239(define-public gnome-vfs
1240 (package
1241 (name "gnome-vfs")
1242 (version "2.24.4")
1243 (source (origin
1244 (method url-fetch)
b38e45d8
EB
1245 (uri (string-append "mirror://gnome/sources/" name "/"
1246 (version-major+minor version) "/"
1247 name "-" version ".tar.bz2"))
5698b8b8 1248 (sha256
9e12bc34
MW
1249 (base32
1250 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
1251 (build-system gnu-build-system)
1252 (arguments
db5127d8 1253 `(#:phases
9e12bc34
MW
1254 (alist-cons-before
1255 'configure 'ignore-deprecations
1256 (lambda _
1257 (substitute* '("libgnomevfs/Makefile.in"
1258 "daemon/Makefile.in")
1259 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1260 #t)
db5127d8
MW
1261 (alist-cons-before
1262 'configure 'patch-test-async-cancel-to-never-fail
1263 (lambda _
1264 (substitute* "test/test-async-cancel.c"
1265 (("EXIT_FAILURE") "77")))
1266 %standard-phases))))
2e6ecc5c 1267 (inputs `(("libxml2" ,libxml2)
5698b8b8 1268 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
1269 ("gconf" ,gconf)
1270 ("gnome-mime-data" ,gnome-mime-data)
1271 ("zlib" ,zlib)))
1272 (native-inputs
221ed17a
EB
1273 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1274 ("intltool" ,intltool)
5698b8b8
JD
1275 ("pkg-config" ,pkg-config)))
1276 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 1277 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
1278 (description
1279 "GnomeVFS is the core library used to access files and folders in GNOME
1280applications. It provides a file system abstraction which allows applications
1281to access local and remote files with a single consistent API.")
5698b8b8
JD
1282 (license license:lgpl2.0+)))
1283
1284
1285
1286(define-public libgnome
1287 (package
1288 (name "libgnome")
1289 (version "2.32.1")
1290 (source (origin
1291 (method url-fetch)
b38e45d8
EB
1292 (uri (string-append "mirror://gnome/sources/" name "/"
1293 (version-major+minor version) "/"
1294 name "-" version ".tar.bz2"))
5698b8b8
JD
1295 (sha256
1296 (base32
1297 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1298 (build-system gnu-build-system)
1299 (arguments
1300 `(#:phases
1301 (alist-cons-before
1302 'configure 'enable-deprecated
2e6ecc5c 1303 (lambda _
5698b8b8
JD
1304 (substitute* "libgnome/Makefile.in"
1305 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1306 %standard-phases)))
25338e9f 1307 (inputs `(("libxml2" ,libxml2)))
5698b8b8 1308 (native-inputs
221ed17a
EB
1309 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1310 ("intltool" ,intltool)
5698b8b8
JD
1311 ("pkg-config" ,pkg-config)))
1312 ;; The following are listed as Required in the .pc file
1313 ;; (except for libcanberra -- which seems to be oversight on the part
1314 ;; of the upstream developers -- anything that links against libgnome,
1315 ;; must also link against libcanberra
1316 (propagated-inputs
1317 `(("libcanberra" ,libcanberra)
1318 ("libbonobo" ,libbonobo)
1319 ("gconf" ,gconf)
a640d3d5
LC
1320 ("gnome-vfs" ,gnome-vfs)
1321 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
1322 (home-page "https://developer.gnome.org/libgnome/")
1323 (synopsis "Useful routines for building applications")
1324 (description "The libgnome library provides a number of useful routines
1325for building modern applications, including session management, activation of
1326files and URIs, and displaying help.")
1327 (license license:lgpl2.0+)))
1328
1329
1330(define-public libart-lgpl
1331 (package
1332 (name "libart-lgpl")
76c9b6aa 1333 (version "2.3.21")
5698b8b8
JD
1334 (source (origin
1335 (method url-fetch)
1336 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
1337 (string-append "mirror://gnome/sources/" upstream-name "/"
1338 (version-major+minor version) "/"
1339 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1340 (sha256
1341 (base32
76c9b6aa 1342 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
1343 (build-system gnu-build-system)
1344 (native-inputs
1345 `(("pkg-config" ,pkg-config)))
1346 (home-page "https://people.gnome.org/~mathieu/libart")
1347 (synopsis "2D drawing library")
2e6ecc5c 1348 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
1349high-quality vector-based 2D library with antialiasing and alpha composition.")
1350 (license license:lgpl2.0+)))
1351
1352
1353
1354(define-public libgnomecanvas
1355 (package
1356 (name "libgnomecanvas")
1357 (version "2.30.3")
1358 (source (origin
1359 (method url-fetch)
b38e45d8
EB
1360 (uri (string-append "mirror://gnome/sources/" name "/"
1361 (version-major+minor version) "/"
1362 name "-" version ".tar.gz"))
5698b8b8
JD
1363 (sha256
1364 (base32
1365 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1366 (build-system gnu-build-system)
1367 ;; Mentioned as Required in the .pc file
1368 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1369 ("gtk+" ,gtk+-2)))
1370 (native-inputs
1371 `(("intltool" ,intltool)
221ed17a 1372 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1373 ("pkg-config" ,pkg-config)))
1374 (home-page "https://developer.gnome.org/libgnomecanvas/")
1375 (synopsis "Flexible widget for creating interactive structured graphics")
1376 (description "The GnomeCanvas widget provides a flexible widget for
1377creating interactive structured graphics.")
1378 (license license:lgpl2.0+)))
1379
eadc734e
RW
1380(define-public libgnomecanvasmm
1381 (package
1382 (name "libgnomecanvasmm")
1383 (version "2.26.0")
1384 (source (origin
1385 (method url-fetch)
1386 (uri (string-append "mirror://gnome/sources/" name "/"
1387 (version-major+minor version) "/"
1388 name "-" version ".tar.bz2"))
1389 (sha256
1390 (base32
1391 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1392 (build-system gnu-build-system)
6e4512c4
SB
1393 (arguments
1394 '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
eadc734e
RW
1395 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1396 (native-inputs
1397 `(("gtkmm-2" ,gtkmm-2)
1398 ("pkg-config" ,pkg-config)))
1399 (home-page "http://gtkmm.org")
1400 (synopsis "C++ bindings to the GNOME Canvas library")
1401 (description "C++ bindings to the GNOME Canvas library.")
1402 (license license:lgpl2.0+)))
1403
5698b8b8
JD
1404(define-public libgnomeui
1405 (package
1406 (name "libgnomeui")
1407 (version "2.24.5")
1408 (source (origin
1409 (method url-fetch)
b38e45d8
EB
1410 (uri (string-append "mirror://gnome/sources/" name "/"
1411 (version-major+minor version) "/"
1412 name "-" version ".tar.bz2"))
5698b8b8
JD
1413 (sha256
1414 (base32
1415 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1416 (build-system gnu-build-system)
1417 ;; Mentioned as Required in the .pc file
0a38a497
AE
1418 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1419 ("libgnome" ,libgnome)
1420 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 1421 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 1422 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
1423 ("popt" ,popt)
1424 ("libbonobo" ,libbonobo)
1425 ("libxml2" ,libxml2)
1426 ("libglade" ,libglade)))
1427 (native-inputs
221ed17a
EB
1428 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1429 ("intltool" ,intltool)
5698b8b8
JD
1430 ("pkg-config" ,pkg-config)))
1431 (home-page "https://developer.gnome.org/libgnomeui/")
1432 (synopsis "Additional widgets for applications")
35b9e423 1433 (description "The libgnomeui library provides additional widgets for
e881752c
AK
1434applications. Many of the widgets from libgnomeui have already been
1435ported to GTK+.")
5698b8b8
JD
1436 (license license:lgpl2.0+)))
1437
1438(define-public libglade
1439 (package
1440 (name "libglade")
1441 (version "2.6.4")
1442 (source (origin
1443 (method url-fetch)
b38e45d8
EB
1444 (uri (string-append "mirror://gnome/sources/" name "/"
1445 (version-major+minor version) "/"
1446 name "-" version ".tar.bz2"))
5698b8b8
JD
1447 (sha256
1448 (base32
1449 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1450 (build-system gnu-build-system)
1451 (inputs
92dcc23d
AE
1452 `(("python" ,python))) ;; needed for the optional libglade-convert program
1453 (propagated-inputs
5698b8b8 1454 `(("gtk+-2" ,gtk+-2)
92dcc23d 1455 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
1456 (native-inputs
1457 `(("pkg-config" ,pkg-config)))
1458 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
1459 (synopsis "Load glade interfaces and access the glade built widgets")
1460 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
1461graphical interfaces described in glade files and for accessing the
1462widgets built in the loading process.")
1463 (license license:gpl2+))) ; This is correct. GPL not LGPL
1464
1465(define-public libgnomeprint
eb497b66
LC
1466 ;; This library has been deprecated since 2006; see
1467 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
1468 (package
1469 (name "libgnomeprint")
1470 (version "2.8.2")
1471 (source (origin
1472 (method url-fetch)
b38e45d8
EB
1473 (uri (string-append "mirror://gnome/sources/" name "/"
1474 (version-major+minor version) "/"
1475 name "-" version ".tar.bz2"))
5698b8b8
JD
1476 (sha256
1477 (base32
6983ba56 1478 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
5698b8b8
JD
1479 (build-system gnu-build-system)
1480 (inputs
1481 `(("popt" ,popt)
1482 ("libart-lgpl" ,libart-lgpl)
1483 ("gtk+" ,gtk+-2)
44add1ce 1484 ("libxml2" ,libxml2)))
5698b8b8
JD
1485 (native-inputs
1486 `(("intltool" ,intltool)
221ed17a 1487 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1488 ("pkg-config" ,pkg-config)))
1489 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 1490 (synopsis "Printing framework for GNOME")
eb497b66
LC
1491 (description
1492 "GNOME-print was a printing framework for GNOME. It has been deprecated
1493since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
1494 (license license:lgpl2.0+)))
1495
1496
1497(define-public libgnomeprintui
eb497b66 1498 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
1499 (package
1500 (name "libgnomeprintui")
1501 (version "2.8.2")
1502 (source (origin
1503 (method url-fetch)
b38e45d8
EB
1504 (uri (string-append "mirror://gnome/sources/" name "/"
1505 (version-major+minor version) "/"
1506 name "-" version ".tar.bz2"))
5698b8b8
JD
1507 (sha256
1508 (base32
1509 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1510 (build-system gnu-build-system)
1511 ;; Mentioned as Required in the .pc file
1512 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1513 (inputs `(("gtk+" ,gtk+-2)
1514 ("glib" ,glib)
1515 ("gnome-icon-theme" ,gnome-icon-theme)
1516 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 1517 ("libxml2" ,libxml2)))
5698b8b8
JD
1518 (native-inputs
1519 `(("intltool" ,intltool)
1520 ("pkg-config" ,pkg-config)))
1521 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1522 (synopsis "Printing framework for GNOME")
eb497b66 1523 (description (package-description libgnomeprint))
5698b8b8
JD
1524 (license license:lgpl2.0+)))
1525
5698b8b8
JD
1526(define-public libbonoboui
1527 (package
1528 (name "libbonoboui")
1529 (version "2.24.5")
1530 (source (origin
1531 (method url-fetch)
b38e45d8
EB
1532 (uri (string-append "mirror://gnome/sources/" name "/"
1533 (version-major+minor version) "/"
1534 name "-" version ".tar.bz2"))
5698b8b8
JD
1535 (sha256
1536 (base32
1537 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1538 (build-system gnu-build-system)
1539 (arguments
1540 `(#:phases
1541 (alist-cons-before
1542 'check 'start-xserver
1543 (lambda* (#:key inputs #:allow-other-keys)
1544 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1545 (disp ":1"))
2e6ecc5c 1546
5698b8b8
JD
1547 (setenv "HOME" (getcwd))
1548 (setenv "DISPLAY" disp)
1549 ;; There must be a running X server and make check doesn't start one.
1550 ;; Therefore we must do it.
1551 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1552 %standard-phases)))
1553 ;; Mentioned as Required by the .pc file
1554 (propagated-inputs `(("libxml2" ,libxml2)))
1555 (inputs
1556 `(("popt" ,popt)
1557 ("pangox-compat" ,pangox-compat)
1558 ("libgnome" ,libgnome)
1559 ("libgnomecanvas" ,libgnomecanvas)
1560 ("libglade" ,libglade)))
1561 (native-inputs
221ed17a
EB
1562 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1563 ("intltool" ,intltool)
5698b8b8
JD
1564 ("xorg-server" ,xorg-server) ; For running the tests
1565 ("pkg-config" ,pkg-config)))
1566 (home-page "https://developer.gnome.org/libbonoboui/")
1567 (synopsis "Some user interface controls using Bonobo")
1568 (description "The Bonobo UI library provides a number of user interface
1569controls using the Bonobo component framework.")
1570 (license license:lgpl2.0+)))
1571
fecbf86e
SB
1572(define-public libwnck
1573 (package
1574 (name "libwnck")
cf047019 1575 (version "3.20.1")
fecbf86e
SB
1576 (source (origin
1577 (method url-fetch)
1578 (uri (string-append "mirror://gnome/sources/" name "/"
1579 (version-major+minor version) "/"
1580 name "-" version ".tar.xz"))
1581 (sha256
cf047019 1582 (base32 "0wms3hli6y0b9l3cszq6maqi6fyy6kss9gryvzgmhw27phb3gc0w"))))
fecbf86e
SB
1583 (build-system gnu-build-system)
1584 (native-inputs
1585 `(("pkg-config" ,pkg-config)
1586 ("intltool" ,intltool)))
1587 (propagated-inputs
427476d5
SB
1588 `(("gtk+" ,gtk+)
1589 ("libxres" ,libxres)
1590 ("startup-notification" ,startup-notification)))
fecbf86e
SB
1591 (home-page "https://developer.gnome.org/libwnck/")
1592 (synopsis "Window Navigator Construction Kit")
1593 (description
1594 "Libwnck is the Window Navigator Construction Kit, a library for use in
1595writing pagers, tasklists, and more generally applications that are dealing
1596with window management. It tries hard to respect the Extended Window Manager
1597Hints specification (EWMH).")
1598 (license license:lgpl2.0+)))
1599
1600;; stable version for gtk2, required by xfwm4.
dbb7a081 1601(define-public libwnck-2
fecbf86e
SB
1602 (package (inherit libwnck)
1603 (name "libwnck")
1604 (version "2.30.7")
1605 (source (origin
1606 (method url-fetch)
1607 (uri (string-append "mirror://gnome/sources/" name "/"
1608 (version-major+minor version) "/"
1609 name "-" version ".tar.xz"))
1610 (sha256
1611 (base32
1612 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1613 (propagated-inputs
427476d5
SB
1614 `(("gtk+" ,gtk+-2)
1615 ("libxres" ,libxres)
1616 ("startup-notification" ,startup-notification)))))
b804c61e
JD
1617
1618(define-public goffice
1619 (package
1620 (name "goffice")
8e320dea 1621 (version "0.10.34")
b804c61e
JD
1622 (source (origin
1623 (method url-fetch)
b38e45d8
EB
1624 (uri (string-append "mirror://gnome/sources/" name "/"
1625 (version-major+minor version) "/"
1626 name "-" version ".tar.xz"))
b804c61e 1627 (sha256
8e320dea 1628 (base32 "00yn5ly1x50ynrwgl783pwnjy4k2ckp8n54mfnqv6qsq5fi7ajjm"))))
b804c61e 1629 (build-system gnu-build-system)
72a06d3e
LC
1630 (outputs '("out"
1631 "doc")) ;4.1 MiB of gtk-doc
1632 (arguments
1633 '(#:configure-flags (list (string-append "--with-html-dir="
1634 (assoc-ref %outputs "doc")
1635 "/share/gtk-doc/html"))))
b804c61e
JD
1636 (inputs
1637 `(("gtk+" ,gtk+)
1638 ("libgsf" ,libgsf)
1639 ("librsvg" ,librsvg)
1640 ("libxslt" ,libxslt)
1641 ("libxml2" ,libxml2)))
1642 (native-inputs
1643 `(("intltool" ,intltool)
f280cdb1 1644 ("glib" ,glib "bin")
b804c61e
JD
1645 ("pkg-config" ,pkg-config)))
1646 (home-page "https://developer.gnome.org/goffice/")
1647 (synopsis "Document-centric objects and utilities")
1648 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 1649 (license
b804c61e
JD
1650 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1651 ;; Note: NOT LGPL
1652 (list license:gpl2 license:gpl3))))
1653
c024ae36
RW
1654(define-public goffice-0.8
1655 (package (inherit goffice)
1656 (version "0.8.17")
1657 (source (origin
1658 (method url-fetch)
1659 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1660 (version-major+minor version) "/"
1661 (package-name goffice) "-" version ".tar.xz"))
1662 (sha256
1663 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1664 (arguments
1665 `(#:phases
1666 (alist-cons-after
1667 'unpack 'fix-pcre-check
1668 (lambda _
1669 ;; Only glib.h can be included directly. See
1670 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1671 (substitute* "configure"
1672 (("glib/gregex\\.h") "glib.h")) #t)
72a06d3e
LC
1673 %standard-phases)
1674
1675 ,@(package-arguments goffice)))
c024ae36
RW
1676 (propagated-inputs
1677 ;; libgoffice-0.8.pc mentions libgsf-1
1678 `(("libgsf" ,libgsf)))
1679 (inputs
1680 `(("gtk" ,gtk+-2)
1681 ,@(alist-delete "gtk" (package-inputs goffice))))))
1682
b804c61e
JD
1683(define-public gnumeric
1684 (package
1685 (name "gnumeric")
24c91e2f 1686 (version "1.12.32")
b804c61e
JD
1687 (source (origin
1688 (method url-fetch)
b38e45d8
EB
1689 (uri (string-append "mirror://gnome/sources/" name "/"
1690 (version-major+minor version) "/"
1691 name "-" version ".tar.xz"))
b804c61e
JD
1692 (sha256
1693 (base32
24c91e2f 1694 "1s3dxvdwzmppsp2dfg90rccilf4hknhwjdy7lazr9sys58zchyx0"))))
bd1b1e05 1695 (build-system glib-or-gtk-build-system)
b804c61e
JD
1696 (arguments
1697 `(;; The gnumeric developers don't worry much about failing tests.
1698 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 1699 #:tests? #f
b804c61e 1700 #:phases
7bcbd40d
EF
1701 (modify-phases %standard-phases
1702 (add-before
1703 'configure 'pre-conf
1704 (lambda* (#:key outputs #:allow-other-keys)
1705 ;; Make install tries to write into the directory of goffice
1706 ;; I am informed that this only affects the possibility to embed a
1707 ;; spreadsheet inside an Abiword document. So presumably when we
1708 ;; package Abiword we'll have to refer it to this directory.
1709 (substitute* "configure"
1710 (("^GOFFICE_PLUGINS_DIR=.*")
1711 (string-append "GOFFICE_PLUGINS_DIR="
1712 (assoc-ref outputs "out")
1713 "/goffice/plugins"))))))))
b804c61e
JD
1714 (inputs
1715 `(("glib" ,glib)
1716 ("gtk+" ,gtk+)
1717 ("goffice" ,goffice)
1718 ("libgsf" ,libgsf)
7bcbd40d 1719 ("librsvg" ,librsvg)
b804c61e 1720 ("libxml2" ,libxml2)
7bcbd40d 1721 ("libxslt" ,libxslt)
2e4c5457 1722 ("python" ,python-2)
6983ba56 1723 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
1724 ("zlib" ,zlib)))
1725 (native-inputs
6983ba56
SB
1726 `(("bison" ,bison)
1727 ("intltool" ,intltool)
b9663471 1728 ("glib:bin" ,glib "bin")
b804c61e
JD
1729 ("pkg-config" ,pkg-config)))
1730 (home-page "http://www.gnumeric.org")
66672a45
LC
1731 (synopsis "Spreadsheet application")
1732 (description
1733 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1734interoperable with other spreadsheet applications. It has a vast array of
1735features beyond typical spreadsheet functionality, such as support for linear
1736and non-linear solvers, statistical analysis, and telecommunication
1737engineering.")
1738 (license
b804c61e
JD
1739 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1740 (list license:gpl2 license:gpl3))))
6f885c05
FB
1741
1742(define-public gnome-themes-standard
1743 (package
1744 (name "gnome-themes-standard")
0b7b8fb0 1745 (version "3.22.3")
6f885c05
FB
1746 (source
1747 (origin
1748 (method url-fetch)
2e6ecc5c 1749 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
1750 (version-major+minor version) "/" name "-"
1751 version ".tar.xz"))
1752 (sha256
1753 (base32
0b7b8fb0 1754 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 1755 (build-system gnu-build-system)
8ac70c7f
SB
1756 (arguments
1757 '(#:configure-flags
1758 ;; Don't create 'icon-theme.cache'.
1759 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1760 (true (string-append coreutils "/bin/true")))
1761 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
1762 (inputs
1763 `(("gtk+" ,gtk+)
1764 ("gtk+-2" ,gtk+-2)
1765 ("librsvg" ,librsvg)
1766 ("libxml2" ,libxml2)
1767 ("glib" ,glib)))
1768 (native-inputs
1769 `(("intltool" ,intltool)
1770 ("glib:bin" ,glib "bin")
1771 ("pkg-config" ,pkg-config)))
6f885c05
FB
1772 (home-page "https://launchpad.net/gnome-themes-standard")
1773 (synopsis "Default GNOME 3 themes")
1774 (description
1775 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1776 (license license:lgpl2.1+)))
5a659a48 1777
df90c701
RW
1778(define-public seahorse
1779 (package
1780 (name "seahorse")
6983ba56 1781 (version "3.20.0")
df90c701
RW
1782 (source
1783 (origin
1784 (method url-fetch)
1785 (uri (string-append "mirror://gnome/sources/" name "/"
1786 (version-major+minor version) "/" name "-"
1787 version ".tar.xz"))
1788 (sha256
1789 (base32
6983ba56 1790 "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
df90c701
RW
1791 (build-system glib-or-gtk-build-system)
1792 (inputs
1793 `(("gtk+" ,gtk+)
1794 ("gcr" ,gcr)
34b979b9 1795 ("gnupg" ,gnupg)
df90c701 1796 ("gpgme" ,gpgme)
34b979b9 1797 ("openldap" ,openldap)
4a1bf090 1798 ("openssh" ,openssh)
34b979b9
EF
1799 ("libsecret" ,libsecret)
1800 ("libsoup" ,libsoup)))
df90c701
RW
1801 (native-inputs
1802 `(("intltool" ,intltool)
1803 ("glib:bin" ,glib "bin")
1804 ("itstool" ,itstool)
bcb354ad
SB
1805 ("pkg-config" ,pkg-config)
1806 ("xmllint" ,libxml2)))
df90c701
RW
1807 (home-page "https://launchpad.net/gnome-themes-standard")
1808 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1809 (description
1810 "Seahorse is a GNOME application for managing encryption keys and
1811passwords in the GNOME keyring.")
1812 (license license:gpl2+)))
1813
5a659a48
SB
1814(define-public vala
1815 (package
1816 (name "vala")
6d836f4d 1817 (version "0.36.3")
5a659a48
SB
1818 (source (origin
1819 (method url-fetch)
1820 (uri (string-append "mirror://gnome/sources/" name "/"
1821 (version-major+minor version) "/"
1822 name "-" version ".tar.xz"))
1823 (sha256
1824 (base32
6d836f4d 1825 "0706izk9prxqclm7gv4f63diwnlc1llvfl5sc9ghqbgn076lx2mc"))))
5a659a48 1826 (build-system gnu-build-system)
1ea90625
SB
1827 (arguments
1828 '(#:phases
1829 (modify-phases %standard-phases
f4925a4f 1830 (add-before 'check 'pre-check
1ea90625
SB
1831 (lambda _
1832 (setenv "CC" "gcc")
f4925a4f
SB
1833 ;; For missing '/etc/machine-id'.
1834 (setenv "DBUS_FATAL_WARNINGS" "0")
0a387b14
LF
1835 #t)))
1836 ;; Build the Vala API generator
1837 #:configure-flags '("--enable-vapigen")))
5a659a48
SB
1838 (native-inputs
1839 `(("pkg-config" ,pkg-config)
1840 ("flex" ,flex)
1841 ("bison" ,bison)
1842 ("xsltproc" ,libxslt)
1843 ("dbus" ,dbus) ; for dbus tests
1844 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1845 (propagated-inputs
1846 `(("glib" ,glib))) ; required by libvala-0.26.pc
1847 (home-page "http://live.gnome.org/Vala/")
1848 (synopsis "Compiler for the GObject type system")
1849 (description
1850 "Vala is a programming language that aims to bring modern programming
1851language features to GNOME developers without imposing any additional runtime
1852requirements and without using a different ABI compared to applications and
1853libraries written in C.")
1854 (license license:lgpl2.1+)))
ea57378f
SB
1855
1856(define-public vte
1857 (package
1858 (name "vte")
f2da7c86 1859 (version "0.48.3")
ea57378f
SB
1860 (source (origin
1861 (method url-fetch)
1862 (uri (string-append "mirror://gnome/sources/" name "/"
1863 (version-major+minor version) "/"
1864 name "-" version ".tar.xz"))
1865 (sha256
1866 (base32
f2da7c86 1867 "1hsqc7238862mqnva5qqdfxnhpwq3ak6zx6kbjj95cs04wcgpad3"))))
ea57378f
SB
1868 (build-system gnu-build-system)
1869 (native-inputs
1870 `(("pkg-config" ,pkg-config)
1871 ("intltool" ,intltool)
1872 ("vala" ,vala)
1873 ("gobject-introspection" ,gobject-introspection)
1874 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 1875 ("gperf" ,gperf)
ea57378f
SB
1876 ("xmllint" ,libxml2)))
1877 (propagated-inputs
302393bc 1878 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
de1215e2
MW
1879 ("gnutls" ,gnutls) ;ditto
1880 ("pcre2" ,pcre2))) ;ditto
ea57378f
SB
1881 (home-page "http://www.gnome.org/")
1882 (synopsis "Virtual Terminal Emulator")
1883 (description
1884 "VTE is a library (libvte) implementing a terminal emulator widget for
1885GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1886gnome-terminal, but can also be used to embed a console/terminal in games,
1887editors, IDEs, etc.")
1888 (license license:lgpl2.1+)))
1889
c44fb4df
MO
1890(define-public vte-ng
1891 (package
1892 (inherit vte)
1893 (name "vte-ng")
52d2a2be 1894 (version "0.48.3.a")
c44fb4df
MO
1895 (native-inputs
1896 `(("gtk-doc" ,gtk-doc)
011b858b 1897 ("gperf" ,gperf)
c44fb4df
MO
1898 ("autoconf" ,autoconf)
1899 ("automake" ,automake)
1900 ("libtool" ,libtool)
1901 ,@(package-native-inputs vte)))
1902 (source (origin
1903 (method url-fetch)
1904 (uri (string-append "https://github.com/thestinger/"
1905 name "/archive/" version ".tar.gz"))
1906 (file-name (string-append name "-" version ".tar.gz"))
1907 (sha256
1908 (base32
52d2a2be 1909 "1wdkf090zclqy11hxdjgy8f6fgzajl0xzzirajikhbaiill7f8zh"))))
c44fb4df
MO
1910 (arguments
1911 `(#:configure-flags '("CXXFLAGS=-Wformat=0")
1912 #:phases (modify-phases %standard-phases
1913 (add-after 'unpack 'bootstrap
1914 (lambda _
1915 (setenv "NOCONFIGURE" "true")
1916 (zero? (system* "sh" "autogen.sh")))))))
1917 (synopsis "Enhanced VTE terminal widget")
1918 (description
1919 "VTE is a library (libvte) implementing a terminal emulator widget for
1920GTK+, this fork provides additional functions exposed for keyboard text
1921selection and URL hints.")))
1922
2776d72c
EF
1923;; provides vte 2.90, required for some terminal emulators
1924;; tilda bug: https://github.com/lanoxx/tilda/issues/94
1925;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
1926;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
1927;; pantheon-terminal, roxterm are not currently packaged
1928(define-public vte-0.36
1929 (package (inherit vte)
1930 (name "vte")
1931 (version "0.36.5")
1932 (source (origin
1933 (method url-fetch)
1934 (uri (string-append "mirror://gnome/sources/" name "/"
1935 (version-major+minor version) "/"
1936 name "-" version ".tar.xz"))
1937 (sha256
1938 (base32
1939 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
1940 (propagated-inputs
1941 `(("gtk" ,gtk+)
1942 ("ncurses" ,ncurses)))))
1943
ea57378f
SB
1944;; stable version for gtk2, required by xfce4-terminal.
1945(define-public vte/gtk+-2
1946 (package (inherit vte)
1947 (name "vte")
1948 (version "0.28.2")
1949 (source (origin
1950 (method url-fetch)
1951 (uri (string-append "mirror://gnome/sources/" name "/"
1952 (version-major+minor version) "/"
1953 name "-" version ".tar.xz"))
1954 (sha256
1955 (base32
7d48938a
EF
1956 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
1957 (patches (search-patches
1958 "vte-CVE-2012-2738-pt1.patch"
1959 "vte-CVE-2012-2738-pt2.patch"))))
ea57378f
SB
1960 (arguments
1961 '(#:configure-flags '("--disable-python")))
1962 (native-inputs
1963 `(("pkg-config" ,pkg-config)
1964 ("intltool" ,intltool)
1965 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1966 (propagated-inputs
1967 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1968 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 1969
cce0da5e
TD
1970(define-public vinagre
1971 (package
1972 (name "vinagre")
1973 (version "3.22.0")
1974 (source (origin
1975 (method url-fetch)
1976 (uri (string-append "mirror://gnome/sources/" name "/"
1977 (version-major+minor version) "/"
1978 name "-" version ".tar.xz"))
1979 (sha256
1980 (base32
1981 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
1982 (build-system glib-or-gtk-build-system)
1983 (native-inputs
1984 `(("pkg-config" ,pkg-config)
1985 ("intltool" ,intltool)
1986 ("itstool" ,itstool)
1987 ("glib-bin" ,glib "bin") ;for glib-compile-schemas
1988 ("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
1989 (inputs
1990 `(("libxml2" ,libxml2)
1991 ("gtk-vnc" ,gtk-vnc)
1992 ("gnome-keyring" ,gnome-keyring)
1993 ("libsecret" ,libsecret)
1994 ("freerdp" ,freerdp)
1995 ("spice" ,spice)
1996 ("spice-gtk" ,spice-gtk)
1997 ("telepathy-glib" ,telepathy-glib)
1998 ("vte" ,vte)))
1999 (arguments
2000 `(#:configure-flags '("--enable-rdp")))
2001 (home-page "https://wiki.gnome.org/Apps/Vinagre")
2002 (synopsis "Remote desktop viewer for GNOME")
2003 (description "Vinagre is a remote display client supporting the VNC, SPICE
2004and RDP protocols.")
2005 (license license:gpl3+)))
2006
b47e1b20
FB
2007(define-public dconf
2008 (package
2009 (name "dconf")
6983ba56 2010 (version "0.26.0")
b47e1b20
FB
2011 (source (origin
2012 (method url-fetch)
2013 (uri (string-append
2e6ecc5c 2014 "mirror://gnome/sources/" name "/"
b47e1b20
FB
2015 (version-major+minor version) "/"
2016 name "-" version ".tar.xz"))
2017 (sha256
f05c809f 2018 (base32
6983ba56 2019 "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"))))
b47e1b20
FB
2020 (build-system glib-or-gtk-build-system)
2021 (inputs
2022 `(("gtk+" ,gtk+)
2023 ("glib" ,glib)
2024 ("dbus" ,dbus)
2025 ("libxml2" ,libxml2)))
2026 (native-inputs
2027 `(("libxslt" ,libxslt)
2028 ("docbook-xml" ,docbook-xml-4.2)
2029 ("docbook-xsl" ,docbook-xsl)
2030 ("intltool" ,intltool)
2031 ("pkg-config" ,pkg-config)))
2032 (arguments
2033 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
2034 ; or /etc/machine-id.
2035 #:configure-flags
2036 ;; Set the correct RUNPATH in binaries.
2e6ecc5c 2037 (list (string-append "LDFLAGS=-Wl,-rpath="
b47e1b20
FB
2038 (assoc-ref %outputs "out") "/lib")
2039 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
2040 #:phases
2041 (alist-cons-before
2042 'configure 'fix-docbook
2043 (lambda* (#:key inputs #:allow-other-keys)
2044 (substitute* "docs/Makefile.in"
2045 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2e6ecc5c 2046 (string-append (assoc-ref inputs "docbook-xsl")
b47e1b20
FB
2047 "/xml/xsl/docbook-xsl-"
2048 ,(package-version docbook-xsl)
2049 "/manpages/docbook.xsl")))
2e6ecc5c
AE
2050 (setenv "XML_CATALOG_FILES"
2051 (string-append (assoc-ref inputs "docbook-xml")
b47e1b20
FB
2052 "/xml/dtd/docbook/catalog.xml")))
2053 %standard-phases)))
2054 (home-page "https://developer.gnome.org/dconf")
2055 (synopsis "Low-level GNOME configuration system")
2056 (description "Dconf is a low-level configuration system. Its main purpose
2057is to provide a backend to GSettings on platforms that don't already have
2058configuration storage systems.")
2059 (license license:lgpl2.1)))
109da1c0
AE
2060
2061(define-public json-glib
2062 (package
2063 (name "json-glib")
dbf0424d 2064 (version "1.2.8")
109da1c0
AE
2065 (source (origin
2066 (method url-fetch)
2067 (uri (string-append "mirror://gnome/sources/" name "/"
2068 (version-major+minor version) "/"
2069 name "-" version ".tar.xz"))
2070 (sha256
2071 (base32
dbf0424d 2072 "02pl0wl3mf47c038bgv2r4pa6pr6y3shjhxn1l7s3rrrgl1sjmgx"))))
109da1c0
AE
2073 (build-system gnu-build-system)
2074 (native-inputs
88c6b580 2075 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
2076 ("gobject-introspection" ,gobject-introspection)
2077 ("pkg-config" ,pkg-config)))
2078 (propagated-inputs
88c6b580 2079 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
2080 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2081 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
2082 (description
2083 "JSON-GLib is a C library based on GLib providing serialization and
2084deserialization support for the JavaScript Object Notation (JSON) format
2085described by RFC 4627. It provides parser and generator GObject classes and
2086various wrappers for the complex data types employed by JSON, such as arrays
2087and objects.")
109da1c0 2088 (license license:lgpl2.1+)))
6f96a359
SB
2089
2090(define-public libxklavier
2091 (package
2092 (name "libxklavier")
2093 (version "5.3")
2094 (source (origin
2095 (method url-fetch)
2096 (uri (string-append "mirror://gnome/sources/" name "/"
2097 version "/" name "-" version ".tar.xz"))
2098 (sha256
2099 (base32
2100 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
2101 (build-system gnu-build-system)
2102 (arguments
2103 '(#:configure-flags
2104 (list (string-append "--with-xkb-base="
2105 (assoc-ref %build-inputs "xkeyboard-config")
b19d6805 2106 "/share/X11/xkb"))))
6f96a359
SB
2107 (native-inputs
2108 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2109 ("gobject-introspection" ,gobject-introspection)
2110 ("pkg-config" ,pkg-config)))
2111 (propagated-inputs
2112 ;; Required by libxklavier.pc.
2113 `(("glib" ,glib)
2114 ("libxml2" ,libxml2)))
2115 (inputs
2116 `(("iso-codes" ,iso-codes)
2117 ("libxi" ,libxi)
2118 ("libxkbfile" ,libxkbfile)
2119 ("xkbcomp" ,xkbcomp)
2120 ("xkeyboard-config" ,xkeyboard-config)))
2121 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
2122 (synopsis "High-level API for X Keyboard Extension")
2123 (description
2124 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
2125Extension known as XKB. This library is intended to support XFree86 and other
2126commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
2127indicators etc).")
2128 (license license:lgpl2.0+)))
619936a4
LC
2129
2130(define-public python2-rsvg
2131 ;; XXX: This is actually a subset of gnome-python-desktop.
2132 (package
2133 (name "python2-rsvg")
2134 (version "2.32.0")
2135 (source
2136 (origin
2137 (method url-fetch)
2138 (uri (string-append
2139 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2140 version ".tar.bz2"))
2141 (sha256
2142 (base32
2143 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2144 (build-system gnu-build-system)
2145 (native-inputs
2146 `(("pkg-config" ,pkg-config)))
2147 (inputs
2148 `(("python" ,python-2)
2149 ("python2-pygtk" ,python2-pygtk)
2150 ("librsvg" ,librsvg)))
2151 (home-page "http://www.gnome.org")
2152 (synopsis "Python bindings to librsvg")
2153 (description
2154 "This packages provides Python bindings to librsvg, the SVG rendering
2155library.")
2156
2157 ;; This is the license of the rsvg bindings. The license of each module
2158 ;; of gnome-python-desktop is given in 'COPYING'.
2159 (license license:lgpl2.1+)))
a31a6d22 2160
f2ca414a
SB
2161(define-public glib-networking
2162 (package
2163 (name "glib-networking")
532cbe22 2164 (version "2.50.0")
f2ca414a
SB
2165 (source (origin
2166 (method url-fetch)
2167 (uri (string-append "mirror://gnome/sources/glib-networking/"
2168 (version-major+minor version) "/"
2169 name "-" version ".tar.xz"))
2170 (sha256
2171 (base32
532cbe22 2172 "1vkb53jxawy38y29635izlch64j9xmcwwcimk134jwra7hpl86iz"))
907f939b 2173 (patches
fc1adab1 2174 (search-patches "glib-networking-ssl-cert-file.patch"))))
f2ca414a
SB
2175 (build-system gnu-build-system)
2176 (arguments
2177 `(#:configure-flags
907f939b 2178 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
f2ca414a
SB
2179 #:phases
2180 (modify-phases %standard-phases
3a4de6b2 2181 (add-before 'configure 'patch-giomoduledir
f2ca414a
SB
2182 ;; Install GIO modules into $out/lib/gio/modules.
2183 (lambda _
2184 (substitute* "configure"
2185 (("GIO_MODULE_DIR=.*")
2186 (string-append "GIO_MODULE_DIR=" %output
907f939b
SB
2187 "/lib/gio/modules\n")))))
2188 (add-before 'check 'use-empty-ssl-cert-file
2189 (lambda _
2190 ;; The ca-certificates.crt is not available in the build
2191 ;; environment.
2192 (setenv "SSL_CERT_FILE" "/dev/null")
2193 #t)))))
f2ca414a
SB
2194 (native-inputs
2195 `(("pkg-config" ,pkg-config)
2196 ("intltool" ,intltool)))
2197 (inputs
2198 `(("glib" ,glib)
2199 ("gnutls" ,gnutls)
2200 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2201 ("p11-kit" ,p11-kit)))
2202 (home-page "http://www.gnome.org")
2203 (synopsis "Network-related GIO modules")
2204 (description
2205 "This package contains various network related extensions for the GIO
2206library.")
2207 (license license:lgpl2.0+)))
2208
ca649680 2209(define-public rest
4510b2da 2210 (package
ca649680 2211 (name "rest")
90000d4b 2212 (version "0.8.0")
4510b2da
SB
2213 (source (origin
2214 (method url-fetch)
2215 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
2216 (version-major+minor version) "/"
2217 name "-" version ".tar.xz"))
4510b2da
SB
2218 (sha256
2219 (base32
90000d4b 2220 "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77"))))
4510b2da
SB
2221 (build-system gnu-build-system)
2222 (arguments
2223 '(#:tests? #f ; tests require internet connection
2224 #:configure-flags
2225 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2226 (native-inputs
2227 `(("glib-mkenums" ,glib "bin")
2228 ("gobject-introspection" ,gobject-introspection)
2229 ("pkg-config" ,pkg-config)))
2230 (propagated-inputs
2231 ;; rest-0.7.pc refers to all these.
2232 `(("glib" ,glib)
2233 ("libsoup" ,libsoup)
2234 ("libxml2" ,libxml2)))
2235 (home-page "http://www.gtk.org/")
2236 (synopsis "RESTful web api query library")
2237 (description
2238 "This library was designed to make it easier to access web services that
2239claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2240libxml to ease remote use of the RESTful API.")
2241 (license license:lgpl2.1+)))
2242
6e1bb642
SB
2243(define-public libsoup
2244 (package
2245 (name "libsoup")
ffaf5cbd 2246 (version "2.58.1")
6e1bb642
SB
2247 (source (origin
2248 (method url-fetch)
2249 (uri (string-append "mirror://gnome/sources/libsoup/"
2250 (version-major+minor version) "/"
2251 name "-" version ".tar.xz"))
2252 (sha256
2253 (base32
ffaf5cbd 2254 "1fggmshk2mfsyfvml6paki65xj9rv1s5p7ds41xmnx6yazsnkik2"))))
6e1bb642
SB
2255 (build-system gnu-build-system)
2256 (outputs '("out" "doc"))
2257 (arguments
b19d6805 2258 `(#:configure-flags
6e1bb642
SB
2259 (list (string-append "--with-html-dir="
2260 (assoc-ref %outputs "doc")
ffaf5cbd
MB
2261 "/share/gtk-doc/html")
2262 (string-append "--with-apache-module-dir="
2263 (assoc-ref %build-inputs "httpd")
2264 "/modules"))
6e1bb642
SB
2265 #:phases
2266 (modify-phases %standard-phases
3a4de6b2 2267 (add-before 'configure 'disable-unconnected-socket-test
6e1bb642
SB
2268 ;; This test fails due to missing /etc/nsswitch.conf
2269 ;; in the build environment.
2270 (lambda _
2271 (substitute* "tests/socket-test.c"
2272 ((".*/sockets/unconnected.*") ""))
2273 #t))
907f939b 2274 (add-before 'check 'pre-check
6e1bb642 2275 (lambda _
907f939b
SB
2276 ;; The 'check-local' target runs 'env LANG=C sort -u',
2277 ;; unset 'LC_ALL' to make 'LANG' working.
6e1bb642 2278 (unsetenv "LC_ALL")
907f939b
SB
2279 ;; The ca-certificates.crt is not available in the build
2280 ;; environment.
2281 (setenv "SSL_CERT_FILE" "/dev/null")
ffaf5cbd
MB
2282 ;; HTTPD in Guix uses mod_event and does not build prefork.
2283 (substitute* "tests/httpd.conf"
2284 (("^LoadModule mpm_prefork_module.*$") "\n"))
fd730590
SB
2285 #t))
2286 (replace 'install
2287 (lambda _
2288 (zero?
2289 (system* "make"
2290 ;; Install vala bindings into $out.
2291 (string-append "vapidir=" %output
2292 "/share/vala/vapi")
2293 "install")))))))
6e1bb642
SB
2294 (native-inputs
2295 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2296 ("gobject-introspection" ,gobject-introspection)
2297 ("intltool" ,intltool)
2298 ("pkg-config" ,pkg-config)
2299 ("python" ,python-wrapper)
fd730590 2300 ("vala" ,vala)
6e1bb642
SB
2301 ;; These are needed for the tests.
2302 ;; FIXME: Add PHP once available.
2303 ("curl" ,curl)
2304 ("httpd" ,httpd)))
2305 (propagated-inputs
2306 ;; libsoup-2.4.pc refers to all these.
2307 `(("glib" ,glib)
2308 ("libxml2" ,libxml2)))
2309 (inputs
2310 `(("glib-networking" ,glib-networking)
2311 ("sqlite" ,sqlite)))
2312 (home-page "https://live.gnome.org/LibSoup/")
2313 (synopsis "GLib-based HTTP Library")
2314 (description
2315 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2316and the GLib main loop, to integrate well with GNOME applications.")
2317 (license license:lgpl2.0+)))
2318
bba229a3
SB
2319(define-public libsecret
2320 (package
2321 (name "libsecret")
6983ba56 2322 (version "0.18.5")
bba229a3
SB
2323 (source (origin
2324 (method url-fetch)
2325 (uri (string-append
896dcbc7
EF
2326 "mirror://gnome/sources/libsecret/"
2327 (version-major+minor version) "/"
bba229a3
SB
2328 name "-" version ".tar.xz"))
2329 (sha256
2330 (base32
6983ba56 2331 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
bba229a3
SB
2332 (build-system gnu-build-system)
2333 (outputs '("out" "doc"))
2334 (arguments
2335 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2336 #:configure-flags
2337 (list (string-append "--with-html-dir="
2338 (assoc-ref %outputs "doc")
2339 "/share/gtk-doc/html"))))
2340 (native-inputs
2341 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2342 ("gobject-introspection" ,gobject-introspection)
2343 ("intltool" ,intltool)
2344 ("pkg-config" ,pkg-config)
2345 ("vala" ,vala)
2346 ("xsltproc" ,libxslt)))
2347 ;; These are needed for the tests.
2348 ;; FIXME: Add gjs once available.
2349 ;("dbus" ,dbus)
2350 ;("python2" ,python-2)
2351 ;("python2-dbus" ,python2-dbus)
2352 ;("python2-pygobject" ,python2-pygobject)
2353 ;("python2-pygobject-2" ,python2-pygobject-2)))
2354 (propagated-inputs
2355 `(("glib" ,glib))) ; required by libsecret-1.pc
2356 (inputs
2357 `(("docbook-xsl" ,docbook-xsl)
2358 ("libgcrypt" ,libgcrypt)
2359 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2360 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2361 (synopsis "GObject bindings for \"Secret Service\" API")
2362 (description
2363 "Libsecret is a GObject based library for storing and retrieving passwords
2364and other secrets. It communicates with the \"Secret Service\" using DBus.")
2365 (license license:lgpl2.1+)))
2366
a31a6d22
SB
2367(define-public gnome-mines
2368 (package
2369 (name "gnome-mines")
ac89f213 2370 (version "3.24.0")
a31a6d22
SB
2371 (source
2372 (origin
2373 (method url-fetch)
2374 (uri (string-append "mirror://gnome/sources/" name "/"
2375 (version-major+minor version) "/"
2376 name "-" version ".tar.xz"))
2377 (sha256
2378 (base32
ac89f213 2379 "1xh2as2xmh7gx45gpnl0fh9xjpvyyn3m84qgv41kyp2s4clsyqz6"))))
a31a6d22
SB
2380 (build-system glib-or-gtk-build-system)
2381 (arguments
2382 '(#:phases
2383 (modify-phases %standard-phases
f8503e2b 2384 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2385 (lambda _
2386 (substitute* "configure"
6983ba56 2387 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2388 (native-inputs
2389 `(("pkg-config" ,pkg-config)
2390 ("desktop-file-utils" ,desktop-file-utils)
2391 ("intltool" ,intltool)
bcb354ad
SB
2392 ("itstool" ,itstool)
2393 ("xmllint" ,libxml2)))
a31a6d22
SB
2394 (inputs
2395 `(("gtk+" ,gtk+)
73992962 2396 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2397 ("librsvg" ,librsvg)))
2398 (home-page "https://wiki.gnome.org/Apps/Mines")
2399 (synopsis "Minesweeper game")
2400 (description
2401 "Mines (previously gnomine) is a puzzle game where you locate mines
2402floating in an ocean using only your brain and a little bit of luck.")
2403 (license license:gpl2+)))
88f70665 2404
dfc407f3
KY
2405(define-public gnome-sudoku
2406 (package
2407 (name "gnome-sudoku")
34a8af2d 2408 (version "3.24.0")
dfc407f3
KY
2409 (source
2410 (origin
2411 (method url-fetch)
2412 (uri (string-append "mirror://gnome/sources/" name "/"
2413 (version-major+minor version) "/"
2414 name "-" version ".tar.xz"))
2415 (sha256
2416 (base32
34a8af2d 2417 "1mw5ykk7wr0r9770jj5270f07rjws0pmpjs0b1fywj4li13r98h4"))))
dfc407f3
KY
2418 (build-system glib-or-gtk-build-system)
2419 (native-inputs
2420 `(("pkg-config" ,pkg-config)
2421 ("desktop-file-utils" ,desktop-file-utils)
2422 ("intltool" ,intltool)
2423 ("itstool" ,itstool)
2424 ("xmllint" ,libxml2)))
2425 (inputs
2426 `(("gtk+" ,gtk+)
2427 ("json-glib" ,json-glib)
2428 ("libgee" ,libgee)
2429 ("librsvg" ,librsvg)
2430 ("qqwing" ,qqwing)))
2431 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2432 (synopsis "Japanese logic game")
2433 (description
2434 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2435GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2436possible while still providing features that make playing difficult Sudoku
2437more fun.")
2438 (license license:gpl2+)))
2439
88f70665
AW
2440(define-public gnome-terminal
2441 (package
2442 (name "gnome-terminal")
e20d997f 2443 (version "3.24.2")
88f70665
AW
2444 (source
2445 (origin
2446 (method url-fetch)
2447 (uri (string-append "mirror://gnome/sources/" name "/"
2448 (version-major+minor version) "/"
2449 name "-" version ".tar.xz"))
2450 (sha256
2451 (base32
e20d997f 2452 "03zcvxlzg7n4pz65vrg5xj3qpkqr4bz162mgmaz4bjh71b1xl7i8"))))
88f70665
AW
2453 (build-system glib-or-gtk-build-system)
2454 (arguments
2455 '(#:configure-flags
2456 (list "--disable-migration" "--disable-search-provider"
2457 "--without-nautilus-extension")
2458 #:phases
2459 (modify-phases %standard-phases
3a4de6b2 2460 (add-before 'configure 'patch-/bin/true
88f70665
AW
2461 (lambda _
2462 (substitute* "configure"
2463 (("/bin/true") (which "true"))))))))
2464 (native-inputs
2465 `(("pkg-config" ,pkg-config)
2466 ("desktop-file-utils" ,desktop-file-utils)
2467 ("intltool" ,intltool)
bcb354ad
SB
2468 ("itstool" ,itstool)
2469 ("xmllint" ,libxml2)))
68702167
MW
2470 (propagated-inputs
2471 `(("dconf" ,dconf)))
88f70665
AW
2472 (inputs
2473 `(("gtk+" ,gtk+)
2474 ("vte" ,vte)
2475 ("gnutls" ,gnutls)
88f70665
AW
2476 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2477 ("util-linux" ,util-linux)
2478 ("vala" ,vala)))
2479 (home-page "https://wiki.gnome.org/Apps/Terminal")
2480 (synopsis "Terminal emulator")
2481 (description
2482 "GNOME Terminal is a terminal emulator application for accessing a
2483UNIX shell environment which can be used to run programs available on
2484your system.
2485
2486It supports several profiles, multiple tabs and implements several
2487keyboard shortcuts.")
2488 (license license:gpl3+)))
75016d07
AW
2489
2490(define-public colord
2491 (package
2492 (name "colord")
2493 (version "1.1.8")
2494 (source
2495 (origin
2496 (method url-fetch)
5cc3096c 2497 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2498 name "-" version ".tar.xz"))
2499 (sha256
2500 (base32
2501 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2502 (build-system glib-or-gtk-build-system)
2503 (arguments
2504 '(;; The tests want to run valgrind. Punt for now.
2505 #:tests? #f
2506 #:configure-flags (list "--localstatedir=/var"
2507 ;; GUSB not packaged yet.
2508 "--disable-gusb"
2509 ;; No dep on systemd.
2510 "--disable-systemd-login"
2511 ;; Wants to install to global completion dir;
2512 ;; punt.
2513 "--disable-bash-completion"
2514 ;; colord-gtk not packaged yet.
2515 "--disable-session-example"
2516 "--with-daemon-user=colord"
2517 "--enable-sane"
2518 (string-append "--with-udevrulesdir="
2519 (assoc-ref %outputs "out")
2520 "/lib/udev/rules.d"))
2521 #:phases
2522 (modify-phases %standard-phases
3a4de6b2 2523 (add-before 'configure 'patch-/bin/true
75016d07
AW
2524 (lambda _
2525 (substitute* "configure"
2526 (("/bin/true") (which "true")))
2527 (substitute* "src/Makefile.in"
2528 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2529 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2530 (native-inputs
2531 `(("pkg-config" ,pkg-config)
2532 ("gobject-introspection" ,gobject-introspection)
2533 ("libtool" ,libtool)
2534 ("intltool" ,intltool)))
65cb2d61
SB
2535 (propagated-inputs
2536 ;; colord.pc refers to all these.
2537 `(("glib" ,glib)
2538 ("udev" ,eudev)
2539 ("lcms" ,lcms)))
75016d07 2540 (inputs
65cb2d61 2541 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2542 ("libgudev" ,libgudev)
75016d07 2543 ("libusb" ,libusb)
75016d07
AW
2544 ("sqlite" ,sqlite)
2545 ("polkit" ,polkit)
4c928743 2546 ("sane-backends" ,sane-backends)))
75016d07
AW
2547 (home-page "http://www.freedesktop.org/software/colord/")
2548 (synopsis "Color management service")
2549 (description "Colord is a system service that makes it easy to manage,
2550install and generate color profiles to accurately color manage input and
2551output devices.")
2552 (license license:gpl2+)))
7b2abd00
AW
2553
2554(define-public geoclue
2555 (package
2556 (name "geoclue")
ccfac09c 2557 (version "2.4.6")
7b2abd00
AW
2558 (source
2559 (origin
2560 (method url-fetch)
5cc3096c 2561 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2562 "/releases/" (version-major+minor version) "/"
2563 name "-" version ".tar.xz"))
2564 (sha256
2565 (base32
ccfac09c 2566 "1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
fc1adab1 2567 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2568 (build-system glib-or-gtk-build-system)
2569 (arguments
2570 '(;; The tests want to run the system bus.
2571 #:tests? #f
2572 #:configure-flags (list ;; Disable bits requiring ModemManager.
2573 "--disable-3g-source"
2574 "--disable-cdma-source"
2575 "--disable-modem-gps-source"
2576 "--with-dbus-service-user=geoclue")
2577 #:phases
2578 (modify-phases %standard-phases
3a4de6b2 2579 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2580 (lambda _
2581 (substitute* "configure"
2582 (("/bin/true") (which "true"))))))))
2583 (native-inputs
2584 `(("pkg-config" ,pkg-config)
2585 ("intltool" ,intltool)))
2586 (inputs
54e911bc
SB
2587 `(("avahi" ,avahi)
2588 ("glib" ,glib)
7b2abd00
AW
2589 ("json-glib" ,json-glib)
2590 ("libsoup" ,libsoup)))
2591 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2592 (synopsis "Geolocation service")
2593 (description "Geoclue is a D-Bus service that provides location
2594information. The primary goal of the Geoclue project is to make creating
2595location-aware applications as simple as possible, while the secondary goal is
2596to ensure that no application can access location information without explicit
e881752c 2597permission from user.")
7b2abd00 2598 (license license:gpl2+)))
2bfe7437
AW
2599
2600(define-public geocode-glib
2601 (package
2602 (name "geocode-glib")
3ffd46bd 2603 (version "3.20.1")
2bfe7437
AW
2604 (source (origin
2605 (method url-fetch)
2606 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2607 (version-major+minor version) "/"
2608 name "-" version ".tar.xz"))
2609 (sha256
2610 (base32
3ffd46bd 2611 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2612 (build-system gnu-build-system)
2613 (arguments
2614 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2615 ;; work for the builder. Punt.
a124bbd2 2616 #:tests? #f))
2bfe7437
AW
2617 (native-inputs
2618 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2619 ("gobject-introspection" ,gobject-introspection)
2620 ("pkg-config" ,pkg-config)
2621 ("json-glib" ,json-glib)))
2622 (propagated-inputs
2623 ;; geocode-glib-1.0.pc refers to GIO.
2624 `(("glib" ,glib)))
2625 (inputs
2626 `(("libsoup" ,libsoup)))
2627 (home-page "https://github.com/GNOME/geocode-glib/")
2628 (synopsis "Geocoding and reverse-geocoding library")
2629 (description
2630 "geocode-glib is a convenience library for geocoding (finding longitude,
2631and latitude from an address) and reverse geocoding (finding an address from
2632coordinates) using the Nominatim service. geocode-glib caches requests for
2633faster results and to avoid unnecessary server load.")
2634 (license license:lgpl2.0+)))
a1d5bb0e
AW
2635
2636(define-public upower
2637 (package
2638 (name "upower")
5e503e73 2639 (version "0.99.4")
a1d5bb0e
AW
2640 (source (origin
2641 (method url-fetch)
5cc3096c 2642 (uri (string-append "https://upower.freedesktop.org/releases/"
a1d5bb0e
AW
2643 name "-" version ".tar.xz"))
2644 (sha256
2645 (base32
5e503e73 2646 "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
fc1adab1 2647 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2648 (build-system glib-or-gtk-build-system)
2649 (arguments
2650 '( ;; The tests want to contact the system bus, which can't be done in the
2651 ;; build environment. The integration test can run, but the last of
2652 ;; the up-self-tests doesn't. Disable tests for now.
2653 #:tests? #f
2654 #:configure-flags (list "--localstatedir=/var"
2655 (string-append "--with-udevrulesdir="
2656 (assoc-ref %outputs "out")
2657 "/lib/udev/rules.d"))
2658 #:phases
2659 (modify-phases %standard-phases
2660 (add-before 'configure 'patch-/bin/true
2661 (lambda _
2662 (substitute* "configure"
2663 (("/bin/true") (which "true")))))
2664 (add-before 'configure 'patch-integration-test
2665 (lambda _
2666 (substitute* "src/linux/integration-test"
2667 (("/usr/bin/python3") (which "python3"))))))))
2668 (native-inputs
ebeabe2d
SB
2669 `(("gobject-introspection" ,gobject-introspection)
2670 ("pkg-config" ,pkg-config)
a1d5bb0e 2671 ("intltool" ,intltool)
55409295
LC
2672 ("python" ,python)
2673
2674 ;; For man pages.
2675 ("libxslt" ,libxslt) ;for 'xsltproc'
2676 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2677 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2678 (inputs
ea226291
SB
2679 `(("dbus-glib" ,dbus-glib)
2680 ("libgudev" ,libgudev)
a1d5bb0e
AW
2681 ("libusb" ,libusb)))
2682 (home-page "http://upower.freedesktop.org/")
2683 (synopsis "System daemon for managing power devices")
2684 (description
2685 "UPower is an abstraction for enumerating power devices,
2686listening to device events and querying history and statistics. Any
2687application or service on the system can access the org.freedesktop.UPower
2688service via the system message bus.")
2689 (license license:gpl2+)))
6a180f6f
AW
2690
2691(define-public libgweather
2692 (package
2693 (name "libgweather")
becd3704 2694 (version "3.24.0")
6a180f6f
AW
2695 (source (origin
2696 (method url-fetch)
2697 (uri (string-append "mirror://gnome/sources/" name "/"
2698 (version-major+minor version) "/"
2699 name "-" version ".tar.xz"))
2700 (sha256
2701 (base32
becd3704 2702 "0ggspn3wmlkdxpfv4ym68qn1mzqc3hv666sykv8sv1ah40rbk28h"))))
6a180f6f
AW
2703 (build-system gnu-build-system)
2704 (arguments
b6072e6b
SB
2705 `(#:configure-flags
2706 `(,(string-append "--with-zoneinfo-dir="
2707 (assoc-ref %build-inputs "tzdata")
2708 "/share/zoneinfo"))
2709 #:phases
2710 (modify-phases %standard-phases
8b8dfa7f
LC
2711 (add-before 'check 'pre-check
2712 (lambda* (#:key inputs #:allow-other-keys)
2713 (substitute* "data/check-timezones.sh"
2714 (("/usr/share/zoneinfo/zone.tab")
2715 (string-append (assoc-ref inputs "tzdata")
2716 "/share/zoneinfo/zone.tab")))
2717
2718 ;; 'Asia/Rangoon' was renamed in tzdata-2016:
2719 ;; <https://github.com/eggert/tz/commit/4368251ebf11310a4aadccd1910daeac9080c501>.
2720 (substitute* "data/Locations.xml"
2721 (("Asia/Rangoon")
2722 "Asia/Yangon"))
b6072e6b 2723 #t)))))
6a180f6f
AW
2724 (native-inputs
2725 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 2726 ("gobject-introspection" ,gobject-introspection)
6a180f6f
AW
2727 ("pkg-config" ,pkg-config)
2728 ("intltool" ,intltool)))
2729 (propagated-inputs
2730 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2731 ;; libsoup.
2732 `(("gtk+" ,gtk+)
2733 ("gdk-pixbuf" ,gdk-pixbuf)
2734 ("libxml2" ,libxml2)
2735 ("libsoup" ,libsoup)))
2736 (inputs
2737 `(("tzdata" ,tzdata)
2738 ("geocode-glib" ,geocode-glib)))
2739 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2740 (synopsis "Location, time zone, and weather library for GNOME")
2741 (description
2742 "libgweather is a library to access weather information from online
2743services for numerous locations.")
2744 (license license:gpl2+)))
23a22af6
AW
2745
2746(define-public gnome-settings-daemon
2747 (package
2748 (name "gnome-settings-daemon")
6481cad7 2749 (version "3.24.2")
23a22af6
AW
2750 (source
2751 (origin
2752 (method url-fetch)
2753 (uri (string-append "mirror://gnome/sources/" name "/"
2754 (version-major+minor version) "/"
2755 name "-" version ".tar.xz"))
2756 (sha256
2757 (base32
6481cad7 2758 "1jnw920zn4cadhgmcv2q5ylzqhwm1rmrhf3a14q8mvp38hkdgaaa"))))
23a22af6
AW
2759 (build-system glib-or-gtk-build-system)
2760 (arguments
eee7878f 2761 `(;; Color management test can't reach the colord system service.
23a22af6
AW
2762 #:tests? #f))
2763 (native-inputs
2764 `(("pkg-config" ,pkg-config)
2765 ("intltool" ,intltool)
2766 ("xsltproc" ,libxslt)
2767 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2768 ("docbook-xml" ,docbook-xml-4.2)
2769 ("docbook-xsl" ,docbook-xsl)))
2770 (inputs
2771 `(("colord" ,colord)
ea226291 2772 ("libgudev" ,libgudev)
23a22af6
AW
2773 ("upower" ,upower)
2774 ("polkit" ,polkit)
2775 ("pulseaudio" ,pulseaudio)
2776 ("libcanberra" ,libcanberra)
2777 ("libx11" ,libx11)
2778 ("libxtst" ,libxtst)
2779 ("lcms" ,lcms)
2780 ("libnotify" ,libnotify)
2781 ("geoclue" ,geoclue)
2782 ("geocode-glib" ,geocode-glib)
2783 ("libgweather" ,libgweather)
2784 ("gnome-desktop" ,gnome-desktop)
2785 ("nss" ,nss)
2786 ("cups" ,cups)
ec2b1921
AW
2787 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2788 ("libwacom" ,libwacom)
2789 ("librsvg" ,librsvg)
eee7878f
CM
2790 ("xf86-input-wacom" ,xf86-input-wacom)
2791 ("network-manager" ,network-manager)))
23a22af6
AW
2792 (home-page "http://www.gnome.org")
2793 (synopsis "GNOME settings daemon")
2794 (description
2795 "This package contains the daemon responsible for setting the various
2796parameters of a GNOME session and the applications that run under it. It
2797handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2798settings, themes, mouse settings, and startup of other daemons.")
2799 (license license:gpl2+)))
1e7464a9
DH
2800
2801(define-public totem-pl-parser
2802 (package
2803 (name "totem-pl-parser")
e980cbe9 2804 (version "3.10.7")
1e7464a9
DH
2805 (source (origin
2806 (method url-fetch)
e980cbe9
MW
2807 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
2808 (version-major+minor version) "/"
1e7464a9
DH
2809 "totem-pl-parser-" version ".tar.xz"))
2810 (sha256
2811 (base32
e980cbe9 2812 "17089sqyh6w6zr8ci865ihmvqshnslcsk9fbsl4s7yii66y8b0lw"))))
1e7464a9
DH
2813 (build-system gnu-build-system)
2814 (arguments
2815 ;; FIXME: Tests require gvfs.
2816 `(#:tests? #f))
2817 (native-inputs
2818 `(("intltool" ,intltool)
2819 ("glib" ,glib "bin")
4d6d8281 2820 ("gobject-introspection" ,gobject-introspection)
1e7464a9 2821 ("pkg-config" ,pkg-config)))
22a6ad6a 2822 (propagated-inputs
1e7464a9
DH
2823 `(("glib" ,glib)
2824 ("gmime" ,gmime)
22a6ad6a
MW
2825 ("libxml2" ,libxml2)))
2826 (inputs
2827 `(("libarchive" ,libarchive)
1e7464a9
DH
2828 ("libgcrypt" ,libgcrypt)
2829 ("nettle" ,nettle)
22a6ad6a 2830 ("libsoup" ,libsoup)))
1e7464a9
DH
2831 (home-page "https://projects.gnome.org/totem")
2832 (synopsis "Library to parse and save media playlists for GNOME")
2833 (description "Totem-pl-parser is a GObjects-based library to parse and save
2834playlists in a variety of formats.")
2835 (license license:lgpl2.0+)))
2836
6b888eff
SB
2837(define-public aisleriot
2838 (package
2839 (name "aisleriot")
e6a36cf2 2840 (version "3.22.2")
6b888eff
SB
2841 (source (origin
2842 (method url-fetch)
2843 (uri (string-append "mirror://gnome/sources/" name "/"
2844 (version-major+minor version) "/"
2845 name "-" version ".tar.xz"))
2846 (sha256
2847 (base32
e6a36cf2 2848 "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx"))))
6b888eff
SB
2849 (build-system glib-or-gtk-build-system)
2850 (arguments
2851 '(#:configure-flags
2852 '("--with-platform=gtk-only"
2853 "--with-card-theme-formats=svg")))
2854 (native-inputs
2855 `(("desktop-file-utils" ,desktop-file-utils)
2856 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2857 ("intltool" ,intltool)
2858 ("itstool" ,itstool)
2859 ("pkg-config" ,pkg-config)
2860 ("xmllint" ,libxml2)))
2861 (inputs
2862 `(("gtk+" ,gtk+)
2863 ("guile" ,guile-2.0)
2864 ("libcanberra" ,libcanberra)
2865 ("librsvg" ,librsvg)))
2866 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
2867 (synopsis "Solitaire card games")
2868 (description
2869 "Aisleriot (also known as Solitaire or sol) is a collection of card games
2870which are easy to play with the aid of a mouse.")
2871 (license license:gpl3+)))
4a79e256
SB
2872
2873(define-public devhelp
2874 (package
2875 (name "devhelp")
9bf10a74 2876 (version "3.24.0")
4a79e256
SB
2877 (source (origin
2878 (method url-fetch)
2879 (uri (string-append "mirror://gnome/sources/" name "/"
2880 (version-major+minor version) "/"
2881 name "-" version ".tar.xz"))
2882 (sha256
2883 (base32
9bf10a74 2884 "0c74rk46dy3kvy78m42jl3ip56c5536zmy8v1lbascjmh4fdwn28"))))
4a79e256
SB
2885 (build-system glib-or-gtk-build-system)
2886 (native-inputs
2887 `(("intltool" ,intltool)
2888 ("pkg-config" ,pkg-config)))
2889 (inputs
2890 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2891 ("webkitgtk" ,webkitgtk)))
2892 (home-page "https://wiki.gnome.org/Apps/Devhelp")
2893 (synopsis "API documentation browser for GNOME")
2894 (description
2895 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
2896natively with GTK-Doc (the API reference system developed for GTK+ and used
2897throughout GNOME for API documentation).")
2898 (license license:gpl2+)))
ba421ab7
MW
2899
2900(define-public cogl
2901 (package
2902 (name "cogl")
6a55accc 2903 (version "1.22.2")
ba421ab7
MW
2904 (source
2905 (origin
2906 (method url-fetch)
2907 (uri (string-append "mirror://gnome/sources/" name "/"
2908 (version-major+minor version) "/"
2909 name "-" version ".tar.xz"))
2910 (sha256
2911 (base32
6a55accc 2912 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
a88d5a0c
MW
2913 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
2914 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
2915 (build-system gnu-build-system)
2916 (native-inputs
2917 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2918 ("gobject-introspection" ,gobject-introspection)
2919 ;;("xorg-server" ,xorg-server) ; for the test suite
2920 ("pkg-config" ,pkg-config)))
2921 (propagated-inputs
2922 `(("glib" ,glib)
2923 ("gdk-pixbuf" ,gdk-pixbuf)
2924 ("libx11" ,libx11)
2925 ("libxext" ,libxext)
2926 ("libxfixes" ,libxfixes)
2927 ("libxdamage" ,libxdamage)
2928 ("libxcomposite" ,libxcomposite)
2929 ("libxrandr" ,libxrandr)))
2930 (inputs
2931 `(("mesa" ,mesa)
2932 ("cairo" ,cairo)
2933 ("pango" ,pango)
2934 ("gstreamer" ,gstreamer)
31860852
KK
2935 ("gst-plugins-base" ,gst-plugins-base)
2936 ("wayland" ,wayland)))
ba421ab7
MW
2937 (arguments
2938 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
2939 "--enable-wayland-egl-platform"
2940 "--enable-wayland-egl-server"
2941
ba421ab7
MW
2942 ;; Arrange to pass an absolute file name to
2943 ;; dlopen for libGL.so.
2944 (string-append "--with-gl-libname="
2945 (assoc-ref %build-inputs "mesa")
2946 "/lib/libGL.so"))
2947 ;; XXX FIXME: All tests fail, with many warnings printed like this:
2948 ;; _FontTransOpen: Unable to Parse address
2949 ;; ${prefix}/share/fonts/X11/misc/
2950 #:tests? #f
2951 #; #:phases
2952 #;
2953 (modify-phases %standard-phases
2954 (add-before 'check 'start-xorg-server
2955 (lambda* (#:key inputs #:allow-other-keys)
2956 ;; The test suite requires a running X server.
2957 (system (format #f "~a/bin/Xvfb :1 &"
2958 (assoc-ref inputs "xorg-server")))
2959 (setenv "DISPLAY" ":1")
2960 #t)))))
2961 (home-page "http://www.cogl3d.org")
2962 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
2963 (description
2964 "Cogl is a small library for using 3D graphics hardware to draw pretty
2965pictures. The API departs from the flat state machine style of OpenGL and is
2966designed to make it easy to write orthogonal components that can render
2967without stepping on each others toes.")
2968 (license (list license:expat ; most of the code
2969 license:bsd-3 ; cogl/cogl-point-in-poly.c
2970 license:sgifreeb2.0 ; cogl-path/tesselator/
2971 license:asl2.0)))) ; examples/android/
fb182b8a
MW
2972
2973(define-public clutter
2974 (package
2975 (name "clutter")
6a88e4ee 2976 (version "1.26.2")
fb182b8a
MW
2977 (source
2978 (origin
2979 (method url-fetch)
2980 (uri (string-append "mirror://gnome/sources/" name "/"
2981 (version-major+minor version) "/"
2982 name "-" version ".tar.xz"))
2983 (sha256
2984 (base32
6a88e4ee 2985 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
2986 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
2987 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 2988 (build-system gnu-build-system)
600233bd
LC
2989 (outputs '("out"
2990 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
2991 (native-inputs
2992 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
2993 ("gobject-introspection" ,gobject-introspection)
2994 ("pkg-config" ,pkg-config)
2995 ("xsltproc" ,libxslt)))
2996 (propagated-inputs
2997 `(("cogl" ,cogl)
2998 ("cairo" ,cairo)
2999 ("atk" ,atk)
3000 ("gtk+" ,gtk+)
3001 ("json-glib" ,json-glib)
3002 ("glib" ,glib)
3003 ("libxcomposite" ,libxcomposite)
3004 ("libxdamage" ,libxdamage)
3005 ("libxext" ,libxext)
3006 ("xinput" ,xinput)))
3007 (inputs
3008 `(("libxkbcommon" ,libxkbcommon)
3009 ("udev" ,eudev)))
3010 (arguments
600233bd
LC
3011 `(#:configure-flags (list "--enable-x11-backend=yes"
3012
3013 ;; This produces share/doc/{clutter,cally}.
3014 (string-append "--with-html-dir="
3015 (assoc-ref %outputs "doc")
3016 "/share/doc"))
fb182b8a
MW
3017 ;; XXX FIXME: Get test suite working. It would probably fail in the
3018 ;; same way the cogl tests fail, since clutter is based on cogl.
3019 #:tests? #f))
3020 (home-page "http://www.clutter-project.org")
3021 (synopsis "Open GL based interactive canvas library")
3022 (description
3023 "Clutter is an Open GL based interactive canvas library, designed for
3024creating fast, mainly 2D single window applications such as media box UIs,
3025presentations, kiosk style applications and so on.")
3026 (license license:lgpl2.0+)))
bf7f17ba
MW
3027
3028(define-public clutter-gtk
3029 (package
3030 (name "clutter-gtk")
a6e44835 3031 (version "1.8.2")
bf7f17ba
MW
3032 (source
3033 (origin
3034 (method url-fetch)
3035 (uri (string-append "mirror://gnome/sources/" name "/"
3036 (version-major+minor version) "/"
3037 name "-" version ".tar.xz"))
3038 (sha256
3039 (base32
a6e44835 3040 "153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
bf7f17ba
MW
3041 (build-system gnu-build-system)
3042 (native-inputs
3043 `(("pkg-config" ,pkg-config)
3044 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
3045 (propagated-inputs
3046 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
3047 `(("clutter" ,clutter)
3048 ("gtk+" ,gtk+)))
3049 (home-page "http://www.clutter-project.org")
3050 (synopsis "Open GL based interactive canvas library GTK+ widget")
3051 (description
3052 "Clutter is an Open GL based interactive canvas library, designed for
3053creating fast, mainly 2D single window applications such as media box UIs,
3054presentations, kiosk style applications and so on.")
3055 (license license:lgpl2.0+)))
86d6a893
MW
3056
3057(define-public clutter-gst
3058 (package
3059 (name "clutter-gst")
87736005 3060 (version "3.0.24")
86d6a893
MW
3061 (source
3062 (origin
3063 (method url-fetch)
3064 (uri (string-append "mirror://gnome/sources/" name "/"
3065 (version-major+minor version) "/"
3066 name "-" version ".tar.xz"))
3067 (sha256
3068 (base32
87736005 3069 "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9"))))
86d6a893
MW
3070 (build-system gnu-build-system)
3071 (native-inputs
3072 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3073 ("pkg-config" ,pkg-config)
3074 ("gobject-introspection" ,gobject-introspection)))
3075 (inputs
3076 `(("clutter" ,clutter)
3077 ("gstreamer" ,gstreamer)
3078 ("gst-plugins-base" ,gst-plugins-base)))
3079 (home-page "http://www.clutter-project.org")
3080 (synopsis "Integration library for using GStreamer with Clutter")
3081 (description
3082 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3083It provides a GStreamer sink to upload frames to GL and an actor that
3084implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3085GL based interactive canvas library.")
3086 (license license:lgpl2.0+)))
607a04ae 3087
30dc88d9
LC
3088(define-public libchamplain
3089 (package
3090 (name "libchamplain")
356f0cef 3091 (version "0.12.15")
30dc88d9
LC
3092 (source (origin
3093 (method url-fetch)
3094 (uri (string-append
3095 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3096 version ".tar.xz"))
3097 (sha256
3098 (base32
356f0cef 3099 "0x5qa1aw1y59lzkmf4j4szspn49341a87vcja4ydgxny1chilwjl"))))
30dc88d9 3100 (build-system gnu-build-system)
f7c6833f
LF
3101 (arguments '(#:configure-flags '("--enable-vala")))
3102 (native-inputs
3103 `(("gobject-introspection" ,gobject-introspection)
3104 ("pkg-config" ,pkg-config)
3105 ("vala" ,vala)))
30dc88d9
LC
3106 (propagated-inputs
3107 `(("libsoup" ,libsoup)
3108 ("sqlite" ,sqlite)
3109 ("clutter" ,clutter)
3110 ("clutter-gtk" ,clutter-gtk)
3111 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3112 ("cairo" ,cairo)
3113 ("gtk+3" ,gtk+)
3114 ("glib" ,glib)))
3115 (home-page "http://projects.gnome.org/libchamplain/")
3116 (synopsis "C library providing a ClutterActor to display maps")
3117 (description
3118 "libchamplain is a C library providing a ClutterActor to display maps.
3119It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3120and Perl bindings are also available. It supports numerous free map sources
3121such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3122 (license license:lgpl2.1+)))
3123
607a04ae
MW
3124(define-public gom
3125 (package
3126 (name "gom")
0510440b 3127 (version "0.3.2")
607a04ae
MW
3128 (source
3129 (origin
3130 (method url-fetch)
3131 (uri (string-append "mirror://gnome/sources/" name "/"
3132 (version-major+minor version) "/"
3133 name "-" version ".tar.xz"))
3134 (sha256
3135 (base32
0510440b 3136 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3137 (build-system gnu-build-system)
3138 (native-inputs
3139 `(("intltool" ,intltool)
3140 ("pkg-config" ,pkg-config)
3141 ("gobject-introspection" ,gobject-introspection)))
3142 (inputs
3143 `(("glib" ,glib)
3144 ("gdk-pixbuf" ,gdk-pixbuf)
3145 ("sqlite" ,sqlite)))
3146 ;; XXX TODO: Figure out how to run the test suite.
3147 (arguments `(#:tests? #f))
3148 (home-page "https://wiki.gnome.org/Projects/Gom")
3149 (synopsis "Object mapper from GObjects to SQLite")
3150 (description
3151 "Gom provides an object mapper from GObjects to SQLite. It helps you
3152write applications that need to store structured data as well as make complex
3153queries upon that data.")
3154 (license license:lgpl2.1+)))
b7a3cf11 3155
f09520db
SB
3156(define-public libgames-support
3157 (package
3158 (name "libgames-support")
3159 (version "1.0.2")
3160 (source (origin
3161 (method url-fetch)
3162 (uri (string-append "mirror://gnome/sources/" name "/"
3163 (version-major+minor version) "/"
3164 name "-" version ".tar.xz"))
3165 (sha256
3166 (base32
3167 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
3168 (build-system gnu-build-system)
3169 (arguments
3170 '(#:phases
3171 (modify-phases %standard-phases
3172 (add-before 'check 'pre-check
3173 (lambda _
3174 ;; tests require a writable HOME.
3175 (setenv "HOME" (getcwd))
3176 #t)))))
3177 (native-inputs
3178 `(("intltool" ,intltool)
3179 ("pkg-config" ,pkg-config)
3180 ("vala" ,vala)))
3181 (propagated-inputs
3182 ;; Required by libgames-support-1.0.pc
3183 `(("gtk+" ,gtk+)
3184 ("libgee" ,libgee)))
3185 (home-page "https://www.gnome.org/")
3186 (synopsis "Useful functionality shared among GNOME games")
3187 (description
3188 "libgames-support is a small library intended for internal use by
3189GNOME Games, but it may be used by others.")
3190 (license license:lgpl3+)))
3191
43ec2604
MW
3192(define-public libgnome-games-support
3193 (package
3194 (inherit libgames-support)
3195 (name "libgnome-games-support")
3196 (version "1.2.1")
3197 (source (origin
3198 (method url-fetch)
3199 (uri (string-append "mirror://gnome/sources/" name "/"
3200 (version-major+minor version) "/"
3201 name "-" version ".tar.xz"))
3202 (sha256
3203 (base32
3204 "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6"))))))
3205
b7a3cf11
SB
3206(define-public gnome-klotski
3207 (package
3208 (name "gnome-klotski")
f4eae76f 3209 (version "3.22.1")
b7a3cf11
SB
3210 (source (origin
3211 (method url-fetch)
3212 (uri (string-append "mirror://gnome/sources/" name "/"
3213 (version-major+minor version) "/"
3214 name "-" version ".tar.xz"))
3215 (sha256
3216 (base32
f4eae76f 3217 "04ragvrz29sydi2kf1zk2aimi3b3hn34jrndfd2lx6h8l45anq3q"))))
b7a3cf11
SB
3218 (build-system glib-or-gtk-build-system)
3219 (native-inputs
3220 `(("desktop-file-utils" ,desktop-file-utils)
3221 ("intltool" ,intltool)
3222 ("itstool" ,itstool)
bcb354ad
SB
3223 ("pkg-config" ,pkg-config)
3224 ("xmllint" ,libxml2)))
b7a3cf11
SB
3225 (inputs
3226 `(("gtk+" ,gtk+)
f4eae76f 3227 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3228 ("librsvg" ,librsvg)))
3229 (home-page "https://wiki.gnome.org/Apps/Klotski")
3230 (synopsis "Sliding block puzzles")
3231 (description
3232 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3233the patterned block to the area bordered by green markers. To do so, you will
3234need to slide other blocks out of the way. Complete each puzzle in as few moves
3235as possible!")
3236 (license license:gpl2+)))
8d4791bf
MW
3237
3238(define-public grilo
3239 (package
3240 (name "grilo")
e7305878 3241 (version "0.3.2")
8d4791bf
MW
3242 (source
3243 (origin
3244 (method url-fetch)
3245 (uri (string-append "mirror://gnome/sources/" name "/"
3246 (version-major+minor version) "/"
3247 name "-" version ".tar.xz"))
3248 (sha256
3249 (base32
e7305878 3250 "0nvzr2gfk2mpzf99442zawv0n5yjcyy50rqkrvdsibknbm56hvzj"))))
8d4791bf
MW
3251 (build-system gnu-build-system)
3252 (native-inputs
3253 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3254 ("intltool" ,intltool)
3255 ("pkg-config" ,pkg-config)
3256 ("gobject-introspection" ,gobject-introspection)))
3257 (inputs
3258 `(("glib" ,glib)
3259 ("gtk+" ,gtk+)
3260 ("libxml2" ,libxml2)
3261 ;; XXX TODO: Add oauth
3262 ("libsoup" ,libsoup)
e7305878 3263 ("nettle" ,nettle)
8d4791bf
MW
3264 ("totem-pl-parser" ,totem-pl-parser)))
3265 (arguments
3266 `(#:phases
3267 (modify-phases %standard-phases
3268 (add-after 'unpack 'fix-introspection-install-dir
3269 (lambda* (#:key outputs #:allow-other-keys)
3270 (let ((out (assoc-ref outputs "out")))
3271 (substitute* '("src/Makefile.in"
3272 "libs/pls/Makefile.in"
3273 "libs/net/Makefile.in")
3274 (("@INTROSPECTION_GIRDIR@")
3275 (string-append out "/share/gir-1.0/"))
3276 (("@INTROSPECTION_TYPELIBDIR@")
3277 (string-append out "/lib/girepository-1.0/")))))))))
3278 (native-search-paths
3279 (list (search-path-specification
3280 (variable "GRL_PLUGIN_PATH")
3281 (files (list (string-append "lib/grilo-"
3282 (version-major+minor version)))))))
3283 (home-page "http://live.gnome.org/Grilo")
3284 (synopsis "Framework for discovering and browsing media")
3285 (description
3286 "Grilo is a framework focused on making media discovery and browsing easy
3287for application developers.")
3288 (license license:lgpl2.1+)))
7b212526
MW
3289
3290(define-public grilo-plugins
3291 (package
3292 (name "grilo-plugins")
22753632 3293 (version "0.3.3")
7b212526
MW
3294 (source
3295 (origin
3296 (method url-fetch)
3297 (uri (string-append "mirror://gnome/sources/" name "/"
3298 (version-major+minor version) "/"
3299 name "-" version ".tar.xz"))
3300 (sha256
3301 (base32
22753632 3302 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3303 (build-system gnu-build-system)
3304 (native-inputs
3305 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3306 ("intltool" ,intltool)
3307 ("itstool" ,itstool)
3308 ("pkg-config" ,pkg-config)))
3309 (inputs
3310 `(("grilo" ,grilo)
924ae80f 3311 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3312 ("glib" ,glib)
3313 ("libxml2" ,libxml2)
3314 ("sqlite" ,sqlite)
3315 ("gom" ,gom)
3316 ;; XXX TODO: Add oauth
3317 ;; XXX TODO: Add goa
3318 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3319 ;; XXX TODO: Add lua (needs help finding it)
3320 ("json-glib" ,json-glib)
3321 ("avahi" ,avahi)
3322 ("gmime" ,gmime)
3323 ("libsoup" ,libsoup)
3324 ("libarchive" ,libarchive)
3325 ("totem-pl-parser" ,totem-pl-parser)))
3326 (arguments
3327 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3328 %output
3329 "/lib/grilo-"
3330 ,(version-major+minor version)))
3331 ;; XXX FIXME: Try to get the test suite working. It appears to require
3332 ;; a working system dbus. Inside the build container, all tests fail
3333 ;; with: "assertion failed: (source)". Outside of the build container,
3334 ;; most tests succeed.
3335 #:tests? #f))
3336 (home-page "http://live.gnome.org/Grilo")
3337 (synopsis "Plugins for the Grilo media discovery library")
3338 (description
3339 "Grilo is a framework focused on making media discovery and browsing easy
3340for application developers.")
3341 (license license:lgpl2.1+)))
4e3fc547
MW
3342
3343(define-public totem
3344 (package
3345 (name "totem")
aad56d0e 3346 (version "3.24.0")
4e3fc547
MW
3347 (source
3348 (origin
3349 (method url-fetch)
3350 (uri (string-append "mirror://gnome/sources/" name "/"
3351 (version-major+minor version) "/"
3352 name "-" version ".tar.xz"))
3353 (sha256
3354 (base32
aad56d0e 3355 "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
4e3fc547
MW
3356 (build-system glib-or-gtk-build-system)
3357 (native-inputs
3358 `(("pkg-config" ,pkg-config)
3359 ("desktop-file-utils" ,desktop-file-utils)
3360 ("gobject-introspection" ,gobject-introspection)
3361 ("intltool" ,intltool)
bcb354ad
SB
3362 ("itstool" ,itstool)
3363 ("xmllint" ,libxml2)))
4e3fc547
MW
3364 (propagated-inputs
3365 `(("dconf" ,dconf)))
3366 (inputs
3367 `(("gtk+" ,gtk+)
3368 ("gdk-pixbuf" ,gdk-pixbuf)
3369 ("atk" ,atk)
3370 ("cairo" ,cairo)
3371 ("dbus-glib" ,dbus-glib)
3372 ("clutter" ,clutter)
3373 ("clutter-gtk" ,clutter-gtk)
3374 ("clutter-gst" ,clutter-gst)
3375 ("xproto" ,xproto)
3376 ("libxxf86vm" ,libxxf86vm)
3377 ("libxtst" ,libxtst)
3378 ("libxrandr" ,libxrandr)
3379 ("libxml2" ,libxml2)
3380 ("libsoup" ,libsoup)
3381 ("libpeas" ,libpeas)
3382 ("librsvg" ,librsvg)
3383 ("lirc" ,lirc)
3384 ("gnome-desktop" ,gnome-desktop)
3385 ("gstreamer" ,gstreamer)
3386 ("gst-plugins-base" ,gst-plugins-base)
3387 ("gst-plugins-good" ,gst-plugins-good)
3388 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3389 ("adwaita-icon-theme" ,adwaita-icon-theme)
3390 ;; XXX We use python-2 because libxml2 because itstool (which needs
3391 ;; libxml) currently uses python-2.
3392 ("python" ,python-2)
3393 ("python-pygobject" ,python2-pygobject)
3394 ;; XXX TODO pylint needed for python support
3395 ("totem-pl-parser" ,totem-pl-parser)
3396 ("grilo" ,grilo)
3397 ("grilo-plugins" ,grilo-plugins)
3398 ("nettle" ,nettle)
3399 ("vala" ,vala)))
3400 (arguments
3401 `(#:phases
3402 (modify-phases %standard-phases
3403 (add-after
3404 'install 'wrap-totem
3405 (lambda* (#:key inputs outputs #:allow-other-keys)
3406 (let ((out (assoc-ref outputs "out"))
3407 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3408 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3409 (wrap-program (string-append out "/bin/totem")
3410 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3411 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3412 #t)))))
3413 (home-page "https://wiki.gnome.org/Apps/Videos")
3414 (synopsis "Simple media player for GNOME based on GStreamer")
3415 (description "Totem is a simple yet featureful media player for GNOME
3416which can read a large number of file formats.")
3417 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3418 ;; to be used and distributed together with GStreamer and Totem. See
3419 ;; file://COPYING in the source distribution for details.
3420 (license license:gpl2+)))
f0afb0c8
DH
3421
3422(define-public rhythmbox
3423 (package
3424 (name "rhythmbox")
4faa8abe 3425 (version "3.4.1")
f0afb0c8
DH
3426 (source (origin
3427 (method url-fetch)
3428 (uri (string-append "mirror://gnome/sources/" name "/"
3429 (version-major+minor version) "/"
3430 name "-" version ".tar.xz"))
3431 (sha256
3432 (base32
4faa8abe 3433 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3434 (build-system glib-or-gtk-build-system)
3435 (arguments
3436 `(#:configure-flags
3437 (list "--enable-lirc"
3438 "--enable-python"
3439 "--enable-vala"
3440 "--with-brasero"
3441 "--with-gudev"
3442 "--with-libsecret")
3443 #:phases
3444 (modify-phases %standard-phases
3445 (add-after
3446 'install 'wrap-rhythmbox
3447 (lambda* (#:key inputs outputs #:allow-other-keys)
3448 (let ((out (assoc-ref outputs "out"))
3449 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3450 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3451 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3452 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3453 (wrap-program (string-append out "/bin/rhythmbox")
3454 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3455 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3456 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3457 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3458 #t)))))
3459 (propagated-inputs
3460 `(("dconf" ,dconf)))
3461 (native-inputs
bcb354ad
SB
3462 `(("itstool" ,itstool)
3463 ("intltool" ,intltool)
f0afb0c8
DH
3464 ("glib" ,glib "bin")
3465 ("gobject-introspection" ,gobject-introspection)
3466 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3467 ("pkg-config" ,pkg-config)
3468 ("xmllint" ,libxml2)))
f0afb0c8
DH
3469 (inputs
3470 `(("json-glib" ,json-glib)
3471 ("tdb" ,tdb)
3472 ("gnome-desktop" ,gnome-desktop)
3473 ("python" ,python)
3474 ("python-pygobject" ,python2-pygobject)
3475 ("vala" ,vala)
3476 ("gmime" ,gmime)
3477 ("nettle" ,nettle)
f0afb0c8
DH
3478 ("adwaita-icon-theme" ,adwaita-icon-theme)
3479 ("grilo" ,grilo)
3480 ("grilo-plugins" ,grilo-plugins)
3481 ("gstreamer" ,gstreamer)
3482 ("gst-plugins-base" ,gst-plugins-base)
3483 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3484 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3485 ("libgudev" ,libgudev)
f0afb0c8
DH
3486 ;;("libmtp" ,libmtp) FIXME: Not detected
3487 ("libsecret" ,libsecret)
3488 ("libsoup" ,libsoup)
3489 ("libnotify" ,libnotify)
3490 ("libpeas" ,libpeas)
3491 ("lirc" ,lirc)
3492 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3493 ;;("clutter" ,clutter)
3494 ;;("clutter-gtk" ,clutter-gtk)
3495 ;;("clutter-gst" ,clutter-gst)
3496 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3497 ("atk" ,atk)
3498 ("pango" ,pango)
3499 ("gtk+" ,gtk+)
3500 ;; TODO:
3501 ;; * libgpod
3502 ;; * mx
f0afb0c8
DH
3503 ("brasero" ,brasero)))
3504 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3505 (synopsis "Music player for GNOME")
3506 (description "Rhythmbox is a music playing application for GNOME. It
3507supports playlists, song ratings, and any codecs installed through gstreamer.")
3508 (license license:gpl2+)))
f70d8383
DH
3509
3510(define-public eog
3511 (package
3512 (name "eog")
dc4b64ae 3513 (version "3.24.1")
f70d8383
DH
3514 (source (origin
3515 (method url-fetch)
3516 (uri (string-append "mirror://gnome/sources/" name "/"
3517 (version-major+minor version) "/"
3518 name "-" version ".tar.xz"))
3519 (sha256
3520 (base32
dc4b64ae 3521 "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
f70d8383
DH
3522 (build-system glib-or-gtk-build-system)
3523 (arguments
3524 `(#:phases
3525 (modify-phases %standard-phases
3526 (add-after
3527 'install 'wrap-eog
3528 (lambda* (#:key outputs #:allow-other-keys)
3529 (let ((out (assoc-ref outputs "out"))
3530 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3531 (wrap-program (string-append out "/bin/eog")
3532 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3533 #t)))))
3534 (propagated-inputs
3535 `(("dconf" ,dconf)))
3536 (native-inputs
3537 `(("intltool" ,intltool)
b3546174 3538 ("itstool" ,itstool)
f70d8383
DH
3539 ("glib" ,glib "bin")
3540 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3541 ("pkg-config" ,pkg-config)
3542 ("xmllint" ,libxml2)))
f70d8383
DH
3543 (inputs
3544 `(("gnome-desktop" ,gnome-desktop)
3545 ("shared-mime-info" ,shared-mime-info)
3546 ("adwaita-icon-theme" ,adwaita-icon-theme)
3547 ("exempi" ,exempi)
3548 ("lcms" ,lcms)
3549 ("libexif" ,libexif)
3550 ("libpeas" ,libpeas)
3551 ("libjpeg" ,libjpeg)
3552 ("librsvg" ,librsvg)
3553 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3554 ("gtk+" ,gtk+)))
3555 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3556 (synopsis "GNOME image viewer")
3557 (description "Eye of GNOME is the GNOME image viewer. It
3558supports image conversion, rotation, and slideshows.")
3559 (license license:gpl2+)))
41af5e7b
SB
3560
3561(define-public libgudev
3562 (package
3563 (name "libgudev")
3564 (version "230")
3565 (source (origin
3566 (method url-fetch)
3567 (uri (string-append "mirror://gnome/sources/" name "/"
3568 version "/" name "-" version ".tar.xz"))
3569 (sha256
3570 (base32
3571 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3572 (build-system gnu-build-system)
3573 (native-inputs
3574 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3575 ("gobject-introspection" ,gobject-introspection)
3576 ("pkg-config" ,pkg-config)))
3577 (propagated-inputs
3578 `(("glib" ,glib))) ; required by gudev-1.0.pc
3579 (inputs
3580 `(("udev" ,eudev)))
3581 (home-page "https://wiki.gnome.org/Projects/libgudev")
3582 (synopsis "GObject bindings for libudev")
3583 (description
3584 "This library provides GObject bindings for libudev. It was originally
3585part of udev-extras, then udev, then systemd. It's now a project on its own.")
3586 (license license:lgpl2.1+)))
3dc8828f
SB
3587
3588(define-public gvfs
3589 (package
3590 (name "gvfs")
8e8fefb6 3591 (version "1.32.1")
3dc8828f
SB
3592 (source (origin
3593 (method url-fetch)
3594 (uri (string-append "mirror://gnome/sources/" name "/"
3595 (version-major+minor version) "/"
3596 name "-" version ".tar.xz"))
3597 (sha256
3598 (base32
8e8fefb6 3599 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3600 (build-system gnu-build-system)
3601 (arguments
3602 '(#:tests? #f)) ; XXX: requiring `pidof'
3603 (native-inputs
3604 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3605 ("intltool" ,intltool)
3606 ("pkg-config" ,pkg-config)
3607 ("xsltproc" ,libxslt)))
3608 (inputs
3609 `(("avahi" ,avahi)
3610 ("docbook-xml" ,docbook-xml-4.2)
3611 ("docbook-xsl" ,docbook-xsl)
3612 ("dbus" ,dbus)
3613 ("fuse" ,fuse)
24a78aa6 3614 ("gcr" ,gcr)
3dc8828f
SB
3615 ("glib" ,glib)
3616 ("libarchive" ,libarchive)
3617 ("libbluray" ,libbluray)
8852ca24 3618 ("libcap" ,libcap)
3dc8828f
SB
3619 ("libcdio-paranoia" ,libcdio-paranoia)
3620 ("libgcrypt" ,libgcrypt)
3621 ("libgphoto2" ,libgphoto2)
3622 ("libgudev" ,libgudev)
3623 ("libmtp" ,libmtp)
3624 ("libsecret" ,libsecret)
3625 ("libsmbclient" ,samba)
3626 ("libsoup" ,libsoup)
3627 ("libxml2" ,libxml2)
3628 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3629 ("polkit" ,polkit)
3dc8828f
SB
3630 ("udisks" ,udisks)))
3631 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3632 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3633 (description
8f65585b 3634 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3635abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3636to all applications using the GIO API. It also supports exposing the GVFS
3637mounts to non-GIO applications using FUSE.
3638
3639GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3640DAV, and others.")
3641 (license license:lgpl2.0+)))
7c88b6bd
AW
3642
3643(define-public gusb
3644 (package
3645 (name "gusb")
6b7d7e9b 3646 (version "0.2.9")
7c88b6bd
AW
3647 (source (origin
3648 (method url-fetch)
3649 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3650 "gusb_"
3651 (string-join (string-split version #\.)
3652 "_")
3653 ".tar.gz"))
3654 (sha256
3655 (base32
6b7d7e9b 3656 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3657 (build-system gnu-build-system)
3658 (native-inputs
3659 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3660 ("gobject-introspection" ,gobject-introspection)
3661 ("pkg-config" ,pkg-config)
3662 ("vala" ,vala)
3663 ("autoconf" ,autoconf)
3664 ("automake" ,automake)
3665 ("libtool" ,libtool)
3666 ("gtk-doc" ,gtk-doc)))
3667 (propagated-inputs
3668 ;; Both of these are required by gusb.pc.
3669 `(("glib" ,glib)
3670 ("libusb" ,libusb)))
3671 (arguments
3672 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3673 #:phases
3674 (modify-phases %standard-phases
3675 (add-after 'unpack 'autogen
3676 (lambda _
3677 (and (zero? (system* "gtkdocize"))
3678 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3679 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3680 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3681 (description
3682 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3683asynchronous control, bulk and interrupt transfers with proper cancellation
3684and integration into a mainloop. This makes it easy to integrate low level
3685USB transfers with your high-level application or system daemon.")
3686 (license license:lgpl2.1+)))
0abe1d86
AW
3687
3688(define-public simple-scan
3689 (package
3690 (name "simple-scan")
baca5333 3691 (version "3.24.1")
0abe1d86
AW
3692 (source (origin
3693 (method url-fetch)
3694 (uri (string-append "https://launchpad.net/simple-scan/"
3695 (version-major+minor version) "/"
3696 version "/+download/simple-scan-"
3697 version ".tar.xz"))
3698 (sha256
3699 (base32
baca5333 3700 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
3701 (build-system glib-or-gtk-build-system)
3702 (inputs
3703 `(("gtk" ,gtk+)
3704 ("zlib" ,zlib)
3705 ("cairo" ,cairo)
3706 ("gdk-pixbuf" ,gdk-pixbuf)
3707 ("gusb" ,gusb)
4c928743 3708 ("libsane" ,sane-backends)))
0abe1d86 3709 (native-inputs
b94a6ca0 3710 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3711 ("itstool" ,itstool)
3712 ("colord" ,colord)
3713 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3714 ("pkg-config" ,pkg-config)
bcb354ad
SB
3715 ("vala" ,vala)
3716 ("xmllint" ,libxml2)))
fb9ca511
TGR
3717 (arguments
3718 '(#:configure-flags '("--disable-packagekit")
3719 #:phases
3720 (modify-phases %standard-phases
3721 (add-after 'unpack 'clean
3722 (lambda _
3723 ;; Remove a left-over reference to PackageKit.
3724
3725 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3726
3727 ;; There are some generated C files erroneously
3728 ;; included in the source distribution, and this
3729 ;; one breaks the build by referring to a
3730 ;; non-existent header (packagekit.h)
3731 (delete-file "src/ui.c"))))))
0abe1d86
AW
3732 (home-page "https://launchpad.net/simple-scan")
3733 (synopsis "Document and image scanner")
3734 (description "Simple Scan is an easy-to-use application, designed to let
3735users connect their scanner and quickly have the image/document in an
3736appropriate format. Simple Scan is basically a frontend for SANE - which is
3737the same backend as XSANE uses. This means that all existing scanners will
3738work and the interface is well tested.")
3739 (license license:gpl3+)))
7549f984
SB
3740
3741(define-public epiphany
3742 (package
3743 (name "epiphany")
16c2b151 3744 (version "3.24.2")
7549f984
SB
3745 (source (origin
3746 (method url-fetch)
3747 (uri (string-append "mirror://gnome/sources/" name "/"
3748 (version-major+minor version) "/"
3749 name "-" version ".tar.xz"))
3750 (sha256
3751 (base32
16c2b151 3752 "13f5h7mbxdyjf93jp46hiaxsrngpr6frgf69d8iza7arc060vg2s"))))
7549f984
SB
3753 (build-system glib-or-gtk-build-system)
3754 (arguments
3755 ;; FIXME: tests run under Xvfb, but fail with:
3756 ;; /src/bookmarks/ephy-bookmarks/create:
3757 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
3758 ;; subsystem
3759 ;; FAIL
6f48d9db
MW
3760 '(#:tests? #f
3761 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
3762 (propagated-inputs
3763 `(("dconf" ,dconf)))
7549f984
SB
3764 (native-inputs
3765 `(("intltool" ,intltool)
3766 ("itstool" ,itstool)
bcb354ad
SB
3767 ("pkg-config" ,pkg-config)
3768 ("xmllint" ,libxml2)))
7549f984
SB
3769 (inputs
3770 `(("avahi" ,avahi)
3771 ("gcr" ,gcr)
3772 ("glib-networking" ,glib-networking)
3773 ("gnome-desktop" ,gnome-desktop)
3774 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 3775 ("json-glib" ,json-glib)
7549f984
SB
3776 ("iso-codes" ,iso-codes)
3777 ("libnotify" ,libnotify)
3778 ("libsecret" ,libsecret)
7549f984 3779 ("libxslt" ,libxslt)
7549f984
SB
3780 ("sqlite" ,sqlite)
3781 ("webkitgtk" ,webkitgtk)))
3782 (home-page "https://wiki.gnome.org/Apps/Web")
3783 (synopsis "GNOME web browser")
3784 (description
3785 "Epiphany is a GNOME web browser targeted at non-technical users. Its
3786principles are simplicity and standards compliance.")
3787 (license license:gpl2+)))
a3856b2c
SB
3788
3789(define-public d-feet
3790 (package
3791 (name "d-feet")
7d04b13c 3792 (version "0.3.11")
a3856b2c
SB
3793 (source (origin
3794 (method url-fetch)
3795 (uri (string-append "mirror://gnome/sources/" name "/"
3796 (version-major+minor version) "/"
3797 name "-" version ".tar.xz"))
3798 (sha256
3799 (base32
7d04b13c 3800 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
3801 (build-system glib-or-gtk-build-system)
3802 (arguments
3803 '(#:out-of-source? #f ; tests need to run in the source directory.
3804 #:phases
3805 (modify-phases %standard-phases
3806 (add-before
3807 'check 'pre-check
86aff791 3808 (lambda _
a3856b2c
SB
3809 ;; The test suite requires a running X server.
3810 (system "Xvfb :1 &")
3811 (setenv "DISPLAY" ":1")
3812 ;; Don't fail on missing '/etc/machine-id'.
3813 (setenv "DBUS_FATAL_WARNINGS" "0")
3814 ;; tests.py and window.py don't meet E402:
3815 ;; E402 module level import not at top of file
3816 (substitute* "src/tests/Makefile"
86aff791
MW
3817 (("--ignore=E123") "--ignore=E123,E402"))
3818 #t))
a3856b2c
SB
3819 (add-after
3820 'install 'wrap-program
3821 (lambda* (#:key outputs #:allow-other-keys)
3822 (let ((prog (string-append (assoc-ref outputs "out")
3823 "/bin/d-feet")))
3824 (wrap-program prog
3825 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
3826 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
3827 #t))))))
a3856b2c
SB
3828 (native-inputs
3829 `(("intltool" ,intltool)
3830 ("itstool" ,itstool)
3831 ("pkg-config" ,pkg-config)
3832 ("python-pep8" ,python-pep8)
3833 ("xmllint" ,libxml2)
3834 ("xorg-server" ,xorg-server)))
3835 (inputs
3836 `(("gobject-introspection" ,gobject-introspection)
3837 ("gtk+" ,gtk+)
3838 ("python" ,python-wrapper)
3839 ("python-pygobject" ,python-pygobject)))
3840 (home-page "https://wiki.gnome.org/Apps/DFeet")
3841 (synopsis "D-Bus debugger")
3842 (description
3843 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
3844of running programs and invoke methods on those interfaces.")
3845 (license license:gpl2+)))
c3b97bd9
SB
3846
3847(define-public yelp-xsl
3848 (package
3849 (name "yelp-xsl")
27ad5743 3850 (version "3.20.1")
c3b97bd9
SB
3851 (source (origin
3852 (method url-fetch)
3853 (uri (string-append "mirror://gnome/sources/" name "/"
3854 (version-major+minor version) "/"
3855 name "-" version ".tar.xz"))
3856 (sha256
3857 (base32
27ad5743 3858 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
3859 (build-system gnu-build-system)
3860 (native-inputs
3861 `(("intltool" ,intltool)
3862 ("itstool" ,itstool)
3863 ("xmllint" ,libxml2)))
3864 (home-page "https://wiki.gnome.org/Apps/Yelp")
3865 (synopsis "XSL stylesheets for Yelp")
3866 (description
3867 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
3868to format Docbook and Mallard documents.")
3869 (license license:gpl2+)))
de3d612a
SB
3870
3871(define-public yelp
3872 (package
3873 (name "yelp")
491cc0dc 3874 (version "3.22.0")
de3d612a
SB
3875 (source (origin
3876 (method url-fetch)
3877 (uri (string-append "mirror://gnome/sources/" name "/"
3878 (version-major+minor version) "/"
3879 name "-" version ".tar.xz"))
3880 (sha256
3881 (base32
491cc0dc 3882 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
3883 (build-system glib-or-gtk-build-system)
3884 (native-inputs
3885 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3886 ("intltool" ,intltool)
3887 ("itstool" ,itstool)
3888 ("pkg-config" ,pkg-config)))
3889 (propagated-inputs
3890 `(("dconf" ,dconf)))
3891 (inputs
ad1b7d8b
SB
3892 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3893 ("libxslt" ,libxslt)
de3d612a 3894 ("sqlite" ,sqlite)
4c28ca1d
SB
3895 ("webkitgtk" ,webkitgtk)
3896 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
3897 (home-page "https://wiki.gnome.org/Apps/Yelp")
3898 (synopsis "GNOME help browser")
3899 (description
3900 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
3901man, info, and HTML documents. It can locate documents according to the
3902freedesktop.org help system specification.")
3903 (license license:gpl2+)))
122d0d10
SB
3904
3905(define-public yelp-tools
3906 (package
3907 (name "yelp-tools")
50695955 3908 (version "3.18.0")
122d0d10
SB
3909 (source (origin
3910 (method url-fetch)
3911 (uri (string-append "mirror://gnome/sources/" name "/"
3912 (version-major+minor version) "/"
3913 name "-" version ".tar.xz"))
3914 (sha256
3915 (base32
50695955 3916 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
3917 (build-system gnu-build-system)
3918 (native-inputs
3919 `(("pkg-config" ,pkg-config)))
3920 (propagated-inputs
3921 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
3922 `(("itstool" ,itstool)
3923 ("xmllint" ,libxml2)
3924 ("xsltproc" ,libxslt)))
3925 (inputs
3926 `(("yelp-xsl" ,yelp-xsl)))
3927 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
3928 (synopsis "Yelp documentation tools")
3929 (description
3930 "Yelp-tools is a collection of scripts and build utilities to help create,
3931manage, and publish documentation for Yelp and the web. Most of the heavy
3932lifting is done by packages like yelp-xsl and itstool. This package just
3933wraps things up in a developer-friendly way.")
3934 (license license:gpl2+)))
af8f9f23
RW
3935
3936(define-public libgee
3937 (package
3938 (name "libgee")
afd8e16b 3939 (version "0.20.0")
af8f9f23
RW
3940 (source (origin
3941 (method url-fetch)
3942 (uri (string-append "mirror://gnome/sources/" name "/"
3943 (version-major+minor version) "/"
3944 name "-" version ".tar.xz"))
3945 (sha256
3946 (base32
afd8e16b 3947 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
af8f9f23
RW
3948 (build-system gnu-build-system)
3949 (arguments
3950 `(#:phases
3951 (modify-phases %standard-phases
3952 (add-after 'unpack 'fix-introspection-install-dir
3953 (lambda* (#:key outputs #:allow-other-keys)
3954 (let ((out (assoc-ref outputs "out")))
3955 (substitute* "gee/Makefile.in"
3956 (("@INTROSPECTION_GIRDIR@")
3957 (string-append out "/share/gir-1.0/"))
3958 (("@INTROSPECTION_TYPELIBDIR@")
3959 (string-append out "/lib/girepository-1.0/")))))))))
3960 (native-inputs
3961 `(("glib" ,glib "bin")
3962 ("pkg-config" ,pkg-config)))
3963 (inputs
3964 `(("glib" ,glib)
3965 ("gobject-introspection" ,gobject-introspection)))
3966 (home-page "https://wiki.gnome.org/Projects/Libgee")
3967 (synopsis "GObject collection library")
3968 (description
3969 "Libgee is a utility library providing GObject-based interfaces and
3970classes for commonly used data structures.")
3971 (license license:lgpl2.1+)))
b0f9c4b8
RW
3972
3973(define-public gexiv2
3974 (package
3975 (name "gexiv2")
b7c0c756 3976 (version "0.10.6")
b0f9c4b8
RW
3977 (source (origin
3978 (method url-fetch)
3979 (uri (string-append "mirror://gnome/sources/" name "/"
3980 (version-major+minor version) "/"
3981 name "-" version ".tar.xz"))
3982 (sha256
3983 (base32
b7c0c756 3984 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
b0f9c4b8
RW
3985 (build-system gnu-build-system)
3986 (native-inputs
3987 `(("glib" ,glib "bin")
3988 ("pkg-config" ,pkg-config)))
3989 (propagated-inputs
3990 ;; Listed in "Requires" section of gexiv2.pc
3991 `(("exiv2" ,exiv2)))
3992 (inputs
3993 `(("glib" ,glib)
3994 ("gobject-introspection" ,gobject-introspection)))
3995 (home-page "https://wiki.gnome.org/Projects/gexiv2")
3996 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
3997 (description
3998 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
3999allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4000metadata in photo and video files of various formats.")
4001 (license license:gpl2+)))
fed5a689
RW
4002
4003(define-public shotwell
4004 (package
4005 (name "shotwell")
b5ed0b9b 4006 (version "0.25.5")
fed5a689
RW
4007 (source (origin
4008 (method url-fetch)
4009 (uri (string-append "mirror://gnome/sources/" name "/"
4010 (version-major+minor version) "/"
4011 name "-" version ".tar.xz"))
4012 (sha256
4013 (base32
b5ed0b9b 4014 "10pv3v789hky8h7ladqzzmgvkmgy3c41n4xz0nnyjmpycwl26g29"))))
fed5a689 4015 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4016 (propagated-inputs
4017 `(("dconf" ,dconf)))
fed5a689
RW
4018 (native-inputs
4019 `(("pkg-config" ,pkg-config)
f819c21d 4020 ("itstool" ,itstool)
b94a6ca0 4021 ("gettext" ,gettext-minimal)
77e9c993 4022 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4023 ("itstool" ,itstool)
4024 ("vala" ,vala)))
fed5a689 4025 (inputs
735b8db6
TGR
4026 `(("glib:bin" ,glib "bin")
4027 ("gstreamer" ,gstreamer)
fed5a689 4028 ("gst-plugins-base" ,gst-plugins-base)
fed5a689
RW
4029 ("libgee" ,libgee)
4030 ("gexiv2" ,gexiv2)
4031 ("libraw" ,libraw)
4032 ("json-glib" ,json-glib)
7108425c 4033 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4034 ("sqlite" ,sqlite)
4035 ("libsoup" ,libsoup)
4036 ("libxml2" ,libxml2)
fed5a689 4037 ("libgudev" ,libgudev)
522fc32e
LF
4038 ("libgphoto2" ,libgphoto2)
4039 ("gcr" ,gcr)))
fed5a689
RW
4040 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4041 (synopsis "Photo manager for GNOME 3")
4042 (description
4043 "Shotwell is a digital photo manager designed for the GNOME desktop
4044environment. It allows you to import photos from disk or camera, organize
4045them by keywords and events, view them in full-window or fullscreen mode, and
4046share them with others via social networking and more.")
4047 (license license:lgpl2.1+)))
293ff8b2
DT
4048
4049(define-public file-roller
4050 (package
4051 (name "file-roller")
e62a38d4 4052 (version "3.24.1")
293ff8b2
DT
4053 (source (origin
4054 (method url-fetch)
4055 (uri (string-append "mirror://gnome/sources/" name "/"
4056 (version-major+minor version) "/"
4057 name "-" version ".tar.xz"))
4058 (sha256
4059 (base32
e62a38d4 4060 "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
293ff8b2 4061 (build-system glib-or-gtk-build-system)
c282c55d
SB
4062 (arguments
4063 '(#:phases
4064 (modify-phases %standard-phases
4065 (add-before 'install 'skip-gtk-update-icon-cache
4066 (lambda _
4067 ;; Don't create 'icon-theme.cache'
4068 (substitute* (find-files "data" "^Makefile$")
4069 (("gtk-update-icon-cache") (which "true")))
4070 #t)))))
293ff8b2
DT
4071 (native-inputs
4072 `(("intltool" ,intltool)
4073 ("pkg-config" ,pkg-config)))
4074 ;; TODO: Add libnautilus.
4075 (inputs
4076 `(("gtk+" ,gtk+)
4077 ("gdk-pixbuf" ,gdk-pixbuf)
4078 ("json-glib" ,json-glib)
4079 ("libarchive" ,libarchive)
4080 ("libnotify" ,libnotify)
4081 ("nettle" ,nettle)
4082 ("itstool" ,itstool)
4083 ("libxml2" ,libxml2)))
4084 (synopsis "Graphical archive manager for GNOME")
4085 (description "File Roller is an archive manager for the GNOME desktop
4086environment that allows users to view, unpack, and create compressed archives
4087such as gzip tarballs.")
4088 (home-page "http://fileroller.sourceforge.net/")
4089 (license license:gpl2+)))
7ce49365
SB
4090
4091(define-public gnome-session
4092 (package
4093 (name "gnome-session")
17cf06c3 4094 (version "3.24.1")
7ce49365
SB
4095 (source (origin
4096 (method url-fetch)
4097 (uri (string-append "mirror://gnome/sources/" name "/"
4098 (version-major+minor version) "/"
4099 name "-" version ".tar.xz"))
4100 (sha256
4101 (base32
17cf06c3 4102 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4103 (arguments
4104 '(#:phases
4105 (modify-phases %standard-phases
4106 (add-before 'configure 'pre-configure
4107 (lambda* (#:key outputs #:allow-other-keys)
4108 ;; Use elogind instead of systemd.
4109 (substitute* "configure"
4110 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4111 "libelogind")
4112 (("systemd") "elogind"))
4113 (substitute* "gnome-session/gsm-systemd.c"
4114 (("#include <systemd/sd-login.h>")
4115 "#include <elogind/sd-login.h>"))
4116 ;; Remove uses of the systemd journal.
4117 (substitute* "gnome-session/main.c"
4118 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4119 (substitute* "gnome-session/gsm-manager.c"
4120 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4121 (substitute* "gnome-session/gsm-autostart-app.c"
4122 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4123 #t))
4124 (add-after 'install 'wrap-gnome-session
4125 (lambda* (#:key inputs outputs #:allow-other-keys)
4126 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4127 (let ((glib (assoc-ref inputs "glib:bin"))
4128 (out (assoc-ref outputs "out")))
4129 (wrap-program (string-append out "/bin/gnome-session")
4130 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4131 #t)))
4132 (add-after 'install 'disable-hardware-acceleration-check
4133 (lambda* (#:key outputs #:allow-other-keys)
4134 ;; Do not abort if hardware acceleration is missing. This allows
4135 ;; GNOME to run in QEMU and on low-end devices.
4136 (let ((out (assoc-ref outputs "out")))
4137 (substitute* (string-append out
4138 "/share/xsessions/gnome.desktop")
4139 (("gnome-session")
4140 "gnome-session --disable-acceleration-check"))
a0d7baaf 4141 #t))))
6cbc8d57 4142
2914af3c
AW
4143 #:configure-flags
4144 '("--enable-elogind")))
ba3cb5ab 4145 (build-system glib-or-gtk-build-system)
7ce49365
SB
4146 (native-inputs
4147 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4148 ("pkg-config" ,pkg-config)
4149 ("intltool" ,intltool)
4150 ("xsltproc" ,libxslt)))
4151 (inputs
2914af3c
AW
4152 `(("elogind" ,elogind)
4153 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4154 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4155 ("gtk+" ,gtk+)
4156 ("json-glib" ,json-glib)
4157 ("libsm" ,libsm)
4158 ("libxcomposite" ,libxcomposite)
4159 ("libxtst" ,libxtst)
4160 ("mesa" ,mesa)
4161 ("upower" ,upower)
4162 ("xtrans" ,xtrans)))
4163 (synopsis "Session manager for GNOME")
4164 (description
4165 "This package contains the GNOME session manager, as well as a
4166configuration program to choose applications starting on login.")
4167 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4168 (license license:gpl2+)))
f47ba77e
SB
4169
4170(define-public gjs
4171 (package
4172 (name "gjs")
144f94d0 4173 (version "1.48.3")
f47ba77e
SB
4174 (source (origin
4175 (method url-fetch)
4176 (uri (string-append "mirror://gnome/sources/" name "/"
4177 (version-major+minor version) "/"
4178 name "-" version ".tar.xz"))
4179 (sha256
4180 (base32
144f94d0 4181 "0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6"))))
f47ba77e
SB
4182 (build-system gnu-build-system)
4183 (arguments
4184 '(#:phases
4185 (modify-phases %standard-phases
4186 (add-before
4187 'check 'pre-check
4188 (lambda _
fc119619
MW
4189 ;; The test suite requires a running X server.
4190 (system "Xvfb :1 &")
4191 (setenv "DISPLAY" ":1")
4192
f47ba77e
SB
4193 ;; For the missing /etc/machine-id.
4194 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4195
144f94d0
KK
4196 ;; Our mozjs-38 package does not compile the required Intl API
4197 ;; support for these failing tests.
4198 (substitute* "installed-tests/js/testLocale.js"
4199 ((".*toBeDefined.*") "")
4200 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4201 #t)))))
4202 (native-inputs
4203 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4204 ("pkg-config" ,pkg-config)
4205 ("xmllint" ,libxml2)
4206 ;; For testing
4207 ("dbus-launch" ,dbus)
4208 ("uuidgen" ,util-linux)
4209 ("xvfb" ,xorg-server)))
4210 (propagated-inputs
4211 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4212 `(("cairo" ,cairo)
4213 ("gobject-introspection" ,gobject-introspection)
4214 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4215 (inputs
4216 `(("gtk+" ,gtk+)
4217 ("readline" ,readline)))
4218 (synopsis "Javascript bindings for GNOME")
4219 (home-page "http://live.gnome.org/Gjs")
4220 (description
4221 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4222javascript engine and the GObject introspection framework.")
4223 (license license:gpl2+)))
329d731b
DH
4224
4225(define-public gedit
4226 (package
4227 (name "gedit")
9beae2a2 4228 (version "3.22.0")
329d731b
DH
4229 (source (origin
4230 (method url-fetch)
4231 (uri (string-append "mirror://gnome/sources/" name "/"
4232 (version-major+minor version) "/"
4233 name "-" version ".tar.xz"))
4234 (sha256
4235 (base32
9beae2a2 4236 "0i9z5d31vibb3dd329gwvyga38zq5k1a2glcdq7m93ycbl5mlfq6"))))
329d731b
DH
4237 (build-system glib-or-gtk-build-system)
4238 (arguments
33cd9bef
SB
4239 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
4240 #:phases
329d731b
DH
4241 (modify-phases %standard-phases
4242 (add-after
4243 'install 'wrap-gedit
4244 (lambda* (#:key inputs outputs #:allow-other-keys)
4245 (let ((out (assoc-ref outputs "out"))
4246 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4247 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4248 (python-path (getenv "PYTHONPATH")))
329d731b 4249 (wrap-program (string-append out "/bin/gedit")
afc25242 4250 ;; For plugins.
329d731b 4251 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4252 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4253 ;; For language-specs.
4254 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4255 "/share")))))
4256 #t)))))
4257 (propagated-inputs
4258 `(("dconf" ,dconf)))
4259 (native-inputs
4260 `(("intltool" ,intltool)
b3546174 4261 ("itstool" ,itstool)
329d731b
DH
4262 ("gobject-introspection" ,gobject-introspection)
4263 ("pkg-config" ,pkg-config)))
4264 (inputs
4265 `(("glib" ,glib)
4266 ("gtk+" ,gtk+)
4267 ("gtksourceview" ,gtksourceview)
4268 ("libpeas" ,libpeas)
4269 ("libxml2" ,libxml2)
329d731b
DH
4270 ("iso-codes" ,iso-codes)
4271 ("python-pygobject" ,python-pygobject)
4272 ("python" ,python)
4273 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4274 ("libx11" ,libx11)
4275 ("vala" ,vala)
4276 ("adwaita-icon-theme" ,adwaita-icon-theme)
4277 ("libsoup" ,libsoup)
4278 ("gnome-desktop" ,gnome-desktop)))
4279 (home-page "https://wiki.gnome.org/Apps/Gedit")
4280 (synopsis "GNOME text editor")
4281 (description "While aiming at simplicity and ease of use, gedit is a
4282powerful general purpose text editor.")
4283 (license license:gpl2+)))
b7179363
SB
4284
4285(define-public zenity
4286 (package
4287 (name "zenity")
380cb96e 4288 (version "3.24.0")
b7179363
SB
4289 (source (origin
4290 (method url-fetch)
4291 (uri (string-append "mirror://gnome/sources/" name "/"
4292 (version-major+minor version) "/"
4293 name "-" version ".tar.xz"))
4294 (sha256
4295 (base32
380cb96e 4296 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4297 (build-system gnu-build-system)
4298 (native-inputs
b94a6ca0 4299 `(("gettext" ,gettext-minimal)
b7179363
SB
4300 ("itstool" ,itstool)
4301 ("pkg-config" ,pkg-config)))
4302 (inputs
4303 `(("libnotify" ,libnotify)
4304 ("webkitgtk" ,webkitgtk)))
4305 (synopsis "Display graphical dialog boxes from shell scripts")
4306 (home-page "http://www.gnome.org")
4307 (description
4308 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4309to display dialog boxes from the commandline and shell scripts.")
4310 (license license:lgpl2.0+)))
60c3627c
SB
4311
4312(define-public mutter
4313 (package
4314 (name "mutter")
de20d910 4315 (version "3.24.2")
60c3627c 4316 (source (origin
86c44e72
KK
4317 (method url-fetch)
4318 (uri (string-append "mirror://gnome/sources/" name "/"
4319 (version-major+minor version) "/"
4320 name "-" version ".tar.xz"))
60c3627c
SB
4321 (sha256
4322 (base32
de20d910 4323 "043q3384vwrkjdfhbwn9pwdml6z0g0ad0cj2fjnjzg6402i67071"))))
86c44e72
KK
4324 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4325 ;; versions of cogl and clutter. As a result, many of the inputs,
4326 ;; propagated-inputs, and configure flags used in cogl and clutter are
4327 ;; needed here as well.
60c3627c
SB
4328 (build-system gnu-build-system)
4329 (arguments
4330 '(#:configure-flags
4331 ;; XXX: build fails with [-Werror]:
4332 ;; backends/meta-cursor-renderer.c:112:5: error:
4333 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4334 (list "--enable-compile-warnings=minimum"
4335
86c44e72 4336 "--enable-native-backend"
a88d5a0c
MW
4337
4338 ;; The following flags are needed for the bundled clutter
4339 "--enable-x11-backend=yes"
4340
4341 ;; the remaining flags are needed for the bundled cogl
4342 "--enable-cogl-gst"
4343 (string-append "--with-gl-libname="
4344 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4345 "/lib/libGL.so"))
4346 #:phases
4347 (modify-phases %standard-phases
86c44e72
KK
4348 ;; Replace references to systemd libraries to elogind references.
4349 (add-before 'configure 'use-elogind
4350 (lambda _
4351 (substitute* (list "configure"
4352 "src/backends/native/meta-launcher.c"
4353 "src/core/main.c")
4354 (("systemd") "elogind"))
4355 #t)))))
60c3627c
SB
4356 (native-inputs
4357 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4358 ("gobject-introspection" ,gobject-introspection)
4359 ("intltool" ,intltool)
f23052a6
DC
4360 ("pkg-config" ,pkg-config)
4361 ;; For git build
4362 ("autoconf" ,autoconf)
4363 ("automake" ,automake)
4364 ("libtool" ,libtool)))
60c3627c 4365 (propagated-inputs
a88d5a0c
MW
4366 `(;; libmutter.pc refers to these:
4367 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4368 ("gtk+" ,gtk+)
4369 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4370 ("atk" ,atk)
4371 ("cairo" ,cairo)
4372 ("gdk-pixbuf" ,gdk-pixbuf)
4373 ("glib" ,glib)
4374 ("glib" ,glib)
60c3627c 4375 ("gtk+" ,gtk+)
a88d5a0c
MW
4376 ("json-glib" ,json-glib)
4377 ("libinput" ,libinput)
4378 ("libx11" ,libx11)
4379 ("libxcomposite" ,libxcomposite)
4380 ("libxdamage" ,libxdamage)
4381 ("libxext" ,libxext)
4382 ("libxfixes" ,libxfixes)
4383 ("libxkbcommon" ,libxkbcommon)
4384 ("libxrandr" ,libxrandr)
4385 ("mesa" ,mesa)
4386 ("pango" ,pango)
4387 ("udev" ,eudev)
a88d5a0c 4388 ("xinput" ,xinput)))
60c3627c 4389 (inputs
86c44e72
KK
4390 `(("elogind" ,elogind)
4391 ("gnome-desktop" ,gnome-desktop)
60c3627c 4392 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4393 ("libgudev" ,libgudev)
60c3627c
SB
4394 ("libice" ,libice)
4395 ("libsm" ,libsm)
60c3627c 4396 ("libxkbfile" ,libxkbfile)
a88d5a0c 4397 ("libxrandr" ,libxrandr)
86c44e72 4398 ("libxtst" ,libxtst)
60c3627c
SB
4399 ("startup-notification" ,startup-notification)
4400 ("upower-glib" ,upower)
4401 ("xkeyboard-config" ,xkeyboard-config)
4402 ("zenity" ,zenity)))
4403 (synopsis "Window and compositing manager")
4404 (home-page "http://www.gnome.org")
4405 (description
4406 "Mutter is a window and compositing manager that displays and manages your
4407desktop via OpenGL. Mutter combines a sophisticated display engine using the
4408Clutter toolkit with solid window-management logic inherited from the Metacity
4409window manager.")
86c44e72 4410 (license license:gpl2+)))
685cee87
SB
4411
4412(define-public gnome-online-accounts
4413 (package
4414 (name "gnome-online-accounts")
6ebccb84 4415 (version "3.24.0")
685cee87
SB
4416 (source (origin
4417 (method url-fetch)
4418 (uri (string-append "mirror://gnome/sources/" name "/"
4419 (version-major+minor version) "/"
4420 name "-" version ".tar.xz"))
4421 (sha256
4422 (base32
6ebccb84 4423 "0yy10znqj278lnhdiqjcqxrwwv5c1jdjd0ncjbbdyh8n0q77hbwy"))))
685cee87
SB
4424 (build-system glib-or-gtk-build-system)
4425 (native-inputs
4426 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4427 ("gobject-introspection" ,gobject-introspection)
4428 ("intltool" ,intltool)
4429 ("pkg-config" ,pkg-config)
4430 ("xsltproc" ,libxslt)))
4431 (propagated-inputs
4432 `(("glib" ,glib) ; required by goa-1.0.pc
4433 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4434 (inputs
4435 `(("docbook-xsl" ,docbook-xsl)
4436 ("json-glib" ,json-glib)
4437 ("libsecret" ,libsecret)
4438 ("rest" ,rest)
4439 ("telepathy-glib" ,telepathy-glib)
4440 ("webkitgtk" ,webkitgtk)))
4441 (synopsis "Single sign-on framework for GNOME")
4442 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4443 (description
4444 "GNOME Online Accounts provides interfaces so that applications and
4445libraries in GNOME can access the user's online accounts. It has providers for
4446Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4447Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4448 (license license:lgpl2.0+)))
df217748
SB
4449
4450(define-public evolution-data-server
4451 (package
4452 (name "evolution-data-server")
743aebd7 4453 (version "3.24.2")
df217748
SB
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
743aebd7
MB
4461 "1ywqy939n27v3kchlnyxs6ikhjxmlasv6f08ap4bldgr121vkfx9"))))
4462 (build-system cmake-build-system)
df217748 4463 (arguments
743aebd7 4464 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4465 #:tests? #f
4466 #:configure-flags
743aebd7
MB
4467 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4468 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4469 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4470 "-DENABLE_VALA_BINDINGS=ON"
4471 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
df217748
SB
4472 #:phases
4473 (modify-phases %standard-phases
743aebd7 4474 (add-after 'unpack 'patch-paths
df217748
SB
4475 (lambda _
4476 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4477 (("/bin/rm") (which "rm")))
4478 #t)))))
4479 (native-inputs
4480 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4481 ("gobject-introspection" ,gobject-introspection)
4482 ("gperf" ,gperf)
4483 ("intltool" ,intltool)
4484 ("pkg-config" ,pkg-config)
a73c1cf8 4485 ("vala" ,vala)
743aebd7 4486 ("python" ,python-wrapper)))
df217748
SB
4487 (propagated-inputs
4488 ;; These are all in the Requires field of .pc files.
4489 `(("gtk+" ,gtk+)
4490 ("libical" ,libical)
4491 ("libsecret" ,libsecret)
4492 ("libsoup" ,libsoup)
4493 ("nss" ,nss)
4494 ("sqlite" ,sqlite)))
4495 (inputs
4496 `(("bdb" ,bdb)
4497 ("gcr" ,gcr)
4498 ("gnome-online-accounts" ,gnome-online-accounts)
743aebd7
MB
4499 ("libgweather" ,libgweather)
4500 ("mit-krb5" ,mit-krb5)
4501 ("openldap" ,openldap)))
df217748
SB
4502 (synopsis "Store address books and calendars")
4503 (home-page "https://wiki.gnome.org/Apps/Evolution")
4504 (description
4505 "This package provides a unified backend for programs that work with
4506contacts, tasks, and calendar information. It was originally developed for
4507Evolution (hence the name), but is now used by other packages as well.")
4508 (license license:lgpl2.0)))
bd7dfafa
SB
4509
4510(define-public caribou
4511 (package
4512 (name "caribou")
fe964bb5 4513 (version "0.4.21")
bd7dfafa
SB
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append "mirror://gnome/sources/" name "/"
4517 (version-major+minor version) "/"
4518 name "-" version ".tar.xz"))
4519 (sha256
4520 (base32
fe964bb5 4521 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4522 (build-system glib-or-gtk-build-system)
4523 (arguments
4524 '(#:phases
4525 (modify-phases %standard-phases
4526 (add-before
4527 'build 'pre-build
4528 (lambda* (#:key outputs #:allow-other-keys)
4529 (let ((out (assoc-ref outputs "out")))
4530 ;; Use absolute shared library path in Caribou-1.0.typelib.
4531 (substitute* "libcaribou/Makefile"
4532 (("--shared-library=libcaribou.so")
4533 (string-append "--shared-library="
4534 out "/lib/libcaribou.so")))
4535 #t)))
4536 (add-after 'install 'wrap-programs
4537 (lambda* (#:key outputs #:allow-other-keys)
4538 (let* ((out (assoc-ref outputs "out"))
4539 (python-path (getenv "PYTHONPATH"))
4540 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4541 (for-each
4542 (lambda (prog)
4543 (wrap-program prog
4544 `("PYTHONPATH" ":" prefix (,python-path))
4545 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4546 (list (string-append out "/bin/caribou-preferences")
4547 (string-append out "/libexec/antler-keyboard"))))
4548 #t)))))
4549 (native-inputs
4550 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4551 ("gobject-introspection" ,gobject-introspection)
4552 ("intltool" ,intltool)
4553 ("pkg-config" ,pkg-config)
4554 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4555 ("vala" ,vala)
4556 ("xsltproc" ,libxslt)))
4557 (propagated-inputs
4558 ;; caribou-1.0.pc refers to all these.
4559 `(("libgee" ,libgee)
4560 ("libxklavier" ,libxklavier)
4561 ("libxtst" ,libxtst)
4562 ("gtk+" ,gtk+)))
4563 (inputs
4564 `(("clutter" ,clutter)
4565 ("dconf" ,dconf)
4566 ("gtk+-2" ,gtk+-2)
4567 ("python-pygobject" ,python2-pygobject)))
4568 (synopsis "Text entry and UI navigation application")
4569 (home-page "https://wiki.gnome.org/Projects/Caribou")
4570 (description
4571 "Caribou is an input assistive technology intended for switch and pointer
4572users.")
4573 (license license:lgpl2.1)))
ba5dd105 4574
ba5dd105
SB
4575(define-public network-manager
4576 (package
4577 (name "network-manager")
d04687dc 4578 (version "1.6.2")
ba5dd105
SB
4579 (source (origin
4580 (method url-fetch)
4581 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4582 (version-major+minor version) "/"
4583 "NetworkManager-" version ".tar.xz"))
4584 (sha256
4585 (base32
d04687dc 4586 "1y96k82rav8if334jl500zc024d210c4pgprh94yqyz3rmanyaxj"))
fd070f35
CM
4587 (snippet
4588 '(begin
4589 (use-modules (guix build utils))
4590 (substitute* "configure"
4591 ;; Replace libsystemd-login with libelogind.
4592 (("libsystemd-login") "libelogind"))
4593 (substitute* "src/devices/wwan/nm-modem-manager.c"
4594 (("systemd") "elogind"))
4595 (substitute* "src/nm-session-monitor.c"
4596 (("systemd") "elogind"))
4597 (substitute* "./src/nm-logging.c"
4598 (("systemd") "elogind"))))))
ba5dd105
SB
4599 (build-system gnu-build-system)
4600 (outputs '("out"
4601 "doc")) ; 8 MiB of gtk-doc HTML
4602 (arguments
4603 '(#:configure-flags
4604 (let ((out (assoc-ref %outputs "out"))
4605 (doc (assoc-ref %outputs "doc"))
4606 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4607 "/sbin/dhclient")))
fd070f35
CM
4608 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4609 "--with-consolekit=no"
4610 "--with-crypto=gnutls"
ba5dd105
SB
4611 "--disable-config-plugin-ibft"
4612 "--sysconfdir=/etc"
4613 "--localstatedir=/var"
4614 (string-append "--with-udev-dir="
4615 out "/lib/udev")
4616 (string-append "--with-dbus-sys-dir="
4617 out "/etc/dbus-1/system.d")
4618 (string-append "--with-html-dir="
4619 doc "/share/gtk-doc/html")
4620 (string-append "--with-dhclient=" dhclient)))
4621 #:phases
4622 (modify-phases %standard-phases
b4f59d87
AW
4623 (add-before 'configure 'pre-configure
4624 (lambda _
4625 ;; These tests try to test aspects of network-manager's
4626 ;; functionality within restricted containers, but they don't
4627 ;; cope with being already in the Guix build jail as that jail
4628 ;; lacks some features that they would like to proxy over (like
4629 ;; a /sys mount).
d04687dc
HG
4630 (substitute* '("Makefile.in")
4631 (("src/platform/tests/test-address-linux") " ")
4632 (("src/platform/tests/test-cleanup-linux") " ")
4633 (("src/platform/tests/test-link-linux") " ")
4634 (("src/platform/tests/test-route-linux") " ")
4635 (("src/devices/tests/test-arping") " ")
4636 (("src/devices/tests/test-lldp") " ")
4637 (("src/tests/test-route-manager-linux") " "))
b4f59d87 4638 #t))
ba5dd105
SB
4639 (add-before 'check 'pre-check
4640 (lambda _
4641 ;; For the missing /etc/machine-id.
4642 (setenv "DBUS_FATAL_WARNINGS" "0")
4643 #t))
4644 (replace 'install
4645 (lambda _
4646 (zero? (system* "make"
4647 "sysconfdir=/tmp"
142bdcbc
SB
4648 "rundir=/tmp"
4649 "statedir=/tmp"
d04687dc 4650 "nmstatedir=/tmp/nm"
ba5dd105 4651 "install")))))))
b93502d6
DC
4652 (propagated-inputs
4653 `(("glib" ,glib)))
ba5dd105
SB
4654 (native-inputs
4655 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4656 ("gobject-introspection" ,gobject-introspection)
d04687dc 4657 ("docbook-xsl" ,docbook-xsl)
ba5dd105 4658 ("intltool" ,intltool)
d04687dc
HG
4659 ("libxslt" ,libxslt)
4660 ("libxml2" ,libxml2)
ba5dd105
SB
4661 ("pkg-config" ,pkg-config)
4662 ;; For testing.
4663 ("python" ,python-wrapper)
4664 ("python-dbus" ,python-dbus)
4665 ("python-pygobject" ,python-pygobject)))
4666 (inputs
4667 `(("dbus-glib" ,dbus-glib)
4668 ("dnsmasq" ,dnsmasq)
4669 ("gnutls" ,gnutls)
4670 ("iptables" ,iptables)
4671 ("isc-dhcp" ,isc-dhcp)
d04687dc 4672 ("jansson" ,jansson)
ba5dd105
SB
4673 ("libgcrypt" ,libgcrypt)
4674 ("libgudev" ,libgudev)
4675 ("libndp" ,libndp)
4676 ("libnl" ,libnl)
4677 ("libsoup" ,libsoup)
142bdcbc 4678 ("modem-manager" ,modem-manager)
ba5dd105
SB
4679 ("polkit" ,polkit)
4680 ("ppp" ,ppp)
4681 ("readline" ,readline)
fd070f35
CM
4682 ("util-linux" ,util-linux)
4683 ("elogind" ,elogind)))
ba5dd105
SB
4684 (synopsis "Network connection manager")
4685 (home-page "http://www.gnome.org/projects/NetworkManager/")
4686 (description
4687 "NetworkManager is a system network service that manages your network
4688devices and connections, attempting to keep active network connectivity when
4689available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4690devices, and provides VPN integration with a variety of different VPN
4691services.")
29d2f451
LC
4692 (license license:gpl2+)
4693 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4694
e5e1df4d
DC
4695(define-public mobile-broadband-provider-info
4696 (package
4697 (name "mobile-broadband-provider-info")
4698 (version "20151214")
4699 (source (origin
4700 (method url-fetch)
4701 (uri (string-append
4702 "mirror://gnome/sources/"
4703 "mobile-broadband-provider-info/" version "/"
4704 "mobile-broadband-provider-info-" version ".tar.xz"))
4705 (sha256
4706 (base32
4707 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
4708 (build-system gnu-build-system)
4709 (arguments
4710 `(#:tests? #f)) ; No tests
4711 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4712 (synopsis "Database of broadband connection configuration")
4713 (description "Database of broadband connection configuration.")
4714 (license license:public-domain)))
4715
4d62a9d3
SB
4716(define-public network-manager-applet
4717 (package
4718 (name "network-manager-applet")
2116bfb3 4719 (version "1.4.2")
4d62a9d3
SB
4720 (source (origin
4721 (method url-fetch)
4722 (uri (string-append "mirror://gnome/sources/" name "/"
4723 (version-major+minor version) "/"
4724 name "-" version ".tar.xz"))
4725 (sha256
4726 (base32
2116bfb3 4727 "16a43sl9aijmvxbb08hbjqyjnlshj8dckycbgi9nm333fr47n6s3"))))
4d62a9d3 4728 (build-system glib-or-gtk-build-system)
2116bfb3 4729 ;; TODO: WWAN support supposedly requires an update of glibmm which in turn
4730 ;; requires an update of the its dependencies (glib and others).
4731 (arguments '(#:configure-flags '("--disable-migration"
4732 "--without-wwan")))
4d62a9d3
SB
4733 (native-inputs
4734 `(("intltool" ,intltool)
4735 ("gobject-introspection" ,gobject-introspection)
4736 ("pkg-config" ,pkg-config)))
4737 (propagated-inputs
4738 ;; libnm-gtk.pc refers to all these.
4739 `(("dbus-glib" ,dbus-glib)
4740 ("gtk+" ,gtk+)
4741 ("network-manager" ,network-manager)))
4742 (inputs
4743 `(("iso-codes" ,iso-codes)
4744 ("libgudev" ,libgudev)
4745 ("libnotify" ,libnotify)
2116bfb3 4746 ("libsecret" ,libsecret)
4747 ("jansson" ,jansson))) ;for team support
4d62a9d3
SB
4748 (synopsis "Applet for managing network connections")
4749 (home-page "http://www.gnome.org/projects/NetworkManager/")
4750 (description
4751 "This package contains a systray applet for NetworkManager. It displays
4752the available networks and allows users to easily switch between them.")
4753 (license license:gpl2+)))
56196594
RW
4754
4755(define-public libxml++
4756 (package
4757 (name "libxml++")
8344a85e 4758 (version "3.0.1")
56196594
RW
4759 (source (origin
4760 (method url-fetch)
4761 (uri (string-append "mirror://gnome/sources/" name "/"
4762 (version-major+minor version) "/"
4763 name "-" version ".tar.xz"))
4764 (sha256
4765 (base32
8344a85e 4766 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
4767 (build-system gnu-build-system)
4768 ;; libxml++-3.0.pc refers to all these.
4769 (propagated-inputs
4770 `(("libxml2" ,libxml2)
4771 ("glibmm" ,glibmm)))
4772 (native-inputs
4773 `(("perl" ,perl)
4774 ("pkg-config" ,pkg-config)))
4775 (home-page "http://libxmlplusplus.sourceforge.net/")
4776 (synopsis "C++ wrapper for XML parser library libxml2")
4777 (description
4778 "This package provides a C++ wrapper for the XML parser library
4779libxml2.")
4780 (license license:lgpl2.1+)))
df12f04a 4781
b61d9627
AW
4782(define-public libxml++-2
4783 (package
4784 (inherit libxml++)
4785 (name "libxml++")
4786 (version "2.40.1")
4787 (source (origin
4788 (method url-fetch)
4789 (uri (string-append "mirror://gnome/sources/" name "/"
4790 (version-major+minor version) "/"
4791 name "-" version ".tar.xz"))
4792 (sha256
4793 (base32
4794 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
4795
df12f04a
SB
4796(define-public gdm
4797 (package
4798 (name "gdm")
8f37813e 4799 (version "3.24.2")
df12f04a
SB
4800 (source (origin
4801 (method url-fetch)
4802 (uri (string-append "mirror://gnome/sources/" name "/"
4803 (version-major+minor version) "/"
4804 name "-" version ".tar.xz"))
4805 (sha256
4806 (base32
8f37813e 4807 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
df12f04a
SB
4808 (build-system gnu-build-system)
4809 (arguments
4810 '(#:configure-flags
4811 '("--without-plymouth")
4812 #:phases
4813 (modify-phases %standard-phases
4814 (add-before
4815 'configure 'pre-configure
4816 (lambda _
4817 ;; We don't have <systemd/sd-daemon.h>.
4818 (substitute* '("common/gdm-log.c"
4819 "daemon/gdm-server.c"
4820 "daemon/gdm-session-worker.c"
4821 "daemon/gdm-session-worker-job.c")
4822 (("#include <systemd/sd-daemon\\.h>") ""))
4823 ;; Use elogind for sd-login.
4824 (substitute* '("common/gdm-common.c"
4825 "daemon/gdm-manager.c"
4826 "libgdm/gdm-user-switching.c")
4827 (("#include <systemd/sd-login\\.h>")
4828 "#include <elogind/sd-login.h>"))
4829 ;; Avoid checking SYSTEMD using pkg-config.
4830 (setenv "SYSTEMD_CFLAGS" " ")
4831 (setenv "SYSTEMD_LIBS" "-lelogind")
4832 #t)))))
4833 (native-inputs
4834 `(("dconf" ,dconf)
4835 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4836 ("gobject-introspection" ,gobject-introspection)
4837 ("intltool" ,intltool)
4838 ("itstool" ,itstool)
4839 ("pkg-config" ,pkg-config)
4840 ("xmllint" ,libxml2)))
4841 (inputs
4842 `(("accountsservice" ,accountsservice)
4843 ("check" ,check) ; for testing
4844 ("elogind" ,elogind)
4845 ("gtk+" ,gtk+)
4846 ("iso-codes" ,iso-codes)
4847 ("libcanberra" ,libcanberra)
4848 ("linux-pam" ,linux-pam)))
4849 (synopsis "Display manager for GNOME")
4850 (home-page "http://wiki.gnome.org/Projects/GDM/")
4851 (description
4852 "GNOME Display Manager is a system service that is responsible for
4853providing graphical log-ins and managing local and remote displays.")
4854 (license license:gpl2+)))
8e1dd04f
SB
4855
4856(define-public libgtop
4857 (package
4858 (name "libgtop")
6206db89 4859 (version "2.36.0")
8e1dd04f
SB
4860 (source (origin
4861 (method url-fetch)
4862 (uri (string-append "mirror://gnome/sources/" name "/"
4863 (version-major+minor version) "/"
4864 name "-" version ".tar.xz"))
4865 (sha256
4866 (base32
6206db89 4867 "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
8e1dd04f
SB
4868 (build-system gnu-build-system)
4869 (native-inputs
4870 `(("gobject-introspection" ,gobject-introspection)
4871 ("intltool" ,intltool)
4872 ("perl" ,perl)
4873 ("pkg-config" ,pkg-config)))
4874 (propagated-inputs
4875 `(("glib" ,glib))) ; required by libgtop-2.0.pc
4876 (synopsis "Portable system access library")
4877 (home-page "https://www.gnome.org/")
4878 (description
4879 "LibGTop is a library to get system specific data such as CPU and memory
4880usage and information about running processes.")
4881 (license license:gpl2+)))
b96c4260
SB
4882
4883(define-public gnome-bluetooth
4884 (package
4885 (name "gnome-bluetooth")
f8cb2fbf 4886 (version "3.20.1")
b96c4260
SB
4887 (source (origin
4888 (method url-fetch)
4889 (uri (string-append "mirror://gnome/sources/" name "/"
4890 (version-major+minor version) "/"
4891 name "-" version ".tar.xz"))
4892 (sha256
4893 (base32
f8cb2fbf 4894 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
4895 (build-system glib-or-gtk-build-system)
4896 (native-inputs
4897 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
4898 ("gobject-introspection" ,gobject-introspection)
4899 ("intltool" ,intltool)
4900 ("pkg-config" ,pkg-config)
4901 ("xmllint" ,libxml2)))
4902 (propagated-inputs
4903 ;; gnome-bluetooth-1.0.pc refers to all these.
4904 `(("gtk+" ,gtk+)
4905 ("udev" ,eudev)))
4906 (inputs
4907 `(("libcanberra" ,libcanberra)
4908 ("libnotify" ,libnotify)))
4909 (synopsis "GNOME Bluetooth subsystem")
4910 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
4911 (description
4912 "This package contains tools for managing and manipulating Bluetooth
4913devices using the GNOME desktop.")
4914 (license license:lgpl2.1+)))
b645146f
SB
4915
4916(define-public gnome-control-center
4917 (package
4918 (name "gnome-control-center")
44da12be 4919 (version "3.24.2")
b645146f
SB
4920 (source (origin
4921 (method url-fetch)
4922 (uri (string-append "mirror://gnome/sources/" name "/"
4923 (version-major+minor version) "/"
4924 name "-" version ".tar.xz"))
4925 (sha256
4926 (base32
44da12be 4927 "0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq"))))
b645146f
SB
4928 (build-system glib-or-gtk-build-system)
4929 (arguments
4930 '(#:phases
4931 (modify-phases %standard-phases
4932 (add-before 'configure 'patch-paths
4933 (lambda* (#:key inputs #:allow-other-keys)
4934 (let ((libc (assoc-ref inputs "libc"))
4935 (tzdata (assoc-ref inputs "tzdata")))
4936 (substitute* "panels/datetime/tz.h"
4937 (("/usr/share/zoneinfo/zone.tab")
4938 (string-append tzdata "/share/zoneinfo/zone.tab")))
4939 (substitute* "panels/datetime/test-endianess.c"
4940 (("/usr/share/locale")
4941 (string-append libc "/share/locale")))
4942 #t))))))
4943 (native-inputs
4944 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4945 ("intltool" ,intltool)
4946 ("pkg-config" ,pkg-config)
4947 ("xsltproc" ,libxslt)))
4948 (inputs
4949 `(("accountsservice" ,accountsservice)
4950 ("clutter-gtk" ,clutter-gtk)
4951 ("colord-gtk" ,colord-gtk)
4952 ("cups" ,cups)
4953 ("dconf" ,dconf)
4954 ("docbook-xsl" ,docbook-xsl)
3446ffb5 4955 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
4956 ("gnome-bluetooth" ,gnome-bluetooth)
4957 ("gnome-desktop" ,gnome-desktop)
4958 ("gnome-online-accounts" ,gnome-online-accounts)
4959 ("gnome-settings-daemon" ,gnome-settings-daemon)
4960 ("grilo" ,grilo)
4961 ("ibus" ,ibus)
4962 ("libcanberra" ,libcanberra)
4963 ("libgudev" ,libgudev)
4964 ("libgtop" ,libgtop)
4965 ("libpwquality" ,libpwquality)
4966 ("libsoup" ,libsoup)
4967 ("libxml2" ,libxml2)
4968 ("libwacom" ,libwacom)
4969 ("mesa" ,mesa)
4970 ("mit-krb5" ,mit-krb5)
4971 ("modem-manager" ,modem-manager)
4972 ("network-manager-applet" ,network-manager-applet)
4973 ("polkit" ,polkit)
4974 ("pulseaudio" ,pulseaudio)
4975 ("smbclient" ,samba)
4976 ("tzdata" ,tzdata)
4977 ("upower" ,upower)))
4978 (synopsis "Utilities to configure the GNOME desktop")
4979 (home-page "https://www.gnome.org/")
4980 (description
4981 "This package contains configuration applets for the GNOME desktop,
4982allowing to set accessibility configuration, desktop fonts, keyboard and mouse
4983properties, sound setup, desktop theme and background, user interface
4984properties, screen resolution, and other GNOME parameters.")
4985 (license license:gpl2+)))
a4df5756
SB
4986
4987(define-public gnome-shell
4988 (package
4989 (name "gnome-shell")
ce1e6de0 4990 (version "3.24.2")
a4df5756
SB
4991 (source (origin
4992 (method url-fetch)
4993 (uri (string-append "mirror://gnome/sources/" name "/"
4994 (version-major+minor version) "/"
4995 name "-" version ".tar.xz"))
4996 (sha256
4997 (base32
ce1e6de0 4998 "1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh"))))
a4df5756
SB
4999 (build-system glib-or-gtk-build-system)
5000 (arguments
5001 '(#:phases
5002 (modify-phases %standard-phases
5003 (replace 'install
5004 (lambda* (#:key outputs #:allow-other-keys)
5005 (let* ((out (assoc-ref outputs "out"))
5006 (keysdir (string-append
5007 out "/share/gnome-control-center/keybindings")))
5008 (zero? (system* "make"
5009 (string-append "keysdir=" keysdir)
5010 "install")))))
5011 (add-after
5012 'install 'wrap-programs
5013 (lambda* (#:key outputs #:allow-other-keys)
5014 (let ((out (assoc-ref outputs "out"))
5015 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5016 (python-path (getenv "PYTHONPATH")))
5017 (wrap-program (string-append out "/bin/gnome-shell")
5018 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5019 (for-each
5020 (lambda (prog)
5021 (wrap-program (string-append out "/bin/" prog)
5022 `("PYTHONPATH" ":" prefix (,python-path))
5023 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5024 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5025 #t))))))
5026 (native-inputs
5027 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5028 ("gobject-introspection" ,gobject-introspection)
5029 ("intltool" ,intltool)
5030 ("pkg-config" ,pkg-config)
5031 ("python" ,python)
5032 ("xsltproc" ,libxslt)))
5033 (inputs
5034 `(("accountsservice" ,accountsservice)
5035 ("caribou" ,caribou)
5036 ("docbook-xsl" ,docbook-xsl)
5037 ("evolution-data-server" ,evolution-data-server)
5038 ("gcr" ,gcr)
5039 ("gdm" ,gdm)
5040 ("gjs" ,gjs)
5041 ("gnome-bluetooth" ,gnome-bluetooth)
5042 ("gnome-control-center" ,gnome-control-center)
5043 ("gnome-desktop" ,gnome-desktop)
5044 ("gnome-settings-daemon" ,gnome-settings-daemon)
5045 ("gst-plugins-base" ,gst-plugins-base)
5046 ("ibus" ,ibus)
5047 ("libcanberra" ,libcanberra)
5048 ("libcroco" ,libcroco)
5049 ("libgweather" ,libgweather)
5050 ("libsoup" ,libsoup)
5051 ("mesa-headers" ,mesa-headers)
5052 ("mutter" ,mutter)
5053 ("network-manager-applet" ,network-manager-applet)
5054 ("polkit" ,polkit)
5055 ("pulseaudio" ,pulseaudio)
5056 ("python-pygobject" ,python-pygobject)
5057 ("startup-notification" ,startup-notification)
5058 ("telepathy-logger" ,telepathy-logger)
5059 ("upower" ,upower)
5060 ;; XXX: required by libgjs.la.
5061 ("readline" ,readline)))
5062 (synopsis "Desktop shell for GNOME")
5063 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5064 (description
5065 "GNOME Shell provides core user interface functions for the GNOME desktop,
5066like switching to windows and launching applications.")
5067 (license license:gpl2+)))
c3f29bc9
RS
5068
5069(define-public gtk-vnc
5070 (package
5071 (name "gtk-vnc")
26653538 5072 (version "0.7.0")
c3f29bc9
RS
5073 (source
5074 (origin
5075 (method url-fetch)
5076 (uri (string-append "mirror://gnome/sources/" name "/"
5077 (version-major+minor version) "/"
5078 name "-" version ".tar.xz"))
5079 (sha256
5080 (base32
26653538 5081 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
c3f29bc9
RS
5082 (build-system gnu-build-system)
5083 (arguments
5084 '(#:configure-flags '("--with-gtk=3.0")))
5085 (propagated-inputs
5086 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5087 (inputs
5088 `(("cyrus-sasl" ,cyrus-sasl)
5089 ("gnutls" ,gnutls)
5090 ("libgcrypt" ,libgcrypt)
5091 ("pulseaudio" ,pulseaudio)))
5092 (native-inputs
5093 `(("glib:bin" ,glib "bin")
5094 ("gobject-introspection" ,gobject-introspection)
5095 ("intltool" ,intltool)
5096 ("pkg-config" ,pkg-config)
5097 ("vala" ,vala)))
5098 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5099 (synopsis "VNC viewer widget for GTK+")
5100 (description
5101 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5102applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5103GTK-VNC implements client side RFB protocol and authentication extensions such
5104as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5105 (license license:lgpl2.1+)))
8b877545 5106
dc69fe18
MW
5107(define-public gnome-autoar
5108 (package
5109 (name "gnome-autoar")
4063a40a 5110 (version "0.2.2")
dc69fe18
MW
5111 (source (origin
5112 (method url-fetch)
5113 (uri (string-append "mirror://gnome/sources/" name "/"
5114 (version-major+minor version) "/"
5115 name "-" version ".tar.xz"))
5116 (sha256
5117 (base32
4063a40a 5118 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
dc69fe18
MW
5119 (build-system glib-or-gtk-build-system)
5120 (native-inputs
5121 `(("gnome-common" ,gnome-common)
5122 ("gobject-introspection" ,gobject-introspection)
5123 ("pkg-config" ,pkg-config)))
5124 (propagated-inputs
5125 `(("libarchive" ,libarchive))) ; XXX document why
5126 (inputs
5127 `(("gtk+" ,gtk+)
5128 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5129 (synopsis "Archives integration support for GNOME")
5130 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5131 (description
5132 "GNOME Autoar is a library which makes creating and extracting archives
5133easy, safe, and automatic.")
5134 (license license:lgpl2.1+)))
5135
b64e217f
MW
5136(define-public tracker
5137 (package
5138 (name "tracker")
0ef48cd9 5139 (version "1.12.0")
b64e217f
MW
5140 (source (origin
5141 (method url-fetch)
5142 (uri (string-append "mirror://gnome/sources/" name "/"
5143 (version-major+minor version) "/"
5144 name "-" version ".tar.xz"))
5145 (sha256
5146 (base32
0ef48cd9 5147 "0vsrzzkcfvmylhpk1ww6xdx8z9sgjs0gn74gz82qngjyq3c3s6c3"))))
b64e217f
MW
5148 (build-system glib-or-gtk-build-system)
5149 (native-inputs
5150 `(("gnome-common" ,gnome-common)
5151 ("gobject-introspection" ,gobject-introspection)
5152 ("intltool" ,intltool)
5153 ("pkg-config" ,pkg-config)
5154 ("vala" ,vala)))
5155 (inputs
5156 `(("gtk+" ,gtk+)
5157 ("dbus" ,dbus)
5158 ("gstreamer" ,gstreamer)
5159 ("gst-plugins-base" ,gst-plugins-base)
5160 ("sqlite" ,sqlite)
5161 ("nettle" ,nettle) ; XXX why is this needed?
5162 ("poppler" ,poppler)
5163 ("libgsf" ,libgsf)
5164 ("libexif" ,libexif)
5165 ("libpng" ,libpng)
5166 ("libtiff" ,libtiff)
5167 ("libvorbis" ,libvorbis)
5168 ("flac" ,flac)
5169 ("totem-pl-parser" ,totem-pl-parser)
5170 ("zlib" ,zlib)
5171 ("exempi" ,exempi)
5172 ("libxml2" ,libxml2)
5173 ("upower" ,upower)
b64e217f
MW
5174 ("libunistring" ,libunistring)
5175 ("giflib" ,giflib)
0ef48cd9 5176 ("json-glib" ,json-glib)
b64e217f
MW
5177 ("openjpeg" ,openjpeg-1)
5178 ("libosinfo" ,libosinfo)
5179 ("libcue" ,libcue)
5180 ("libseccomp" ,libseccomp)
0ef48cd9 5181 ("libsoup" ,libsoup)
b64e217f
MW
5182 ("libuuid" ,util-linux)))
5183 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5184 (synopsis "Metadata database, indexer and search tool")
5185 (home-page "https://wiki.gnome.org/Projects/Tracker")
5186 (description
5187 "Tracker is an advanced framework for first class objects with associated
5188metadata and tags. It provides a one stop solution for all metadata, tags,
5189shared object databases, search tools and indexing.")
5190 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5191 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5192 (license (list license:gpl2+
5193 license:lgpl2.1+
5194 license:lgpl2.0+))))
5195
8b877545
RS
5196(define-public nautilus
5197 (package
5198 (name "nautilus")
ac8f1ce4 5199 (version "3.24.1")
8b877545
RS
5200 (source (origin
5201 (method url-fetch)
5202 (uri (string-append "mirror://gnome/sources/" name "/"
5203 (version-major+minor version) "/"
5204 name "-" version ".tar.xz"))
5205 (sha256
5206 (base32
ac8f1ce4 5207 "1cn6bmzmahzlwcd4gllsvx6dva386xm3papgzpv1r34abw73sf27"))))
8b877545
RS
5208 (build-system glib-or-gtk-build-system)
5209 (arguments
6983ba56 5210 '(#:configure-flags
09d88905 5211 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5212 ;; XXX: FAIL: check-nautilus
5213 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5214 #:tests? #f))
5215 (native-inputs
5216 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5217 ("gobject-introspection" ,gobject-introspection)
5218 ("intltool" ,intltool)
5219 ("pkg-config" ,pkg-config)))
8b877545 5220 (inputs
8b877545 5221 `(("dconf" ,dconf)
dd05e731 5222 ("gvfs" ,gvfs)
8b877545
RS
5223 ("exempi" ,exempi)
5224 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5225 ("gnome-autoar" ,gnome-autoar)
5226 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5227 ("tracker" ,tracker)
ce6027bf
SB
5228 ;; XXX: gtk+ is required by libnautilus-extension.pc
5229 ;;
5230 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5231 ;; package. See:
5232 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5233 ("gtk+" ,gtk+)
8b877545
RS
5234 ("libexif" ,libexif)
5235 ("libxml2" ,libxml2)))
5236 (synopsis "File manager for GNOME")
5237 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5238 (description
5239 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5240design and behaviour, giving the user a simple way to navigate and manage its
5241files.")
5242 (license license:gpl2+)))
3c697ffd
JR
5243
5244(define-public baobab
5245 (package
5246 (name "baobab")
9be54b15 5247 (version "3.24.0")
3c697ffd
JR
5248 (source (origin
5249 (method url-fetch)
5250 (uri (string-append
5251 "mirror://gnome/sources/" name "/"
5252 (version-major+minor version) "/"
5253 name "-" version ".tar.xz"))
5254 (sha256
5255 (base32
9be54b15 5256 "0gzwzn8p0agidjq3wnkxcsny6jhqph3yqscqjqd7blgkz5nyk02r"))))
3c697ffd
JR
5257 (build-system glib-or-gtk-build-system)
5258 (native-inputs
5259 `(("intltool" ,intltool)
5260 ("pkg-config" ,pkg-config)
5261 ("itstool" ,itstool)
5262 ("xmllint" ,libxml2)
5263 ("glib" ,glib "bin")
5264 ("vala" ,vala)))
5265 (inputs
5266 `(("gtk+" ,gtk+)))
5267 (synopsis "Disk usage analyzer for GNOME")
5268 (description
5269 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5270usage in the GNOME desktop environment. It can easily scan device volumes or
5271a specific user-requested directory branch (local or remote). Once the scan
5272is complete it provides a graphical representation of each selected folder.")
5273 (home-page "https://wiki.gnome.org/Apps/Baobab")
5274 (license license:gpl2+)))
dc050251 5275
fdba447c
RS
5276(define-public gnome-backgrounds
5277 (package
5278 (name "gnome-backgrounds")
2df65d37 5279 (version "3.24.0")
fdba447c
RS
5280 (source
5281 (origin
5282 (method url-fetch)
5283 (uri (string-append "mirror://gnome/sources/" name "/"
5284 (version-major+minor version) "/"
5285 name "-" version ".tar.xz"))
5286 (sha256
5287 (base32
2df65d37 5288 "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
fdba447c
RS
5289 (build-system glib-or-gtk-build-system)
5290 (native-inputs
5291 `(("intltool" ,intltool)))
5292 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5293 (synopsis "Background images for the GNOME desktop")
5294 (description
5295 "GNOME backgrounds package contains a collection of graphics files which
5296can be used as backgrounds in the GNOME Desktop environment. Additionally,
5297the package creates the proper framework and directory structure so that you
5298can add your own files to the collection.")
5299 (license (list license:gpl2+
5300 license:cc-by2.0
5301 license:cc-by-sa2.0
5302 license:cc-by-sa3.0))))
5303
b784b1a9
RS
5304(define-public gnome-screenshot
5305 (package
5306 (name "gnome-screenshot")
efa355bc 5307 (version "3.22.0")
b784b1a9
RS
5308 (source
5309 (origin
5310 (method url-fetch)
5311 (uri (string-append "mirror://gnome/sources/" name "/"
5312 (version-major+minor version) "/"
5313 name "-" version ".tar.xz"))
5314 (sha256
5315 (base32
efa355bc 5316 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5317 (build-system glib-or-gtk-build-system)
5318 (native-inputs
5319 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5320 ("intltool" ,intltool)
5321 ("pkg-config" ,pkg-config)))
5322 (inputs
5323 `(("gtk+" ,gtk+)
5324 ("libcanberra" ,libcanberra)
5325 ("libx11" ,libx11)
5326 ("libxext" ,libxext)))
5327 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5328 (synopsis "Take pictures of your screen")
5329 (description
5330 "GNOME Screenshot is a utility used for taking screenshots of the entire
5331screen, a window or a user defined area of the screen, with optional
5332beautifying border effects.")
5333 (license license:gpl2+)))
5334
66d59111
RS
5335(define-public dconf-editor
5336 (package
5337 (name "dconf-editor")
123e8168 5338 (version "3.22.3")
66d59111
RS
5339 (source
5340 (origin
5341 (method url-fetch)
5342 (uri (string-append "mirror://gnome/sources/" name "/"
5343 (version-major+minor version) "/"
5344 name "-" version ".tar.xz"))
5345 (sha256
5346 (base32
123e8168 5347 "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
66d59111 5348 (build-system glib-or-gtk-build-system)
d25c1836
SB
5349 (arguments
5350 '(#:phases
5351 (modify-phases %standard-phases
5352 (add-before 'install 'skip-gtk-update-icon-cache
5353 (lambda _
5354 ;; Don't create 'icon-theme.cache'.
5355 (substitute* "editor/Makefile"
5356 (("gtk-update-icon-cache") "true"))
5357 #t)))))
66d59111
RS
5358 (native-inputs
5359 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5360 ("intltool" ,intltool)
5361 ("pkg-config" ,pkg-config)))
5362 (inputs
5363 `(("dconf" ,dconf)
5364 ("gtk+" ,gtk+)
5365 ("libxml2" ,libxml2)))
5366 (home-page "https://git.gnome.org/browse/dconf-editor")
5367 (synopsis "Graphical editor for GNOME's dconf configuration system")
5368 (description
5369 "Dconf-editor is a graphical tool for browsing and editing the dconf
5370configuration system for GNOME. It allows users to configure desktop
5371software that do not provide their own configuration interface.")
5372 (license license:lgpl2.1+)))
5373
dc050251
SB
5374(define-public gnome
5375 (package
5376 (name "gnome")
5377 (version (package-version gnome-shell))
5378 (source #f)
5379 (build-system trivial-build-system)
5380 (arguments '(#:builder (mkdir %output)))
5381 (propagated-inputs
5382 ;; TODO: Add more packages according to:
5383 ;; <https://packages.debian.org/jessie/gnome-core>.
5384 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5385 ("baobab" ,baobab)
0bd3597b 5386 ("font-cantarell" ,font-cantarell)
dc050251
SB
5387 ("at-spi2-core" ,at-spi2-core)
5388 ("dbus" ,dbus)
5389 ("dconf" ,dconf)
72360453 5390 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5391 ("eog" ,eog)
5392 ("epiphany" ,epiphany)
5393 ("evince" ,evince)
71d9b980 5394 ("file-roller" ,file-roller)
dc050251
SB
5395 ("gedit" ,gedit)
5396 ("glib-networking" ,glib-networking)
05f651c4 5397 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
5398 ("gnome-control-center" ,gnome-control-center)
5399 ("gnome-keyring" ,gnome-keyring)
5400 ("gnome-session" ,gnome-session)
5401 ("gnome-settings-daemon" ,gnome-settings-daemon)
5402 ("gnome-shell" ,gnome-shell)
5403 ("gnome-terminal" ,gnome-terminal)
5404 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 5405 ("gvfs" ,gvfs)
dc050251
SB
5406 ("hicolor-icon-theme" ,hicolor-icon-theme)
5407 ("nautilus" ,nautilus)
69308043 5408 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5409 ("pulseaudio" ,pulseaudio)
5410 ("shared-mime-info" ,shared-mime-info)
5411 ("totem" ,totem)
5412 ("yelp" ,yelp)
5413 ("zenity" ,zenity)))
fe4e698d 5414 (synopsis "The GNU desktop environment")
dc050251
SB
5415 (home-page "https://www.gnome.org/")
5416 (description
fe4e698d
LC
5417 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5418applications for browsing the web, editing text and images, creating
5419documents and diagrams, playing media, scanning, and much more.")
dc050251 5420 (license license:gpl2+)))
4a526711
DT
5421
5422(define-public byzanz
5423 ;; The last stable release of Byzanz was in 2011, but there have been many
5424 ;; useful commits made to the Byzanz repository since then that it would be
5425 ;; silly to use such an old release.
5426 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5427 (package
5428 (name "byzanz")
5429 (version (string-append "0.2-1." (string-take commit 7)))
5430 (source (origin
5431 (method git-fetch)
5432 (uri (git-reference
5433 (url "git://git.gnome.org/byzanz")
5434 (commit commit)))
5435 (sha256
5436 (base32
5437 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5438 (build-system glib-or-gtk-build-system)
5439 (arguments
5440 '(#:phases
5441 (modify-phases %standard-phases
5442 (add-after 'unpack 'bootstrap
5443 (lambda _
5444 ;; The build system cleverly detects that we're not building from
5445 ;; a release tarball and turns on -Werror for GCC.
5446 ;; Unsurprisingly, there is a warning during compilation that
5447 ;; causes the build to fail unnecessarily, so we remove the flag.
5448 (substitute* '("configure.ac")
5449 (("-Werror") ""))
5450 ;; The autogen.sh script in gnome-common will run ./configure
5451 ;; by default, which is problematic because source shebangs
5452 ;; have not yet been patched.
5453 (setenv "NOCONFIGURE" "t")
5454 (zero? (system* "sh" "autogen.sh")))))))
5455 (native-inputs
5456 `(("autoconf" ,autoconf)
5457 ("automake" ,automake)
5458 ("gnome-common" ,gnome-common)
5459 ("intltool" ,intltool)
5460 ("libtool" ,libtool)
5461 ("pkg-config" ,pkg-config)
5462 ("which" ,which)))
5463 (inputs
5464 `(("glib" ,glib)
5465 ("gstreamer" ,gstreamer)
5466 ("gst-plugins-base" ,gst-plugins-base)
5467 ("gtk+" ,gtk+)))
5468 (synopsis "Desktop recording program")
5469 (description "Byzanz is a simple desktop recording program with a
5470command-line interface. It can record part or all of an X display for a
5471specified duration and save it as a GIF encoded animated image file.")
5472 (home-page "https://git.gnome.org/browse/byzanz")
5473 (license license:gpl2+))))
3a9a4c51
RS
5474
5475(define-public libzapojit
5476 (package
5477 (name "libzapojit")
5478 (version "0.0.3")
5479 (source (origin
5480 (method url-fetch)
5481 (uri (string-append "mirror://gnome/sources/" name "/"
5482 (version-major+minor version) "/"
5483 name "-" version ".tar.xz"))
5484 (sha256
5485 (base32
5486 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5487 (build-system gnu-build-system)
5488 (native-inputs
5489 `(("gobject-introspection" ,gobject-introspection)
5490 ("intltool" ,intltool)
5491 ("pkg-config" ,pkg-config)))
5492 (inputs
5493 `(("gnome-online-accounts" ,gnome-online-accounts)
5494 ("json-glib" ,json-glib)
5495 ("rest" ,rest)))
5496 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5497 (synopsis "Library for accessing SkyDrive and Hotmail")
5498 (description
5499 "Libzapojit is a GLib-based library for accessing online service APIs of
5500Microsoft SkyDrive and Hotmail, using their REST protocols.")
5501 (license license:lgpl2.1+)))
9365ee1c 5502
3c474897
KY
5503(define-public gnome-calendar
5504 (package
5505 (name "gnome-calendar")
44b1e86d 5506 (version "3.24.2")
3c474897
KY
5507 (source (origin
5508 (method url-fetch)
5509 (uri (string-append "mirror://gnome/sources/" name "/"
5510 (version-major+minor version) "/"
5511 name "-" version ".tar.xz"))
5512 (sha256
5513 (base32
44b1e86d 5514 "0lc0xdgn0y12i87775xyy0p3a5l82w9k49cmwl1my8r8pwf9lp6s"))))
3c474897
KY
5515 (build-system glib-or-gtk-build-system)
5516 (native-inputs
5517 `(("intltool" ,intltool)
5518 ("pkg-config" ,pkg-config)))
5519 (inputs
5520 `(("bdb" ,bdb)
5521 ("desktop-file-utils" ,desktop-file-utils)
5522 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5523 ("gnome-online-accounts" ,gnome-online-accounts)
5524 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5525 (home-page "https://wiki.gnome.org/Apps/Calendar")
5526 (synopsis "GNOME's calendar application")
5527 (description
5528 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5529desktop. It supports multiple calendars, monthly view and yearly view.")
5530 (license license:gpl3+)))
5531
ab179eaf
SB
5532(define-public gnome-dictionary
5533 (package
5534 (name "gnome-dictionary")
6e2fc6c7 5535 (version "3.24.0")
ab179eaf
SB
5536 (source (origin
5537 (method url-fetch)
5538 (uri (string-append "mirror://gnome/sources/" name "/"
5539 (version-major+minor version) "/"
5540 name "-" version ".tar.xz"))
5541 (sha256
5542 (base32
6e2fc6c7 5543 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
ab179eaf
SB
5544 (build-system glib-or-gtk-build-system)
5545 (native-inputs
5546 `(("glib:bin" ,glib "bin")
5547 ("gobject-introspection" ,gobject-introspection)
5548 ("intltool" ,intltool)
5549 ("itstool" ,itstool)
5550 ("pkg-config" ,pkg-config)
5551 ("xmllint" ,libxml2)))
5552 (inputs
5553 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5554 ("gtk+" ,gtk+)))
5555 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5556 (synopsis "Look up words in dictionary sources")
5557 (description
5558 "GNOME Dictionary can look for the definition or translation of a word in
5559existing databases over the internet.")
5560 (license license:gpl3+)))
5561
9365ee1c
JN
5562(define-public gnome-tweak-tool
5563 (package
5564 (name "gnome-tweak-tool")
bc91a80c 5565 (version "3.24.0")
9365ee1c
JN
5566 (source (origin
5567 (method url-fetch)
5568 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5569 (version-major+minor version) "/"
5570 "gnome-tweak-tool-" version ".tar.xz"))
5571 (patches (list
5572 (search-patch "gnome-tweak-tool-search-paths.patch")))
5573 (sha256
5574 (base32
bc91a80c 5575 "000ygz9wgnv8pimb6rwbjfm12vbx4138pwkq36ci0k6v827282wk"))))
7ef335b0 5576 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5577 (arguments
5578 `(#:configure-flags '("--localstatedir=/tmp"
5579 "--sysconfdir=/tmp")
5580 #:imported-modules ((guix build python-build-system)
7ef335b0 5581 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5582 #:phases (modify-phases %standard-phases
9af6bce1
CB
5583 (add-after 'install 'wrap-program
5584 (lambda* (#:key outputs #:allow-other-keys)
5585 (let ((out (assoc-ref outputs "out"))
5586 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5587 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5588 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5589 #t))
9365ee1c
JN
5590 (add-after 'install 'wrap
5591 (@@ (guix build python-build-system) wrap)))))
5592 (native-inputs
5593 `(("intltool" ,intltool)
5594 ("pkg-config" ,pkg-config)))
5595 (inputs
5596 `(("python" ,python-2)
adb41527 5597 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5598 ("gnome-desktop" ,gnome-desktop)
5599 ("libsoup" ,libsoup)
adb41527 5600 ("libnotify" ,libnotify)
9365ee1c
JN
5601 ("gobject-introspection" ,gobject-introspection)
5602 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5603 ("gtk+" ,gtk+)))
5604 (synopsis "Customize advanced GNOME 3 options")
5605 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5606 (description
5607 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5608GNOME 3. This includes things like the fonts used in user interface elements,
5609alternative user interface themes, changes in window management behavior,
5610GNOME Shell appearance and extension, etc.")
5611 (license license:gpl3+)))
813f814a 5612
32ac717c
DT
5613(define-public gnome-shell-extensions
5614 (package
5615 (name "gnome-shell-extensions")
a5b5fcae 5616 (version "3.24.2")
32ac717c
DT
5617 (source (origin
5618 (method url-fetch)
5619 (uri (string-append "mirror://gnome/sources/" name "/"
5620 (version-major+minor version) "/"
5621 name "-" version ".tar.xz"))
5622 (sha256
5623 (base32
a5b5fcae 5624 "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
32ac717c
DT
5625 (build-system gnu-build-system)
5626 (arguments
5627 '(#:configure-flags '("--enable-extensions=all")))
5628 (native-inputs
5629 `(("intltool" ,intltool)
5630 ("pkg-config" ,pkg-config)))
5631 (propagated-inputs
5632 `(("glib" ,glib)
5633 ("glib" ,glib "bin")))
5634 (synopsis "Extensions for GNOME Shell")
5635 (description "GNOME Shell extensions modify and extend GNOME Shell
5636functionality and behavior.")
5637 (home-page "https://extensions.gnome.org/")
5638 (license license:gpl3+)))
5639
813f814a
DT
5640(define-public arc-theme
5641 (package
5642 (name "arc-theme")
7967efc1 5643 (version "20170302")
813f814a
DT
5644 (source (origin
5645 (method url-fetch)
5646 (uri (string-append "https://github.com/horst3180/arc-theme"
5647 "/archive/" version ".tar.gz"))
5648 (file-name (string-append name "-" version ".tar.gz"))
5649 (sha256
5650 (base32
7967efc1 5651 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
813f814a
DT
5652 (build-system gnu-build-system)
5653 (arguments
5654 '(#:phases
5655 (modify-phases %standard-phases
5656 (add-after 'unpack 'bootstrap
5657 (lambda _
5658 (zero? (system* "autoreconf" "-vif")))))))
5659 (native-inputs
5660 `(("autoconf" ,autoconf)
5661 ("automake" ,automake)
5662 ("pkg-config" ,pkg-config)))
5663 (inputs
5664 `(("gtk+" ,gtk+)))
5665 (synopsis "A flat GTK+ theme with transparent elements")
5666 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
56672, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
5668like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5669 (home-page "https://github.com/horst3180/arc-theme")
5670 ;; No "or later" language found.
5671 (license license:gpl3)))
9987c57c
DT
5672
5673(define-public moka-icon-theme
5674 (package
5675 (name "moka-icon-theme")
0f9bb61b 5676 (version "5.3.5")
9987c57c
DT
5677 (source (origin
5678 (method url-fetch)
5679 (uri (string-append "https://github.com/moka-project"
5680 "/moka-icon-theme/archive/v"
5681 version ".tar.gz"))
5682 (file-name (string-append name "-" version ".tar.gz"))
5683 (sha256
5684 (base32
0f9bb61b 5685 "062rab0ggmgb3y0d6b3k5d47wsadi28cdnyyr2vqbjhza01dglci"))))
9987c57c
DT
5686 (build-system gnu-build-system)
5687 (arguments
5688 '(#:phases
5689 (modify-phases %standard-phases
5690 (add-after 'unpack 'patch-makefile.am
5691 (lambda _
5692 (substitute* '("Makefile.am")
5693 (("\\$\\(DESTDIR\\)/usr/share")
5694 "$(datadir)"))
5695 #t))
5696 (add-after 'patch-makefile.am 'bootstrap
5697 (lambda _
5698 (zero? (system* "autoreconf" "-vif")))))))
5699 (native-inputs
5700 `(("autoconf" ,autoconf)
5701 ("automake" ,automake)))
5702 (synopsis "Moka icon theme")
5703 (description "Moka is a stylized desktop icon set, designed to be clear,
5704simple and consistent.")
5705 (home-page "http://snwh.org/moka")
5706 (license license:gpl3+)))
6fd8f8d6
DT
5707
5708(define-public arc-icon-theme
5709 (package
5710 (name "arc-icon-theme")
c4180240 5711 (version "20161122")
6fd8f8d6
DT
5712 (source (origin
5713 (method url-fetch)
5714 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
5715 "/archive/" version ".tar.gz"))
5716 (file-name (string-append name "-" version ".tar.gz"))
5717 (sha256
5718 (base32
c4180240 5719 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6
DT
5720 (build-system gnu-build-system)
5721 (arguments
5722 '(#:phases
5723 (modify-phases %standard-phases
5724 (add-after 'unpack 'bootstrap
5725 (lambda _
5726 (zero? (system* "autoreconf" "-vif")))))))
5727 (native-inputs
5728 `(("autoconf" ,autoconf)
5729 ("automake" ,automake)))
5730 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
5731 (propagated-inputs
5732 `(("moka-icon-theme" ,moka-icon-theme)))
5733 (synopsis "Arc icon theme")
5734 (description "The Arc icon theme provides a set of icons matching the
5735style of the Arc GTK theme. Icons missing from the Arc theme are provided by
5736the Moka icon theme.")
5737 (home-page "https://github.com/horst3180/arc-icon-theme")
5738 (license license:gpl3+)))
6064a4e8
LF
5739
5740(define-public folks
5741 (package
5742 (name "folks")
5743 (version "0.11.2")
5744 (source (origin
5745 (method url-fetch)
5746 (uri (string-append
5747 "mirror://gnome/sources/" name "/"
5748 (version-major+minor version) "/"
5749 name "-" version ".tar.xz"))
5750 (sha256
5751 (base32
5752 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
5753 (build-system glib-or-gtk-build-system)
5754 (inputs
5755 `(("bdb" ,bdb)
5756 ("dbus-glib" ,dbus-glib)
5757 ("evolution-data-server" ,evolution-data-server)
5758 ("glib" ,glib)
5759 ("libgee" ,libgee)
5760 ("telepathy-glib" ,telepathy-glib)))
5761 (native-inputs
5762 `(("gobject-introspection" ,gobject-introspection)
5763 ("intltool" ,intltool)
5764 ("pkg-config" ,pkg-config)
5765 ("vala" ,vala)))
5766 (synopsis "Library to aggregate data about people")
5767 (description "Libfolks is a library that aggregates information about people
5768from multiple sources (e.g., Telepathy connection managers for IM contacts,
5769Evolution Data Server for local contacts, libsocialweb for web service contacts,
5770etc.) to create metacontacts. It's written in Vala, which generates C code when
5771compiled.")
5772 (home-page "https://wiki.gnome.org/Projects/Folks")
5773 (license license:lgpl2.1+)))
01ea778f
LF
5774
5775(define-public gfbgraph
5776 (package
5777 (name "gfbgraph")
5778 (version "0.2.3")
5779 (source (origin
5780 (method url-fetch)
5781 (uri (string-append
5782 "mirror://gnome/sources/" name "/"
5783 (version-major+minor version) "/"
5784 name "-" version ".tar.xz"))
5785 (sha256
5786 (base32
5787 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
5788 (build-system glib-or-gtk-build-system)
5789 (arguments
5790 `(#:tests? #f ; Tests appear to require the network.
5791 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
5792 #:configure-flags '("--disable-gtk-doc"
5793 "--disable-static"
5794 "--enable-introspection")))
5795 (native-inputs
5796 `(("pkg-config" ,pkg-config)
5797 ("gobject-introspection" ,gobject-introspection)))
5798 (inputs
5799 `(("json-glib" ,json-glib)
5800 ("gnome-online-accounts" ,gnome-online-accounts)
5801 ("rest" ,rest)))
5802 (synopsis "GLib/GObject wrapper for the Facebook API")
5803 (description "This library allows you to use the Facebook API from
5804GLib/GObject code.")
5805 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
5806 (license license:lgpl2.1+)))
3920868c 5807
5808(define-public libgnomekbd
5809 (package
5810 (name "libgnomekbd")
47b93ae5 5811 (version "3.22.0.1")
3920868c 5812 (source (origin
5813 (method url-fetch)
5814 (uri (string-append "mirror://gnome/sources/" name "/"
5815 (version-major+minor version) "/"
5816 name "-" version ".tar.xz"))
5817 (sha256
5818 (base32
47b93ae5 5819 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 5820 (build-system gnu-build-system)
5821 (native-inputs
5822 `(("pkg-config" ,pkg-config)
5823 ("glib" ,glib "bin")
5824 ("intltool" ,intltool)))
5825 (propagated-inputs
5826 ;; Referred to in .h files and .pc.
5827 `(("glib" ,glib)
5828 ("gtk+" ,gtk+)
5829 ("libxklavier" ,libxklavier)))
5830 (home-page "https://www.gnome.org")
5831 (synopsis "GNOME keyboard configuration library")
5832 (description
5833 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
5834environment, which can notably display keyboard layouts.")
5835 (license license:lgpl2.0+)))
85327d0d 5836
5837;;; This package is no longer maintained:
5838;;; https://wiki.gnome.org/Attic/LibUnique
5839;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
5840;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
5841(define-public libunique
5842 (package
5843 (name "libunique")
5844 (version "3.0.2")
5845 (source (origin
5846 (method url-fetch)
5847 (uri (string-append "mirror://gnome/sources/" name "/"
5848 (version-major+minor version) "/"
5849 name "-" version ".tar.xz"))
5850 (sha256
5851 (base32
5852 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
5853 (build-system glib-or-gtk-build-system)
5854 (arguments
5855 `(#:configure-flags '("--disable-static"
5856 "--disable-dbus" ; use gdbus
5857 "--enable-introspection")))
5858 (native-inputs
5859 `(("pkg-config" ,pkg-config)
5860 ("gobject-introspection" ,gobject-introspection)
5861 ("glib:bin" ,glib "bin")
5862 ("gtk-doc" ,gtk-doc)))
5863 (propagated-inputs
5864 ;; Referred to in .h files and .pc.
5865 `(("gtk+" ,gtk+)))
5866 (home-page "https://wiki.gnome.org/Attic/LibUnique")
5867 (synopsis "Library for writing single instance applications")
5868 (description
5869 "Libunique is a library for writing single instance applications. If you
5870launch a single instance application twice, the second instance will either just
5871quit or will send a message to the running instance. Libunique makes it easy to
5872write this kind of application, by providing a base class, taking care of all
5873the IPC machinery needed to send messages to a running instance, and also
5874handling the startup notification side.")
5875 (license license:lgpl2.1+)))
54021cd8
RS
5876
5877(define-public gnome-calculator
5878 (package
5879 (name "gnome-calculator")
2c2da7ec 5880 (version "3.24.0")
54021cd8
RS
5881 (source
5882 (origin
5883 (method url-fetch)
5884 (uri (string-append "mirror://gnome/sources/" name "/"
5885 (version-major+minor version) "/"
5886 name "-" version ".tar.xz"))
5887 (sha256
5888 (base32
2c2da7ec 5889 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
54021cd8
RS
5890 (build-system glib-or-gtk-build-system)
5891 (native-inputs
5892 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5893 ("intltool" ,intltool)
5894 ("itstool" ,itstool)
5895 ("pkg-config" ,pkg-config)))
5896 (inputs
5897 `(("gtksourceview" ,gtksourceview)
5898 ("libsoup" ,libsoup)
2c2da7ec 5899 ("mpc" ,mpc)
54021cd8
RS
5900 ("mpfr" ,mpfr)))
5901 (home-page "https://wiki.gnome.org/Apps/Calculator")
5902 (synopsis "Desktop calculator")
5903 (description
5904 "Calculator is an application that solves mathematical equations and
5905is suitable as a default application in a Desktop environment.")
5906 (license license:gpl3)))
0bd69759
RS
5907
5908(define-public xpad
5909 (package
5910 (name "xpad")
5911 (version "4.8.0")
5912 (source
5913 (origin
5914 (method url-fetch)
5915 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
5916 name "-" version ".tar.bz2"))
5917 (sha256
5918 (base32
5919 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
5920 (build-system gnu-build-system)
5921 (native-inputs
5922 `(("intltool" ,intltool)
5923 ("pkg-config" ,pkg-config)))
5924 (inputs
5925 `(("gtk+" ,gtk+)
5926 ("gtksourceview" ,gtksourceview)
5927 ("libsm" ,libsm)))
5928 (home-page "https://wiki.gnome.org/Apps/Xpad")
5929 (synopsis "Virtual sticky note")
5930 (description
5931 "Xpad is a sticky note that strives to be simple, fault tolerant,
5932and customizable. Xpad consists of independent pad windows, each is
5933basically a text box in which notes can be written.")
5934 (license license:gpl3+)))
3ad7dce1
RS
5935
5936(define-public gucharmap
5937 (package
5938 (name "gucharmap")
5939 (version "3.18.0")
5940 (source
5941 (origin
5942 (method url-fetch)
5943 (uri (string-append "mirror://gnome/sources/" name "/"
5944 (version-major+minor version) "/"
5945 name "-" version ".tar.xz"))
5946 (sha256
5947 (base32
5948 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
5949 (build-system gnu-build-system)
5950 (native-inputs
5951 `(("desktop-file-utils" ,desktop-file-utils)
5952 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
5953 ("gobject-introspection" ,gobject-introspection)
5954 ("intltool" ,intltool)
5955 ("itstool" ,itstool)
5956 ("pkg-config" ,pkg-config)))
5957 (inputs
5958 `(("gtk+" ,gtk+)
5959 ("xmllint" ,libxml2)))
5960 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
5961 (synopsis "Unicode character picker and font browser")
5962 (description
5963 "This program allows you to browse through all the available Unicode
5964characters and categories for the installed fonts, and to examine their
5965detailed properties. It is an easy way to find the character you might
5966only know by its Unicode name or code point.")
5967 (license license:gpl3+)))
04ce840a
RS
5968
5969(define-public bluefish
5970 (package
5971 (name "bluefish")
5972 (version "2.2.9")
5973 (source
5974 (origin
5975 (method url-fetch)
5976 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
5977 name "-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
5981 (build-system gnu-build-system)
5982 (native-inputs
5983 `(("desktop-file-utils" ,desktop-file-utils)
5984 ("intltool" ,intltool)
5985 ("pkg-config" ,pkg-config)))
5986 (inputs
5987 `(("enchant" ,enchant)
5988 ("gtk+" ,gtk+)
5989 ("python" ,python-2)
5990 ("xmllint" ,libxml2)
5991 ("gucharmap" ,gucharmap)))
5992 (home-page "http://bluefish.openoffice.nl")
5993 (synopsis "Web development studio")
5994 (description
5995 "Bluefish is an editor targeted towards programmers and web developers,
5996with many options to write web sites, scripts and other code.
5997Bluefish supports many programming and markup languages.")
5998 (license license:gpl3+)))
1f6a73ee
RS
5999
6000(define-public gnome-system-monitor
6001 (package
6002 (name "gnome-system-monitor")
155f0d69 6003 (version "3.24.0")
1f6a73ee
RS
6004 (source
6005 (origin
6006 (method url-fetch)
6007 (uri (string-append "mirror://gnome/sources/" name "/"
6008 (version-major+minor version) "/"
6009 name "-" version ".tar.xz"))
6010 (sha256
6011 (base32
155f0d69 6012 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
1f6a73ee
RS
6013 (build-system glib-or-gtk-build-system)
6014 (native-inputs
6015 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6016 ("intltool" ,intltool)
6017 ("itstool" ,itstool)
6018 ("libgtop" ,libgtop)
6019 ("pkg-config" ,pkg-config)))
6020 (inputs
6021 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6022 ("gtk+" ,gtk+)
6023 ("gtkmm" ,gtkmm)
6024 ("librsvg" ,librsvg)
6025 ("libxml2" ,libxml2)))
6026 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6027 (synopsis "Process viewer and system resource monitor for GNOME")
6028 (description
6029 "GNOME System Monitor is a GNOME process viewer and system monitor with
6030an attractive, easy-to-use interface. It has features, such as a tree view
6031for process dependencies, icons for processes, the ability to hide processes,
6032graphical time histories of CPU/memory/swap usage and the ability to
6033kill/reinice processes.")
6034 (license license:gpl2+)))
3e00ac47
SB
6035
6036(define-public python-pyatspi
6037 (package
6038 (name "python-pyatspi")
6039 (version "2.24.0")
6040 (source (origin
6041 (method url-fetch)
6042 (uri (string-append
6043 "mirror://gnome/sources/pyatspi/"
6044 (version-major+minor version)
6045 "/pyatspi-" version ".tar.xz"))
6046 (sha256
6047 (base32
6048 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6049 (build-system gnu-build-system)
6050 (native-inputs
6051 `(("pkg-config" ,pkg-config)))
6052 (inputs
6053 `(("python" ,python)
6054 ("python-pygobject" ,python-pygobject)))
6055 (synopsis "Python client bindings for D-Bus AT-SPI")
6056 (home-page "https://wiki.linuxfoundation.org/accessibility\
6057/atk/at-spi/at-spi_on_d-bus")
6058 (description
6059 "This package includes a python client library for the AT-SPI D-Bus
6060accessibility infrastructure.")
6061 (license license:lgpl2.0)
6062 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6063
6064(define-public orca
6065 (package
6066 (name "orca")
6067 (version "3.24.0")
6068 (source (origin
6069 (method url-fetch)
6070 (uri (string-append
6071 "mirror://gnome/sources/" name "/"
6072 (version-major+minor version) "/"
6073 name "-" version ".tar.xz"))
6074 (sha256
6075 (base32
6076 "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97"))))
6077 (build-system glib-or-gtk-build-system)
6078 (arguments
6079 '(#:phases
6080 (modify-phases %standard-phases
6081 (add-before 'configure 'qualify-xkbcomp
6082 (lambda* (#:key inputs #:allow-other-keys)
6083 (let ((xkbcomp (string-append
6084 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6085 (substitute* "src/orca/orca.py"
6086 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6087 #t))
6088 (add-after 'install 'wrap-orca
6089 (lambda* (#:key outputs #:allow-other-keys)
6090 (let* ((out (assoc-ref outputs "out"))
6091 (prog (string-append out "/bin/orca")))
6092 (wrap-program prog
6093 `("GI_TYPELIB_PATH" ":" prefix
6094 (,(getenv "GI_TYPELIB_PATH")))
6095 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6096 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6097 `("PYTHONPATH" ":" prefix
6098 (,(getenv "PYTHONPATH")))))
6099 #t)))))
6100 (native-inputs
6101 `(("intltool" ,intltool)
6102 ("itstool" ,itstool)
6103 ("pkg-config" ,pkg-config)
6104 ("xmllint" ,libxml2)))
6105 (inputs
6106 `(("at-spi2-atk" ,at-spi2-atk)
6107 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6108 ("gstreamer" ,gstreamer)
6109 ("gst-plugins-base" ,gst-plugins-base)
6110 ("gst-plugins-good" ,gst-plugins-good)
6111 ("gtk+" ,gtk+)
6112 ("python" ,python)
6113 ("python-pygobject" ,python-pygobject)
6114 ("python-pyatspi" ,python-pyatspi)
6115 ("python-speechd" ,speech-dispatcher)
6116 ("xkbcomp" ,xkbcomp)))
6117 (synopsis
6118 "Screen reader for individuals who are blind or visually impaired")
6119 (home-page "https://wiki.gnome.org/Projects/Orca")
6120 (description
6121 "Orca is a screen reader that provides access to the graphical desktop
6122via speech and refreshable braille. Orca works with applications and toolkits
6123that support the Assistive Technology Service Provider Interface (AT-SPI).")
6124 (license license:lgpl2.1+)))
411ba511
LC
6125
6126(define-public gspell
6127 (package
6128 (name "gspell")
6129 (version "1.3.2")
6130 (source (origin
6131 (method url-fetch)
6132 (uri (string-append "mirror://gnome/sources/" name "/"
6133 (version-major+minor version) "/"
6134 name "-" version ".tar.xz"))
6135 (sha256
6136 (base32
6137 "1n4kd5i11l79h8bpvx3cz79ww0b4z89y99h4czvyg80qlarn585w"))
6138 (patches (search-patches "gspell-dash-test.patch"))))
6139 (build-system glib-or-gtk-build-system)
6140 (arguments
6141 '(#:phases
6142 (modify-phases %standard-phases
6143 (add-before 'check 'pre-check
6144 (lambda* (#:key inputs #:allow-other-keys)
6145 ;; Tests require a running X server.
6146 (system "Xvfb :1 &")
6147 (setenv "DISPLAY" ":1")
6148
6149 ;; For the missing /etc/machine-id.
6150 (setenv "DBUS_FATAL_WARNINGS" "0")
6151
6152 ;; Allow Enchant and its Aspell backend to find the en_US
6153 ;; dictionary.
6154 (setenv "ASPELL_DICT_DIR"
6155 (string-append (assoc-ref inputs "aspell-dict-en")
6156 "/lib/aspell"))
6157 #t)))))
6158 (inputs
6159 `(("enchant" ,enchant)
6160 ("iso-codes" ,iso-codes)
6161 ("gtk+" ,gtk+)
6162 ("glib" ,glib)))
6163 (native-inputs
6164 `(("glib" ,glib "bin")
6165 ("pkg-config" ,pkg-config)
6166 ("xmllint" ,libxml2)
6167
6168 ;; For tests.
6169 ("xorg-server" ,xorg-server)
6170 ("aspell-dict-en" ,aspell-dict-en)))
6171 (home-page "https://wiki.gnome.org/Projects/gspell")
6172 (synopsis "GNOME's alternative spell checker")
6173 (description
6174 "gspell provides a flexible API to add spell-checking to a GTK+
6175application. It provides a GObject API, spell-checking to text entries and
6176text views, and buttons to choose the language.")
6177 (license license:gpl2+)))