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