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