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