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