doc: Clarify comment about QEMU qcow2 file sizes.
[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
6d7273a0
KK
3345 `(("cyrus-sasl" ,cyrus-sasl)
3346 ("glib" ,glib)
8d4791bf
MW
3347 ("gtk+" ,gtk+)
3348 ("libxml2" ,libxml2)
6d7273a0 3349 ("liboauth" ,liboauth)
8d4791bf 3350 ("libsoup" ,libsoup)
e7305878 3351 ("nettle" ,nettle)
8d4791bf
MW
3352 ("totem-pl-parser" ,totem-pl-parser)))
3353 (arguments
3354 `(#:phases
3355 (modify-phases %standard-phases
3356 (add-after 'unpack 'fix-introspection-install-dir
3357 (lambda* (#:key outputs #:allow-other-keys)
3358 (let ((out (assoc-ref outputs "out")))
3359 (substitute* '("src/Makefile.in"
3360 "libs/pls/Makefile.in"
3361 "libs/net/Makefile.in")
3362 (("@INTROSPECTION_GIRDIR@")
3363 (string-append out "/share/gir-1.0/"))
3364 (("@INTROSPECTION_TYPELIBDIR@")
3365 (string-append out "/lib/girepository-1.0/")))))))))
3366 (native-search-paths
3367 (list (search-path-specification
3368 (variable "GRL_PLUGIN_PATH")
3369 (files (list (string-append "lib/grilo-"
3370 (version-major+minor version)))))))
3371 (home-page "http://live.gnome.org/Grilo")
3372 (synopsis "Framework for discovering and browsing media")
3373 (description
3374 "Grilo is a framework focused on making media discovery and browsing easy
3375for application developers.")
3376 (license license:lgpl2.1+)))
7b212526
MW
3377
3378(define-public grilo-plugins
3379 (package
3380 (name "grilo-plugins")
22753632 3381 (version "0.3.3")
7b212526
MW
3382 (source
3383 (origin
3384 (method url-fetch)
3385 (uri (string-append "mirror://gnome/sources/" name "/"
3386 (version-major+minor version) "/"
3387 name "-" version ".tar.xz"))
3388 (sha256
3389 (base32
22753632 3390 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3391 (build-system gnu-build-system)
3392 (native-inputs
3393 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3394 ("intltool" ,intltool)
3395 ("itstool" ,itstool)
3396 ("pkg-config" ,pkg-config)))
3397 (inputs
3398 `(("grilo" ,grilo)
924ae80f 3399 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3400 ("glib" ,glib)
3401 ("libxml2" ,libxml2)
3402 ("sqlite" ,sqlite)
3403 ("gom" ,gom)
3404 ;; XXX TODO: Add oauth
3405 ;; XXX TODO: Add goa
3406 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3407 ;; XXX TODO: Add lua (needs help finding it)
3408 ("json-glib" ,json-glib)
3409 ("avahi" ,avahi)
3410 ("gmime" ,gmime)
3411 ("libsoup" ,libsoup)
3412 ("libarchive" ,libarchive)
3413 ("totem-pl-parser" ,totem-pl-parser)))
3414 (arguments
3415 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3416 %output
3417 "/lib/grilo-"
3418 ,(version-major+minor version)))
3419 ;; XXX FIXME: Try to get the test suite working. It appears to require
3420 ;; a working system dbus. Inside the build container, all tests fail
3421 ;; with: "assertion failed: (source)". Outside of the build container,
3422 ;; most tests succeed.
3423 #:tests? #f))
3424 (home-page "http://live.gnome.org/Grilo")
3425 (synopsis "Plugins for the Grilo media discovery library")
3426 (description
3427 "Grilo is a framework focused on making media discovery and browsing easy
3428for application developers.")
3429 (license license:lgpl2.1+)))
4e3fc547
MW
3430
3431(define-public totem
3432 (package
3433 (name "totem")
aad56d0e 3434 (version "3.24.0")
4e3fc547
MW
3435 (source
3436 (origin
3437 (method url-fetch)
3438 (uri (string-append "mirror://gnome/sources/" name "/"
3439 (version-major+minor version) "/"
3440 name "-" version ".tar.xz"))
3441 (sha256
3442 (base32
aad56d0e 3443 "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
4e3fc547
MW
3444 (build-system glib-or-gtk-build-system)
3445 (native-inputs
3446 `(("pkg-config" ,pkg-config)
3447 ("desktop-file-utils" ,desktop-file-utils)
3448 ("gobject-introspection" ,gobject-introspection)
3449 ("intltool" ,intltool)
bcb354ad
SB
3450 ("itstool" ,itstool)
3451 ("xmllint" ,libxml2)))
4e3fc547
MW
3452 (propagated-inputs
3453 `(("dconf" ,dconf)))
3454 (inputs
3455 `(("gtk+" ,gtk+)
3456 ("gdk-pixbuf" ,gdk-pixbuf)
3457 ("atk" ,atk)
3458 ("cairo" ,cairo)
3459 ("dbus-glib" ,dbus-glib)
3460 ("clutter" ,clutter)
3461 ("clutter-gtk" ,clutter-gtk)
3462 ("clutter-gst" ,clutter-gst)
3463 ("xproto" ,xproto)
3464 ("libxxf86vm" ,libxxf86vm)
3465 ("libxtst" ,libxtst)
3466 ("libxrandr" ,libxrandr)
3467 ("libxml2" ,libxml2)
3468 ("libsoup" ,libsoup)
3469 ("libpeas" ,libpeas)
3470 ("librsvg" ,librsvg)
3471 ("lirc" ,lirc)
3472 ("gnome-desktop" ,gnome-desktop)
3473 ("gstreamer" ,gstreamer)
3474 ("gst-plugins-base" ,gst-plugins-base)
3475 ("gst-plugins-good" ,gst-plugins-good)
3476 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3477 ("adwaita-icon-theme" ,adwaita-icon-theme)
3478 ;; XXX We use python-2 because libxml2 because itstool (which needs
3479 ;; libxml) currently uses python-2.
3480 ("python" ,python-2)
3481 ("python-pygobject" ,python2-pygobject)
3482 ;; XXX TODO pylint needed for python support
3483 ("totem-pl-parser" ,totem-pl-parser)
3484 ("grilo" ,grilo)
3485 ("grilo-plugins" ,grilo-plugins)
3486 ("nettle" ,nettle)
3487 ("vala" ,vala)))
3488 (arguments
3489 `(#:phases
3490 (modify-phases %standard-phases
3491 (add-after
3492 'install 'wrap-totem
3493 (lambda* (#:key inputs outputs #:allow-other-keys)
3494 (let ((out (assoc-ref outputs "out"))
3495 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3496 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3497 (wrap-program (string-append out "/bin/totem")
3498 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3499 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3500 #t)))))
3501 (home-page "https://wiki.gnome.org/Apps/Videos")
3502 (synopsis "Simple media player for GNOME based on GStreamer")
3503 (description "Totem is a simple yet featureful media player for GNOME
3504which can read a large number of file formats.")
3505 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3506 ;; to be used and distributed together with GStreamer and Totem. See
3507 ;; file://COPYING in the source distribution for details.
3508 (license license:gpl2+)))
f0afb0c8
DH
3509
3510(define-public rhythmbox
3511 (package
3512 (name "rhythmbox")
4faa8abe 3513 (version "3.4.1")
f0afb0c8
DH
3514 (source (origin
3515 (method url-fetch)
3516 (uri (string-append "mirror://gnome/sources/" name "/"
3517 (version-major+minor version) "/"
3518 name "-" version ".tar.xz"))
3519 (sha256
3520 (base32
4faa8abe 3521 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3522 (build-system glib-or-gtk-build-system)
3523 (arguments
3524 `(#:configure-flags
3525 (list "--enable-lirc"
3526 "--enable-python"
3527 "--enable-vala"
3528 "--with-brasero"
3529 "--with-gudev"
3530 "--with-libsecret")
3531 #:phases
3532 (modify-phases %standard-phases
3533 (add-after
3534 'install 'wrap-rhythmbox
3535 (lambda* (#:key inputs outputs #:allow-other-keys)
3536 (let ((out (assoc-ref outputs "out"))
3537 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3538 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3539 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3540 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3541 (wrap-program (string-append out "/bin/rhythmbox")
3542 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3543 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3544 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3545 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3546 #t)))))
3547 (propagated-inputs
3548 `(("dconf" ,dconf)))
3549 (native-inputs
bcb354ad
SB
3550 `(("itstool" ,itstool)
3551 ("intltool" ,intltool)
f0afb0c8
DH
3552 ("glib" ,glib "bin")
3553 ("gobject-introspection" ,gobject-introspection)
3554 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3555 ("pkg-config" ,pkg-config)
3556 ("xmllint" ,libxml2)))
f0afb0c8
DH
3557 (inputs
3558 `(("json-glib" ,json-glib)
3559 ("tdb" ,tdb)
3560 ("gnome-desktop" ,gnome-desktop)
3561 ("python" ,python)
3562 ("python-pygobject" ,python2-pygobject)
3563 ("vala" ,vala)
3564 ("gmime" ,gmime)
3565 ("nettle" ,nettle)
f0afb0c8
DH
3566 ("adwaita-icon-theme" ,adwaita-icon-theme)
3567 ("grilo" ,grilo)
3568 ("grilo-plugins" ,grilo-plugins)
3569 ("gstreamer" ,gstreamer)
3570 ("gst-plugins-base" ,gst-plugins-base)
3571 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3572 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3573 ("libgudev" ,libgudev)
f0afb0c8
DH
3574 ;;("libmtp" ,libmtp) FIXME: Not detected
3575 ("libsecret" ,libsecret)
3576 ("libsoup" ,libsoup)
3577 ("libnotify" ,libnotify)
3578 ("libpeas" ,libpeas)
3579 ("lirc" ,lirc)
3580 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3581 ;;("clutter" ,clutter)
3582 ;;("clutter-gtk" ,clutter-gtk)
3583 ;;("clutter-gst" ,clutter-gst)
3584 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3585 ("atk" ,atk)
3586 ("pango" ,pango)
3587 ("gtk+" ,gtk+)
3588 ;; TODO:
3589 ;; * libgpod
3590 ;; * mx
f0afb0c8
DH
3591 ("brasero" ,brasero)))
3592 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3593 (synopsis "Music player for GNOME")
3594 (description "Rhythmbox is a music playing application for GNOME. It
3595supports playlists, song ratings, and any codecs installed through gstreamer.")
3596 (license license:gpl2+)))
f70d8383
DH
3597
3598(define-public eog
3599 (package
3600 (name "eog")
dc4b64ae 3601 (version "3.24.1")
f70d8383
DH
3602 (source (origin
3603 (method url-fetch)
3604 (uri (string-append "mirror://gnome/sources/" name "/"
3605 (version-major+minor version) "/"
3606 name "-" version ".tar.xz"))
3607 (sha256
3608 (base32
dc4b64ae 3609 "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
f70d8383
DH
3610 (build-system glib-or-gtk-build-system)
3611 (arguments
3612 `(#:phases
3613 (modify-phases %standard-phases
3614 (add-after
3615 'install 'wrap-eog
3616 (lambda* (#:key outputs #:allow-other-keys)
3617 (let ((out (assoc-ref outputs "out"))
3618 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3619 (wrap-program (string-append out "/bin/eog")
3620 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3621 #t)))))
3622 (propagated-inputs
3623 `(("dconf" ,dconf)))
3624 (native-inputs
3625 `(("intltool" ,intltool)
b3546174 3626 ("itstool" ,itstool)
f70d8383
DH
3627 ("glib" ,glib "bin")
3628 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3629 ("pkg-config" ,pkg-config)
3630 ("xmllint" ,libxml2)))
f70d8383
DH
3631 (inputs
3632 `(("gnome-desktop" ,gnome-desktop)
3633 ("shared-mime-info" ,shared-mime-info)
3634 ("adwaita-icon-theme" ,adwaita-icon-theme)
3635 ("exempi" ,exempi)
3636 ("lcms" ,lcms)
3637 ("libexif" ,libexif)
3638 ("libpeas" ,libpeas)
3639 ("libjpeg" ,libjpeg)
3640 ("librsvg" ,librsvg)
3641 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3642 ("gtk+" ,gtk+)))
3643 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3644 (synopsis "GNOME image viewer")
3645 (description "Eye of GNOME is the GNOME image viewer. It
3646supports image conversion, rotation, and slideshows.")
3647 (license license:gpl2+)))
41af5e7b
SB
3648
3649(define-public libgudev
3650 (package
3651 (name "libgudev")
3652 (version "230")
3653 (source (origin
3654 (method url-fetch)
3655 (uri (string-append "mirror://gnome/sources/" name "/"
3656 version "/" name "-" version ".tar.xz"))
3657 (sha256
3658 (base32
3659 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3660 (build-system gnu-build-system)
3661 (native-inputs
3662 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3663 ("gobject-introspection" ,gobject-introspection)
3664 ("pkg-config" ,pkg-config)))
3665 (propagated-inputs
3666 `(("glib" ,glib))) ; required by gudev-1.0.pc
3667 (inputs
3668 `(("udev" ,eudev)))
3669 (home-page "https://wiki.gnome.org/Projects/libgudev")
3670 (synopsis "GObject bindings for libudev")
3671 (description
3672 "This library provides GObject bindings for libudev. It was originally
3673part of udev-extras, then udev, then systemd. It's now a project on its own.")
3674 (license license:lgpl2.1+)))
3dc8828f
SB
3675
3676(define-public gvfs
3677 (package
3678 (name "gvfs")
8e8fefb6 3679 (version "1.32.1")
3dc8828f
SB
3680 (source (origin
3681 (method url-fetch)
3682 (uri (string-append "mirror://gnome/sources/" name "/"
3683 (version-major+minor version) "/"
3684 name "-" version ".tar.xz"))
3685 (sha256
3686 (base32
8e8fefb6 3687 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3688 (build-system gnu-build-system)
3689 (arguments
3690 '(#:tests? #f)) ; XXX: requiring `pidof'
3691 (native-inputs
3692 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3693 ("intltool" ,intltool)
3694 ("pkg-config" ,pkg-config)
3695 ("xsltproc" ,libxslt)))
3696 (inputs
3697 `(("avahi" ,avahi)
3698 ("docbook-xml" ,docbook-xml-4.2)
3699 ("docbook-xsl" ,docbook-xsl)
3700 ("dbus" ,dbus)
3701 ("fuse" ,fuse)
24a78aa6 3702 ("gcr" ,gcr)
3dc8828f
SB
3703 ("glib" ,glib)
3704 ("libarchive" ,libarchive)
3705 ("libbluray" ,libbluray)
8852ca24 3706 ("libcap" ,libcap)
3dc8828f
SB
3707 ("libcdio-paranoia" ,libcdio-paranoia)
3708 ("libgcrypt" ,libgcrypt)
3709 ("libgphoto2" ,libgphoto2)
3710 ("libgudev" ,libgudev)
3711 ("libmtp" ,libmtp)
3712 ("libsecret" ,libsecret)
3713 ("libsmbclient" ,samba)
3714 ("libsoup" ,libsoup)
3715 ("libxml2" ,libxml2)
3716 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3717 ("polkit" ,polkit)
3dc8828f
SB
3718 ("udisks" ,udisks)))
3719 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3720 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3721 (description
8f65585b 3722 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3723abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3724to all applications using the GIO API. It also supports exposing the GVFS
3725mounts to non-GIO applications using FUSE.
3726
3727GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3728DAV, and others.")
3729 (license license:lgpl2.0+)))
7c88b6bd
AW
3730
3731(define-public gusb
3732 (package
3733 (name "gusb")
6b7d7e9b 3734 (version "0.2.9")
7c88b6bd
AW
3735 (source (origin
3736 (method url-fetch)
3737 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3738 "gusb_"
3739 (string-join (string-split version #\.)
3740 "_")
3741 ".tar.gz"))
3742 (sha256
3743 (base32
6b7d7e9b 3744 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3745 (build-system gnu-build-system)
3746 (native-inputs
3747 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3748 ("gobject-introspection" ,gobject-introspection)
3749 ("pkg-config" ,pkg-config)
3750 ("vala" ,vala)
3751 ("autoconf" ,autoconf)
3752 ("automake" ,automake)
3753 ("libtool" ,libtool)
3754 ("gtk-doc" ,gtk-doc)))
3755 (propagated-inputs
3756 ;; Both of these are required by gusb.pc.
3757 `(("glib" ,glib)
3758 ("libusb" ,libusb)))
3759 (arguments
3760 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3761 #:phases
3762 (modify-phases %standard-phases
3763 (add-after 'unpack 'autogen
3764 (lambda _
3765 (and (zero? (system* "gtkdocize"))
3766 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3767 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3768 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3769 (description
3770 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3771asynchronous control, bulk and interrupt transfers with proper cancellation
3772and integration into a mainloop. This makes it easy to integrate low level
3773USB transfers with your high-level application or system daemon.")
3774 (license license:lgpl2.1+)))
0abe1d86
AW
3775
3776(define-public simple-scan
3777 (package
3778 (name "simple-scan")
baca5333 3779 (version "3.24.1")
0abe1d86
AW
3780 (source (origin
3781 (method url-fetch)
3782 (uri (string-append "https://launchpad.net/simple-scan/"
3783 (version-major+minor version) "/"
3784 version "/+download/simple-scan-"
3785 version ".tar.xz"))
3786 (sha256
3787 (base32
baca5333 3788 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
3789 (build-system glib-or-gtk-build-system)
3790 (inputs
3791 `(("gtk" ,gtk+)
3792 ("zlib" ,zlib)
3793 ("cairo" ,cairo)
3794 ("gdk-pixbuf" ,gdk-pixbuf)
3795 ("gusb" ,gusb)
4c928743 3796 ("libsane" ,sane-backends)))
0abe1d86 3797 (native-inputs
b94a6ca0 3798 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3799 ("itstool" ,itstool)
3800 ("colord" ,colord)
3801 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3802 ("pkg-config" ,pkg-config)
bcb354ad
SB
3803 ("vala" ,vala)
3804 ("xmllint" ,libxml2)))
fb9ca511
TGR
3805 (arguments
3806 '(#:configure-flags '("--disable-packagekit")
3807 #:phases
3808 (modify-phases %standard-phases
3809 (add-after 'unpack 'clean
3810 (lambda _
3811 ;; Remove a left-over reference to PackageKit.
3812
3813 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3814
3815 ;; There are some generated C files erroneously
3816 ;; included in the source distribution, and this
3817 ;; one breaks the build by referring to a
3818 ;; non-existent header (packagekit.h)
3819 (delete-file "src/ui.c"))))))
0abe1d86
AW
3820 (home-page "https://launchpad.net/simple-scan")
3821 (synopsis "Document and image scanner")
3822 (description "Simple Scan is an easy-to-use application, designed to let
3823users connect their scanner and quickly have the image/document in an
3824appropriate format. Simple Scan is basically a frontend for SANE - which is
3825the same backend as XSANE uses. This means that all existing scanners will
3826work and the interface is well tested.")
3827 (license license:gpl3+)))
7549f984
SB
3828
3829(define-public epiphany
3830 (package
3831 (name "epiphany")
16c2b151 3832 (version "3.24.2")
7549f984
SB
3833 (source (origin
3834 (method url-fetch)
3835 (uri (string-append "mirror://gnome/sources/" name "/"
3836 (version-major+minor version) "/"
3837 name "-" version ".tar.xz"))
3838 (sha256
3839 (base32
16c2b151 3840 "13f5h7mbxdyjf93jp46hiaxsrngpr6frgf69d8iza7arc060vg2s"))))
7549f984
SB
3841 (build-system glib-or-gtk-build-system)
3842 (arguments
3843 ;; FIXME: tests run under Xvfb, but fail with:
3844 ;; /src/bookmarks/ephy-bookmarks/create:
3845 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
3846 ;; subsystem
3847 ;; FAIL
6f48d9db
MW
3848 '(#:tests? #f
3849 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
3850 (propagated-inputs
3851 `(("dconf" ,dconf)))
7549f984
SB
3852 (native-inputs
3853 `(("intltool" ,intltool)
3854 ("itstool" ,itstool)
bcb354ad
SB
3855 ("pkg-config" ,pkg-config)
3856 ("xmllint" ,libxml2)))
7549f984
SB
3857 (inputs
3858 `(("avahi" ,avahi)
3859 ("gcr" ,gcr)
3860 ("glib-networking" ,glib-networking)
3861 ("gnome-desktop" ,gnome-desktop)
3862 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 3863 ("json-glib" ,json-glib)
7549f984
SB
3864 ("iso-codes" ,iso-codes)
3865 ("libnotify" ,libnotify)
3866 ("libsecret" ,libsecret)
7549f984 3867 ("libxslt" ,libxslt)
7549f984
SB
3868 ("sqlite" ,sqlite)
3869 ("webkitgtk" ,webkitgtk)))
3870 (home-page "https://wiki.gnome.org/Apps/Web")
3871 (synopsis "GNOME web browser")
3872 (description
3873 "Epiphany is a GNOME web browser targeted at non-technical users. Its
3874principles are simplicity and standards compliance.")
3875 (license license:gpl2+)))
a3856b2c
SB
3876
3877(define-public d-feet
3878 (package
3879 (name "d-feet")
7d04b13c 3880 (version "0.3.11")
a3856b2c
SB
3881 (source (origin
3882 (method url-fetch)
3883 (uri (string-append "mirror://gnome/sources/" name "/"
3884 (version-major+minor version) "/"
3885 name "-" version ".tar.xz"))
3886 (sha256
3887 (base32
7d04b13c 3888 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
3889 (build-system glib-or-gtk-build-system)
3890 (arguments
3891 '(#:out-of-source? #f ; tests need to run in the source directory.
3892 #:phases
3893 (modify-phases %standard-phases
3894 (add-before
3895 'check 'pre-check
86aff791 3896 (lambda _
a3856b2c
SB
3897 ;; The test suite requires a running X server.
3898 (system "Xvfb :1 &")
3899 (setenv "DISPLAY" ":1")
3900 ;; Don't fail on missing '/etc/machine-id'.
3901 (setenv "DBUS_FATAL_WARNINGS" "0")
3902 ;; tests.py and window.py don't meet E402:
3903 ;; E402 module level import not at top of file
3904 (substitute* "src/tests/Makefile"
86aff791
MW
3905 (("--ignore=E123") "--ignore=E123,E402"))
3906 #t))
a3856b2c
SB
3907 (add-after
3908 'install 'wrap-program
3909 (lambda* (#:key outputs #:allow-other-keys)
3910 (let ((prog (string-append (assoc-ref outputs "out")
3911 "/bin/d-feet")))
3912 (wrap-program prog
3913 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
3914 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
3915 #t))))))
a3856b2c
SB
3916 (native-inputs
3917 `(("intltool" ,intltool)
3918 ("itstool" ,itstool)
3919 ("pkg-config" ,pkg-config)
3920 ("python-pep8" ,python-pep8)
3921 ("xmllint" ,libxml2)
3922 ("xorg-server" ,xorg-server)))
3923 (inputs
3924 `(("gobject-introspection" ,gobject-introspection)
3925 ("gtk+" ,gtk+)
3926 ("python" ,python-wrapper)
3927 ("python-pygobject" ,python-pygobject)))
3928 (home-page "https://wiki.gnome.org/Apps/DFeet")
3929 (synopsis "D-Bus debugger")
3930 (description
3931 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
3932of running programs and invoke methods on those interfaces.")
3933 (license license:gpl2+)))
c3b97bd9
SB
3934
3935(define-public yelp-xsl
3936 (package
3937 (name "yelp-xsl")
27ad5743 3938 (version "3.20.1")
c3b97bd9
SB
3939 (source (origin
3940 (method url-fetch)
3941 (uri (string-append "mirror://gnome/sources/" name "/"
3942 (version-major+minor version) "/"
3943 name "-" version ".tar.xz"))
3944 (sha256
3945 (base32
27ad5743 3946 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
3947 (build-system gnu-build-system)
3948 (native-inputs
3949 `(("intltool" ,intltool)
3950 ("itstool" ,itstool)
3951 ("xmllint" ,libxml2)))
3952 (home-page "https://wiki.gnome.org/Apps/Yelp")
3953 (synopsis "XSL stylesheets for Yelp")
3954 (description
3955 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
3956to format Docbook and Mallard documents.")
3957 (license license:gpl2+)))
de3d612a
SB
3958
3959(define-public yelp
3960 (package
3961 (name "yelp")
491cc0dc 3962 (version "3.22.0")
de3d612a
SB
3963 (source (origin
3964 (method url-fetch)
3965 (uri (string-append "mirror://gnome/sources/" name "/"
3966 (version-major+minor version) "/"
3967 name "-" version ".tar.xz"))
3968 (sha256
3969 (base32
491cc0dc 3970 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
3971 (build-system glib-or-gtk-build-system)
3972 (native-inputs
3973 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3974 ("intltool" ,intltool)
3975 ("itstool" ,itstool)
3976 ("pkg-config" ,pkg-config)))
3977 (propagated-inputs
3978 `(("dconf" ,dconf)))
3979 (inputs
ad1b7d8b
SB
3980 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3981 ("libxslt" ,libxslt)
de3d612a 3982 ("sqlite" ,sqlite)
4c28ca1d
SB
3983 ("webkitgtk" ,webkitgtk)
3984 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
3985 (home-page "https://wiki.gnome.org/Apps/Yelp")
3986 (synopsis "GNOME help browser")
3987 (description
3988 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
3989man, info, and HTML documents. It can locate documents according to the
3990freedesktop.org help system specification.")
3991 (license license:gpl2+)))
122d0d10
SB
3992
3993(define-public yelp-tools
3994 (package
3995 (name "yelp-tools")
50695955 3996 (version "3.18.0")
122d0d10
SB
3997 (source (origin
3998 (method url-fetch)
3999 (uri (string-append "mirror://gnome/sources/" name "/"
4000 (version-major+minor version) "/"
4001 name "-" version ".tar.xz"))
4002 (sha256
4003 (base32
50695955 4004 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
4005 (build-system gnu-build-system)
4006 (native-inputs
4007 `(("pkg-config" ,pkg-config)))
4008 (propagated-inputs
4009 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4010 `(("itstool" ,itstool)
4011 ("xmllint" ,libxml2)
4012 ("xsltproc" ,libxslt)))
4013 (inputs
4014 `(("yelp-xsl" ,yelp-xsl)))
4015 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4016 (synopsis "Yelp documentation tools")
4017 (description
4018 "Yelp-tools is a collection of scripts and build utilities to help create,
4019manage, and publish documentation for Yelp and the web. Most of the heavy
4020lifting is done by packages like yelp-xsl and itstool. This package just
4021wraps things up in a developer-friendly way.")
4022 (license license:gpl2+)))
af8f9f23
RW
4023
4024(define-public libgee
4025 (package
4026 (name "libgee")
afd8e16b 4027 (version "0.20.0")
af8f9f23
RW
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "mirror://gnome/sources/" name "/"
4031 (version-major+minor version) "/"
4032 name "-" version ".tar.xz"))
4033 (sha256
4034 (base32
afd8e16b 4035 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
af8f9f23
RW
4036 (build-system gnu-build-system)
4037 (arguments
4038 `(#:phases
4039 (modify-phases %standard-phases
4040 (add-after 'unpack 'fix-introspection-install-dir
4041 (lambda* (#:key outputs #:allow-other-keys)
4042 (let ((out (assoc-ref outputs "out")))
4043 (substitute* "gee/Makefile.in"
4044 (("@INTROSPECTION_GIRDIR@")
4045 (string-append out "/share/gir-1.0/"))
4046 (("@INTROSPECTION_TYPELIBDIR@")
4047 (string-append out "/lib/girepository-1.0/")))))))))
4048 (native-inputs
4049 `(("glib" ,glib "bin")
4050 ("pkg-config" ,pkg-config)))
4051 (inputs
4052 `(("glib" ,glib)
4053 ("gobject-introspection" ,gobject-introspection)))
4054 (home-page "https://wiki.gnome.org/Projects/Libgee")
4055 (synopsis "GObject collection library")
4056 (description
4057 "Libgee is a utility library providing GObject-based interfaces and
4058classes for commonly used data structures.")
4059 (license license:lgpl2.1+)))
b0f9c4b8
RW
4060
4061(define-public gexiv2
4062 (package
4063 (name "gexiv2")
b7c0c756 4064 (version "0.10.6")
b0f9c4b8
RW
4065 (source (origin
4066 (method url-fetch)
4067 (uri (string-append "mirror://gnome/sources/" name "/"
4068 (version-major+minor version) "/"
4069 name "-" version ".tar.xz"))
4070 (sha256
4071 (base32
b7c0c756 4072 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
b0f9c4b8
RW
4073 (build-system gnu-build-system)
4074 (native-inputs
4075 `(("glib" ,glib "bin")
4076 ("pkg-config" ,pkg-config)))
4077 (propagated-inputs
4078 ;; Listed in "Requires" section of gexiv2.pc
4079 `(("exiv2" ,exiv2)))
4080 (inputs
4081 `(("glib" ,glib)
4082 ("gobject-introspection" ,gobject-introspection)))
4083 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4084 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4085 (description
4086 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4087allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4088metadata in photo and video files of various formats.")
4089 (license license:gpl2+)))
fed5a689
RW
4090
4091(define-public shotwell
4092 (package
4093 (name "shotwell")
dfb0323d 4094 (version "0.26.1")
fed5a689
RW
4095 (source (origin
4096 (method url-fetch)
4097 (uri (string-append "mirror://gnome/sources/" name "/"
4098 (version-major+minor version) "/"
4099 name "-" version ".tar.xz"))
4100 (sha256
4101 (base32
dfb0323d 4102 "0xak1f69lp1yx3p8jgmr9c0z3jypi8zjpy3kiknn5n9g2f5cqq0a"))))
fed5a689 4103 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4104 (propagated-inputs
4105 `(("dconf" ,dconf)))
fed5a689
RW
4106 (native-inputs
4107 `(("pkg-config" ,pkg-config)
f819c21d 4108 ("itstool" ,itstool)
b94a6ca0 4109 ("gettext" ,gettext-minimal)
77e9c993 4110 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4111 ("itstool" ,itstool)
4112 ("vala" ,vala)))
fed5a689 4113 (inputs
735b8db6
TGR
4114 `(("glib:bin" ,glib "bin")
4115 ("gstreamer" ,gstreamer)
fed5a689 4116 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4117 ("libgdata" ,libgdata)
fed5a689
RW
4118 ("libgee" ,libgee)
4119 ("gexiv2" ,gexiv2)
4120 ("libraw" ,libraw)
4121 ("json-glib" ,json-glib)
7108425c 4122 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4123 ("sqlite" ,sqlite)
4124 ("libsoup" ,libsoup)
4125 ("libxml2" ,libxml2)
fed5a689 4126 ("libgudev" ,libgudev)
522fc32e
LF
4127 ("libgphoto2" ,libgphoto2)
4128 ("gcr" ,gcr)))
fed5a689
RW
4129 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4130 (synopsis "Photo manager for GNOME 3")
4131 (description
4132 "Shotwell is a digital photo manager designed for the GNOME desktop
4133environment. It allows you to import photos from disk or camera, organize
4134them by keywords and events, view them in full-window or fullscreen mode, and
4135share them with others via social networking and more.")
4136 (license license:lgpl2.1+)))
293ff8b2
DT
4137
4138(define-public file-roller
4139 (package
4140 (name "file-roller")
e62a38d4 4141 (version "3.24.1")
293ff8b2
DT
4142 (source (origin
4143 (method url-fetch)
4144 (uri (string-append "mirror://gnome/sources/" name "/"
4145 (version-major+minor version) "/"
4146 name "-" version ".tar.xz"))
4147 (sha256
4148 (base32
e62a38d4 4149 "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
293ff8b2 4150 (build-system glib-or-gtk-build-system)
c282c55d
SB
4151 (arguments
4152 '(#:phases
4153 (modify-phases %standard-phases
4154 (add-before 'install 'skip-gtk-update-icon-cache
4155 (lambda _
4156 ;; Don't create 'icon-theme.cache'
4157 (substitute* (find-files "data" "^Makefile$")
4158 (("gtk-update-icon-cache") (which "true")))
4159 #t)))))
293ff8b2
DT
4160 (native-inputs
4161 `(("intltool" ,intltool)
4162 ("pkg-config" ,pkg-config)))
4163 ;; TODO: Add libnautilus.
4164 (inputs
4165 `(("gtk+" ,gtk+)
4166 ("gdk-pixbuf" ,gdk-pixbuf)
4167 ("json-glib" ,json-glib)
4168 ("libarchive" ,libarchive)
4169 ("libnotify" ,libnotify)
4170 ("nettle" ,nettle)
4171 ("itstool" ,itstool)
4172 ("libxml2" ,libxml2)))
4173 (synopsis "Graphical archive manager for GNOME")
4174 (description "File Roller is an archive manager for the GNOME desktop
4175environment that allows users to view, unpack, and create compressed archives
4176such as gzip tarballs.")
4177 (home-page "http://fileroller.sourceforge.net/")
4178 (license license:gpl2+)))
7ce49365
SB
4179
4180(define-public gnome-session
4181 (package
4182 (name "gnome-session")
17cf06c3 4183 (version "3.24.1")
7ce49365
SB
4184 (source (origin
4185 (method url-fetch)
4186 (uri (string-append "mirror://gnome/sources/" name "/"
4187 (version-major+minor version) "/"
4188 name "-" version ".tar.xz"))
4189 (sha256
4190 (base32
17cf06c3 4191 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4192 (arguments
4193 '(#:phases
4194 (modify-phases %standard-phases
4195 (add-before 'configure 'pre-configure
4196 (lambda* (#:key outputs #:allow-other-keys)
4197 ;; Use elogind instead of systemd.
4198 (substitute* "configure"
4199 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4200 "libelogind")
4201 (("systemd") "elogind"))
4202 (substitute* "gnome-session/gsm-systemd.c"
4203 (("#include <systemd/sd-login.h>")
4204 "#include <elogind/sd-login.h>"))
4205 ;; Remove uses of the systemd journal.
4206 (substitute* "gnome-session/main.c"
4207 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4208 (substitute* "gnome-session/gsm-manager.c"
4209 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4210 (substitute* "gnome-session/gsm-autostart-app.c"
4211 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4212 #t))
4213 (add-after 'install 'wrap-gnome-session
4214 (lambda* (#:key inputs outputs #:allow-other-keys)
4215 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4216 (let ((glib (assoc-ref inputs "glib:bin"))
4217 (out (assoc-ref outputs "out")))
4218 (wrap-program (string-append out "/bin/gnome-session")
4219 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4220 #t)))
4221 (add-after 'install 'disable-hardware-acceleration-check
4222 (lambda* (#:key outputs #:allow-other-keys)
4223 ;; Do not abort if hardware acceleration is missing. This allows
4224 ;; GNOME to run in QEMU and on low-end devices.
4225 (let ((out (assoc-ref outputs "out")))
4226 (substitute* (string-append out
4227 "/share/xsessions/gnome.desktop")
4228 (("gnome-session")
4229 "gnome-session --disable-acceleration-check"))
a0d7baaf 4230 #t))))
6cbc8d57 4231
2914af3c
AW
4232 #:configure-flags
4233 '("--enable-elogind")))
ba3cb5ab 4234 (build-system glib-or-gtk-build-system)
7ce49365
SB
4235 (native-inputs
4236 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4237 ("pkg-config" ,pkg-config)
4238 ("intltool" ,intltool)
4239 ("xsltproc" ,libxslt)))
4240 (inputs
2914af3c
AW
4241 `(("elogind" ,elogind)
4242 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4243 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4244 ("gtk+" ,gtk+)
4245 ("json-glib" ,json-glib)
4246 ("libsm" ,libsm)
4247 ("libxcomposite" ,libxcomposite)
4248 ("libxtst" ,libxtst)
4249 ("mesa" ,mesa)
4250 ("upower" ,upower)
4251 ("xtrans" ,xtrans)))
4252 (synopsis "Session manager for GNOME")
4253 (description
4254 "This package contains the GNOME session manager, as well as a
4255configuration program to choose applications starting on login.")
4256 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4257 (license license:gpl2+)))
f47ba77e
SB
4258
4259(define-public gjs
4260 (package
4261 (name "gjs")
144f94d0 4262 (version "1.48.3")
f47ba77e
SB
4263 (source (origin
4264 (method url-fetch)
4265 (uri (string-append "mirror://gnome/sources/" name "/"
4266 (version-major+minor version) "/"
4267 name "-" version ".tar.xz"))
4268 (sha256
4269 (base32
144f94d0 4270 "0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6"))))
f47ba77e
SB
4271 (build-system gnu-build-system)
4272 (arguments
4273 '(#:phases
4274 (modify-phases %standard-phases
4275 (add-before
4276 'check 'pre-check
4277 (lambda _
fc119619
MW
4278 ;; The test suite requires a running X server.
4279 (system "Xvfb :1 &")
4280 (setenv "DISPLAY" ":1")
4281
f47ba77e
SB
4282 ;; For the missing /etc/machine-id.
4283 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4284
144f94d0
KK
4285 ;; Our mozjs-38 package does not compile the required Intl API
4286 ;; support for these failing tests.
4287 (substitute* "installed-tests/js/testLocale.js"
4288 ((".*toBeDefined.*") "")
4289 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4290 #t)))))
4291 (native-inputs
4292 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4293 ("pkg-config" ,pkg-config)
4294 ("xmllint" ,libxml2)
4295 ;; For testing
4296 ("dbus-launch" ,dbus)
4297 ("uuidgen" ,util-linux)
4298 ("xvfb" ,xorg-server)))
4299 (propagated-inputs
4300 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4301 `(("cairo" ,cairo)
4302 ("gobject-introspection" ,gobject-introspection)
4303 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4304 (inputs
4305 `(("gtk+" ,gtk+)
4306 ("readline" ,readline)))
4307 (synopsis "Javascript bindings for GNOME")
4308 (home-page "http://live.gnome.org/Gjs")
4309 (description
4310 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4311javascript engine and the GObject introspection framework.")
4312 (license license:gpl2+)))
329d731b
DH
4313
4314(define-public gedit
4315 (package
4316 (name "gedit")
9beae2a2 4317 (version "3.22.0")
329d731b
DH
4318 (source (origin
4319 (method url-fetch)
4320 (uri (string-append "mirror://gnome/sources/" name "/"
4321 (version-major+minor version) "/"
4322 name "-" version ".tar.xz"))
4323 (sha256
4324 (base32
9beae2a2 4325 "0i9z5d31vibb3dd329gwvyga38zq5k1a2glcdq7m93ycbl5mlfq6"))))
329d731b
DH
4326 (build-system glib-or-gtk-build-system)
4327 (arguments
33cd9bef
SB
4328 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
4329 #:phases
329d731b
DH
4330 (modify-phases %standard-phases
4331 (add-after
4332 'install 'wrap-gedit
4333 (lambda* (#:key inputs outputs #:allow-other-keys)
4334 (let ((out (assoc-ref outputs "out"))
4335 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4336 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4337 (python-path (getenv "PYTHONPATH")))
329d731b 4338 (wrap-program (string-append out "/bin/gedit")
afc25242 4339 ;; For plugins.
329d731b 4340 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4341 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4342 ;; For language-specs.
4343 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4344 "/share")))))
4345 #t)))))
4346 (propagated-inputs
4347 `(("dconf" ,dconf)))
4348 (native-inputs
4349 `(("intltool" ,intltool)
b3546174 4350 ("itstool" ,itstool)
329d731b
DH
4351 ("gobject-introspection" ,gobject-introspection)
4352 ("pkg-config" ,pkg-config)))
4353 (inputs
4354 `(("glib" ,glib)
4355 ("gtk+" ,gtk+)
4356 ("gtksourceview" ,gtksourceview)
4357 ("libpeas" ,libpeas)
4358 ("libxml2" ,libxml2)
329d731b
DH
4359 ("iso-codes" ,iso-codes)
4360 ("python-pygobject" ,python-pygobject)
4361 ("python" ,python)
4362 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4363 ("libx11" ,libx11)
4364 ("vala" ,vala)
4365 ("adwaita-icon-theme" ,adwaita-icon-theme)
4366 ("libsoup" ,libsoup)
4367 ("gnome-desktop" ,gnome-desktop)))
4368 (home-page "https://wiki.gnome.org/Apps/Gedit")
4369 (synopsis "GNOME text editor")
4370 (description "While aiming at simplicity and ease of use, gedit is a
4371powerful general purpose text editor.")
4372 (license license:gpl2+)))
b7179363
SB
4373
4374(define-public zenity
4375 (package
4376 (name "zenity")
380cb96e 4377 (version "3.24.0")
b7179363
SB
4378 (source (origin
4379 (method url-fetch)
4380 (uri (string-append "mirror://gnome/sources/" name "/"
4381 (version-major+minor version) "/"
4382 name "-" version ".tar.xz"))
4383 (sha256
4384 (base32
380cb96e 4385 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4386 (build-system gnu-build-system)
4387 (native-inputs
b94a6ca0 4388 `(("gettext" ,gettext-minimal)
b7179363
SB
4389 ("itstool" ,itstool)
4390 ("pkg-config" ,pkg-config)))
4391 (inputs
4392 `(("libnotify" ,libnotify)
4393 ("webkitgtk" ,webkitgtk)))
4394 (synopsis "Display graphical dialog boxes from shell scripts")
4395 (home-page "http://www.gnome.org")
4396 (description
4397 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4398to display dialog boxes from the commandline and shell scripts.")
4399 (license license:lgpl2.0+)))
60c3627c
SB
4400
4401(define-public mutter
4402 (package
4403 (name "mutter")
de20d910 4404 (version "3.24.2")
60c3627c 4405 (source (origin
86c44e72
KK
4406 (method url-fetch)
4407 (uri (string-append "mirror://gnome/sources/" name "/"
4408 (version-major+minor version) "/"
4409 name "-" version ".tar.xz"))
60c3627c
SB
4410 (sha256
4411 (base32
de20d910 4412 "043q3384vwrkjdfhbwn9pwdml6z0g0ad0cj2fjnjzg6402i67071"))))
86c44e72
KK
4413 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4414 ;; versions of cogl and clutter. As a result, many of the inputs,
4415 ;; propagated-inputs, and configure flags used in cogl and clutter are
4416 ;; needed here as well.
60c3627c
SB
4417 (build-system gnu-build-system)
4418 (arguments
4419 '(#:configure-flags
4420 ;; XXX: build fails with [-Werror]:
4421 ;; backends/meta-cursor-renderer.c:112:5: error:
4422 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4423 (list "--enable-compile-warnings=minimum"
4424
86c44e72 4425 "--enable-native-backend"
a88d5a0c
MW
4426
4427 ;; The following flags are needed for the bundled clutter
4428 "--enable-x11-backend=yes"
4429
4430 ;; the remaining flags are needed for the bundled cogl
4431 "--enable-cogl-gst"
4432 (string-append "--with-gl-libname="
4433 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4434 "/lib/libGL.so"))
4435 #:phases
4436 (modify-phases %standard-phases
86c44e72
KK
4437 ;; Replace references to systemd libraries to elogind references.
4438 (add-before 'configure 'use-elogind
4439 (lambda _
4440 (substitute* (list "configure"
4441 "src/backends/native/meta-launcher.c"
4442 "src/core/main.c")
4443 (("systemd") "elogind"))
4444 #t)))))
60c3627c
SB
4445 (native-inputs
4446 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4447 ("gobject-introspection" ,gobject-introspection)
4448 ("intltool" ,intltool)
f23052a6
DC
4449 ("pkg-config" ,pkg-config)
4450 ;; For git build
4451 ("autoconf" ,autoconf)
4452 ("automake" ,automake)
4453 ("libtool" ,libtool)))
60c3627c 4454 (propagated-inputs
a88d5a0c
MW
4455 `(;; libmutter.pc refers to these:
4456 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4457 ("gtk+" ,gtk+)
4458 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4459 ("atk" ,atk)
4460 ("cairo" ,cairo)
4461 ("gdk-pixbuf" ,gdk-pixbuf)
4462 ("glib" ,glib)
4463 ("glib" ,glib)
60c3627c 4464 ("gtk+" ,gtk+)
a88d5a0c
MW
4465 ("json-glib" ,json-glib)
4466 ("libinput" ,libinput)
4467 ("libx11" ,libx11)
4468 ("libxcomposite" ,libxcomposite)
4469 ("libxdamage" ,libxdamage)
4470 ("libxext" ,libxext)
4471 ("libxfixes" ,libxfixes)
4472 ("libxkbcommon" ,libxkbcommon)
4473 ("libxrandr" ,libxrandr)
4474 ("mesa" ,mesa)
4475 ("pango" ,pango)
4476 ("udev" ,eudev)
a88d5a0c 4477 ("xinput" ,xinput)))
60c3627c 4478 (inputs
86c44e72
KK
4479 `(("elogind" ,elogind)
4480 ("gnome-desktop" ,gnome-desktop)
60c3627c 4481 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4482 ("libgudev" ,libgudev)
60c3627c
SB
4483 ("libice" ,libice)
4484 ("libsm" ,libsm)
60c3627c 4485 ("libxkbfile" ,libxkbfile)
a88d5a0c 4486 ("libxrandr" ,libxrandr)
86c44e72 4487 ("libxtst" ,libxtst)
60c3627c
SB
4488 ("startup-notification" ,startup-notification)
4489 ("upower-glib" ,upower)
4490 ("xkeyboard-config" ,xkeyboard-config)
4491 ("zenity" ,zenity)))
4492 (synopsis "Window and compositing manager")
4493 (home-page "http://www.gnome.org")
4494 (description
4495 "Mutter is a window and compositing manager that displays and manages your
4496desktop via OpenGL. Mutter combines a sophisticated display engine using the
4497Clutter toolkit with solid window-management logic inherited from the Metacity
4498window manager.")
86c44e72 4499 (license license:gpl2+)))
685cee87
SB
4500
4501(define-public gnome-online-accounts
4502 (package
4503 (name "gnome-online-accounts")
8cdbaebc 4504 (version "3.24.1")
685cee87
SB
4505 (source (origin
4506 (method url-fetch)
4507 (uri (string-append "mirror://gnome/sources/" name "/"
4508 (version-major+minor version) "/"
4509 name "-" version ".tar.xz"))
4510 (sha256
4511 (base32
8cdbaebc 4512 "0lgniqmkr6ffdw3kcqd34lvp969j2q2qzcy30zkzl5c09r7anc0a"))))
685cee87
SB
4513 (build-system glib-or-gtk-build-system)
4514 (native-inputs
4515 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4516 ("gobject-introspection" ,gobject-introspection)
4517 ("intltool" ,intltool)
4518 ("pkg-config" ,pkg-config)
4519 ("xsltproc" ,libxslt)))
4520 (propagated-inputs
4521 `(("glib" ,glib) ; required by goa-1.0.pc
4522 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4523 (inputs
4524 `(("docbook-xsl" ,docbook-xsl)
4525 ("json-glib" ,json-glib)
4526 ("libsecret" ,libsecret)
4527 ("rest" ,rest)
4528 ("telepathy-glib" ,telepathy-glib)
4529 ("webkitgtk" ,webkitgtk)))
4530 (synopsis "Single sign-on framework for GNOME")
4531 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4532 (description
4533 "GNOME Online Accounts provides interfaces so that applications and
4534libraries in GNOME can access the user's online accounts. It has providers for
4535Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4536Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4537 (license license:lgpl2.0+)))
df217748
SB
4538
4539(define-public evolution-data-server
4540 (package
4541 (name "evolution-data-server")
743aebd7 4542 (version "3.24.2")
df217748
SB
4543 (source (origin
4544 (method url-fetch)
4545 (uri (string-append "mirror://gnome/sources/" name "/"
4546 (version-major+minor version) "/"
4547 name "-" version ".tar.xz"))
4548 (sha256
4549 (base32
743aebd7
MB
4550 "1ywqy939n27v3kchlnyxs6ikhjxmlasv6f08ap4bldgr121vkfx9"))))
4551 (build-system cmake-build-system)
df217748 4552 (arguments
743aebd7 4553 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4554 #:tests? #f
4555 #:configure-flags
743aebd7
MB
4556 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4557 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4558 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4559 "-DENABLE_VALA_BINDINGS=ON"
4560 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
df217748
SB
4561 #:phases
4562 (modify-phases %standard-phases
743aebd7 4563 (add-after 'unpack 'patch-paths
df217748
SB
4564 (lambda _
4565 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4566 (("/bin/rm") (which "rm")))
4567 #t)))))
4568 (native-inputs
4569 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4570 ("gobject-introspection" ,gobject-introspection)
4571 ("gperf" ,gperf)
4572 ("intltool" ,intltool)
4573 ("pkg-config" ,pkg-config)
a73c1cf8 4574 ("vala" ,vala)
743aebd7 4575 ("python" ,python-wrapper)))
df217748
SB
4576 (propagated-inputs
4577 ;; These are all in the Requires field of .pc files.
4578 `(("gtk+" ,gtk+)
4579 ("libical" ,libical)
4580 ("libsecret" ,libsecret)
4581 ("libsoup" ,libsoup)
4582 ("nss" ,nss)
4583 ("sqlite" ,sqlite)))
4584 (inputs
4585 `(("bdb" ,bdb)
4586 ("gcr" ,gcr)
4587 ("gnome-online-accounts" ,gnome-online-accounts)
743aebd7
MB
4588 ("libgweather" ,libgweather)
4589 ("mit-krb5" ,mit-krb5)
4590 ("openldap" ,openldap)))
df217748
SB
4591 (synopsis "Store address books and calendars")
4592 (home-page "https://wiki.gnome.org/Apps/Evolution")
4593 (description
4594 "This package provides a unified backend for programs that work with
4595contacts, tasks, and calendar information. It was originally developed for
4596Evolution (hence the name), but is now used by other packages as well.")
4597 (license license:lgpl2.0)))
bd7dfafa
SB
4598
4599(define-public caribou
4600 (package
4601 (name "caribou")
fe964bb5 4602 (version "0.4.21")
bd7dfafa
SB
4603 (source (origin
4604 (method url-fetch)
4605 (uri (string-append "mirror://gnome/sources/" name "/"
4606 (version-major+minor version) "/"
4607 name "-" version ".tar.xz"))
4608 (sha256
4609 (base32
fe964bb5 4610 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4611 (build-system glib-or-gtk-build-system)
4612 (arguments
4613 '(#:phases
4614 (modify-phases %standard-phases
4615 (add-before
4616 'build 'pre-build
4617 (lambda* (#:key outputs #:allow-other-keys)
4618 (let ((out (assoc-ref outputs "out")))
4619 ;; Use absolute shared library path in Caribou-1.0.typelib.
4620 (substitute* "libcaribou/Makefile"
4621 (("--shared-library=libcaribou.so")
4622 (string-append "--shared-library="
4623 out "/lib/libcaribou.so")))
4624 #t)))
4625 (add-after 'install 'wrap-programs
4626 (lambda* (#:key outputs #:allow-other-keys)
4627 (let* ((out (assoc-ref outputs "out"))
4628 (python-path (getenv "PYTHONPATH"))
4629 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4630 (for-each
4631 (lambda (prog)
4632 (wrap-program prog
4633 `("PYTHONPATH" ":" prefix (,python-path))
4634 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4635 (list (string-append out "/bin/caribou-preferences")
4636 (string-append out "/libexec/antler-keyboard"))))
4637 #t)))))
4638 (native-inputs
4639 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4640 ("gobject-introspection" ,gobject-introspection)
4641 ("intltool" ,intltool)
4642 ("pkg-config" ,pkg-config)
4643 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4644 ("vala" ,vala)
4645 ("xsltproc" ,libxslt)))
4646 (propagated-inputs
4647 ;; caribou-1.0.pc refers to all these.
4648 `(("libgee" ,libgee)
4649 ("libxklavier" ,libxklavier)
4650 ("libxtst" ,libxtst)
4651 ("gtk+" ,gtk+)))
4652 (inputs
4653 `(("clutter" ,clutter)
4654 ("dconf" ,dconf)
4655 ("gtk+-2" ,gtk+-2)
4656 ("python-pygobject" ,python2-pygobject)))
4657 (synopsis "Text entry and UI navigation application")
4658 (home-page "https://wiki.gnome.org/Projects/Caribou")
4659 (description
4660 "Caribou is an input assistive technology intended for switch and pointer
4661users.")
4662 (license license:lgpl2.1)))
ba5dd105 4663
ba5dd105
SB
4664(define-public network-manager
4665 (package
4666 (name "network-manager")
856ca567 4667 (version "1.8.0")
ba5dd105
SB
4668 (source (origin
4669 (method url-fetch)
4670 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4671 (version-major+minor version) "/"
4672 "NetworkManager-" version ".tar.xz"))
4673 (sha256
4674 (base32
856ca567 4675 "17pn7kzilyl0qk525gp9xnbz4x0ssrdmgk1lvw95pyfd6rm5qnps"))
fd070f35
CM
4676 (snippet
4677 '(begin
4678 (use-modules (guix build utils))
4679 (substitute* "configure"
4680 ;; Replace libsystemd-login with libelogind.
4681 (("libsystemd-login") "libelogind"))
4682 (substitute* "src/devices/wwan/nm-modem-manager.c"
4683 (("systemd") "elogind"))
4684 (substitute* "src/nm-session-monitor.c"
4685 (("systemd") "elogind"))
4686 (substitute* "./src/nm-logging.c"
4687 (("systemd") "elogind"))))))
ba5dd105
SB
4688 (build-system gnu-build-system)
4689 (outputs '("out"
4690 "doc")) ; 8 MiB of gtk-doc HTML
4691 (arguments
4692 '(#:configure-flags
4693 (let ((out (assoc-ref %outputs "out"))
4694 (doc (assoc-ref %outputs "doc"))
4695 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4696 "/sbin/dhclient")))
fd070f35
CM
4697 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4698 "--with-consolekit=no"
4699 "--with-crypto=gnutls"
ba5dd105
SB
4700 "--disable-config-plugin-ibft"
4701 "--sysconfdir=/etc"
4702 "--localstatedir=/var"
4703 (string-append "--with-udev-dir="
4704 out "/lib/udev")
4705 (string-append "--with-dbus-sys-dir="
4706 out "/etc/dbus-1/system.d")
4707 (string-append "--with-html-dir="
4708 doc "/share/gtk-doc/html")
4709 (string-append "--with-dhclient=" dhclient)))
4710 #:phases
4711 (modify-phases %standard-phases
b4f59d87
AW
4712 (add-before 'configure 'pre-configure
4713 (lambda _
4714 ;; These tests try to test aspects of network-manager's
4715 ;; functionality within restricted containers, but they don't
4716 ;; cope with being already in the Guix build jail as that jail
4717 ;; lacks some features that they would like to proxy over (like
4718 ;; a /sys mount).
d04687dc
HG
4719 (substitute* '("Makefile.in")
4720 (("src/platform/tests/test-address-linux") " ")
4721 (("src/platform/tests/test-cleanup-linux") " ")
4722 (("src/platform/tests/test-link-linux") " ")
4723 (("src/platform/tests/test-route-linux") " ")
4724 (("src/devices/tests/test-arping") " ")
4725 (("src/devices/tests/test-lldp") " ")
4726 (("src/tests/test-route-manager-linux") " "))
b4f59d87 4727 #t))
ba5dd105
SB
4728 (add-before 'check 'pre-check
4729 (lambda _
4730 ;; For the missing /etc/machine-id.
4731 (setenv "DBUS_FATAL_WARNINGS" "0")
4732 #t))
4733 (replace 'install
4734 (lambda _
4735 (zero? (system* "make"
4736 "sysconfdir=/tmp"
142bdcbc
SB
4737 "rundir=/tmp"
4738 "statedir=/tmp"
d04687dc 4739 "nmstatedir=/tmp/nm"
ba5dd105 4740 "install")))))))
b93502d6
DC
4741 (propagated-inputs
4742 `(("glib" ,glib)))
ba5dd105
SB
4743 (native-inputs
4744 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4745 ("gobject-introspection" ,gobject-introspection)
d04687dc 4746 ("docbook-xsl" ,docbook-xsl)
ba5dd105 4747 ("intltool" ,intltool)
d04687dc
HG
4748 ("libxslt" ,libxslt)
4749 ("libxml2" ,libxml2)
ba5dd105
SB
4750 ("pkg-config" ,pkg-config)
4751 ;; For testing.
4752 ("python" ,python-wrapper)
4753 ("python-dbus" ,python-dbus)
4754 ("python-pygobject" ,python-pygobject)))
4755 (inputs
856ca567
KK
4756 `(("curl" ,curl)
4757 ("cyrus-sasl" ,cyrus-sasl)
4758 ("dbus-glib" ,dbus-glib)
ba5dd105 4759 ("dnsmasq" ,dnsmasq)
856ca567 4760 ("eudev" ,eudev)
ba5dd105
SB
4761 ("gnutls" ,gnutls)
4762 ("iptables" ,iptables)
4763 ("isc-dhcp" ,isc-dhcp)
d04687dc 4764 ("jansson" ,jansson)
ba5dd105
SB
4765 ("libgcrypt" ,libgcrypt)
4766 ("libgudev" ,libgudev)
4767 ("libndp" ,libndp)
4768 ("libnl" ,libnl)
4769 ("libsoup" ,libsoup)
142bdcbc 4770 ("modem-manager" ,modem-manager)
ba5dd105
SB
4771 ("polkit" ,polkit)
4772 ("ppp" ,ppp)
4773 ("readline" ,readline)
fd070f35
CM
4774 ("util-linux" ,util-linux)
4775 ("elogind" ,elogind)))
ba5dd105
SB
4776 (synopsis "Network connection manager")
4777 (home-page "http://www.gnome.org/projects/NetworkManager/")
4778 (description
4779 "NetworkManager is a system network service that manages your network
4780devices and connections, attempting to keep active network connectivity when
4781available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4782devices, and provides VPN integration with a variety of different VPN
4783services.")
29d2f451
LC
4784 (license license:gpl2+)
4785 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4786
e5e1df4d
DC
4787(define-public mobile-broadband-provider-info
4788 (package
4789 (name "mobile-broadband-provider-info")
4790 (version "20151214")
4791 (source (origin
4792 (method url-fetch)
4793 (uri (string-append
4794 "mirror://gnome/sources/"
4795 "mobile-broadband-provider-info/" version "/"
4796 "mobile-broadband-provider-info-" version ".tar.xz"))
4797 (sha256
4798 (base32
4799 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
4800 (build-system gnu-build-system)
4801 (arguments
4802 `(#:tests? #f)) ; No tests
4803 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4804 (synopsis "Database of broadband connection configuration")
4805 (description "Database of broadband connection configuration.")
4806 (license license:public-domain)))
4807
4d62a9d3
SB
4808(define-public network-manager-applet
4809 (package
4810 (name "network-manager-applet")
240cee8a 4811 (version "1.8.2")
4d62a9d3
SB
4812 (source (origin
4813 (method url-fetch)
4814 (uri (string-append "mirror://gnome/sources/" name "/"
4815 (version-major+minor version) "/"
4816 name "-" version ".tar.xz"))
4817 (sha256
4818 (base32
240cee8a 4819 "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry"))))
4d62a9d3 4820 (build-system glib-or-gtk-build-system)
240cee8a 4821 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
4822 (native-inputs
4823 `(("intltool" ,intltool)
4824 ("gobject-introspection" ,gobject-introspection)
4825 ("pkg-config" ,pkg-config)))
4826 (propagated-inputs
4827 ;; libnm-gtk.pc refers to all these.
4828 `(("dbus-glib" ,dbus-glib)
4829 ("gtk+" ,gtk+)
4830 ("network-manager" ,network-manager)))
4831 (inputs
4832 `(("iso-codes" ,iso-codes)
4833 ("libgudev" ,libgudev)
4834 ("libnotify" ,libnotify)
2116bfb3 4835 ("libsecret" ,libsecret)
240cee8a
KK
4836 ("libselinux" ,libselinux)
4837 ("jansson" ,jansson) ; for team support
4838 ("modem-manager" ,modem-manager)))
4d62a9d3
SB
4839 (synopsis "Applet for managing network connections")
4840 (home-page "http://www.gnome.org/projects/NetworkManager/")
4841 (description
4842 "This package contains a systray applet for NetworkManager. It displays
4843the available networks and allows users to easily switch between them.")
4844 (license license:gpl2+)))
56196594
RW
4845
4846(define-public libxml++
4847 (package
4848 (name "libxml++")
8344a85e 4849 (version "3.0.1")
56196594
RW
4850 (source (origin
4851 (method url-fetch)
4852 (uri (string-append "mirror://gnome/sources/" name "/"
4853 (version-major+minor version) "/"
4854 name "-" version ".tar.xz"))
4855 (sha256
4856 (base32
8344a85e 4857 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
4858 (build-system gnu-build-system)
4859 ;; libxml++-3.0.pc refers to all these.
4860 (propagated-inputs
4861 `(("libxml2" ,libxml2)
4862 ("glibmm" ,glibmm)))
4863 (native-inputs
4864 `(("perl" ,perl)
4865 ("pkg-config" ,pkg-config)))
4866 (home-page "http://libxmlplusplus.sourceforge.net/")
4867 (synopsis "C++ wrapper for XML parser library libxml2")
4868 (description
4869 "This package provides a C++ wrapper for the XML parser library
4870libxml2.")
4871 (license license:lgpl2.1+)))
df12f04a 4872
b61d9627
AW
4873(define-public libxml++-2
4874 (package
4875 (inherit libxml++)
4876 (name "libxml++")
4877 (version "2.40.1")
4878 (source (origin
4879 (method url-fetch)
4880 (uri (string-append "mirror://gnome/sources/" name "/"
4881 (version-major+minor version) "/"
4882 name "-" version ".tar.xz"))
4883 (sha256
4884 (base32
4885 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
4886
df12f04a
SB
4887(define-public gdm
4888 (package
4889 (name "gdm")
8f37813e 4890 (version "3.24.2")
df12f04a
SB
4891 (source (origin
4892 (method url-fetch)
4893 (uri (string-append "mirror://gnome/sources/" name "/"
4894 (version-major+minor version) "/"
4895 name "-" version ".tar.xz"))
4896 (sha256
4897 (base32
8f37813e 4898 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
df12f04a
SB
4899 (build-system gnu-build-system)
4900 (arguments
4901 '(#:configure-flags
4902 '("--without-plymouth")
4903 #:phases
4904 (modify-phases %standard-phases
4905 (add-before
4906 'configure 'pre-configure
4907 (lambda _
4908 ;; We don't have <systemd/sd-daemon.h>.
4909 (substitute* '("common/gdm-log.c"
4910 "daemon/gdm-server.c"
4911 "daemon/gdm-session-worker.c"
4912 "daemon/gdm-session-worker-job.c")
4913 (("#include <systemd/sd-daemon\\.h>") ""))
4914 ;; Use elogind for sd-login.
4915 (substitute* '("common/gdm-common.c"
4916 "daemon/gdm-manager.c"
4917 "libgdm/gdm-user-switching.c")
4918 (("#include <systemd/sd-login\\.h>")
4919 "#include <elogind/sd-login.h>"))
4920 ;; Avoid checking SYSTEMD using pkg-config.
4921 (setenv "SYSTEMD_CFLAGS" " ")
4922 (setenv "SYSTEMD_LIBS" "-lelogind")
4923 #t)))))
4924 (native-inputs
4925 `(("dconf" ,dconf)
4926 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4927 ("gobject-introspection" ,gobject-introspection)
4928 ("intltool" ,intltool)
4929 ("itstool" ,itstool)
4930 ("pkg-config" ,pkg-config)
4931 ("xmllint" ,libxml2)))
4932 (inputs
4933 `(("accountsservice" ,accountsservice)
4934 ("check" ,check) ; for testing
4935 ("elogind" ,elogind)
4936 ("gtk+" ,gtk+)
4937 ("iso-codes" ,iso-codes)
4938 ("libcanberra" ,libcanberra)
4939 ("linux-pam" ,linux-pam)))
4940 (synopsis "Display manager for GNOME")
4941 (home-page "http://wiki.gnome.org/Projects/GDM/")
4942 (description
4943 "GNOME Display Manager is a system service that is responsible for
4944providing graphical log-ins and managing local and remote displays.")
4945 (license license:gpl2+)))
8e1dd04f
SB
4946
4947(define-public libgtop
4948 (package
4949 (name "libgtop")
6206db89 4950 (version "2.36.0")
8e1dd04f
SB
4951 (source (origin
4952 (method url-fetch)
4953 (uri (string-append "mirror://gnome/sources/" name "/"
4954 (version-major+minor version) "/"
4955 name "-" version ".tar.xz"))
4956 (sha256
4957 (base32
6206db89 4958 "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
8e1dd04f
SB
4959 (build-system gnu-build-system)
4960 (native-inputs
4961 `(("gobject-introspection" ,gobject-introspection)
4962 ("intltool" ,intltool)
4963 ("perl" ,perl)
4964 ("pkg-config" ,pkg-config)))
4965 (propagated-inputs
4966 `(("glib" ,glib))) ; required by libgtop-2.0.pc
4967 (synopsis "Portable system access library")
4968 (home-page "https://www.gnome.org/")
4969 (description
4970 "LibGTop is a library to get system specific data such as CPU and memory
4971usage and information about running processes.")
4972 (license license:gpl2+)))
b96c4260
SB
4973
4974(define-public gnome-bluetooth
4975 (package
4976 (name "gnome-bluetooth")
f8cb2fbf 4977 (version "3.20.1")
b96c4260
SB
4978 (source (origin
4979 (method url-fetch)
4980 (uri (string-append "mirror://gnome/sources/" name "/"
4981 (version-major+minor version) "/"
4982 name "-" version ".tar.xz"))
4983 (sha256
4984 (base32
f8cb2fbf 4985 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
4986 (build-system glib-or-gtk-build-system)
4987 (native-inputs
4988 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
4989 ("gobject-introspection" ,gobject-introspection)
4990 ("intltool" ,intltool)
4991 ("pkg-config" ,pkg-config)
4992 ("xmllint" ,libxml2)))
4993 (propagated-inputs
4994 ;; gnome-bluetooth-1.0.pc refers to all these.
4995 `(("gtk+" ,gtk+)
4996 ("udev" ,eudev)))
4997 (inputs
4998 `(("libcanberra" ,libcanberra)
4999 ("libnotify" ,libnotify)))
5000 (synopsis "GNOME Bluetooth subsystem")
5001 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5002 (description
5003 "This package contains tools for managing and manipulating Bluetooth
5004devices using the GNOME desktop.")
5005 (license license:lgpl2.1+)))
b645146f
SB
5006
5007(define-public gnome-control-center
5008 (package
5009 (name "gnome-control-center")
44da12be 5010 (version "3.24.2")
b645146f
SB
5011 (source (origin
5012 (method url-fetch)
5013 (uri (string-append "mirror://gnome/sources/" name "/"
5014 (version-major+minor version) "/"
5015 name "-" version ".tar.xz"))
5016 (sha256
5017 (base32
44da12be 5018 "0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq"))))
b645146f
SB
5019 (build-system glib-or-gtk-build-system)
5020 (arguments
5021 '(#:phases
5022 (modify-phases %standard-phases
5023 (add-before 'configure 'patch-paths
5024 (lambda* (#:key inputs #:allow-other-keys)
5025 (let ((libc (assoc-ref inputs "libc"))
5026 (tzdata (assoc-ref inputs "tzdata")))
5027 (substitute* "panels/datetime/tz.h"
5028 (("/usr/share/zoneinfo/zone.tab")
5029 (string-append tzdata "/share/zoneinfo/zone.tab")))
5030 (substitute* "panels/datetime/test-endianess.c"
5031 (("/usr/share/locale")
5032 (string-append libc "/share/locale")))
5033 #t))))))
5034 (native-inputs
5035 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5036 ("intltool" ,intltool)
5037 ("pkg-config" ,pkg-config)
5038 ("xsltproc" ,libxslt)))
5039 (inputs
5040 `(("accountsservice" ,accountsservice)
5041 ("clutter-gtk" ,clutter-gtk)
5042 ("colord-gtk" ,colord-gtk)
5043 ("cups" ,cups)
5044 ("dconf" ,dconf)
5045 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5046 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5047 ("gnome-bluetooth" ,gnome-bluetooth)
5048 ("gnome-desktop" ,gnome-desktop)
5049 ("gnome-online-accounts" ,gnome-online-accounts)
5050 ("gnome-settings-daemon" ,gnome-settings-daemon)
5051 ("grilo" ,grilo)
5052 ("ibus" ,ibus)
5053 ("libcanberra" ,libcanberra)
5054 ("libgudev" ,libgudev)
5055 ("libgtop" ,libgtop)
5056 ("libpwquality" ,libpwquality)
5057 ("libsoup" ,libsoup)
5058 ("libxml2" ,libxml2)
5059 ("libwacom" ,libwacom)
5060 ("mesa" ,mesa)
5061 ("mit-krb5" ,mit-krb5)
5062 ("modem-manager" ,modem-manager)
5063 ("network-manager-applet" ,network-manager-applet)
5064 ("polkit" ,polkit)
5065 ("pulseaudio" ,pulseaudio)
5066 ("smbclient" ,samba)
5067 ("tzdata" ,tzdata)
5068 ("upower" ,upower)))
5069 (synopsis "Utilities to configure the GNOME desktop")
5070 (home-page "https://www.gnome.org/")
5071 (description
5072 "This package contains configuration applets for the GNOME desktop,
5073allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5074properties, sound setup, desktop theme and background, user interface
5075properties, screen resolution, and other GNOME parameters.")
5076 (license license:gpl2+)))
a4df5756
SB
5077
5078(define-public gnome-shell
5079 (package
5080 (name "gnome-shell")
ce1e6de0 5081 (version "3.24.2")
a4df5756
SB
5082 (source (origin
5083 (method url-fetch)
5084 (uri (string-append "mirror://gnome/sources/" name "/"
5085 (version-major+minor version) "/"
5086 name "-" version ".tar.xz"))
5087 (sha256
5088 (base32
ce1e6de0 5089 "1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh"))))
a4df5756
SB
5090 (build-system glib-or-gtk-build-system)
5091 (arguments
5092 '(#:phases
5093 (modify-phases %standard-phases
5094 (replace 'install
5095 (lambda* (#:key outputs #:allow-other-keys)
5096 (let* ((out (assoc-ref outputs "out"))
5097 (keysdir (string-append
5098 out "/share/gnome-control-center/keybindings")))
5099 (zero? (system* "make"
5100 (string-append "keysdir=" keysdir)
5101 "install")))))
5102 (add-after
5103 'install 'wrap-programs
5104 (lambda* (#:key outputs #:allow-other-keys)
5105 (let ((out (assoc-ref outputs "out"))
5106 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5107 (python-path (getenv "PYTHONPATH")))
5108 (wrap-program (string-append out "/bin/gnome-shell")
5109 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5110 (for-each
5111 (lambda (prog)
5112 (wrap-program (string-append out "/bin/" prog)
5113 `("PYTHONPATH" ":" prefix (,python-path))
5114 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5115 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5116 #t))))))
5117 (native-inputs
5118 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5119 ("gobject-introspection" ,gobject-introspection)
5120 ("intltool" ,intltool)
5121 ("pkg-config" ,pkg-config)
5122 ("python" ,python)
5123 ("xsltproc" ,libxslt)))
5124 (inputs
5125 `(("accountsservice" ,accountsservice)
5126 ("caribou" ,caribou)
5127 ("docbook-xsl" ,docbook-xsl)
5128 ("evolution-data-server" ,evolution-data-server)
5129 ("gcr" ,gcr)
5130 ("gdm" ,gdm)
5131 ("gjs" ,gjs)
5132 ("gnome-bluetooth" ,gnome-bluetooth)
5133 ("gnome-control-center" ,gnome-control-center)
5134 ("gnome-desktop" ,gnome-desktop)
5135 ("gnome-settings-daemon" ,gnome-settings-daemon)
5136 ("gst-plugins-base" ,gst-plugins-base)
5137 ("ibus" ,ibus)
5138 ("libcanberra" ,libcanberra)
5139 ("libcroco" ,libcroco)
5140 ("libgweather" ,libgweather)
5141 ("libsoup" ,libsoup)
5142 ("mesa-headers" ,mesa-headers)
5143 ("mutter" ,mutter)
5144 ("network-manager-applet" ,network-manager-applet)
5145 ("polkit" ,polkit)
5146 ("pulseaudio" ,pulseaudio)
5147 ("python-pygobject" ,python-pygobject)
5148 ("startup-notification" ,startup-notification)
5149 ("telepathy-logger" ,telepathy-logger)
5150 ("upower" ,upower)
30e760f0
MB
5151 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5152 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5153 ("librsvg" ,librsvg)
5154 ("geoclue" ,geoclue)
a4df5756
SB
5155 ;; XXX: required by libgjs.la.
5156 ("readline" ,readline)))
5157 (synopsis "Desktop shell for GNOME")
5158 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5159 (description
5160 "GNOME Shell provides core user interface functions for the GNOME desktop,
5161like switching to windows and launching applications.")
5162 (license license:gpl2+)))
c3f29bc9
RS
5163
5164(define-public gtk-vnc
5165 (package
5166 (name "gtk-vnc")
26653538 5167 (version "0.7.0")
c3f29bc9
RS
5168 (source
5169 (origin
5170 (method url-fetch)
5171 (uri (string-append "mirror://gnome/sources/" name "/"
5172 (version-major+minor version) "/"
5173 name "-" version ".tar.xz"))
5174 (sha256
5175 (base32
26653538 5176 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
c3f29bc9
RS
5177 (build-system gnu-build-system)
5178 (arguments
5179 '(#:configure-flags '("--with-gtk=3.0")))
5180 (propagated-inputs
5181 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5182 (inputs
5183 `(("cyrus-sasl" ,cyrus-sasl)
5184 ("gnutls" ,gnutls)
5185 ("libgcrypt" ,libgcrypt)
5186 ("pulseaudio" ,pulseaudio)))
5187 (native-inputs
5188 `(("glib:bin" ,glib "bin")
5189 ("gobject-introspection" ,gobject-introspection)
5190 ("intltool" ,intltool)
5191 ("pkg-config" ,pkg-config)
5192 ("vala" ,vala)))
5193 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5194 (synopsis "VNC viewer widget for GTK+")
5195 (description
5196 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5197applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5198GTK-VNC implements client side RFB protocol and authentication extensions such
5199as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5200 (license license:lgpl2.1+)))
8b877545 5201
dc69fe18
MW
5202(define-public gnome-autoar
5203 (package
5204 (name "gnome-autoar")
4063a40a 5205 (version "0.2.2")
dc69fe18
MW
5206 (source (origin
5207 (method url-fetch)
5208 (uri (string-append "mirror://gnome/sources/" name "/"
5209 (version-major+minor version) "/"
5210 name "-" version ".tar.xz"))
5211 (sha256
5212 (base32
4063a40a 5213 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
dc69fe18
MW
5214 (build-system glib-or-gtk-build-system)
5215 (native-inputs
5216 `(("gnome-common" ,gnome-common)
5217 ("gobject-introspection" ,gobject-introspection)
5218 ("pkg-config" ,pkg-config)))
5219 (propagated-inputs
5220 `(("libarchive" ,libarchive))) ; XXX document why
5221 (inputs
5222 `(("gtk+" ,gtk+)
5223 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5224 (synopsis "Archives integration support for GNOME")
5225 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5226 (description
5227 "GNOME Autoar is a library which makes creating and extracting archives
5228easy, safe, and automatic.")
5229 (license license:lgpl2.1+)))
5230
b64e217f
MW
5231(define-public tracker
5232 (package
5233 (name "tracker")
0ef48cd9 5234 (version "1.12.0")
b64e217f
MW
5235 (source (origin
5236 (method url-fetch)
5237 (uri (string-append "mirror://gnome/sources/" name "/"
5238 (version-major+minor version) "/"
5239 name "-" version ".tar.xz"))
5240 (sha256
5241 (base32
0ef48cd9 5242 "0vsrzzkcfvmylhpk1ww6xdx8z9sgjs0gn74gz82qngjyq3c3s6c3"))))
b64e217f
MW
5243 (build-system glib-or-gtk-build-system)
5244 (native-inputs
5245 `(("gnome-common" ,gnome-common)
5246 ("gobject-introspection" ,gobject-introspection)
5247 ("intltool" ,intltool)
5248 ("pkg-config" ,pkg-config)
5249 ("vala" ,vala)))
5250 (inputs
5251 `(("gtk+" ,gtk+)
5252 ("dbus" ,dbus)
5253 ("gstreamer" ,gstreamer)
5254 ("gst-plugins-base" ,gst-plugins-base)
5255 ("sqlite" ,sqlite)
5256 ("nettle" ,nettle) ; XXX why is this needed?
5257 ("poppler" ,poppler)
5258 ("libgsf" ,libgsf)
5259 ("libexif" ,libexif)
5260 ("libpng" ,libpng)
5261 ("libtiff" ,libtiff)
5262 ("libvorbis" ,libvorbis)
5263 ("flac" ,flac)
5264 ("totem-pl-parser" ,totem-pl-parser)
5265 ("zlib" ,zlib)
5266 ("exempi" ,exempi)
5267 ("libxml2" ,libxml2)
5268 ("upower" ,upower)
b64e217f
MW
5269 ("libunistring" ,libunistring)
5270 ("giflib" ,giflib)
0ef48cd9 5271 ("json-glib" ,json-glib)
b64e217f
MW
5272 ("openjpeg" ,openjpeg-1)
5273 ("libosinfo" ,libosinfo)
5274 ("libcue" ,libcue)
5275 ("libseccomp" ,libseccomp)
0ef48cd9 5276 ("libsoup" ,libsoup)
b64e217f
MW
5277 ("libuuid" ,util-linux)))
5278 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5279 (synopsis "Metadata database, indexer and search tool")
5280 (home-page "https://wiki.gnome.org/Projects/Tracker")
5281 (description
5282 "Tracker is an advanced framework for first class objects with associated
5283metadata and tags. It provides a one stop solution for all metadata, tags,
5284shared object databases, search tools and indexing.")
5285 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5286 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5287 (license (list license:gpl2+
5288 license:lgpl2.1+
5289 license:lgpl2.0+))))
5290
8b877545
RS
5291(define-public nautilus
5292 (package
5293 (name "nautilus")
ac8f1ce4 5294 (version "3.24.1")
8b877545
RS
5295 (source (origin
5296 (method url-fetch)
5297 (uri (string-append "mirror://gnome/sources/" name "/"
5298 (version-major+minor version) "/"
5299 name "-" version ".tar.xz"))
5300 (sha256
5301 (base32
ac8f1ce4 5302 "1cn6bmzmahzlwcd4gllsvx6dva386xm3papgzpv1r34abw73sf27"))))
8b877545
RS
5303 (build-system glib-or-gtk-build-system)
5304 (arguments
6983ba56 5305 '(#:configure-flags
09d88905 5306 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5307 ;; XXX: FAIL: check-nautilus
5308 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5309 #:tests? #f))
5310 (native-inputs
5311 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5312 ("gobject-introspection" ,gobject-introspection)
5313 ("intltool" ,intltool)
5314 ("pkg-config" ,pkg-config)))
8b877545 5315 (inputs
8b877545 5316 `(("dconf" ,dconf)
dd05e731 5317 ("gvfs" ,gvfs)
8b877545
RS
5318 ("exempi" ,exempi)
5319 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5320 ("gnome-autoar" ,gnome-autoar)
5321 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5322 ("tracker" ,tracker)
ce6027bf
SB
5323 ;; XXX: gtk+ is required by libnautilus-extension.pc
5324 ;;
5325 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5326 ;; package. See:
5327 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5328 ("gtk+" ,gtk+)
8b877545
RS
5329 ("libexif" ,libexif)
5330 ("libxml2" ,libxml2)))
5331 (synopsis "File manager for GNOME")
5332 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5333 (description
5334 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5335design and behaviour, giving the user a simple way to navigate and manage its
5336files.")
5337 (license license:gpl2+)))
3c697ffd
JR
5338
5339(define-public baobab
5340 (package
5341 (name "baobab")
9be54b15 5342 (version "3.24.0")
3c697ffd
JR
5343 (source (origin
5344 (method url-fetch)
5345 (uri (string-append
5346 "mirror://gnome/sources/" name "/"
5347 (version-major+minor version) "/"
5348 name "-" version ".tar.xz"))
5349 (sha256
5350 (base32
9be54b15 5351 "0gzwzn8p0agidjq3wnkxcsny6jhqph3yqscqjqd7blgkz5nyk02r"))))
3c697ffd
JR
5352 (build-system glib-or-gtk-build-system)
5353 (native-inputs
5354 `(("intltool" ,intltool)
5355 ("pkg-config" ,pkg-config)
5356 ("itstool" ,itstool)
5357 ("xmllint" ,libxml2)
5358 ("glib" ,glib "bin")
5359 ("vala" ,vala)))
5360 (inputs
5361 `(("gtk+" ,gtk+)))
5362 (synopsis "Disk usage analyzer for GNOME")
5363 (description
5364 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5365usage in the GNOME desktop environment. It can easily scan device volumes or
5366a specific user-requested directory branch (local or remote). Once the scan
5367is complete it provides a graphical representation of each selected folder.")
5368 (home-page "https://wiki.gnome.org/Apps/Baobab")
5369 (license license:gpl2+)))
dc050251 5370
fdba447c
RS
5371(define-public gnome-backgrounds
5372 (package
5373 (name "gnome-backgrounds")
2df65d37 5374 (version "3.24.0")
fdba447c
RS
5375 (source
5376 (origin
5377 (method url-fetch)
5378 (uri (string-append "mirror://gnome/sources/" name "/"
5379 (version-major+minor version) "/"
5380 name "-" version ".tar.xz"))
5381 (sha256
5382 (base32
2df65d37 5383 "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
fdba447c
RS
5384 (build-system glib-or-gtk-build-system)
5385 (native-inputs
5386 `(("intltool" ,intltool)))
5387 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5388 (synopsis "Background images for the GNOME desktop")
5389 (description
5390 "GNOME backgrounds package contains a collection of graphics files which
5391can be used as backgrounds in the GNOME Desktop environment. Additionally,
5392the package creates the proper framework and directory structure so that you
5393can add your own files to the collection.")
5394 (license (list license:gpl2+
5395 license:cc-by2.0
5396 license:cc-by-sa2.0
5397 license:cc-by-sa3.0))))
5398
b784b1a9
RS
5399(define-public gnome-screenshot
5400 (package
5401 (name "gnome-screenshot")
efa355bc 5402 (version "3.22.0")
b784b1a9
RS
5403 (source
5404 (origin
5405 (method url-fetch)
5406 (uri (string-append "mirror://gnome/sources/" name "/"
5407 (version-major+minor version) "/"
5408 name "-" version ".tar.xz"))
5409 (sha256
5410 (base32
efa355bc 5411 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5412 (build-system glib-or-gtk-build-system)
5413 (native-inputs
5414 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5415 ("intltool" ,intltool)
5416 ("pkg-config" ,pkg-config)))
5417 (inputs
5418 `(("gtk+" ,gtk+)
5419 ("libcanberra" ,libcanberra)
5420 ("libx11" ,libx11)
5421 ("libxext" ,libxext)))
5422 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5423 (synopsis "Take pictures of your screen")
5424 (description
5425 "GNOME Screenshot is a utility used for taking screenshots of the entire
5426screen, a window or a user defined area of the screen, with optional
5427beautifying border effects.")
5428 (license license:gpl2+)))
5429
66d59111
RS
5430(define-public dconf-editor
5431 (package
5432 (name "dconf-editor")
123e8168 5433 (version "3.22.3")
66d59111
RS
5434 (source
5435 (origin
5436 (method url-fetch)
5437 (uri (string-append "mirror://gnome/sources/" name "/"
5438 (version-major+minor version) "/"
5439 name "-" version ".tar.xz"))
5440 (sha256
5441 (base32
123e8168 5442 "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
66d59111 5443 (build-system glib-or-gtk-build-system)
d25c1836
SB
5444 (arguments
5445 '(#:phases
5446 (modify-phases %standard-phases
5447 (add-before 'install 'skip-gtk-update-icon-cache
5448 (lambda _
5449 ;; Don't create 'icon-theme.cache'.
5450 (substitute* "editor/Makefile"
5451 (("gtk-update-icon-cache") "true"))
5452 #t)))))
66d59111
RS
5453 (native-inputs
5454 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5455 ("intltool" ,intltool)
5456 ("pkg-config" ,pkg-config)))
5457 (inputs
5458 `(("dconf" ,dconf)
5459 ("gtk+" ,gtk+)
5460 ("libxml2" ,libxml2)))
5461 (home-page "https://git.gnome.org/browse/dconf-editor")
5462 (synopsis "Graphical editor for GNOME's dconf configuration system")
5463 (description
5464 "Dconf-editor is a graphical tool for browsing and editing the dconf
5465configuration system for GNOME. It allows users to configure desktop
5466software that do not provide their own configuration interface.")
5467 (license license:lgpl2.1+)))
5468
dc050251
SB
5469(define-public gnome
5470 (package
5471 (name "gnome")
5472 (version (package-version gnome-shell))
5473 (source #f)
5474 (build-system trivial-build-system)
5475 (arguments '(#:builder (mkdir %output)))
5476 (propagated-inputs
5477 ;; TODO: Add more packages according to:
5478 ;; <https://packages.debian.org/jessie/gnome-core>.
5479 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5480 ("baobab" ,baobab)
0bd3597b 5481 ("font-cantarell" ,font-cantarell)
dc050251
SB
5482 ("at-spi2-core" ,at-spi2-core)
5483 ("dbus" ,dbus)
5484 ("dconf" ,dconf)
72360453 5485 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5486 ("eog" ,eog)
5487 ("epiphany" ,epiphany)
5488 ("evince" ,evince)
71d9b980 5489 ("file-roller" ,file-roller)
dc050251
SB
5490 ("gedit" ,gedit)
5491 ("glib-networking" ,glib-networking)
05f651c4 5492 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
5493 ("gnome-control-center" ,gnome-control-center)
5494 ("gnome-keyring" ,gnome-keyring)
5495 ("gnome-session" ,gnome-session)
5496 ("gnome-settings-daemon" ,gnome-settings-daemon)
5497 ("gnome-shell" ,gnome-shell)
5498 ("gnome-terminal" ,gnome-terminal)
5499 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 5500 ("gvfs" ,gvfs)
dc050251
SB
5501 ("hicolor-icon-theme" ,hicolor-icon-theme)
5502 ("nautilus" ,nautilus)
69308043 5503 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5504 ("pulseaudio" ,pulseaudio)
5505 ("shared-mime-info" ,shared-mime-info)
5506 ("totem" ,totem)
5507 ("yelp" ,yelp)
5508 ("zenity" ,zenity)))
fe4e698d 5509 (synopsis "The GNU desktop environment")
dc050251
SB
5510 (home-page "https://www.gnome.org/")
5511 (description
fe4e698d
LC
5512 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5513applications for browsing the web, editing text and images, creating
5514documents and diagrams, playing media, scanning, and much more.")
dc050251 5515 (license license:gpl2+)))
4a526711
DT
5516
5517(define-public byzanz
5518 ;; The last stable release of Byzanz was in 2011, but there have been many
5519 ;; useful commits made to the Byzanz repository since then that it would be
5520 ;; silly to use such an old release.
5521 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5522 (package
5523 (name "byzanz")
5524 (version (string-append "0.2-1." (string-take commit 7)))
5525 (source (origin
5526 (method git-fetch)
5527 (uri (git-reference
5528 (url "git://git.gnome.org/byzanz")
5529 (commit commit)))
5a6527e4 5530 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
5531 (sha256
5532 (base32
5533 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5534 (build-system glib-or-gtk-build-system)
5535 (arguments
5536 '(#:phases
5537 (modify-phases %standard-phases
5538 (add-after 'unpack 'bootstrap
5539 (lambda _
5540 ;; The build system cleverly detects that we're not building from
5541 ;; a release tarball and turns on -Werror for GCC.
5542 ;; Unsurprisingly, there is a warning during compilation that
5543 ;; causes the build to fail unnecessarily, so we remove the flag.
5544 (substitute* '("configure.ac")
5545 (("-Werror") ""))
5546 ;; The autogen.sh script in gnome-common will run ./configure
5547 ;; by default, which is problematic because source shebangs
5548 ;; have not yet been patched.
5549 (setenv "NOCONFIGURE" "t")
5550 (zero? (system* "sh" "autogen.sh")))))))
5551 (native-inputs
5552 `(("autoconf" ,autoconf)
5553 ("automake" ,automake)
5554 ("gnome-common" ,gnome-common)
5555 ("intltool" ,intltool)
5556 ("libtool" ,libtool)
5557 ("pkg-config" ,pkg-config)
5558 ("which" ,which)))
5559 (inputs
5560 `(("glib" ,glib)
5561 ("gstreamer" ,gstreamer)
5562 ("gst-plugins-base" ,gst-plugins-base)
5563 ("gtk+" ,gtk+)))
5564 (synopsis "Desktop recording program")
5565 (description "Byzanz is a simple desktop recording program with a
5566command-line interface. It can record part or all of an X display for a
5567specified duration and save it as a GIF encoded animated image file.")
5568 (home-page "https://git.gnome.org/browse/byzanz")
5569 (license license:gpl2+))))
3a9a4c51
RS
5570
5571(define-public libzapojit
5572 (package
5573 (name "libzapojit")
5574 (version "0.0.3")
5575 (source (origin
5576 (method url-fetch)
5577 (uri (string-append "mirror://gnome/sources/" name "/"
5578 (version-major+minor version) "/"
5579 name "-" version ".tar.xz"))
5580 (sha256
5581 (base32
5582 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5583 (build-system gnu-build-system)
5584 (native-inputs
5585 `(("gobject-introspection" ,gobject-introspection)
5586 ("intltool" ,intltool)
5587 ("pkg-config" ,pkg-config)))
5588 (inputs
5589 `(("gnome-online-accounts" ,gnome-online-accounts)
5590 ("json-glib" ,json-glib)
5591 ("rest" ,rest)))
5592 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5593 (synopsis "Library for accessing SkyDrive and Hotmail")
5594 (description
5595 "Libzapojit is a GLib-based library for accessing online service APIs of
5596Microsoft SkyDrive and Hotmail, using their REST protocols.")
5597 (license license:lgpl2.1+)))
9365ee1c 5598
3c474897
KY
5599(define-public gnome-calendar
5600 (package
5601 (name "gnome-calendar")
a93f14ea 5602 (version "3.24.3")
3c474897
KY
5603 (source (origin
5604 (method url-fetch)
5605 (uri (string-append "mirror://gnome/sources/" name "/"
5606 (version-major+minor version) "/"
5607 name "-" version ".tar.xz"))
5608 (sha256
5609 (base32
a93f14ea 5610 "1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry"))))
3c474897
KY
5611 (build-system glib-or-gtk-build-system)
5612 (native-inputs
5613 `(("intltool" ,intltool)
5614 ("pkg-config" ,pkg-config)))
5615 (inputs
5616 `(("bdb" ,bdb)
5617 ("desktop-file-utils" ,desktop-file-utils)
5618 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5619 ("gnome-online-accounts" ,gnome-online-accounts)
5620 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5621 (home-page "https://wiki.gnome.org/Apps/Calendar")
5622 (synopsis "GNOME's calendar application")
5623 (description
5624 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5625desktop. It supports multiple calendars, monthly view and yearly view.")
5626 (license license:gpl3+)))
5627
ab179eaf
SB
5628(define-public gnome-dictionary
5629 (package
5630 (name "gnome-dictionary")
6e2fc6c7 5631 (version "3.24.0")
ab179eaf
SB
5632 (source (origin
5633 (method url-fetch)
5634 (uri (string-append "mirror://gnome/sources/" name "/"
5635 (version-major+minor version) "/"
5636 name "-" version ".tar.xz"))
5637 (sha256
5638 (base32
6e2fc6c7 5639 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
ab179eaf
SB
5640 (build-system glib-or-gtk-build-system)
5641 (native-inputs
5642 `(("glib:bin" ,glib "bin")
5643 ("gobject-introspection" ,gobject-introspection)
5644 ("intltool" ,intltool)
5645 ("itstool" ,itstool)
5646 ("pkg-config" ,pkg-config)
5647 ("xmllint" ,libxml2)))
5648 (inputs
5649 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5650 ("gtk+" ,gtk+)))
5651 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5652 (synopsis "Look up words in dictionary sources")
5653 (description
5654 "GNOME Dictionary can look for the definition or translation of a word in
5655existing databases over the internet.")
5656 (license license:gpl3+)))
5657
9365ee1c
JN
5658(define-public gnome-tweak-tool
5659 (package
5660 (name "gnome-tweak-tool")
bc91a80c 5661 (version "3.24.0")
9365ee1c
JN
5662 (source (origin
5663 (method url-fetch)
5664 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5665 (version-major+minor version) "/"
5666 "gnome-tweak-tool-" version ".tar.xz"))
5667 (patches (list
5668 (search-patch "gnome-tweak-tool-search-paths.patch")))
5669 (sha256
5670 (base32
bc91a80c 5671 "000ygz9wgnv8pimb6rwbjfm12vbx4138pwkq36ci0k6v827282wk"))))
7ef335b0 5672 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5673 (arguments
5674 `(#:configure-flags '("--localstatedir=/tmp"
5675 "--sysconfdir=/tmp")
5676 #:imported-modules ((guix build python-build-system)
7ef335b0 5677 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5678 #:phases (modify-phases %standard-phases
9af6bce1
CB
5679 (add-after 'install 'wrap-program
5680 (lambda* (#:key outputs #:allow-other-keys)
5681 (let ((out (assoc-ref outputs "out"))
5682 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5683 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5684 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5685 #t))
9365ee1c
JN
5686 (add-after 'install 'wrap
5687 (@@ (guix build python-build-system) wrap)))))
5688 (native-inputs
5689 `(("intltool" ,intltool)
5690 ("pkg-config" ,pkg-config)))
5691 (inputs
5692 `(("python" ,python-2)
adb41527 5693 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5694 ("gnome-desktop" ,gnome-desktop)
5695 ("libsoup" ,libsoup)
adb41527 5696 ("libnotify" ,libnotify)
9365ee1c
JN
5697 ("gobject-introspection" ,gobject-introspection)
5698 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5699 ("gtk+" ,gtk+)))
5700 (synopsis "Customize advanced GNOME 3 options")
5701 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5702 (description
5703 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5704GNOME 3. This includes things like the fonts used in user interface elements,
5705alternative user interface themes, changes in window management behavior,
5706GNOME Shell appearance and extension, etc.")
5707 (license license:gpl3+)))
813f814a 5708
32ac717c
DT
5709(define-public gnome-shell-extensions
5710 (package
5711 (name "gnome-shell-extensions")
a5b5fcae 5712 (version "3.24.2")
32ac717c
DT
5713 (source (origin
5714 (method url-fetch)
5715 (uri (string-append "mirror://gnome/sources/" name "/"
5716 (version-major+minor version) "/"
5717 name "-" version ".tar.xz"))
5718 (sha256
5719 (base32
a5b5fcae 5720 "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
32ac717c
DT
5721 (build-system gnu-build-system)
5722 (arguments
5723 '(#:configure-flags '("--enable-extensions=all")))
5724 (native-inputs
5725 `(("intltool" ,intltool)
5726 ("pkg-config" ,pkg-config)))
5727 (propagated-inputs
5728 `(("glib" ,glib)
5729 ("glib" ,glib "bin")))
5730 (synopsis "Extensions for GNOME Shell")
5731 (description "GNOME Shell extensions modify and extend GNOME Shell
5732functionality and behavior.")
5733 (home-page "https://extensions.gnome.org/")
5734 (license license:gpl3+)))
5735
813f814a
DT
5736(define-public arc-theme
5737 (package
5738 (name "arc-theme")
7967efc1 5739 (version "20170302")
813f814a
DT
5740 (source (origin
5741 (method url-fetch)
5742 (uri (string-append "https://github.com/horst3180/arc-theme"
5743 "/archive/" version ".tar.gz"))
5744 (file-name (string-append name "-" version ".tar.gz"))
5745 (sha256
5746 (base32
7967efc1 5747 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
813f814a
DT
5748 (build-system gnu-build-system)
5749 (arguments
5750 '(#:phases
5751 (modify-phases %standard-phases
5752 (add-after 'unpack 'bootstrap
5753 (lambda _
5754 (zero? (system* "autoreconf" "-vif")))))))
5755 (native-inputs
5756 `(("autoconf" ,autoconf)
5757 ("automake" ,automake)
5758 ("pkg-config" ,pkg-config)))
5759 (inputs
5760 `(("gtk+" ,gtk+)))
5761 (synopsis "A flat GTK+ theme with transparent elements")
5762 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
57632, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
5764like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5765 (home-page "https://github.com/horst3180/arc-theme")
5766 ;; No "or later" language found.
5767 (license license:gpl3)))
9987c57c
DT
5768
5769(define-public moka-icon-theme
5770 (package
5771 (name "moka-icon-theme")
0f9bb61b 5772 (version "5.3.5")
9987c57c
DT
5773 (source (origin
5774 (method url-fetch)
5775 (uri (string-append "https://github.com/moka-project"
5776 "/moka-icon-theme/archive/v"
5777 version ".tar.gz"))
5778 (file-name (string-append name "-" version ".tar.gz"))
5779 (sha256
5780 (base32
0f9bb61b 5781 "062rab0ggmgb3y0d6b3k5d47wsadi28cdnyyr2vqbjhza01dglci"))))
9987c57c
DT
5782 (build-system gnu-build-system)
5783 (arguments
5784 '(#:phases
5785 (modify-phases %standard-phases
5786 (add-after 'unpack 'patch-makefile.am
5787 (lambda _
5788 (substitute* '("Makefile.am")
5789 (("\\$\\(DESTDIR\\)/usr/share")
5790 "$(datadir)"))
5791 #t))
5792 (add-after 'patch-makefile.am 'bootstrap
5793 (lambda _
5794 (zero? (system* "autoreconf" "-vif")))))))
5795 (native-inputs
5796 `(("autoconf" ,autoconf)
5797 ("automake" ,automake)))
5798 (synopsis "Moka icon theme")
5799 (description "Moka is a stylized desktop icon set, designed to be clear,
5800simple and consistent.")
5801 (home-page "http://snwh.org/moka")
5802 (license license:gpl3+)))
6fd8f8d6
DT
5803
5804(define-public arc-icon-theme
5805 (package
5806 (name "arc-icon-theme")
c4180240 5807 (version "20161122")
6fd8f8d6
DT
5808 (source (origin
5809 (method url-fetch)
5810 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
5811 "/archive/" version ".tar.gz"))
5812 (file-name (string-append name "-" version ".tar.gz"))
5813 (sha256
5814 (base32
c4180240 5815 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6
DT
5816 (build-system gnu-build-system)
5817 (arguments
5818 '(#:phases
5819 (modify-phases %standard-phases
5820 (add-after 'unpack 'bootstrap
5821 (lambda _
5822 (zero? (system* "autoreconf" "-vif")))))))
5823 (native-inputs
5824 `(("autoconf" ,autoconf)
5825 ("automake" ,automake)))
5826 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
5827 (propagated-inputs
5828 `(("moka-icon-theme" ,moka-icon-theme)))
5829 (synopsis "Arc icon theme")
5830 (description "The Arc icon theme provides a set of icons matching the
5831style of the Arc GTK theme. Icons missing from the Arc theme are provided by
5832the Moka icon theme.")
5833 (home-page "https://github.com/horst3180/arc-icon-theme")
5834 (license license:gpl3+)))
6064a4e8
LF
5835
5836(define-public folks
5837 (package
5838 (name "folks")
5839 (version "0.11.2")
5840 (source (origin
5841 (method url-fetch)
5842 (uri (string-append
5843 "mirror://gnome/sources/" name "/"
5844 (version-major+minor version) "/"
5845 name "-" version ".tar.xz"))
5846 (sha256
5847 (base32
5848 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
5849 (build-system glib-or-gtk-build-system)
5850 (inputs
5851 `(("bdb" ,bdb)
5852 ("dbus-glib" ,dbus-glib)
5853 ("evolution-data-server" ,evolution-data-server)
5854 ("glib" ,glib)
5855 ("libgee" ,libgee)
5856 ("telepathy-glib" ,telepathy-glib)))
5857 (native-inputs
5858 `(("gobject-introspection" ,gobject-introspection)
5859 ("intltool" ,intltool)
5860 ("pkg-config" ,pkg-config)
5861 ("vala" ,vala)))
5862 (synopsis "Library to aggregate data about people")
5863 (description "Libfolks is a library that aggregates information about people
5864from multiple sources (e.g., Telepathy connection managers for IM contacts,
5865Evolution Data Server for local contacts, libsocialweb for web service contacts,
5866etc.) to create metacontacts. It's written in Vala, which generates C code when
5867compiled.")
5868 (home-page "https://wiki.gnome.org/Projects/Folks")
5869 (license license:lgpl2.1+)))
01ea778f
LF
5870
5871(define-public gfbgraph
5872 (package
5873 (name "gfbgraph")
5874 (version "0.2.3")
5875 (source (origin
5876 (method url-fetch)
5877 (uri (string-append
5878 "mirror://gnome/sources/" name "/"
5879 (version-major+minor version) "/"
5880 name "-" version ".tar.xz"))
5881 (sha256
5882 (base32
5883 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
5884 (build-system glib-or-gtk-build-system)
5885 (arguments
5886 `(#:tests? #f ; Tests appear to require the network.
5887 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
5888 #:configure-flags '("--disable-gtk-doc"
5889 "--disable-static"
5890 "--enable-introspection")))
5891 (native-inputs
5892 `(("pkg-config" ,pkg-config)
5893 ("gobject-introspection" ,gobject-introspection)))
5894 (inputs
5895 `(("json-glib" ,json-glib)
5896 ("gnome-online-accounts" ,gnome-online-accounts)
5897 ("rest" ,rest)))
5898 (synopsis "GLib/GObject wrapper for the Facebook API")
5899 (description "This library allows you to use the Facebook API from
5900GLib/GObject code.")
5901 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
5902 (license license:lgpl2.1+)))
3920868c 5903
5904(define-public libgnomekbd
5905 (package
5906 (name "libgnomekbd")
47b93ae5 5907 (version "3.22.0.1")
3920868c 5908 (source (origin
5909 (method url-fetch)
5910 (uri (string-append "mirror://gnome/sources/" name "/"
5911 (version-major+minor version) "/"
5912 name "-" version ".tar.xz"))
5913 (sha256
5914 (base32
47b93ae5 5915 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 5916 (build-system gnu-build-system)
5917 (native-inputs
5918 `(("pkg-config" ,pkg-config)
5919 ("glib" ,glib "bin")
5920 ("intltool" ,intltool)))
5921 (propagated-inputs
5922 ;; Referred to in .h files and .pc.
5923 `(("glib" ,glib)
5924 ("gtk+" ,gtk+)
5925 ("libxklavier" ,libxklavier)))
5926 (home-page "https://www.gnome.org")
5927 (synopsis "GNOME keyboard configuration library")
5928 (description
5929 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
5930environment, which can notably display keyboard layouts.")
5931 (license license:lgpl2.0+)))
85327d0d 5932
5933;;; This package is no longer maintained:
5934;;; https://wiki.gnome.org/Attic/LibUnique
5935;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
5936;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
5937(define-public libunique
5938 (package
5939 (name "libunique")
5940 (version "3.0.2")
5941 (source (origin
5942 (method url-fetch)
5943 (uri (string-append "mirror://gnome/sources/" name "/"
5944 (version-major+minor version) "/"
5945 name "-" version ".tar.xz"))
5946 (sha256
5947 (base32
5948 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
5949 (build-system glib-or-gtk-build-system)
5950 (arguments
5951 `(#:configure-flags '("--disable-static"
5952 "--disable-dbus" ; use gdbus
5953 "--enable-introspection")))
5954 (native-inputs
5955 `(("pkg-config" ,pkg-config)
5956 ("gobject-introspection" ,gobject-introspection)
5957 ("glib:bin" ,glib "bin")
5958 ("gtk-doc" ,gtk-doc)))
5959 (propagated-inputs
5960 ;; Referred to in .h files and .pc.
5961 `(("gtk+" ,gtk+)))
5962 (home-page "https://wiki.gnome.org/Attic/LibUnique")
5963 (synopsis "Library for writing single instance applications")
5964 (description
5965 "Libunique is a library for writing single instance applications. If you
5966launch a single instance application twice, the second instance will either just
5967quit or will send a message to the running instance. Libunique makes it easy to
5968write this kind of application, by providing a base class, taking care of all
5969the IPC machinery needed to send messages to a running instance, and also
5970handling the startup notification side.")
5971 (license license:lgpl2.1+)))
54021cd8
RS
5972
5973(define-public gnome-calculator
5974 (package
5975 (name "gnome-calculator")
2c2da7ec 5976 (version "3.24.0")
54021cd8
RS
5977 (source
5978 (origin
5979 (method url-fetch)
5980 (uri (string-append "mirror://gnome/sources/" name "/"
5981 (version-major+minor version) "/"
5982 name "-" version ".tar.xz"))
5983 (sha256
5984 (base32
2c2da7ec 5985 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
54021cd8
RS
5986 (build-system glib-or-gtk-build-system)
5987 (native-inputs
5988 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5989 ("intltool" ,intltool)
5990 ("itstool" ,itstool)
5991 ("pkg-config" ,pkg-config)))
5992 (inputs
5993 `(("gtksourceview" ,gtksourceview)
5994 ("libsoup" ,libsoup)
2c2da7ec 5995 ("mpc" ,mpc)
54021cd8
RS
5996 ("mpfr" ,mpfr)))
5997 (home-page "https://wiki.gnome.org/Apps/Calculator")
5998 (synopsis "Desktop calculator")
5999 (description
6000 "Calculator is an application that solves mathematical equations and
6001is suitable as a default application in a Desktop environment.")
6002 (license license:gpl3)))
0bd69759
RS
6003
6004(define-public xpad
6005 (package
6006 (name "xpad")
6007 (version "4.8.0")
6008 (source
6009 (origin
6010 (method url-fetch)
6011 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
6012 name "-" version ".tar.bz2"))
6013 (sha256
6014 (base32
6015 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
6016 (build-system gnu-build-system)
6017 (native-inputs
6018 `(("intltool" ,intltool)
6019 ("pkg-config" ,pkg-config)))
6020 (inputs
6021 `(("gtk+" ,gtk+)
6022 ("gtksourceview" ,gtksourceview)
6023 ("libsm" ,libsm)))
6024 (home-page "https://wiki.gnome.org/Apps/Xpad")
6025 (synopsis "Virtual sticky note")
6026 (description
6027 "Xpad is a sticky note that strives to be simple, fault tolerant,
6028and customizable. Xpad consists of independent pad windows, each is
6029basically a text box in which notes can be written.")
6030 (license license:gpl3+)))
3ad7dce1
RS
6031
6032(define-public gucharmap
6033 (package
6034 (name "gucharmap")
6035 (version "3.18.0")
6036 (source
6037 (origin
6038 (method url-fetch)
6039 (uri (string-append "mirror://gnome/sources/" name "/"
6040 (version-major+minor version) "/"
6041 name "-" version ".tar.xz"))
6042 (sha256
6043 (base32
6044 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
6045 (build-system gnu-build-system)
6046 (native-inputs
6047 `(("desktop-file-utils" ,desktop-file-utils)
6048 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6049 ("gobject-introspection" ,gobject-introspection)
6050 ("intltool" ,intltool)
6051 ("itstool" ,itstool)
6052 ("pkg-config" ,pkg-config)))
6053 (inputs
6054 `(("gtk+" ,gtk+)
6055 ("xmllint" ,libxml2)))
6056 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6057 (synopsis "Unicode character picker and font browser")
6058 (description
6059 "This program allows you to browse through all the available Unicode
6060characters and categories for the installed fonts, and to examine their
6061detailed properties. It is an easy way to find the character you might
6062only know by its Unicode name or code point.")
6063 (license license:gpl3+)))
04ce840a
RS
6064
6065(define-public bluefish
6066 (package
6067 (name "bluefish")
6068 (version "2.2.9")
6069 (source
6070 (origin
6071 (method url-fetch)
6072 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6073 name "-" version ".tar.gz"))
6074 (sha256
6075 (base32
6076 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
6077 (build-system gnu-build-system)
6078 (native-inputs
6079 `(("desktop-file-utils" ,desktop-file-utils)
6080 ("intltool" ,intltool)
6081 ("pkg-config" ,pkg-config)))
6082 (inputs
6083 `(("enchant" ,enchant)
6084 ("gtk+" ,gtk+)
6085 ("python" ,python-2)
6086 ("xmllint" ,libxml2)
6087 ("gucharmap" ,gucharmap)))
6088 (home-page "http://bluefish.openoffice.nl")
6089 (synopsis "Web development studio")
6090 (description
6091 "Bluefish is an editor targeted towards programmers and web developers,
6092with many options to write web sites, scripts and other code.
6093Bluefish supports many programming and markup languages.")
6094 (license license:gpl3+)))
1f6a73ee
RS
6095
6096(define-public gnome-system-monitor
6097 (package
6098 (name "gnome-system-monitor")
155f0d69 6099 (version "3.24.0")
1f6a73ee
RS
6100 (source
6101 (origin
6102 (method url-fetch)
6103 (uri (string-append "mirror://gnome/sources/" name "/"
6104 (version-major+minor version) "/"
6105 name "-" version ".tar.xz"))
6106 (sha256
6107 (base32
155f0d69 6108 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
1f6a73ee
RS
6109 (build-system glib-or-gtk-build-system)
6110 (native-inputs
6111 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6112 ("intltool" ,intltool)
6113 ("itstool" ,itstool)
6114 ("libgtop" ,libgtop)
6115 ("pkg-config" ,pkg-config)))
6116 (inputs
6117 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6118 ("gtk+" ,gtk+)
6119 ("gtkmm" ,gtkmm)
6120 ("librsvg" ,librsvg)
6121 ("libxml2" ,libxml2)))
6122 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6123 (synopsis "Process viewer and system resource monitor for GNOME")
6124 (description
6125 "GNOME System Monitor is a GNOME process viewer and system monitor with
6126an attractive, easy-to-use interface. It has features, such as a tree view
6127for process dependencies, icons for processes, the ability to hide processes,
6128graphical time histories of CPU/memory/swap usage and the ability to
6129kill/reinice processes.")
6130 (license license:gpl2+)))
3e00ac47
SB
6131
6132(define-public python-pyatspi
6133 (package
6134 (name "python-pyatspi")
6135 (version "2.24.0")
6136 (source (origin
6137 (method url-fetch)
6138 (uri (string-append
6139 "mirror://gnome/sources/pyatspi/"
6140 (version-major+minor version)
6141 "/pyatspi-" version ".tar.xz"))
6142 (sha256
6143 (base32
6144 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6145 (build-system gnu-build-system)
6146 (native-inputs
6147 `(("pkg-config" ,pkg-config)))
6148 (inputs
6149 `(("python" ,python)
6150 ("python-pygobject" ,python-pygobject)))
6151 (synopsis "Python client bindings for D-Bus AT-SPI")
6152 (home-page "https://wiki.linuxfoundation.org/accessibility\
6153/atk/at-spi/at-spi_on_d-bus")
6154 (description
6155 "This package includes a python client library for the AT-SPI D-Bus
6156accessibility infrastructure.")
6157 (license license:lgpl2.0)
6158 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6159
6160(define-public orca
6161 (package
6162 (name "orca")
6163 (version "3.24.0")
6164 (source (origin
6165 (method url-fetch)
6166 (uri (string-append
6167 "mirror://gnome/sources/" name "/"
6168 (version-major+minor version) "/"
6169 name "-" version ".tar.xz"))
6170 (sha256
6171 (base32
6172 "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97"))))
6173 (build-system glib-or-gtk-build-system)
6174 (arguments
6175 '(#:phases
6176 (modify-phases %standard-phases
6177 (add-before 'configure 'qualify-xkbcomp
6178 (lambda* (#:key inputs #:allow-other-keys)
6179 (let ((xkbcomp (string-append
6180 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6181 (substitute* "src/orca/orca.py"
6182 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6183 #t))
6184 (add-after 'install 'wrap-orca
6185 (lambda* (#:key outputs #:allow-other-keys)
6186 (let* ((out (assoc-ref outputs "out"))
6187 (prog (string-append out "/bin/orca")))
6188 (wrap-program prog
6189 `("GI_TYPELIB_PATH" ":" prefix
6190 (,(getenv "GI_TYPELIB_PATH")))
6191 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6192 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6193 `("PYTHONPATH" ":" prefix
6194 (,(getenv "PYTHONPATH")))))
6195 #t)))))
6196 (native-inputs
6197 `(("intltool" ,intltool)
6198 ("itstool" ,itstool)
6199 ("pkg-config" ,pkg-config)
6200 ("xmllint" ,libxml2)))
6201 (inputs
6202 `(("at-spi2-atk" ,at-spi2-atk)
6203 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6204 ("gstreamer" ,gstreamer)
6205 ("gst-plugins-base" ,gst-plugins-base)
6206 ("gst-plugins-good" ,gst-plugins-good)
6207 ("gtk+" ,gtk+)
6208 ("python" ,python)
6209 ("python-pygobject" ,python-pygobject)
6210 ("python-pyatspi" ,python-pyatspi)
6211 ("python-speechd" ,speech-dispatcher)
6212 ("xkbcomp" ,xkbcomp)))
6213 (synopsis
6214 "Screen reader for individuals who are blind or visually impaired")
6215 (home-page "https://wiki.gnome.org/Projects/Orca")
6216 (description
6217 "Orca is a screen reader that provides access to the graphical desktop
6218via speech and refreshable braille. Orca works with applications and toolkits
6219that support the Assistive Technology Service Provider Interface (AT-SPI).")
6220 (license license:lgpl2.1+)))
411ba511
LC
6221
6222(define-public gspell
6223 (package
6224 (name "gspell")
f54efbdc 6225 (version "1.4.1")
411ba511
LC
6226 (source (origin
6227 (method url-fetch)
6228 (uri (string-append "mirror://gnome/sources/" name "/"
6229 (version-major+minor version) "/"
6230 name "-" version ".tar.xz"))
6231 (sha256
6232 (base32
f54efbdc 6233 "1ghh1xdzf04mfgb13zqpj88krpa44xv2vbyhm6k017kzrpz8hbs4"))
411ba511
LC
6234 (patches (search-patches "gspell-dash-test.patch"))))
6235 (build-system glib-or-gtk-build-system)
6236 (arguments
6237 '(#:phases
6238 (modify-phases %standard-phases
6239 (add-before 'check 'pre-check
6240 (lambda* (#:key inputs #:allow-other-keys)
6241 ;; Tests require a running X server.
6242 (system "Xvfb :1 &")
6243 (setenv "DISPLAY" ":1")
6244
6245 ;; For the missing /etc/machine-id.
6246 (setenv "DBUS_FATAL_WARNINGS" "0")
6247
6248 ;; Allow Enchant and its Aspell backend to find the en_US
6249 ;; dictionary.
6250 (setenv "ASPELL_DICT_DIR"
6251 (string-append (assoc-ref inputs "aspell-dict-en")
6252 "/lib/aspell"))
6253 #t)))))
6254 (inputs
6255 `(("enchant" ,enchant)
6256 ("iso-codes" ,iso-codes)
6257 ("gtk+" ,gtk+)
6258 ("glib" ,glib)))
6259 (native-inputs
6260 `(("glib" ,glib "bin")
6261 ("pkg-config" ,pkg-config)
6262 ("xmllint" ,libxml2)
6263
6264 ;; For tests.
6265 ("xorg-server" ,xorg-server)
6266 ("aspell-dict-en" ,aspell-dict-en)))
6267 (home-page "https://wiki.gnome.org/Projects/gspell")
6268 (synopsis "GNOME's alternative spell checker")
6269 (description
6270 "gspell provides a flexible API to add spell-checking to a GTK+
6271application. It provides a GObject API, spell-checking to text entries and
6272text views, and buttons to choose the language.")
6273 (license license:gpl2+)))