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