gnu: perl: Work around "dotless @INC" build issues.
[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")
2a75ec15 1079 (version "2.40.17")
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
2a75ec15 1087 "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6"))))
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
2deb146f
LC
2320 `(#:modules ((guix build utils)
2321 (guix build gnu-build-system)
2322 (ice-9 popen))
2323
2324 #:configure-flags
6e1bb642
SB
2325 (list (string-append "--with-html-dir="
2326 (assoc-ref %outputs "doc")
ffaf5cbd
MB
2327 "/share/gtk-doc/html")
2328 (string-append "--with-apache-module-dir="
2329 (assoc-ref %build-inputs "httpd")
2330 "/modules"))
6e1bb642
SB
2331 #:phases
2332 (modify-phases %standard-phases
3a4de6b2 2333 (add-before 'configure 'disable-unconnected-socket-test
26c228f9
LC
2334 ;; This test fails due to missing /etc/nsswitch.conf
2335 ;; in the build environment.
2336 (lambda _
2337 (substitute* "tests/socket-test.c"
2338 ((".*/sockets/unconnected.*") ""))
2339 #t))
907f939b 2340 (add-before 'check 'pre-check
26c228f9
LC
2341 (lambda _
2342 ;; The 'check-local' target runs 'env LANG=C sort -u',
2343 ;; unset 'LC_ALL' to make 'LANG' working.
2344 (unsetenv "LC_ALL")
2345 ;; The ca-certificates.crt is not available in the build
2346 ;; environment.
2347 (setenv "SSL_CERT_FILE" "/dev/null")
2348 ;; HTTPD in Guix uses mod_event and does not build prefork.
2349 (substitute* "tests/httpd.conf"
2350 (("^LoadModule mpm_prefork_module.*$") "\n"))
2deb146f
LC
2351
2352 ;; Generate a self-signed certificate that has "localhost" as its
2353 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
2354 ;; 3.5.12, tests such as "ssl-tests" fail:
2355 ;;
2356 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
2357 ;;
2358 ;; 'certtool' is interactive so we have to pipe it the answers.
2359 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
2360 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
2361 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
2362 (for-each (lambda (line)
2363 (display line pipe)
2364 (newline pipe))
2365 '("" ;Common name
2366 "" ;UID
2367 "Guix" ;Organizational unit name
2368 "GNU" ;Organization name
2369 "" ;Locality name
2370 "" ;State or province
2371 "" ;Country
2372 "" ;subject's domain component (DC)
2373 "" ;E-mail
2374 "" ;serial number
2375 "-1" ;expiration time
2376 "N" ;belong to authority?
2377 "N" ;web client certificate?
2378 "N" ;IPsec IKE?
2379 "Y" ;web server certificate?
2380 "localhost" ;dnsName of subject
2381 "" ;dnsName of subject (end)
2382 "" ;URI of subject
2383 "127.0.0.1" ;IP address of subject
2384 "" ;signing?
2385 "" ;encryption?
2386 "" ;sign OCSP requests?
2387 "" ;sign code?
2388 "" ;time stamping?
2389 "" ;email protection?
2390 "" ;URI of the CRL distribution point
2391 "y" ;above info OK?
2392 ))
2393 (close-pipe pipe))
26c228f9 2394 #t))
fd730590 2395 (replace 'install
26c228f9
LC
2396 (lambda _
2397 (zero?
2398 (system* "make"
2399 ;; Install vala bindings into $out.
2400 (string-append "vapidir=" %output
2401 "/share/vala/vapi")
2402 "install")))))))
6e1bb642 2403 (native-inputs
26c228f9 2404 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642
SB
2405 ("gobject-introspection" ,gobject-introspection)
2406 ("intltool" ,intltool)
2407 ("pkg-config" ,pkg-config)
2408 ("python" ,python-wrapper)
fd730590 2409 ("vala" ,vala)
6e1bb642
SB
2410 ;; These are needed for the tests.
2411 ;; FIXME: Add PHP once available.
2412 ("curl" ,curl)
2deb146f 2413 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
2414 ("httpd" ,httpd)))
2415 (propagated-inputs
2416 ;; libsoup-2.4.pc refers to all these.
2417 `(("glib" ,glib)
2418 ("libxml2" ,libxml2)))
2419 (inputs
2420 `(("glib-networking" ,glib-networking)
2421 ("sqlite" ,sqlite)))
2422 (home-page "https://live.gnome.org/LibSoup/")
2423 (synopsis "GLib-based HTTP Library")
2424 (description
2425 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2426and the GLib main loop, to integrate well with GNOME applications.")
2427 (license license:lgpl2.0+)))
2428
bba229a3
SB
2429(define-public libsecret
2430 (package
2431 (name "libsecret")
6983ba56 2432 (version "0.18.5")
bba229a3
SB
2433 (source (origin
2434 (method url-fetch)
2435 (uri (string-append
896dcbc7
EF
2436 "mirror://gnome/sources/libsecret/"
2437 (version-major+minor version) "/"
bba229a3
SB
2438 name "-" version ".tar.xz"))
2439 (sha256
2440 (base32
6983ba56 2441 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
bba229a3
SB
2442 (build-system gnu-build-system)
2443 (outputs '("out" "doc"))
2444 (arguments
2445 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2446 #:configure-flags
2447 (list (string-append "--with-html-dir="
2448 (assoc-ref %outputs "doc")
2449 "/share/gtk-doc/html"))))
2450 (native-inputs
2451 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2452 ("gobject-introspection" ,gobject-introspection)
2453 ("intltool" ,intltool)
2454 ("pkg-config" ,pkg-config)
2455 ("vala" ,vala)
2456 ("xsltproc" ,libxslt)))
2457 ;; These are needed for the tests.
2458 ;; FIXME: Add gjs once available.
2459 ;("dbus" ,dbus)
2460 ;("python2" ,python-2)
2461 ;("python2-dbus" ,python2-dbus)
2462 ;("python2-pygobject" ,python2-pygobject)
2463 ;("python2-pygobject-2" ,python2-pygobject-2)))
2464 (propagated-inputs
2465 `(("glib" ,glib))) ; required by libsecret-1.pc
2466 (inputs
2467 `(("docbook-xsl" ,docbook-xsl)
2468 ("libgcrypt" ,libgcrypt)
2469 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2470 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2471 (synopsis "GObject bindings for \"Secret Service\" API")
2472 (description
2473 "Libsecret is a GObject based library for storing and retrieving passwords
2474and other secrets. It communicates with the \"Secret Service\" using DBus.")
2475 (license license:lgpl2.1+)))
2476
b6821ee0 2477(define-public five-or-more
2478 (package
2479 (name "five-or-more")
2480 (version "3.22.2")
2481 (source
2482 (origin
2483 (method url-fetch)
2484 (uri (string-append "mirror://gnome/sources/" name "/"
2485 (version-major+minor version) "/"
2486 name "-" version ".tar.xz"))
2487 (sha256
2488 (base32
2489 "1b26afyjr26wqy5j008gzsi3hpblbmabh0192lx6414lml1qxkxs"))))
2490 (build-system glib-or-gtk-build-system)
2491 (native-inputs
2492 `(("pkg-config" ,pkg-config)
2493 ("desktop-file-utils" ,desktop-file-utils)
2494 ("intltool" ,intltool)
2495 ("itstool" ,itstool)
2496 ("xmllint" ,libxml2)))
2497 (inputs
2498 `(("gtk+" ,gtk+)
2499 ("librsvg" ,librsvg)))
2500 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
2501 (synopsis "Logic puzzle game")
2502 (description "Five or More is a game where you try to align
2503 five or more objects of the same color and shape causing them to disappear.
2504 On every turn more objects will appear, until the board is full.
2505 Try to last as long as possible.")
2506 (license license:gpl2+)))
2507
a31a6d22
SB
2508(define-public gnome-mines
2509 (package
2510 (name "gnome-mines")
ac89f213 2511 (version "3.24.0")
a31a6d22
SB
2512 (source
2513 (origin
2514 (method url-fetch)
2515 (uri (string-append "mirror://gnome/sources/" name "/"
2516 (version-major+minor version) "/"
2517 name "-" version ".tar.xz"))
2518 (sha256
2519 (base32
ac89f213 2520 "1xh2as2xmh7gx45gpnl0fh9xjpvyyn3m84qgv41kyp2s4clsyqz6"))))
a31a6d22
SB
2521 (build-system glib-or-gtk-build-system)
2522 (arguments
2523 '(#:phases
2524 (modify-phases %standard-phases
f8503e2b 2525 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2526 (lambda _
2527 (substitute* "configure"
6983ba56 2528 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2529 (native-inputs
2530 `(("pkg-config" ,pkg-config)
2531 ("desktop-file-utils" ,desktop-file-utils)
2532 ("intltool" ,intltool)
bcb354ad
SB
2533 ("itstool" ,itstool)
2534 ("xmllint" ,libxml2)))
a31a6d22
SB
2535 (inputs
2536 `(("gtk+" ,gtk+)
73992962 2537 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2538 ("librsvg" ,librsvg)))
2539 (home-page "https://wiki.gnome.org/Apps/Mines")
2540 (synopsis "Minesweeper game")
2541 (description
2542 "Mines (previously gnomine) is a puzzle game where you locate mines
2543floating in an ocean using only your brain and a little bit of luck.")
2544 (license license:gpl2+)))
88f70665 2545
dfc407f3
KY
2546(define-public gnome-sudoku
2547 (package
2548 (name "gnome-sudoku")
34a8af2d 2549 (version "3.24.0")
dfc407f3
KY
2550 (source
2551 (origin
2552 (method url-fetch)
2553 (uri (string-append "mirror://gnome/sources/" name "/"
2554 (version-major+minor version) "/"
2555 name "-" version ".tar.xz"))
2556 (sha256
2557 (base32
34a8af2d 2558 "1mw5ykk7wr0r9770jj5270f07rjws0pmpjs0b1fywj4li13r98h4"))))
dfc407f3
KY
2559 (build-system glib-or-gtk-build-system)
2560 (native-inputs
2561 `(("pkg-config" ,pkg-config)
2562 ("desktop-file-utils" ,desktop-file-utils)
2563 ("intltool" ,intltool)
2564 ("itstool" ,itstool)
2565 ("xmllint" ,libxml2)))
2566 (inputs
2567 `(("gtk+" ,gtk+)
2568 ("json-glib" ,json-glib)
2569 ("libgee" ,libgee)
2570 ("librsvg" ,librsvg)
2571 ("qqwing" ,qqwing)))
2572 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2573 (synopsis "Japanese logic game")
2574 (description
2575 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2576GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2577possible while still providing features that make playing difficult Sudoku
2578more fun.")
2579 (license license:gpl2+)))
2580
88f70665
AW
2581(define-public gnome-terminal
2582 (package
2583 (name "gnome-terminal")
e20d997f 2584 (version "3.24.2")
88f70665
AW
2585 (source
2586 (origin
2587 (method url-fetch)
2588 (uri (string-append "mirror://gnome/sources/" name "/"
2589 (version-major+minor version) "/"
2590 name "-" version ".tar.xz"))
2591 (sha256
2592 (base32
e20d997f 2593 "03zcvxlzg7n4pz65vrg5xj3qpkqr4bz162mgmaz4bjh71b1xl7i8"))))
88f70665
AW
2594 (build-system glib-or-gtk-build-system)
2595 (arguments
2596 '(#:configure-flags
2597 (list "--disable-migration" "--disable-search-provider"
2598 "--without-nautilus-extension")
2599 #:phases
2600 (modify-phases %standard-phases
3a4de6b2 2601 (add-before 'configure 'patch-/bin/true
88f70665
AW
2602 (lambda _
2603 (substitute* "configure"
2604 (("/bin/true") (which "true"))))))))
2605 (native-inputs
2606 `(("pkg-config" ,pkg-config)
2607 ("desktop-file-utils" ,desktop-file-utils)
2608 ("intltool" ,intltool)
bcb354ad
SB
2609 ("itstool" ,itstool)
2610 ("xmllint" ,libxml2)))
68702167
MW
2611 (propagated-inputs
2612 `(("dconf" ,dconf)))
88f70665
AW
2613 (inputs
2614 `(("gtk+" ,gtk+)
2615 ("vte" ,vte)
2616 ("gnutls" ,gnutls)
88f70665
AW
2617 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2618 ("util-linux" ,util-linux)
2619 ("vala" ,vala)))
2620 (home-page "https://wiki.gnome.org/Apps/Terminal")
2621 (synopsis "Terminal emulator")
2622 (description
2623 "GNOME Terminal is a terminal emulator application for accessing a
2624UNIX shell environment which can be used to run programs available on
2625your system.
2626
2627It supports several profiles, multiple tabs and implements several
2628keyboard shortcuts.")
2629 (license license:gpl3+)))
75016d07
AW
2630
2631(define-public colord
2632 (package
2633 (name "colord")
2634 (version "1.1.8")
2635 (source
2636 (origin
2637 (method url-fetch)
5cc3096c 2638 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2639 name "-" version ".tar.xz"))
2640 (sha256
2641 (base32
2642 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2643 (build-system glib-or-gtk-build-system)
2644 (arguments
2645 '(;; The tests want to run valgrind. Punt for now.
2646 #:tests? #f
2647 #:configure-flags (list "--localstatedir=/var"
2648 ;; GUSB not packaged yet.
2649 "--disable-gusb"
2650 ;; No dep on systemd.
2651 "--disable-systemd-login"
2652 ;; Wants to install to global completion dir;
2653 ;; punt.
2654 "--disable-bash-completion"
2655 ;; colord-gtk not packaged yet.
2656 "--disable-session-example"
2657 "--with-daemon-user=colord"
2658 "--enable-sane"
2659 (string-append "--with-udevrulesdir="
2660 (assoc-ref %outputs "out")
2661 "/lib/udev/rules.d"))
2662 #:phases
2663 (modify-phases %standard-phases
3a4de6b2 2664 (add-before 'configure 'patch-/bin/true
75016d07
AW
2665 (lambda _
2666 (substitute* "configure"
2667 (("/bin/true") (which "true")))
2668 (substitute* "src/Makefile.in"
2669 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2670 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2671 (native-inputs
2672 `(("pkg-config" ,pkg-config)
2673 ("gobject-introspection" ,gobject-introspection)
2674 ("libtool" ,libtool)
2675 ("intltool" ,intltool)))
65cb2d61
SB
2676 (propagated-inputs
2677 ;; colord.pc refers to all these.
2678 `(("glib" ,glib)
2679 ("udev" ,eudev)
2680 ("lcms" ,lcms)))
75016d07 2681 (inputs
65cb2d61 2682 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2683 ("libgudev" ,libgudev)
75016d07 2684 ("libusb" ,libusb)
75016d07
AW
2685 ("sqlite" ,sqlite)
2686 ("polkit" ,polkit)
4c928743 2687 ("sane-backends" ,sane-backends)))
75016d07
AW
2688 (home-page "http://www.freedesktop.org/software/colord/")
2689 (synopsis "Color management service")
2690 (description "Colord is a system service that makes it easy to manage,
2691install and generate color profiles to accurately color manage input and
2692output devices.")
2693 (license license:gpl2+)))
7b2abd00
AW
2694
2695(define-public geoclue
2696 (package
2697 (name "geoclue")
ccfac09c 2698 (version "2.4.6")
7b2abd00
AW
2699 (source
2700 (origin
2701 (method url-fetch)
5cc3096c 2702 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2703 "/releases/" (version-major+minor version) "/"
2704 name "-" version ".tar.xz"))
2705 (sha256
2706 (base32
ccfac09c 2707 "1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
fc1adab1 2708 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2709 (build-system glib-or-gtk-build-system)
2710 (arguments
2711 '(;; The tests want to run the system bus.
2712 #:tests? #f
2713 #:configure-flags (list ;; Disable bits requiring ModemManager.
2714 "--disable-3g-source"
2715 "--disable-cdma-source"
2716 "--disable-modem-gps-source"
2717 "--with-dbus-service-user=geoclue")
2718 #:phases
2719 (modify-phases %standard-phases
3a4de6b2 2720 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2721 (lambda _
2722 (substitute* "configure"
2723 (("/bin/true") (which "true"))))))))
2724 (native-inputs
2725 `(("pkg-config" ,pkg-config)
758798a9 2726 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
2727 ("intltool" ,intltool)))
2728 (inputs
54e911bc
SB
2729 `(("avahi" ,avahi)
2730 ("glib" ,glib)
7b2abd00
AW
2731 ("json-glib" ,json-glib)
2732 ("libsoup" ,libsoup)))
2733 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2734 (synopsis "Geolocation service")
2735 (description "Geoclue is a D-Bus service that provides location
2736information. The primary goal of the Geoclue project is to make creating
2737location-aware applications as simple as possible, while the secondary goal is
2738to ensure that no application can access location information without explicit
e881752c 2739permission from user.")
7b2abd00 2740 (license license:gpl2+)))
2bfe7437
AW
2741
2742(define-public geocode-glib
2743 (package
2744 (name "geocode-glib")
3ffd46bd 2745 (version "3.20.1")
2bfe7437
AW
2746 (source (origin
2747 (method url-fetch)
2748 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2749 (version-major+minor version) "/"
2750 name "-" version ".tar.xz"))
2751 (sha256
2752 (base32
3ffd46bd 2753 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2754 (build-system gnu-build-system)
2755 (arguments
2756 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2757 ;; work for the builder. Punt.
a124bbd2 2758 #:tests? #f))
2bfe7437
AW
2759 (native-inputs
2760 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2761 ("gobject-introspection" ,gobject-introspection)
2762 ("pkg-config" ,pkg-config)
2763 ("json-glib" ,json-glib)))
2764 (propagated-inputs
2765 ;; geocode-glib-1.0.pc refers to GIO.
2766 `(("glib" ,glib)))
2767 (inputs
2768 `(("libsoup" ,libsoup)))
2769 (home-page "https://github.com/GNOME/geocode-glib/")
2770 (synopsis "Geocoding and reverse-geocoding library")
2771 (description
2772 "geocode-glib is a convenience library for geocoding (finding longitude,
2773and latitude from an address) and reverse geocoding (finding an address from
2774coordinates) using the Nominatim service. geocode-glib caches requests for
2775faster results and to avoid unnecessary server load.")
2776 (license license:lgpl2.0+)))
a1d5bb0e
AW
2777
2778(define-public upower
2779 (package
2780 (name "upower")
5e503e73 2781 (version "0.99.4")
a1d5bb0e
AW
2782 (source (origin
2783 (method url-fetch)
5cc3096c 2784 (uri (string-append "https://upower.freedesktop.org/releases/"
a1d5bb0e
AW
2785 name "-" version ".tar.xz"))
2786 (sha256
2787 (base32
5e503e73 2788 "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
fc1adab1 2789 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2790 (build-system glib-or-gtk-build-system)
2791 (arguments
2792 '( ;; The tests want to contact the system bus, which can't be done in the
2793 ;; build environment. The integration test can run, but the last of
2794 ;; the up-self-tests doesn't. Disable tests for now.
2795 #:tests? #f
2796 #:configure-flags (list "--localstatedir=/var"
2797 (string-append "--with-udevrulesdir="
2798 (assoc-ref %outputs "out")
2799 "/lib/udev/rules.d"))
2800 #:phases
2801 (modify-phases %standard-phases
2802 (add-before 'configure 'patch-/bin/true
2803 (lambda _
2804 (substitute* "configure"
2805 (("/bin/true") (which "true")))))
2806 (add-before 'configure 'patch-integration-test
2807 (lambda _
2808 (substitute* "src/linux/integration-test"
2809 (("/usr/bin/python3") (which "python3"))))))))
2810 (native-inputs
ebeabe2d
SB
2811 `(("gobject-introspection" ,gobject-introspection)
2812 ("pkg-config" ,pkg-config)
a1d5bb0e 2813 ("intltool" ,intltool)
55409295
LC
2814 ("python" ,python)
2815
2816 ;; For man pages.
2817 ("libxslt" ,libxslt) ;for 'xsltproc'
2818 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2819 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2820 (inputs
ea226291
SB
2821 `(("dbus-glib" ,dbus-glib)
2822 ("libgudev" ,libgudev)
a1d5bb0e
AW
2823 ("libusb" ,libusb)))
2824 (home-page "http://upower.freedesktop.org/")
2825 (synopsis "System daemon for managing power devices")
2826 (description
2827 "UPower is an abstraction for enumerating power devices,
2828listening to device events and querying history and statistics. Any
2829application or service on the system can access the org.freedesktop.UPower
2830service via the system message bus.")
2831 (license license:gpl2+)))
6a180f6f
AW
2832
2833(define-public libgweather
2834 (package
2835 (name "libgweather")
9cf8d93a 2836 (version "3.24.1")
6a180f6f
AW
2837 (source (origin
2838 (method url-fetch)
2839 (uri (string-append "mirror://gnome/sources/" name "/"
2840 (version-major+minor version) "/"
2841 name "-" version ".tar.xz"))
2842 (sha256
2843 (base32
9cf8d93a 2844 "0g35xfcw9vh3sfff42blk9ksrlmkrjmj46h3ad0sqgdn6xh329qj"))))
6a180f6f
AW
2845 (build-system gnu-build-system)
2846 (arguments
b6072e6b
SB
2847 `(#:configure-flags
2848 `(,(string-append "--with-zoneinfo-dir="
2849 (assoc-ref %build-inputs "tzdata")
2850 "/share/zoneinfo"))
2851 #:phases
2852 (modify-phases %standard-phases
8b8dfa7f
LC
2853 (add-before 'check 'pre-check
2854 (lambda* (#:key inputs #:allow-other-keys)
2855 (substitute* "data/check-timezones.sh"
2856 (("/usr/share/zoneinfo/zone.tab")
2857 (string-append (assoc-ref inputs "tzdata")
2858 "/share/zoneinfo/zone.tab")))
2859
2860 ;; 'Asia/Rangoon' was renamed in tzdata-2016:
2861 ;; <https://github.com/eggert/tz/commit/4368251ebf11310a4aadccd1910daeac9080c501>.
2862 (substitute* "data/Locations.xml"
2863 (("Asia/Rangoon")
2864 "Asia/Yangon"))
b6072e6b 2865 #t)))))
6a180f6f
AW
2866 (native-inputs
2867 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 2868 ("gobject-introspection" ,gobject-introspection)
6a180f6f
AW
2869 ("pkg-config" ,pkg-config)
2870 ("intltool" ,intltool)))
2871 (propagated-inputs
2872 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2873 ;; libsoup.
2874 `(("gtk+" ,gtk+)
2875 ("gdk-pixbuf" ,gdk-pixbuf)
2876 ("libxml2" ,libxml2)
2877 ("libsoup" ,libsoup)))
2878 (inputs
2879 `(("tzdata" ,tzdata)
2880 ("geocode-glib" ,geocode-glib)))
2881 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2882 (synopsis "Location, time zone, and weather library for GNOME")
2883 (description
2884 "libgweather is a library to access weather information from online
2885services for numerous locations.")
2886 (license license:gpl2+)))
23a22af6
AW
2887
2888(define-public gnome-settings-daemon
2889 (package
2890 (name "gnome-settings-daemon")
6481cad7 2891 (version "3.24.2")
23a22af6
AW
2892 (source
2893 (origin
2894 (method url-fetch)
2895 (uri (string-append "mirror://gnome/sources/" name "/"
2896 (version-major+minor version) "/"
2897 name "-" version ".tar.xz"))
2898 (sha256
2899 (base32
6481cad7 2900 "1jnw920zn4cadhgmcv2q5ylzqhwm1rmrhf3a14q8mvp38hkdgaaa"))))
23a22af6
AW
2901 (build-system glib-or-gtk-build-system)
2902 (arguments
eee7878f 2903 `(;; Color management test can't reach the colord system service.
23a22af6
AW
2904 #:tests? #f))
2905 (native-inputs
2906 `(("pkg-config" ,pkg-config)
2907 ("intltool" ,intltool)
2908 ("xsltproc" ,libxslt)
2909 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2910 ("docbook-xml" ,docbook-xml-4.2)
2911 ("docbook-xsl" ,docbook-xsl)))
2912 (inputs
2913 `(("colord" ,colord)
ea226291 2914 ("libgudev" ,libgudev)
23a22af6
AW
2915 ("upower" ,upower)
2916 ("polkit" ,polkit)
2917 ("pulseaudio" ,pulseaudio)
2918 ("libcanberra" ,libcanberra)
2919 ("libx11" ,libx11)
2920 ("libxtst" ,libxtst)
2921 ("lcms" ,lcms)
2922 ("libnotify" ,libnotify)
2923 ("geoclue" ,geoclue)
2924 ("geocode-glib" ,geocode-glib)
2925 ("libgweather" ,libgweather)
2926 ("gnome-desktop" ,gnome-desktop)
2927 ("nss" ,nss)
2928 ("cups" ,cups)
ec2b1921
AW
2929 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2930 ("libwacom" ,libwacom)
2931 ("librsvg" ,librsvg)
eee7878f
CM
2932 ("xf86-input-wacom" ,xf86-input-wacom)
2933 ("network-manager" ,network-manager)))
23a22af6
AW
2934 (home-page "http://www.gnome.org")
2935 (synopsis "GNOME settings daemon")
2936 (description
2937 "This package contains the daemon responsible for setting the various
2938parameters of a GNOME session and the applications that run under it. It
2939handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2940settings, themes, mouse settings, and startup of other daemons.")
2941 (license license:gpl2+)))
1e7464a9
DH
2942
2943(define-public totem-pl-parser
2944 (package
2945 (name "totem-pl-parser")
e980cbe9 2946 (version "3.10.7")
1e7464a9
DH
2947 (source (origin
2948 (method url-fetch)
e980cbe9
MW
2949 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
2950 (version-major+minor version) "/"
1e7464a9
DH
2951 "totem-pl-parser-" version ".tar.xz"))
2952 (sha256
2953 (base32
e980cbe9 2954 "17089sqyh6w6zr8ci865ihmvqshnslcsk9fbsl4s7yii66y8b0lw"))))
1e7464a9
DH
2955 (build-system gnu-build-system)
2956 (arguments
2957 ;; FIXME: Tests require gvfs.
2958 `(#:tests? #f))
2959 (native-inputs
2960 `(("intltool" ,intltool)
2961 ("glib" ,glib "bin")
4d6d8281 2962 ("gobject-introspection" ,gobject-introspection)
1e7464a9 2963 ("pkg-config" ,pkg-config)))
22a6ad6a 2964 (propagated-inputs
1e7464a9
DH
2965 `(("glib" ,glib)
2966 ("gmime" ,gmime)
22a6ad6a
MW
2967 ("libxml2" ,libxml2)))
2968 (inputs
2969 `(("libarchive" ,libarchive)
1e7464a9
DH
2970 ("libgcrypt" ,libgcrypt)
2971 ("nettle" ,nettle)
22a6ad6a 2972 ("libsoup" ,libsoup)))
1e7464a9
DH
2973 (home-page "https://projects.gnome.org/totem")
2974 (synopsis "Library to parse and save media playlists for GNOME")
2975 (description "Totem-pl-parser is a GObjects-based library to parse and save
2976playlists in a variety of formats.")
2977 (license license:lgpl2.0+)))
2978
6b888eff
SB
2979(define-public aisleriot
2980 (package
2981 (name "aisleriot")
e6a36cf2 2982 (version "3.22.2")
6b888eff
SB
2983 (source (origin
2984 (method url-fetch)
2985 (uri (string-append "mirror://gnome/sources/" name "/"
2986 (version-major+minor version) "/"
2987 name "-" version ".tar.xz"))
2988 (sha256
2989 (base32
e6a36cf2 2990 "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx"))))
6b888eff
SB
2991 (build-system glib-or-gtk-build-system)
2992 (arguments
2993 '(#:configure-flags
2994 '("--with-platform=gtk-only"
2995 "--with-card-theme-formats=svg")))
2996 (native-inputs
2997 `(("desktop-file-utils" ,desktop-file-utils)
2998 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2999 ("intltool" ,intltool)
3000 ("itstool" ,itstool)
3001 ("pkg-config" ,pkg-config)
3002 ("xmllint" ,libxml2)))
3003 (inputs
3004 `(("gtk+" ,gtk+)
3005 ("guile" ,guile-2.0)
3006 ("libcanberra" ,libcanberra)
3007 ("librsvg" ,librsvg)))
3008 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
3009 (synopsis "Solitaire card games")
3010 (description
3011 "Aisleriot (also known as Solitaire or sol) is a collection of card games
3012which are easy to play with the aid of a mouse.")
3013 (license license:gpl3+)))
4a79e256
SB
3014
3015(define-public devhelp
3016 (package
3017 (name "devhelp")
9bf10a74 3018 (version "3.24.0")
4a79e256
SB
3019 (source (origin
3020 (method url-fetch)
3021 (uri (string-append "mirror://gnome/sources/" name "/"
3022 (version-major+minor version) "/"
3023 name "-" version ".tar.xz"))
3024 (sha256
3025 (base32
9bf10a74 3026 "0c74rk46dy3kvy78m42jl3ip56c5536zmy8v1lbascjmh4fdwn28"))))
4a79e256
SB
3027 (build-system glib-or-gtk-build-system)
3028 (native-inputs
3029 `(("intltool" ,intltool)
3030 ("pkg-config" ,pkg-config)))
3031 (inputs
3032 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3033 ("webkitgtk" ,webkitgtk)))
3034 (home-page "https://wiki.gnome.org/Apps/Devhelp")
3035 (synopsis "API documentation browser for GNOME")
3036 (description
3037 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
3038natively with GTK-Doc (the API reference system developed for GTK+ and used
3039throughout GNOME for API documentation).")
3040 (license license:gpl2+)))
ba421ab7
MW
3041
3042(define-public cogl
3043 (package
3044 (name "cogl")
6a55accc 3045 (version "1.22.2")
ba421ab7
MW
3046 (source
3047 (origin
3048 (method url-fetch)
3049 (uri (string-append "mirror://gnome/sources/" name "/"
3050 (version-major+minor version) "/"
3051 name "-" version ".tar.xz"))
3052 (sha256
3053 (base32
6a55accc 3054 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
a88d5a0c
MW
3055 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
3056 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
3057 (build-system gnu-build-system)
3058 (native-inputs
3059 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3060 ("gobject-introspection" ,gobject-introspection)
3061 ;;("xorg-server" ,xorg-server) ; for the test suite
3062 ("pkg-config" ,pkg-config)))
3063 (propagated-inputs
3064 `(("glib" ,glib)
3065 ("gdk-pixbuf" ,gdk-pixbuf)
3066 ("libx11" ,libx11)
3067 ("libxext" ,libxext)
3068 ("libxfixes" ,libxfixes)
3069 ("libxdamage" ,libxdamage)
3070 ("libxcomposite" ,libxcomposite)
3071 ("libxrandr" ,libxrandr)))
3072 (inputs
3073 `(("mesa" ,mesa)
3074 ("cairo" ,cairo)
3075 ("pango" ,pango)
3076 ("gstreamer" ,gstreamer)
31860852
KK
3077 ("gst-plugins-base" ,gst-plugins-base)
3078 ("wayland" ,wayland)))
ba421ab7
MW
3079 (arguments
3080 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
3081 "--enable-wayland-egl-platform"
3082 "--enable-wayland-egl-server"
3083
ba421ab7
MW
3084 ;; Arrange to pass an absolute file name to
3085 ;; dlopen for libGL.so.
3086 (string-append "--with-gl-libname="
3087 (assoc-ref %build-inputs "mesa")
3088 "/lib/libGL.so"))
3089 ;; XXX FIXME: All tests fail, with many warnings printed like this:
3090 ;; _FontTransOpen: Unable to Parse address
3091 ;; ${prefix}/share/fonts/X11/misc/
3092 #:tests? #f
3093 #; #:phases
3094 #;
3095 (modify-phases %standard-phases
3096 (add-before 'check 'start-xorg-server
3097 (lambda* (#:key inputs #:allow-other-keys)
3098 ;; The test suite requires a running X server.
3099 (system (format #f "~a/bin/Xvfb :1 &"
3100 (assoc-ref inputs "xorg-server")))
3101 (setenv "DISPLAY" ":1")
3102 #t)))))
3103 (home-page "http://www.cogl3d.org")
3104 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
3105 (description
3106 "Cogl is a small library for using 3D graphics hardware to draw pretty
3107pictures. The API departs from the flat state machine style of OpenGL and is
3108designed to make it easy to write orthogonal components that can render
3109without stepping on each others toes.")
3110 (license (list license:expat ; most of the code
3111 license:bsd-3 ; cogl/cogl-point-in-poly.c
3112 license:sgifreeb2.0 ; cogl-path/tesselator/
3113 license:asl2.0)))) ; examples/android/
fb182b8a
MW
3114
3115(define-public clutter
3116 (package
3117 (name "clutter")
6a88e4ee 3118 (version "1.26.2")
fb182b8a
MW
3119 (source
3120 (origin
3121 (method url-fetch)
3122 (uri (string-append "mirror://gnome/sources/" name "/"
3123 (version-major+minor version) "/"
3124 name "-" version ".tar.xz"))
3125 (sha256
3126 (base32
6a88e4ee 3127 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
3128 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
3129 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 3130 (build-system gnu-build-system)
600233bd
LC
3131 (outputs '("out"
3132 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
3133 (native-inputs
3134 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
3135 ("gobject-introspection" ,gobject-introspection)
3136 ("pkg-config" ,pkg-config)
3137 ("xsltproc" ,libxslt)))
3138 (propagated-inputs
3139 `(("cogl" ,cogl)
3140 ("cairo" ,cairo)
3141 ("atk" ,atk)
3142 ("gtk+" ,gtk+)
3143 ("json-glib" ,json-glib)
3144 ("glib" ,glib)
3145 ("libxcomposite" ,libxcomposite)
3146 ("libxdamage" ,libxdamage)
3147 ("libxext" ,libxext)
3148 ("xinput" ,xinput)))
3149 (inputs
3150 `(("libxkbcommon" ,libxkbcommon)
3151 ("udev" ,eudev)))
3152 (arguments
600233bd
LC
3153 `(#:configure-flags (list "--enable-x11-backend=yes"
3154
3155 ;; This produces share/doc/{clutter,cally}.
3156 (string-append "--with-html-dir="
3157 (assoc-ref %outputs "doc")
3158 "/share/doc"))
fb182b8a
MW
3159 ;; XXX FIXME: Get test suite working. It would probably fail in the
3160 ;; same way the cogl tests fail, since clutter is based on cogl.
3161 #:tests? #f))
3162 (home-page "http://www.clutter-project.org")
3163 (synopsis "Open GL based interactive canvas library")
3164 (description
3165 "Clutter is an Open GL based interactive canvas library, designed for
3166creating fast, mainly 2D single window applications such as media box UIs,
3167presentations, kiosk style applications and so on.")
3168 (license license:lgpl2.0+)))
bf7f17ba
MW
3169
3170(define-public clutter-gtk
3171 (package
3172 (name "clutter-gtk")
a6e44835 3173 (version "1.8.2")
bf7f17ba
MW
3174 (source
3175 (origin
3176 (method url-fetch)
3177 (uri (string-append "mirror://gnome/sources/" name "/"
3178 (version-major+minor version) "/"
3179 name "-" version ".tar.xz"))
3180 (sha256
3181 (base32
a6e44835 3182 "153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
bf7f17ba
MW
3183 (build-system gnu-build-system)
3184 (native-inputs
3185 `(("pkg-config" ,pkg-config)
3186 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
3187 (propagated-inputs
3188 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
3189 `(("clutter" ,clutter)
3190 ("gtk+" ,gtk+)))
3191 (home-page "http://www.clutter-project.org")
3192 (synopsis "Open GL based interactive canvas library GTK+ widget")
3193 (description
3194 "Clutter is an Open GL based interactive canvas library, designed for
3195creating fast, mainly 2D single window applications such as media box UIs,
3196presentations, kiosk style applications and so on.")
3197 (license license:lgpl2.0+)))
86d6a893
MW
3198
3199(define-public clutter-gst
3200 (package
3201 (name "clutter-gst")
87736005 3202 (version "3.0.24")
86d6a893
MW
3203 (source
3204 (origin
3205 (method url-fetch)
3206 (uri (string-append "mirror://gnome/sources/" name "/"
3207 (version-major+minor version) "/"
3208 name "-" version ".tar.xz"))
3209 (sha256
3210 (base32
87736005 3211 "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9"))))
86d6a893
MW
3212 (build-system gnu-build-system)
3213 (native-inputs
3214 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3215 ("pkg-config" ,pkg-config)
3216 ("gobject-introspection" ,gobject-introspection)))
3217 (inputs
3218 `(("clutter" ,clutter)
3219 ("gstreamer" ,gstreamer)
3220 ("gst-plugins-base" ,gst-plugins-base)))
3221 (home-page "http://www.clutter-project.org")
3222 (synopsis "Integration library for using GStreamer with Clutter")
3223 (description
3224 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3225It provides a GStreamer sink to upload frames to GL and an actor that
3226implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3227GL based interactive canvas library.")
3228 (license license:lgpl2.0+)))
607a04ae 3229
30dc88d9
LC
3230(define-public libchamplain
3231 (package
3232 (name "libchamplain")
356f0cef 3233 (version "0.12.15")
30dc88d9
LC
3234 (source (origin
3235 (method url-fetch)
3236 (uri (string-append
3237 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3238 version ".tar.xz"))
3239 (sha256
3240 (base32
356f0cef 3241 "0x5qa1aw1y59lzkmf4j4szspn49341a87vcja4ydgxny1chilwjl"))))
30dc88d9 3242 (build-system gnu-build-system)
f7c6833f
LF
3243 (arguments '(#:configure-flags '("--enable-vala")))
3244 (native-inputs
3245 `(("gobject-introspection" ,gobject-introspection)
3246 ("pkg-config" ,pkg-config)
3247 ("vala" ,vala)))
30dc88d9
LC
3248 (propagated-inputs
3249 `(("libsoup" ,libsoup)
3250 ("sqlite" ,sqlite)
3251 ("clutter" ,clutter)
3252 ("clutter-gtk" ,clutter-gtk)
3253 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3254 ("cairo" ,cairo)
3255 ("gtk+3" ,gtk+)
3256 ("glib" ,glib)))
3257 (home-page "http://projects.gnome.org/libchamplain/")
3258 (synopsis "C library providing a ClutterActor to display maps")
3259 (description
3260 "libchamplain is a C library providing a ClutterActor to display maps.
3261It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3262and Perl bindings are also available. It supports numerous free map sources
3263such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3264 (license license:lgpl2.1+)))
3265
607a04ae
MW
3266(define-public gom
3267 (package
3268 (name "gom")
0510440b 3269 (version "0.3.2")
607a04ae
MW
3270 (source
3271 (origin
3272 (method url-fetch)
3273 (uri (string-append "mirror://gnome/sources/" name "/"
3274 (version-major+minor version) "/"
3275 name "-" version ".tar.xz"))
3276 (sha256
3277 (base32
0510440b 3278 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3279 (build-system gnu-build-system)
3280 (native-inputs
3281 `(("intltool" ,intltool)
3282 ("pkg-config" ,pkg-config)
3283 ("gobject-introspection" ,gobject-introspection)))
3284 (inputs
3285 `(("glib" ,glib)
3286 ("gdk-pixbuf" ,gdk-pixbuf)
3287 ("sqlite" ,sqlite)))
3288 ;; XXX TODO: Figure out how to run the test suite.
3289 (arguments `(#:tests? #f))
3290 (home-page "https://wiki.gnome.org/Projects/Gom")
3291 (synopsis "Object mapper from GObjects to SQLite")
3292 (description
3293 "Gom provides an object mapper from GObjects to SQLite. It helps you
3294write applications that need to store structured data as well as make complex
3295queries upon that data.")
3296 (license license:lgpl2.1+)))
b7a3cf11 3297
f09520db
SB
3298(define-public libgames-support
3299 (package
3300 (name "libgames-support")
3301 (version "1.0.2")
3302 (source (origin
3303 (method url-fetch)
3304 (uri (string-append "mirror://gnome/sources/" name "/"
3305 (version-major+minor version) "/"
3306 name "-" version ".tar.xz"))
3307 (sha256
3308 (base32
3309 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
3310 (build-system gnu-build-system)
3311 (arguments
3312 '(#:phases
3313 (modify-phases %standard-phases
3314 (add-before 'check 'pre-check
3315 (lambda _
3316 ;; tests require a writable HOME.
3317 (setenv "HOME" (getcwd))
3318 #t)))))
3319 (native-inputs
3320 `(("intltool" ,intltool)
3321 ("pkg-config" ,pkg-config)
3322 ("vala" ,vala)))
3323 (propagated-inputs
3324 ;; Required by libgames-support-1.0.pc
3325 `(("gtk+" ,gtk+)
3326 ("libgee" ,libgee)))
3327 (home-page "https://www.gnome.org/")
3328 (synopsis "Useful functionality shared among GNOME games")
3329 (description
3330 "libgames-support is a small library intended for internal use by
3331GNOME Games, but it may be used by others.")
3332 (license license:lgpl3+)))
3333
43ec2604
MW
3334(define-public libgnome-games-support
3335 (package
3336 (inherit libgames-support)
3337 (name "libgnome-games-support")
3338 (version "1.2.1")
3339 (source (origin
3340 (method url-fetch)
3341 (uri (string-append "mirror://gnome/sources/" name "/"
3342 (version-major+minor version) "/"
3343 name "-" version ".tar.xz"))
3344 (sha256
3345 (base32
3346 "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6"))))))
3347
b7a3cf11
SB
3348(define-public gnome-klotski
3349 (package
3350 (name "gnome-klotski")
f4eae76f 3351 (version "3.22.1")
b7a3cf11
SB
3352 (source (origin
3353 (method url-fetch)
3354 (uri (string-append "mirror://gnome/sources/" name "/"
3355 (version-major+minor version) "/"
3356 name "-" version ".tar.xz"))
3357 (sha256
3358 (base32
f4eae76f 3359 "04ragvrz29sydi2kf1zk2aimi3b3hn34jrndfd2lx6h8l45anq3q"))))
b7a3cf11
SB
3360 (build-system glib-or-gtk-build-system)
3361 (native-inputs
3362 `(("desktop-file-utils" ,desktop-file-utils)
3363 ("intltool" ,intltool)
3364 ("itstool" ,itstool)
bcb354ad
SB
3365 ("pkg-config" ,pkg-config)
3366 ("xmllint" ,libxml2)))
b7a3cf11
SB
3367 (inputs
3368 `(("gtk+" ,gtk+)
f4eae76f 3369 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3370 ("librsvg" ,librsvg)))
3371 (home-page "https://wiki.gnome.org/Apps/Klotski")
3372 (synopsis "Sliding block puzzles")
3373 (description
3374 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3375the patterned block to the area bordered by green markers. To do so, you will
3376need to slide other blocks out of the way. Complete each puzzle in as few moves
3377as possible!")
3378 (license license:gpl2+)))
8d4791bf
MW
3379
3380(define-public grilo
3381 (package
3382 (name "grilo")
99dd2af9 3383 (version "0.3.3")
8d4791bf
MW
3384 (source
3385 (origin
3386 (method url-fetch)
3387 (uri (string-append "mirror://gnome/sources/" name "/"
3388 (version-major+minor version) "/"
3389 name "-" version ".tar.xz"))
3390 (sha256
3391 (base32
99dd2af9 3392 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
8d4791bf
MW
3393 (build-system gnu-build-system)
3394 (native-inputs
3395 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3396 ("intltool" ,intltool)
3397 ("pkg-config" ,pkg-config)
3398 ("gobject-introspection" ,gobject-introspection)))
3399 (inputs
6d7273a0
KK
3400 `(("cyrus-sasl" ,cyrus-sasl)
3401 ("glib" ,glib)
8d4791bf
MW
3402 ("gtk+" ,gtk+)
3403 ("libxml2" ,libxml2)
6d7273a0 3404 ("liboauth" ,liboauth)
8d4791bf 3405 ("libsoup" ,libsoup)
e7305878 3406 ("nettle" ,nettle)
8d4791bf
MW
3407 ("totem-pl-parser" ,totem-pl-parser)))
3408 (arguments
3409 `(#:phases
3410 (modify-phases %standard-phases
3411 (add-after 'unpack 'fix-introspection-install-dir
3412 (lambda* (#:key outputs #:allow-other-keys)
3413 (let ((out (assoc-ref outputs "out")))
3414 (substitute* '("src/Makefile.in"
3415 "libs/pls/Makefile.in"
3416 "libs/net/Makefile.in")
3417 (("@INTROSPECTION_GIRDIR@")
3418 (string-append out "/share/gir-1.0/"))
3419 (("@INTROSPECTION_TYPELIBDIR@")
3420 (string-append out "/lib/girepository-1.0/")))))))))
3421 (native-search-paths
3422 (list (search-path-specification
3423 (variable "GRL_PLUGIN_PATH")
3424 (files (list (string-append "lib/grilo-"
3425 (version-major+minor version)))))))
3426 (home-page "http://live.gnome.org/Grilo")
3427 (synopsis "Framework for discovering and browsing media")
3428 (description
3429 "Grilo is a framework focused on making media discovery and browsing easy
3430for application developers.")
3431 (license license:lgpl2.1+)))
7b212526
MW
3432
3433(define-public grilo-plugins
3434 (package
3435 (name "grilo-plugins")
22753632 3436 (version "0.3.3")
7b212526
MW
3437 (source
3438 (origin
3439 (method url-fetch)
3440 (uri (string-append "mirror://gnome/sources/" name "/"
3441 (version-major+minor version) "/"
3442 name "-" version ".tar.xz"))
3443 (sha256
3444 (base32
22753632 3445 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3446 (build-system gnu-build-system)
3447 (native-inputs
3448 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3449 ("intltool" ,intltool)
3450 ("itstool" ,itstool)
3451 ("pkg-config" ,pkg-config)))
3452 (inputs
3453 `(("grilo" ,grilo)
924ae80f 3454 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3455 ("glib" ,glib)
3456 ("libxml2" ,libxml2)
3457 ("sqlite" ,sqlite)
3458 ("gom" ,gom)
3459 ;; XXX TODO: Add oauth
3460 ;; XXX TODO: Add goa
3461 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3462 ;; XXX TODO: Add lua (needs help finding it)
3463 ("json-glib" ,json-glib)
3464 ("avahi" ,avahi)
3465 ("gmime" ,gmime)
3466 ("libsoup" ,libsoup)
3467 ("libarchive" ,libarchive)
3468 ("totem-pl-parser" ,totem-pl-parser)))
3469 (arguments
3470 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3471 %output
3472 "/lib/grilo-"
3473 ,(version-major+minor version)))
3474 ;; XXX FIXME: Try to get the test suite working. It appears to require
3475 ;; a working system dbus. Inside the build container, all tests fail
3476 ;; with: "assertion failed: (source)". Outside of the build container,
3477 ;; most tests succeed.
3478 #:tests? #f))
3479 (home-page "http://live.gnome.org/Grilo")
3480 (synopsis "Plugins for the Grilo media discovery library")
3481 (description
3482 "Grilo is a framework focused on making media discovery and browsing easy
3483for application developers.")
3484 (license license:lgpl2.1+)))
4e3fc547
MW
3485
3486(define-public totem
3487 (package
3488 (name "totem")
aad56d0e 3489 (version "3.24.0")
4e3fc547
MW
3490 (source
3491 (origin
3492 (method url-fetch)
3493 (uri (string-append "mirror://gnome/sources/" name "/"
3494 (version-major+minor version) "/"
3495 name "-" version ".tar.xz"))
3496 (sha256
3497 (base32
aad56d0e 3498 "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
4e3fc547
MW
3499 (build-system glib-or-gtk-build-system)
3500 (native-inputs
3501 `(("pkg-config" ,pkg-config)
3502 ("desktop-file-utils" ,desktop-file-utils)
3503 ("gobject-introspection" ,gobject-introspection)
3504 ("intltool" ,intltool)
bcb354ad
SB
3505 ("itstool" ,itstool)
3506 ("xmllint" ,libxml2)))
4e3fc547
MW
3507 (propagated-inputs
3508 `(("dconf" ,dconf)))
3509 (inputs
3510 `(("gtk+" ,gtk+)
3511 ("gdk-pixbuf" ,gdk-pixbuf)
3512 ("atk" ,atk)
3513 ("cairo" ,cairo)
3514 ("dbus-glib" ,dbus-glib)
3515 ("clutter" ,clutter)
3516 ("clutter-gtk" ,clutter-gtk)
3517 ("clutter-gst" ,clutter-gst)
3518 ("xproto" ,xproto)
3519 ("libxxf86vm" ,libxxf86vm)
3520 ("libxtst" ,libxtst)
3521 ("libxrandr" ,libxrandr)
3522 ("libxml2" ,libxml2)
3523 ("libsoup" ,libsoup)
3524 ("libpeas" ,libpeas)
3525 ("librsvg" ,librsvg)
3526 ("lirc" ,lirc)
3527 ("gnome-desktop" ,gnome-desktop)
3528 ("gstreamer" ,gstreamer)
3529 ("gst-plugins-base" ,gst-plugins-base)
3530 ("gst-plugins-good" ,gst-plugins-good)
3531 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3532 ("adwaita-icon-theme" ,adwaita-icon-theme)
3533 ;; XXX We use python-2 because libxml2 because itstool (which needs
3534 ;; libxml) currently uses python-2.
3535 ("python" ,python-2)
3536 ("python-pygobject" ,python2-pygobject)
3537 ;; XXX TODO pylint needed for python support
3538 ("totem-pl-parser" ,totem-pl-parser)
3539 ("grilo" ,grilo)
3540 ("grilo-plugins" ,grilo-plugins)
3541 ("nettle" ,nettle)
3542 ("vala" ,vala)))
3543 (arguments
ec5c24f9
LC
3544 `(;; Disable automatic GStreamer plugin installation via PackageKit and
3545 ;; all that.
a388c951
LC
3546 #:configure-flags '("--disable-easy-codec-installation"
3547
3548 ;; Do not build .a files for the plugins, it's
3549 ;; completely useless. This saves 2 MiB.
3550 "--disable-static")
ec5c24f9
LC
3551
3552 #:phases
4e3fc547
MW
3553 (modify-phases %standard-phases
3554 (add-after
3555 'install 'wrap-totem
3556 (lambda* (#:key inputs outputs #:allow-other-keys)
3557 (let ((out (assoc-ref outputs "out"))
3558 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3559 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3560 (wrap-program (string-append out "/bin/totem")
3561 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3562 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3563 #t)))))
3564 (home-page "https://wiki.gnome.org/Apps/Videos")
3565 (synopsis "Simple media player for GNOME based on GStreamer")
3566 (description "Totem is a simple yet featureful media player for GNOME
3567which can read a large number of file formats.")
3568 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3569 ;; to be used and distributed together with GStreamer and Totem. See
3570 ;; file://COPYING in the source distribution for details.
3571 (license license:gpl2+)))
f0afb0c8
DH
3572
3573(define-public rhythmbox
3574 (package
3575 (name "rhythmbox")
4faa8abe 3576 (version "3.4.1")
f0afb0c8
DH
3577 (source (origin
3578 (method url-fetch)
3579 (uri (string-append "mirror://gnome/sources/" name "/"
3580 (version-major+minor version) "/"
3581 name "-" version ".tar.xz"))
3582 (sha256
3583 (base32
4faa8abe 3584 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3585 (build-system glib-or-gtk-build-system)
3586 (arguments
3587 `(#:configure-flags
3588 (list "--enable-lirc"
3589 "--enable-python"
3590 "--enable-vala"
3591 "--with-brasero"
3592 "--with-gudev"
3593 "--with-libsecret")
3594 #:phases
3595 (modify-phases %standard-phases
3596 (add-after
3597 'install 'wrap-rhythmbox
3598 (lambda* (#:key inputs outputs #:allow-other-keys)
3599 (let ((out (assoc-ref outputs "out"))
3600 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3601 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3602 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3603 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3604 (wrap-program (string-append out "/bin/rhythmbox")
3605 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3606 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3607 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3608 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3609 #t)))))
3610 (propagated-inputs
3611 `(("dconf" ,dconf)))
3612 (native-inputs
bcb354ad
SB
3613 `(("itstool" ,itstool)
3614 ("intltool" ,intltool)
f0afb0c8
DH
3615 ("glib" ,glib "bin")
3616 ("gobject-introspection" ,gobject-introspection)
3617 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3618 ("pkg-config" ,pkg-config)
3619 ("xmllint" ,libxml2)))
f0afb0c8
DH
3620 (inputs
3621 `(("json-glib" ,json-glib)
3622 ("tdb" ,tdb)
3623 ("gnome-desktop" ,gnome-desktop)
3624 ("python" ,python)
3625 ("python-pygobject" ,python2-pygobject)
3626 ("vala" ,vala)
3627 ("gmime" ,gmime)
3628 ("nettle" ,nettle)
f0afb0c8
DH
3629 ("adwaita-icon-theme" ,adwaita-icon-theme)
3630 ("grilo" ,grilo)
3631 ("grilo-plugins" ,grilo-plugins)
3632 ("gstreamer" ,gstreamer)
3633 ("gst-plugins-base" ,gst-plugins-base)
3634 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3635 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3636 ("libgudev" ,libgudev)
f0afb0c8
DH
3637 ;;("libmtp" ,libmtp) FIXME: Not detected
3638 ("libsecret" ,libsecret)
3639 ("libsoup" ,libsoup)
3640 ("libnotify" ,libnotify)
3641 ("libpeas" ,libpeas)
3642 ("lirc" ,lirc)
3643 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3644 ;;("clutter" ,clutter)
3645 ;;("clutter-gtk" ,clutter-gtk)
3646 ;;("clutter-gst" ,clutter-gst)
3647 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3648 ("atk" ,atk)
3649 ("pango" ,pango)
3650 ("gtk+" ,gtk+)
3651 ;; TODO:
3652 ;; * libgpod
3653 ;; * mx
f0afb0c8
DH
3654 ("brasero" ,brasero)))
3655 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3656 (synopsis "Music player for GNOME")
3657 (description "Rhythmbox is a music playing application for GNOME. It
3658supports playlists, song ratings, and any codecs installed through gstreamer.")
3659 (license license:gpl2+)))
f70d8383
DH
3660
3661(define-public eog
3662 (package
3663 (name "eog")
dc4b64ae 3664 (version "3.24.1")
f70d8383
DH
3665 (source (origin
3666 (method url-fetch)
3667 (uri (string-append "mirror://gnome/sources/" name "/"
3668 (version-major+minor version) "/"
3669 name "-" version ".tar.xz"))
3670 (sha256
3671 (base32
dc4b64ae 3672 "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
f70d8383
DH
3673 (build-system glib-or-gtk-build-system)
3674 (arguments
3675 `(#:phases
3676 (modify-phases %standard-phases
3677 (add-after
3678 'install 'wrap-eog
3679 (lambda* (#:key outputs #:allow-other-keys)
3680 (let ((out (assoc-ref outputs "out"))
3681 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3682 (wrap-program (string-append out "/bin/eog")
3683 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3684 #t)))))
3685 (propagated-inputs
3686 `(("dconf" ,dconf)))
3687 (native-inputs
3688 `(("intltool" ,intltool)
b3546174 3689 ("itstool" ,itstool)
f70d8383
DH
3690 ("glib" ,glib "bin")
3691 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3692 ("pkg-config" ,pkg-config)
3693 ("xmllint" ,libxml2)))
f70d8383
DH
3694 (inputs
3695 `(("gnome-desktop" ,gnome-desktop)
3696 ("shared-mime-info" ,shared-mime-info)
3697 ("adwaita-icon-theme" ,adwaita-icon-theme)
3698 ("exempi" ,exempi)
3699 ("lcms" ,lcms)
3700 ("libexif" ,libexif)
3701 ("libpeas" ,libpeas)
3702 ("libjpeg" ,libjpeg)
3703 ("librsvg" ,librsvg)
3704 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3705 ("gtk+" ,gtk+)))
3706 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3707 (synopsis "GNOME image viewer")
3708 (description "Eye of GNOME is the GNOME image viewer. It
3709supports image conversion, rotation, and slideshows.")
3710 (license license:gpl2+)))
41af5e7b 3711
0c3f8cb8
LC
3712(define-public eog-plugins
3713 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
3714 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
3715 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
3716 ;; 'XDG_DATA_DIRS' appropriately set.
3717 (package
3718 (name "eog-plugins")
3719 (version "3.25.1")
3720 (source (origin
3721 (method url-fetch)
3722 (uri (string-append "mirror://gnome/sources/" name "/"
3723 (version-major+minor version) "/"
3724 name "-" version ".tar.xz"))
3725 (sha256
3726 (base32
3727 "0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q"))))
3728 (build-system gnu-build-system)
3729 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
3730 (synopsis "Extensions for the Eye of GNOME image viewer")
3731 (native-inputs
3732 `(("pkg-config" ,pkg-config)
3733 ("gettext" ,gnu-gettext)))
3734 (inputs
3735 `(("eog" ,eog)
3736 ("glib" ,glib)
3737 ("gtk+" ,gtk+)
3738 ("libpeas" ,libpeas)
3739 ("libexif" ,libexif)
3740 ("libchamplain" ,libchamplain)))
3741 (description
3742 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
3743notably:
3744
3745@itemize
3746@item @dfn{EXIF Display}, which displays camera (EXIF) information;
3747@item @dfn{Map}, which displays a map of where the picture was taken on the
3748side panel;
3749@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
3750@end itemize\n")
3751
3752 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
3753 ;; long suspicious byte stream that goes to a
3754 ;; ".gresource.eog_postasa_plugin" ELF section.
3755 (license license:gpl2+)))
3756
41af5e7b
SB
3757(define-public libgudev
3758 (package
3759 (name "libgudev")
3760 (version "230")
3761 (source (origin
3762 (method url-fetch)
3763 (uri (string-append "mirror://gnome/sources/" name "/"
3764 version "/" name "-" version ".tar.xz"))
3765 (sha256
3766 (base32
3767 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3768 (build-system gnu-build-system)
3769 (native-inputs
3770 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3771 ("gobject-introspection" ,gobject-introspection)
3772 ("pkg-config" ,pkg-config)))
3773 (propagated-inputs
3774 `(("glib" ,glib))) ; required by gudev-1.0.pc
3775 (inputs
3776 `(("udev" ,eudev)))
3777 (home-page "https://wiki.gnome.org/Projects/libgudev")
3778 (synopsis "GObject bindings for libudev")
3779 (description
3780 "This library provides GObject bindings for libudev. It was originally
3781part of udev-extras, then udev, then systemd. It's now a project on its own.")
3782 (license license:lgpl2.1+)))
3dc8828f
SB
3783
3784(define-public gvfs
3785 (package
3786 (name "gvfs")
8e8fefb6 3787 (version "1.32.1")
3dc8828f
SB
3788 (source (origin
3789 (method url-fetch)
3790 (uri (string-append "mirror://gnome/sources/" name "/"
3791 (version-major+minor version) "/"
3792 name "-" version ".tar.xz"))
3793 (sha256
3794 (base32
8e8fefb6 3795 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3796 (build-system gnu-build-system)
3797 (arguments
3798 '(#:tests? #f)) ; XXX: requiring `pidof'
3799 (native-inputs
3800 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3801 ("intltool" ,intltool)
3802 ("pkg-config" ,pkg-config)
3803 ("xsltproc" ,libxslt)))
3804 (inputs
3805 `(("avahi" ,avahi)
3806 ("docbook-xml" ,docbook-xml-4.2)
3807 ("docbook-xsl" ,docbook-xsl)
3808 ("dbus" ,dbus)
3809 ("fuse" ,fuse)
24a78aa6 3810 ("gcr" ,gcr)
3dc8828f
SB
3811 ("glib" ,glib)
3812 ("libarchive" ,libarchive)
3813 ("libbluray" ,libbluray)
8852ca24 3814 ("libcap" ,libcap)
3dc8828f
SB
3815 ("libcdio-paranoia" ,libcdio-paranoia)
3816 ("libgcrypt" ,libgcrypt)
3817 ("libgphoto2" ,libgphoto2)
3818 ("libgudev" ,libgudev)
3819 ("libmtp" ,libmtp)
3820 ("libsecret" ,libsecret)
3821 ("libsmbclient" ,samba)
3822 ("libsoup" ,libsoup)
3823 ("libxml2" ,libxml2)
3824 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3825 ("polkit" ,polkit)
3dc8828f
SB
3826 ("udisks" ,udisks)))
3827 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3828 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3829 (description
8f65585b 3830 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3831abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3832to all applications using the GIO API. It also supports exposing the GVFS
3833mounts to non-GIO applications using FUSE.
3834
3835GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3836DAV, and others.")
3837 (license license:lgpl2.0+)))
7c88b6bd
AW
3838
3839(define-public gusb
3840 (package
3841 (name "gusb")
6b7d7e9b 3842 (version "0.2.9")
7c88b6bd
AW
3843 (source (origin
3844 (method url-fetch)
3845 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3846 "gusb_"
3847 (string-join (string-split version #\.)
3848 "_")
3849 ".tar.gz"))
3850 (sha256
3851 (base32
6b7d7e9b 3852 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3853 (build-system gnu-build-system)
3854 (native-inputs
3855 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3856 ("gobject-introspection" ,gobject-introspection)
3857 ("pkg-config" ,pkg-config)
3858 ("vala" ,vala)
3859 ("autoconf" ,autoconf)
3860 ("automake" ,automake)
3861 ("libtool" ,libtool)
3862 ("gtk-doc" ,gtk-doc)))
3863 (propagated-inputs
3864 ;; Both of these are required by gusb.pc.
3865 `(("glib" ,glib)
3866 ("libusb" ,libusb)))
3867 (arguments
3868 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3869 #:phases
3870 (modify-phases %standard-phases
3871 (add-after 'unpack 'autogen
3872 (lambda _
3873 (and (zero? (system* "gtkdocize"))
3874 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3875 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3876 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3877 (description
3878 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3879asynchronous control, bulk and interrupt transfers with proper cancellation
3880and integration into a mainloop. This makes it easy to integrate low level
3881USB transfers with your high-level application or system daemon.")
3882 (license license:lgpl2.1+)))
0abe1d86
AW
3883
3884(define-public simple-scan
3885 (package
3886 (name "simple-scan")
baca5333 3887 (version "3.24.1")
0abe1d86
AW
3888 (source (origin
3889 (method url-fetch)
3890 (uri (string-append "https://launchpad.net/simple-scan/"
3891 (version-major+minor version) "/"
3892 version "/+download/simple-scan-"
3893 version ".tar.xz"))
3894 (sha256
3895 (base32
baca5333 3896 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
3897 (build-system glib-or-gtk-build-system)
3898 (inputs
3899 `(("gtk" ,gtk+)
3900 ("zlib" ,zlib)
3901 ("cairo" ,cairo)
3902 ("gdk-pixbuf" ,gdk-pixbuf)
3903 ("gusb" ,gusb)
4c928743 3904 ("libsane" ,sane-backends)))
0abe1d86 3905 (native-inputs
b94a6ca0 3906 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3907 ("itstool" ,itstool)
3908 ("colord" ,colord)
3909 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3910 ("pkg-config" ,pkg-config)
bcb354ad
SB
3911 ("vala" ,vala)
3912 ("xmllint" ,libxml2)))
fb9ca511
TGR
3913 (arguments
3914 '(#:configure-flags '("--disable-packagekit")
3915 #:phases
3916 (modify-phases %standard-phases
3917 (add-after 'unpack 'clean
3918 (lambda _
3919 ;; Remove a left-over reference to PackageKit.
3920
3921 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3922
3923 ;; There are some generated C files erroneously
3924 ;; included in the source distribution, and this
3925 ;; one breaks the build by referring to a
3926 ;; non-existent header (packagekit.h)
3927 (delete-file "src/ui.c"))))))
0abe1d86
AW
3928 (home-page "https://launchpad.net/simple-scan")
3929 (synopsis "Document and image scanner")
3930 (description "Simple Scan is an easy-to-use application, designed to let
3931users connect their scanner and quickly have the image/document in an
3932appropriate format. Simple Scan is basically a frontend for SANE - which is
3933the same backend as XSANE uses. This means that all existing scanners will
3934work and the interface is well tested.")
3935 (license license:gpl3+)))
7549f984 3936
ab466d79
RW
3937(define-public eolie
3938 (package
3939 (name "eolie")
3940 (version "0.9.0")
3941 (source (origin
3942 (method url-fetch)
3943 (uri (string-append "https://github.com/gnumdk/eolie/"
3944 "releases/download/"
3945 (version-major+minor version)
3946 "/eolie-" version ".tar.xz"))
3947 (sha256
3948 (base32
3949 "1lb3rd2as12vq24fcf9nmlhggf8vka3kli2i92i8iylwi7nq5n2a"))))
3950 (build-system glib-or-gtk-build-system)
3951 (arguments
3952 `(#:modules ((guix build glib-or-gtk-build-system)
3953 (guix build utils)
3954 (ice-9 match))
3955 #:phases
3956 (modify-phases %standard-phases
3957 (add-after 'wrap 'wrap-more
3958 (lambda* (#:key inputs outputs #:allow-other-keys)
3959 (let* ((out (assoc-ref outputs "out"))
3960 ;; These libraries must be on LD_LIBRARY_PATH.
3961 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
3962 "atk" "gtk+" "gsettings-desktop-schemas"
3963 "gobject-introspection"))
3964 (path (string-join
3965 (map (lambda (lib)
3966 (string-append (assoc-ref inputs lib) "/lib"))
3967 libs)
3968 ":")))
3969 (wrap-program (string-append out "/bin/eolie")
3970 `("LD_LIBRARY_PATH" ":" prefix (,path))
3971 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
3972 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
3973 #t)))))
3974 (native-inputs
3975 `(("intltool" ,intltool)
3976 ("itstool" ,itstool)
3977 ("pkg-config" ,pkg-config)))
3978 (inputs
3979 `(("gobject-introspection" ,gobject-introspection)
3980 ("glib-networking" ,glib-networking)
3981 ("cairo" ,cairo)
3982 ("gtk+" ,gtk+)
3983 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
3984 ("python" ,python-wrapper)
3985 ("python-pygobject" ,python-pygobject)
3986 ("python-pycairo" ,python-pycairo)
3987 ("libsecret" ,libsecret)
3988 ("gtkspell3" ,gtkspell3)
3989 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3990 ("webkitgtk" ,webkitgtk)))
3991 (home-page "https://github.com/gnumdk/eolie/")
3992 (synopsis "Web browser for GNOME")
3993 (description
3994 "Eolie is a new web browser for GNOME. It features Firefox sync support,
3995a secret password store, an adblocker, and a modern UI.")
3996 (license license:gpl3+)))
3997
7549f984
SB
3998(define-public epiphany
3999 (package
4000 (name "epiphany")
16c2b151 4001 (version "3.24.2")
7549f984
SB
4002 (source (origin
4003 (method url-fetch)
4004 (uri (string-append "mirror://gnome/sources/" name "/"
4005 (version-major+minor version) "/"
4006 name "-" version ".tar.xz"))
4007 (sha256
4008 (base32
16c2b151 4009 "13f5h7mbxdyjf93jp46hiaxsrngpr6frgf69d8iza7arc060vg2s"))))
7549f984
SB
4010 (build-system glib-or-gtk-build-system)
4011 (arguments
4012 ;; FIXME: tests run under Xvfb, but fail with:
4013 ;; /src/bookmarks/ephy-bookmarks/create:
4014 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4015 ;; subsystem
4016 ;; FAIL
6f48d9db
MW
4017 '(#:tests? #f
4018 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
4019 (propagated-inputs
4020 `(("dconf" ,dconf)))
7549f984
SB
4021 (native-inputs
4022 `(("intltool" ,intltool)
4023 ("itstool" ,itstool)
bcb354ad
SB
4024 ("pkg-config" ,pkg-config)
4025 ("xmllint" ,libxml2)))
7549f984
SB
4026 (inputs
4027 `(("avahi" ,avahi)
4028 ("gcr" ,gcr)
0e5c9cf5 4029 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
7549f984
SB
4030 ("glib-networking" ,glib-networking)
4031 ("gnome-desktop" ,gnome-desktop)
4032 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4033 ("json-glib" ,json-glib)
7549f984
SB
4034 ("iso-codes" ,iso-codes)
4035 ("libnotify" ,libnotify)
4036 ("libsecret" ,libsecret)
7549f984 4037 ("libxslt" ,libxslt)
7549f984
SB
4038 ("sqlite" ,sqlite)
4039 ("webkitgtk" ,webkitgtk)))
4040 (home-page "https://wiki.gnome.org/Apps/Web")
4041 (synopsis "GNOME web browser")
4042 (description
4043 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4044principles are simplicity and standards compliance.")
4045 (license license:gpl2+)))
a3856b2c
SB
4046
4047(define-public d-feet
4048 (package
4049 (name "d-feet")
7d04b13c 4050 (version "0.3.11")
a3856b2c
SB
4051 (source (origin
4052 (method url-fetch)
4053 (uri (string-append "mirror://gnome/sources/" name "/"
4054 (version-major+minor version) "/"
4055 name "-" version ".tar.xz"))
4056 (sha256
4057 (base32
7d04b13c 4058 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
4059 (build-system glib-or-gtk-build-system)
4060 (arguments
4061 '(#:out-of-source? #f ; tests need to run in the source directory.
4062 #:phases
4063 (modify-phases %standard-phases
4064 (add-before
4065 'check 'pre-check
86aff791 4066 (lambda _
a3856b2c
SB
4067 ;; The test suite requires a running X server.
4068 (system "Xvfb :1 &")
4069 (setenv "DISPLAY" ":1")
4070 ;; Don't fail on missing '/etc/machine-id'.
4071 (setenv "DBUS_FATAL_WARNINGS" "0")
4072 ;; tests.py and window.py don't meet E402:
4073 ;; E402 module level import not at top of file
4074 (substitute* "src/tests/Makefile"
86aff791
MW
4075 (("--ignore=E123") "--ignore=E123,E402"))
4076 #t))
a3856b2c
SB
4077 (add-after
4078 'install 'wrap-program
4079 (lambda* (#:key outputs #:allow-other-keys)
4080 (let ((prog (string-append (assoc-ref outputs "out")
4081 "/bin/d-feet")))
4082 (wrap-program prog
4083 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4084 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4085 #t))))))
a3856b2c
SB
4086 (native-inputs
4087 `(("intltool" ,intltool)
4088 ("itstool" ,itstool)
4089 ("pkg-config" ,pkg-config)
4090 ("python-pep8" ,python-pep8)
4091 ("xmllint" ,libxml2)
4092 ("xorg-server" ,xorg-server)))
4093 (inputs
4094 `(("gobject-introspection" ,gobject-introspection)
4095 ("gtk+" ,gtk+)
4096 ("python" ,python-wrapper)
4097 ("python-pygobject" ,python-pygobject)))
4098 (home-page "https://wiki.gnome.org/Apps/DFeet")
4099 (synopsis "D-Bus debugger")
4100 (description
4101 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4102of running programs and invoke methods on those interfaces.")
4103 (license license:gpl2+)))
c3b97bd9
SB
4104
4105(define-public yelp-xsl
4106 (package
4107 (name "yelp-xsl")
27ad5743 4108 (version "3.20.1")
c3b97bd9
SB
4109 (source (origin
4110 (method url-fetch)
4111 (uri (string-append "mirror://gnome/sources/" name "/"
4112 (version-major+minor version) "/"
4113 name "-" version ".tar.xz"))
4114 (sha256
4115 (base32
27ad5743 4116 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
4117 (build-system gnu-build-system)
4118 (native-inputs
4119 `(("intltool" ,intltool)
4120 ("itstool" ,itstool)
4121 ("xmllint" ,libxml2)))
4122 (home-page "https://wiki.gnome.org/Apps/Yelp")
4123 (synopsis "XSL stylesheets for Yelp")
4124 (description
4125 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4126to format Docbook and Mallard documents.")
4127 (license license:gpl2+)))
de3d612a
SB
4128
4129(define-public yelp
4130 (package
4131 (name "yelp")
491cc0dc 4132 (version "3.22.0")
de3d612a
SB
4133 (source (origin
4134 (method url-fetch)
4135 (uri (string-append "mirror://gnome/sources/" name "/"
4136 (version-major+minor version) "/"
4137 name "-" version ".tar.xz"))
4138 (sha256
4139 (base32
491cc0dc 4140 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
4141 (build-system glib-or-gtk-build-system)
4142 (native-inputs
4143 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4144 ("intltool" ,intltool)
4145 ("itstool" ,itstool)
4146 ("pkg-config" ,pkg-config)))
4147 (propagated-inputs
4148 `(("dconf" ,dconf)))
4149 (inputs
ad1b7d8b
SB
4150 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4151 ("libxslt" ,libxslt)
de3d612a 4152 ("sqlite" ,sqlite)
4c28ca1d
SB
4153 ("webkitgtk" ,webkitgtk)
4154 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4155 (home-page "https://wiki.gnome.org/Apps/Yelp")
4156 (synopsis "GNOME help browser")
4157 (description
4158 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4159man, info, and HTML documents. It can locate documents according to the
4160freedesktop.org help system specification.")
4161 (license license:gpl2+)))
122d0d10
SB
4162
4163(define-public yelp-tools
4164 (package
4165 (name "yelp-tools")
50695955 4166 (version "3.18.0")
122d0d10
SB
4167 (source (origin
4168 (method url-fetch)
4169 (uri (string-append "mirror://gnome/sources/" name "/"
4170 (version-major+minor version) "/"
4171 name "-" version ".tar.xz"))
4172 (sha256
4173 (base32
50695955 4174 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
4175 (build-system gnu-build-system)
4176 (native-inputs
4177 `(("pkg-config" ,pkg-config)))
4178 (propagated-inputs
4179 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4180 `(("itstool" ,itstool)
4181 ("xmllint" ,libxml2)
4182 ("xsltproc" ,libxslt)))
4183 (inputs
4184 `(("yelp-xsl" ,yelp-xsl)))
4185 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4186 (synopsis "Yelp documentation tools")
4187 (description
4188 "Yelp-tools is a collection of scripts and build utilities to help create,
4189manage, and publish documentation for Yelp and the web. Most of the heavy
4190lifting is done by packages like yelp-xsl and itstool. This package just
4191wraps things up in a developer-friendly way.")
4192 (license license:gpl2+)))
af8f9f23
RW
4193
4194(define-public libgee
4195 (package
4196 (name "libgee")
afd8e16b 4197 (version "0.20.0")
af8f9f23
RW
4198 (source (origin
4199 (method url-fetch)
4200 (uri (string-append "mirror://gnome/sources/" name "/"
4201 (version-major+minor version) "/"
4202 name "-" version ".tar.xz"))
4203 (sha256
4204 (base32
afd8e16b 4205 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
af8f9f23
RW
4206 (build-system gnu-build-system)
4207 (arguments
4208 `(#:phases
4209 (modify-phases %standard-phases
4210 (add-after 'unpack 'fix-introspection-install-dir
4211 (lambda* (#:key outputs #:allow-other-keys)
4212 (let ((out (assoc-ref outputs "out")))
4213 (substitute* "gee/Makefile.in"
4214 (("@INTROSPECTION_GIRDIR@")
4215 (string-append out "/share/gir-1.0/"))
4216 (("@INTROSPECTION_TYPELIBDIR@")
4217 (string-append out "/lib/girepository-1.0/")))))))))
4218 (native-inputs
4219 `(("glib" ,glib "bin")
4220 ("pkg-config" ,pkg-config)))
4221 (inputs
4222 `(("glib" ,glib)
4223 ("gobject-introspection" ,gobject-introspection)))
4224 (home-page "https://wiki.gnome.org/Projects/Libgee")
4225 (synopsis "GObject collection library")
4226 (description
4227 "Libgee is a utility library providing GObject-based interfaces and
4228classes for commonly used data structures.")
4229 (license license:lgpl2.1+)))
b0f9c4b8
RW
4230
4231(define-public gexiv2
4232 (package
4233 (name "gexiv2")
b7c0c756 4234 (version "0.10.6")
b0f9c4b8
RW
4235 (source (origin
4236 (method url-fetch)
4237 (uri (string-append "mirror://gnome/sources/" name "/"
4238 (version-major+minor version) "/"
4239 name "-" version ".tar.xz"))
4240 (sha256
4241 (base32
b7c0c756 4242 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
b0f9c4b8
RW
4243 (build-system gnu-build-system)
4244 (native-inputs
4245 `(("glib" ,glib "bin")
4246 ("pkg-config" ,pkg-config)))
4247 (propagated-inputs
4248 ;; Listed in "Requires" section of gexiv2.pc
4249 `(("exiv2" ,exiv2)))
4250 (inputs
4251 `(("glib" ,glib)
4252 ("gobject-introspection" ,gobject-introspection)))
4253 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4254 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4255 (description
4256 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4257allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4258metadata in photo and video files of various formats.")
4259 (license license:gpl2+)))
fed5a689
RW
4260
4261(define-public shotwell
4262 (package
4263 (name "shotwell")
dfb0323d 4264 (version "0.26.1")
fed5a689
RW
4265 (source (origin
4266 (method url-fetch)
4267 (uri (string-append "mirror://gnome/sources/" name "/"
4268 (version-major+minor version) "/"
4269 name "-" version ".tar.xz"))
4270 (sha256
4271 (base32
dfb0323d 4272 "0xak1f69lp1yx3p8jgmr9c0z3jypi8zjpy3kiknn5n9g2f5cqq0a"))))
fed5a689 4273 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4274 (propagated-inputs
4275 `(("dconf" ,dconf)))
fed5a689
RW
4276 (native-inputs
4277 `(("pkg-config" ,pkg-config)
f819c21d 4278 ("itstool" ,itstool)
b94a6ca0 4279 ("gettext" ,gettext-minimal)
77e9c993 4280 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4281 ("itstool" ,itstool)
4282 ("vala" ,vala)))
fed5a689 4283 (inputs
735b8db6
TGR
4284 `(("glib:bin" ,glib "bin")
4285 ("gstreamer" ,gstreamer)
fed5a689 4286 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4287 ("libgdata" ,libgdata)
fed5a689
RW
4288 ("libgee" ,libgee)
4289 ("gexiv2" ,gexiv2)
4290 ("libraw" ,libraw)
4291 ("json-glib" ,json-glib)
7108425c 4292 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4293 ("sqlite" ,sqlite)
4294 ("libsoup" ,libsoup)
4295 ("libxml2" ,libxml2)
fed5a689 4296 ("libgudev" ,libgudev)
522fc32e
LF
4297 ("libgphoto2" ,libgphoto2)
4298 ("gcr" ,gcr)))
fed5a689
RW
4299 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4300 (synopsis "Photo manager for GNOME 3")
4301 (description
4302 "Shotwell is a digital photo manager designed for the GNOME desktop
4303environment. It allows you to import photos from disk or camera, organize
4304them by keywords and events, view them in full-window or fullscreen mode, and
4305share them with others via social networking and more.")
4306 (license license:lgpl2.1+)))
293ff8b2
DT
4307
4308(define-public file-roller
4309 (package
4310 (name "file-roller")
e62a38d4 4311 (version "3.24.1")
293ff8b2
DT
4312 (source (origin
4313 (method url-fetch)
4314 (uri (string-append "mirror://gnome/sources/" name "/"
4315 (version-major+minor version) "/"
4316 name "-" version ".tar.xz"))
4317 (sha256
4318 (base32
e62a38d4 4319 "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
293ff8b2 4320 (build-system glib-or-gtk-build-system)
c282c55d
SB
4321 (arguments
4322 '(#:phases
4323 (modify-phases %standard-phases
4324 (add-before 'install 'skip-gtk-update-icon-cache
4325 (lambda _
4326 ;; Don't create 'icon-theme.cache'
4327 (substitute* (find-files "data" "^Makefile$")
4328 (("gtk-update-icon-cache") (which "true")))
4329 #t)))))
293ff8b2
DT
4330 (native-inputs
4331 `(("intltool" ,intltool)
4332 ("pkg-config" ,pkg-config)))
4333 ;; TODO: Add libnautilus.
4334 (inputs
4335 `(("gtk+" ,gtk+)
4336 ("gdk-pixbuf" ,gdk-pixbuf)
4337 ("json-glib" ,json-glib)
4338 ("libarchive" ,libarchive)
4339 ("libnotify" ,libnotify)
4340 ("nettle" ,nettle)
4341 ("itstool" ,itstool)
4342 ("libxml2" ,libxml2)))
4343 (synopsis "Graphical archive manager for GNOME")
4344 (description "File Roller is an archive manager for the GNOME desktop
4345environment that allows users to view, unpack, and create compressed archives
4346such as gzip tarballs.")
4347 (home-page "http://fileroller.sourceforge.net/")
4348 (license license:gpl2+)))
7ce49365
SB
4349
4350(define-public gnome-session
4351 (package
4352 (name "gnome-session")
17cf06c3 4353 (version "3.24.1")
7ce49365
SB
4354 (source (origin
4355 (method url-fetch)
4356 (uri (string-append "mirror://gnome/sources/" name "/"
4357 (version-major+minor version) "/"
4358 name "-" version ".tar.xz"))
4359 (sha256
4360 (base32
17cf06c3 4361 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4362 (arguments
4363 '(#:phases
4364 (modify-phases %standard-phases
4365 (add-before 'configure 'pre-configure
4366 (lambda* (#:key outputs #:allow-other-keys)
4367 ;; Use elogind instead of systemd.
4368 (substitute* "configure"
4369 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4370 "libelogind")
4371 (("systemd") "elogind"))
4372 (substitute* "gnome-session/gsm-systemd.c"
4373 (("#include <systemd/sd-login.h>")
4374 "#include <elogind/sd-login.h>"))
4375 ;; Remove uses of the systemd journal.
4376 (substitute* "gnome-session/main.c"
4377 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4378 (substitute* "gnome-session/gsm-manager.c"
4379 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4380 (substitute* "gnome-session/gsm-autostart-app.c"
4381 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4382 #t))
4383 (add-after 'install 'wrap-gnome-session
4384 (lambda* (#:key inputs outputs #:allow-other-keys)
4385 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4386 (let ((glib (assoc-ref inputs "glib:bin"))
4387 (out (assoc-ref outputs "out")))
4388 (wrap-program (string-append out "/bin/gnome-session")
4389 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4390 #t)))
4391 (add-after 'install 'disable-hardware-acceleration-check
4392 (lambda* (#:key outputs #:allow-other-keys)
4393 ;; Do not abort if hardware acceleration is missing. This allows
4394 ;; GNOME to run in QEMU and on low-end devices.
4395 (let ((out (assoc-ref outputs "out")))
4396 (substitute* (string-append out
4397 "/share/xsessions/gnome.desktop")
4398 (("gnome-session")
4399 "gnome-session --disable-acceleration-check"))
a0d7baaf 4400 #t))))
6cbc8d57 4401
2914af3c
AW
4402 #:configure-flags
4403 '("--enable-elogind")))
ba3cb5ab 4404 (build-system glib-or-gtk-build-system)
7ce49365
SB
4405 (native-inputs
4406 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4407 ("pkg-config" ,pkg-config)
4408 ("intltool" ,intltool)
4409 ("xsltproc" ,libxslt)))
4410 (inputs
2914af3c
AW
4411 `(("elogind" ,elogind)
4412 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4413 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4414 ("gtk+" ,gtk+)
4415 ("json-glib" ,json-glib)
4416 ("libsm" ,libsm)
4417 ("libxcomposite" ,libxcomposite)
4418 ("libxtst" ,libxtst)
4419 ("mesa" ,mesa)
4420 ("upower" ,upower)
4421 ("xtrans" ,xtrans)))
4422 (synopsis "Session manager for GNOME")
4423 (description
4424 "This package contains the GNOME session manager, as well as a
4425configuration program to choose applications starting on login.")
4426 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4427 (license license:gpl2+)))
f47ba77e
SB
4428
4429(define-public gjs
4430 (package
4431 (name "gjs")
144f94d0 4432 (version "1.48.3")
f47ba77e
SB
4433 (source (origin
4434 (method url-fetch)
4435 (uri (string-append "mirror://gnome/sources/" name "/"
4436 (version-major+minor version) "/"
4437 name "-" version ".tar.xz"))
4438 (sha256
4439 (base32
144f94d0 4440 "0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6"))))
f47ba77e
SB
4441 (build-system gnu-build-system)
4442 (arguments
4443 '(#:phases
4444 (modify-phases %standard-phases
4445 (add-before
4446 'check 'pre-check
4447 (lambda _
fc119619
MW
4448 ;; The test suite requires a running X server.
4449 (system "Xvfb :1 &")
4450 (setenv "DISPLAY" ":1")
4451
f47ba77e
SB
4452 ;; For the missing /etc/machine-id.
4453 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4454
144f94d0
KK
4455 ;; Our mozjs-38 package does not compile the required Intl API
4456 ;; support for these failing tests.
4457 (substitute* "installed-tests/js/testLocale.js"
4458 ((".*toBeDefined.*") "")
4459 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4460 #t)))))
4461 (native-inputs
4462 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4463 ("pkg-config" ,pkg-config)
4464 ("xmllint" ,libxml2)
4465 ;; For testing
4466 ("dbus-launch" ,dbus)
4467 ("uuidgen" ,util-linux)
4468 ("xvfb" ,xorg-server)))
4469 (propagated-inputs
4470 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4471 `(("cairo" ,cairo)
4472 ("gobject-introspection" ,gobject-introspection)
4473 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4474 (inputs
4475 `(("gtk+" ,gtk+)
4476 ("readline" ,readline)))
4477 (synopsis "Javascript bindings for GNOME")
4478 (home-page "http://live.gnome.org/Gjs")
4479 (description
4480 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4481javascript engine and the GObject introspection framework.")
4482 (license license:gpl2+)))
329d731b
DH
4483
4484(define-public gedit
4485 (package
4486 (name "gedit")
9beae2a2 4487 (version "3.22.0")
329d731b
DH
4488 (source (origin
4489 (method url-fetch)
4490 (uri (string-append "mirror://gnome/sources/" name "/"
4491 (version-major+minor version) "/"
4492 name "-" version ".tar.xz"))
4493 (sha256
4494 (base32
9beae2a2 4495 "0i9z5d31vibb3dd329gwvyga38zq5k1a2glcdq7m93ycbl5mlfq6"))))
329d731b
DH
4496 (build-system glib-or-gtk-build-system)
4497 (arguments
33cd9bef
SB
4498 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
4499 #:phases
329d731b
DH
4500 (modify-phases %standard-phases
4501 (add-after
4502 'install 'wrap-gedit
4503 (lambda* (#:key inputs outputs #:allow-other-keys)
4504 (let ((out (assoc-ref outputs "out"))
4505 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4506 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4507 (python-path (getenv "PYTHONPATH")))
329d731b 4508 (wrap-program (string-append out "/bin/gedit")
afc25242 4509 ;; For plugins.
329d731b 4510 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4511 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4512 ;; For language-specs.
4513 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4514 "/share")))))
4515 #t)))))
4516 (propagated-inputs
4517 `(("dconf" ,dconf)))
4518 (native-inputs
4519 `(("intltool" ,intltool)
b3546174 4520 ("itstool" ,itstool)
329d731b
DH
4521 ("gobject-introspection" ,gobject-introspection)
4522 ("pkg-config" ,pkg-config)))
4523 (inputs
4524 `(("glib" ,glib)
4525 ("gtk+" ,gtk+)
4526 ("gtksourceview" ,gtksourceview)
4527 ("libpeas" ,libpeas)
4528 ("libxml2" ,libxml2)
329d731b
DH
4529 ("iso-codes" ,iso-codes)
4530 ("python-pygobject" ,python-pygobject)
4531 ("python" ,python)
4532 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4533 ("libx11" ,libx11)
4534 ("vala" ,vala)
4535 ("adwaita-icon-theme" ,adwaita-icon-theme)
4536 ("libsoup" ,libsoup)
4537 ("gnome-desktop" ,gnome-desktop)))
4538 (home-page "https://wiki.gnome.org/Apps/Gedit")
4539 (synopsis "GNOME text editor")
4540 (description "While aiming at simplicity and ease of use, gedit is a
4541powerful general purpose text editor.")
4542 (license license:gpl2+)))
b7179363
SB
4543
4544(define-public zenity
4545 (package
4546 (name "zenity")
380cb96e 4547 (version "3.24.0")
b7179363
SB
4548 (source (origin
4549 (method url-fetch)
4550 (uri (string-append "mirror://gnome/sources/" name "/"
4551 (version-major+minor version) "/"
4552 name "-" version ".tar.xz"))
4553 (sha256
4554 (base32
380cb96e 4555 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4556 (build-system gnu-build-system)
4557 (native-inputs
b94a6ca0 4558 `(("gettext" ,gettext-minimal)
b7179363
SB
4559 ("itstool" ,itstool)
4560 ("pkg-config" ,pkg-config)))
4561 (inputs
4562 `(("libnotify" ,libnotify)
4563 ("webkitgtk" ,webkitgtk)))
4564 (synopsis "Display graphical dialog boxes from shell scripts")
4565 (home-page "http://www.gnome.org")
4566 (description
4567 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4568to display dialog boxes from the commandline and shell scripts.")
4569 (license license:lgpl2.0+)))
60c3627c
SB
4570
4571(define-public mutter
4572 (package
4573 (name "mutter")
de20d910 4574 (version "3.24.2")
60c3627c 4575 (source (origin
86c44e72
KK
4576 (method url-fetch)
4577 (uri (string-append "mirror://gnome/sources/" name "/"
4578 (version-major+minor version) "/"
4579 name "-" version ".tar.xz"))
60c3627c
SB
4580 (sha256
4581 (base32
de20d910 4582 "043q3384vwrkjdfhbwn9pwdml6z0g0ad0cj2fjnjzg6402i67071"))))
86c44e72
KK
4583 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4584 ;; versions of cogl and clutter. As a result, many of the inputs,
4585 ;; propagated-inputs, and configure flags used in cogl and clutter are
4586 ;; needed here as well.
60c3627c
SB
4587 (build-system gnu-build-system)
4588 (arguments
4589 '(#:configure-flags
4590 ;; XXX: build fails with [-Werror]:
4591 ;; backends/meta-cursor-renderer.c:112:5: error:
4592 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4593 (list "--enable-compile-warnings=minimum"
4594
86c44e72 4595 "--enable-native-backend"
a88d5a0c
MW
4596
4597 ;; The following flags are needed for the bundled clutter
4598 "--enable-x11-backend=yes"
4599
4600 ;; the remaining flags are needed for the bundled cogl
4601 "--enable-cogl-gst"
4602 (string-append "--with-gl-libname="
4603 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4604 "/lib/libGL.so"))
4605 #:phases
4606 (modify-phases %standard-phases
86c44e72
KK
4607 ;; Replace references to systemd libraries to elogind references.
4608 (add-before 'configure 'use-elogind
4609 (lambda _
4610 (substitute* (list "configure"
4611 "src/backends/native/meta-launcher.c"
4612 "src/core/main.c")
4613 (("systemd") "elogind"))
4614 #t)))))
60c3627c
SB
4615 (native-inputs
4616 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4617 ("gobject-introspection" ,gobject-introspection)
4618 ("intltool" ,intltool)
f23052a6
DC
4619 ("pkg-config" ,pkg-config)
4620 ;; For git build
4621 ("autoconf" ,autoconf)
4622 ("automake" ,automake)
4623 ("libtool" ,libtool)))
60c3627c 4624 (propagated-inputs
a88d5a0c
MW
4625 `(;; libmutter.pc refers to these:
4626 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4627 ("gtk+" ,gtk+)
4628 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4629 ("atk" ,atk)
4630 ("cairo" ,cairo)
4631 ("gdk-pixbuf" ,gdk-pixbuf)
4632 ("glib" ,glib)
4633 ("glib" ,glib)
60c3627c 4634 ("gtk+" ,gtk+)
a88d5a0c
MW
4635 ("json-glib" ,json-glib)
4636 ("libinput" ,libinput)
4637 ("libx11" ,libx11)
4638 ("libxcomposite" ,libxcomposite)
4639 ("libxdamage" ,libxdamage)
4640 ("libxext" ,libxext)
4641 ("libxfixes" ,libxfixes)
4642 ("libxkbcommon" ,libxkbcommon)
4643 ("libxrandr" ,libxrandr)
4644 ("mesa" ,mesa)
4645 ("pango" ,pango)
4646 ("udev" ,eudev)
a88d5a0c 4647 ("xinput" ,xinput)))
60c3627c 4648 (inputs
86c44e72
KK
4649 `(("elogind" ,elogind)
4650 ("gnome-desktop" ,gnome-desktop)
60c3627c 4651 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4652 ("libgudev" ,libgudev)
60c3627c
SB
4653 ("libice" ,libice)
4654 ("libsm" ,libsm)
60c3627c 4655 ("libxkbfile" ,libxkbfile)
a88d5a0c 4656 ("libxrandr" ,libxrandr)
86c44e72 4657 ("libxtst" ,libxtst)
60c3627c
SB
4658 ("startup-notification" ,startup-notification)
4659 ("upower-glib" ,upower)
4660 ("xkeyboard-config" ,xkeyboard-config)
4661 ("zenity" ,zenity)))
4662 (synopsis "Window and compositing manager")
4663 (home-page "http://www.gnome.org")
4664 (description
4665 "Mutter is a window and compositing manager that displays and manages your
4666desktop via OpenGL. Mutter combines a sophisticated display engine using the
4667Clutter toolkit with solid window-management logic inherited from the Metacity
4668window manager.")
86c44e72 4669 (license license:gpl2+)))
685cee87
SB
4670
4671(define-public gnome-online-accounts
4672 (package
4673 (name "gnome-online-accounts")
8cdbaebc 4674 (version "3.24.1")
685cee87
SB
4675 (source (origin
4676 (method url-fetch)
4677 (uri (string-append "mirror://gnome/sources/" name "/"
4678 (version-major+minor version) "/"
4679 name "-" version ".tar.xz"))
4680 (sha256
4681 (base32
8cdbaebc 4682 "0lgniqmkr6ffdw3kcqd34lvp969j2q2qzcy30zkzl5c09r7anc0a"))))
685cee87
SB
4683 (build-system glib-or-gtk-build-system)
4684 (native-inputs
4685 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4686 ("gobject-introspection" ,gobject-introspection)
4687 ("intltool" ,intltool)
4688 ("pkg-config" ,pkg-config)
4689 ("xsltproc" ,libxslt)))
4690 (propagated-inputs
4691 `(("glib" ,glib) ; required by goa-1.0.pc
4692 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4693 (inputs
4694 `(("docbook-xsl" ,docbook-xsl)
4695 ("json-glib" ,json-glib)
4696 ("libsecret" ,libsecret)
4697 ("rest" ,rest)
4698 ("telepathy-glib" ,telepathy-glib)
4699 ("webkitgtk" ,webkitgtk)))
4700 (synopsis "Single sign-on framework for GNOME")
4701 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4702 (description
4703 "GNOME Online Accounts provides interfaces so that applications and
4704libraries in GNOME can access the user's online accounts. It has providers for
4705Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4706Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4707 (license license:lgpl2.0+)))
df217748
SB
4708
4709(define-public evolution-data-server
4710 (package
4711 (name "evolution-data-server")
07cabcb1 4712 (version "3.24.3")
df217748
SB
4713 (source (origin
4714 (method url-fetch)
4715 (uri (string-append "mirror://gnome/sources/" name "/"
4716 (version-major+minor version) "/"
4717 name "-" version ".tar.xz"))
4718 (sha256
4719 (base32
07cabcb1 4720 "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
743aebd7 4721 (build-system cmake-build-system)
df217748 4722 (arguments
743aebd7 4723 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4724 #:tests? #f
4725 #:configure-flags
743aebd7
MB
4726 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4727 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4728 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4729 "-DENABLE_VALA_BINDINGS=ON"
4730 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
df217748
SB
4731 #:phases
4732 (modify-phases %standard-phases
743aebd7 4733 (add-after 'unpack 'patch-paths
df217748
SB
4734 (lambda _
4735 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4736 (("/bin/rm") (which "rm")))
4737 #t)))))
4738 (native-inputs
4739 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4740 ("gobject-introspection" ,gobject-introspection)
4741 ("gperf" ,gperf)
4742 ("intltool" ,intltool)
4743 ("pkg-config" ,pkg-config)
a73c1cf8 4744 ("vala" ,vala)
743aebd7 4745 ("python" ,python-wrapper)))
df217748
SB
4746 (propagated-inputs
4747 ;; These are all in the Requires field of .pc files.
4748 `(("gtk+" ,gtk+)
4749 ("libical" ,libical)
4750 ("libsecret" ,libsecret)
4751 ("libsoup" ,libsoup)
4752 ("nss" ,nss)
4753 ("sqlite" ,sqlite)))
4754 (inputs
4755 `(("bdb" ,bdb)
4756 ("gcr" ,gcr)
4757 ("gnome-online-accounts" ,gnome-online-accounts)
743aebd7
MB
4758 ("libgweather" ,libgweather)
4759 ("mit-krb5" ,mit-krb5)
4760 ("openldap" ,openldap)))
df217748
SB
4761 (synopsis "Store address books and calendars")
4762 (home-page "https://wiki.gnome.org/Apps/Evolution")
4763 (description
4764 "This package provides a unified backend for programs that work with
4765contacts, tasks, and calendar information. It was originally developed for
4766Evolution (hence the name), but is now used by other packages as well.")
4767 (license license:lgpl2.0)))
bd7dfafa
SB
4768
4769(define-public caribou
4770 (package
4771 (name "caribou")
fe964bb5 4772 (version "0.4.21")
bd7dfafa
SB
4773 (source (origin
4774 (method url-fetch)
4775 (uri (string-append "mirror://gnome/sources/" name "/"
4776 (version-major+minor version) "/"
4777 name "-" version ".tar.xz"))
4778 (sha256
4779 (base32
fe964bb5 4780 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4781 (build-system glib-or-gtk-build-system)
4782 (arguments
4783 '(#:phases
4784 (modify-phases %standard-phases
4785 (add-before
4786 'build 'pre-build
4787 (lambda* (#:key outputs #:allow-other-keys)
4788 (let ((out (assoc-ref outputs "out")))
4789 ;; Use absolute shared library path in Caribou-1.0.typelib.
4790 (substitute* "libcaribou/Makefile"
4791 (("--shared-library=libcaribou.so")
4792 (string-append "--shared-library="
4793 out "/lib/libcaribou.so")))
4794 #t)))
4795 (add-after 'install 'wrap-programs
4796 (lambda* (#:key outputs #:allow-other-keys)
4797 (let* ((out (assoc-ref outputs "out"))
4798 (python-path (getenv "PYTHONPATH"))
4799 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4800 (for-each
4801 (lambda (prog)
4802 (wrap-program prog
4803 `("PYTHONPATH" ":" prefix (,python-path))
4804 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4805 (list (string-append out "/bin/caribou-preferences")
4806 (string-append out "/libexec/antler-keyboard"))))
4807 #t)))))
4808 (native-inputs
4809 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4810 ("gobject-introspection" ,gobject-introspection)
4811 ("intltool" ,intltool)
4812 ("pkg-config" ,pkg-config)
4813 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4814 ("vala" ,vala)
4815 ("xsltproc" ,libxslt)))
4816 (propagated-inputs
4817 ;; caribou-1.0.pc refers to all these.
4818 `(("libgee" ,libgee)
4819 ("libxklavier" ,libxklavier)
4820 ("libxtst" ,libxtst)
4821 ("gtk+" ,gtk+)))
4822 (inputs
4823 `(("clutter" ,clutter)
4824 ("dconf" ,dconf)
4825 ("gtk+-2" ,gtk+-2)
4826 ("python-pygobject" ,python2-pygobject)))
4827 (synopsis "Text entry and UI navigation application")
4828 (home-page "https://wiki.gnome.org/Projects/Caribou")
4829 (description
4830 "Caribou is an input assistive technology intended for switch and pointer
4831users.")
4832 (license license:lgpl2.1)))
ba5dd105 4833
ba5dd105
SB
4834(define-public network-manager
4835 (package
4836 (name "network-manager")
856ca567 4837 (version "1.8.0")
ba5dd105
SB
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4841 (version-major+minor version) "/"
4842 "NetworkManager-" version ".tar.xz"))
4843 (sha256
4844 (base32
856ca567 4845 "17pn7kzilyl0qk525gp9xnbz4x0ssrdmgk1lvw95pyfd6rm5qnps"))
fd070f35
CM
4846 (snippet
4847 '(begin
4848 (use-modules (guix build utils))
4849 (substitute* "configure"
4850 ;; Replace libsystemd-login with libelogind.
4851 (("libsystemd-login") "libelogind"))
4852 (substitute* "src/devices/wwan/nm-modem-manager.c"
4853 (("systemd") "elogind"))
4854 (substitute* "src/nm-session-monitor.c"
4855 (("systemd") "elogind"))
4856 (substitute* "./src/nm-logging.c"
4857 (("systemd") "elogind"))))))
ba5dd105
SB
4858 (build-system gnu-build-system)
4859 (outputs '("out"
4860 "doc")) ; 8 MiB of gtk-doc HTML
4861 (arguments
4862 '(#:configure-flags
4863 (let ((out (assoc-ref %outputs "out"))
4864 (doc (assoc-ref %outputs "doc"))
4865 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4866 "/sbin/dhclient")))
fd070f35
CM
4867 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4868 "--with-consolekit=no"
4869 "--with-crypto=gnutls"
ba5dd105
SB
4870 "--disable-config-plugin-ibft"
4871 "--sysconfdir=/etc"
4872 "--localstatedir=/var"
4873 (string-append "--with-udev-dir="
4874 out "/lib/udev")
4875 (string-append "--with-dbus-sys-dir="
4876 out "/etc/dbus-1/system.d")
4877 (string-append "--with-html-dir="
4878 doc "/share/gtk-doc/html")
4879 (string-append "--with-dhclient=" dhclient)))
4880 #:phases
4881 (modify-phases %standard-phases
b4f59d87
AW
4882 (add-before 'configure 'pre-configure
4883 (lambda _
4884 ;; These tests try to test aspects of network-manager's
4885 ;; functionality within restricted containers, but they don't
4886 ;; cope with being already in the Guix build jail as that jail
4887 ;; lacks some features that they would like to proxy over (like
4888 ;; a /sys mount).
d04687dc
HG
4889 (substitute* '("Makefile.in")
4890 (("src/platform/tests/test-address-linux") " ")
4891 (("src/platform/tests/test-cleanup-linux") " ")
4892 (("src/platform/tests/test-link-linux") " ")
4893 (("src/platform/tests/test-route-linux") " ")
4894 (("src/devices/tests/test-arping") " ")
4895 (("src/devices/tests/test-lldp") " ")
4896 (("src/tests/test-route-manager-linux") " "))
b4f59d87 4897 #t))
ba5dd105
SB
4898 (add-before 'check 'pre-check
4899 (lambda _
4900 ;; For the missing /etc/machine-id.
4901 (setenv "DBUS_FATAL_WARNINGS" "0")
4902 #t))
4903 (replace 'install
4904 (lambda _
4905 (zero? (system* "make"
4906 "sysconfdir=/tmp"
142bdcbc
SB
4907 "rundir=/tmp"
4908 "statedir=/tmp"
d04687dc 4909 "nmstatedir=/tmp/nm"
ba5dd105 4910 "install")))))))
b93502d6
DC
4911 (propagated-inputs
4912 `(("glib" ,glib)))
ba5dd105
SB
4913 (native-inputs
4914 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4915 ("gobject-introspection" ,gobject-introspection)
d04687dc 4916 ("docbook-xsl" ,docbook-xsl)
ba5dd105 4917 ("intltool" ,intltool)
d04687dc
HG
4918 ("libxslt" ,libxslt)
4919 ("libxml2" ,libxml2)
ba5dd105
SB
4920 ("pkg-config" ,pkg-config)
4921 ;; For testing.
4922 ("python" ,python-wrapper)
4923 ("python-dbus" ,python-dbus)
4924 ("python-pygobject" ,python-pygobject)))
4925 (inputs
856ca567
KK
4926 `(("curl" ,curl)
4927 ("cyrus-sasl" ,cyrus-sasl)
4928 ("dbus-glib" ,dbus-glib)
ba5dd105 4929 ("dnsmasq" ,dnsmasq)
856ca567 4930 ("eudev" ,eudev)
ba5dd105
SB
4931 ("gnutls" ,gnutls)
4932 ("iptables" ,iptables)
4933 ("isc-dhcp" ,isc-dhcp)
d04687dc 4934 ("jansson" ,jansson)
ba5dd105
SB
4935 ("libgcrypt" ,libgcrypt)
4936 ("libgudev" ,libgudev)
4937 ("libndp" ,libndp)
4938 ("libnl" ,libnl)
4939 ("libsoup" ,libsoup)
142bdcbc 4940 ("modem-manager" ,modem-manager)
ba5dd105
SB
4941 ("polkit" ,polkit)
4942 ("ppp" ,ppp)
4943 ("readline" ,readline)
fd070f35
CM
4944 ("util-linux" ,util-linux)
4945 ("elogind" ,elogind)))
ba5dd105
SB
4946 (synopsis "Network connection manager")
4947 (home-page "http://www.gnome.org/projects/NetworkManager/")
4948 (description
4949 "NetworkManager is a system network service that manages your network
4950devices and connections, attempting to keep active network connectivity when
4951available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4952devices, and provides VPN integration with a variety of different VPN
4953services.")
29d2f451
LC
4954 (license license:gpl2+)
4955 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4956
e5e1df4d
DC
4957(define-public mobile-broadband-provider-info
4958 (package
4959 (name "mobile-broadband-provider-info")
4960 (version "20151214")
4961 (source (origin
4962 (method url-fetch)
4963 (uri (string-append
4964 "mirror://gnome/sources/"
4965 "mobile-broadband-provider-info/" version "/"
4966 "mobile-broadband-provider-info-" version ".tar.xz"))
4967 (sha256
4968 (base32
4969 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
4970 (build-system gnu-build-system)
4971 (arguments
4972 `(#:tests? #f)) ; No tests
4973 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4974 (synopsis "Database of broadband connection configuration")
4975 (description "Database of broadband connection configuration.")
4976 (license license:public-domain)))
4977
4d62a9d3
SB
4978(define-public network-manager-applet
4979 (package
4980 (name "network-manager-applet")
240cee8a 4981 (version "1.8.2")
4d62a9d3
SB
4982 (source (origin
4983 (method url-fetch)
4984 (uri (string-append "mirror://gnome/sources/" name "/"
4985 (version-major+minor version) "/"
4986 name "-" version ".tar.xz"))
4987 (sha256
4988 (base32
240cee8a 4989 "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry"))))
4d62a9d3 4990 (build-system glib-or-gtk-build-system)
240cee8a 4991 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
4992 (native-inputs
4993 `(("intltool" ,intltool)
4994 ("gobject-introspection" ,gobject-introspection)
4995 ("pkg-config" ,pkg-config)))
4996 (propagated-inputs
4997 ;; libnm-gtk.pc refers to all these.
4998 `(("dbus-glib" ,dbus-glib)
4999 ("gtk+" ,gtk+)
5000 ("network-manager" ,network-manager)))
5001 (inputs
5002 `(("iso-codes" ,iso-codes)
5003 ("libgudev" ,libgudev)
5004 ("libnotify" ,libnotify)
2116bfb3 5005 ("libsecret" ,libsecret)
240cee8a
KK
5006 ("libselinux" ,libselinux)
5007 ("jansson" ,jansson) ; for team support
5008 ("modem-manager" ,modem-manager)))
4d62a9d3
SB
5009 (synopsis "Applet for managing network connections")
5010 (home-page "http://www.gnome.org/projects/NetworkManager/")
5011 (description
5012 "This package contains a systray applet for NetworkManager. It displays
5013the available networks and allows users to easily switch between them.")
5014 (license license:gpl2+)))
56196594
RW
5015
5016(define-public libxml++
5017 (package
5018 (name "libxml++")
8344a85e 5019 (version "3.0.1")
56196594
RW
5020 (source (origin
5021 (method url-fetch)
5022 (uri (string-append "mirror://gnome/sources/" name "/"
5023 (version-major+minor version) "/"
5024 name "-" version ".tar.xz"))
5025 (sha256
5026 (base32
8344a85e 5027 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5028 (build-system gnu-build-system)
5029 ;; libxml++-3.0.pc refers to all these.
5030 (propagated-inputs
5031 `(("libxml2" ,libxml2)
5032 ("glibmm" ,glibmm)))
5033 (native-inputs
5034 `(("perl" ,perl)
5035 ("pkg-config" ,pkg-config)))
5036 (home-page "http://libxmlplusplus.sourceforge.net/")
5037 (synopsis "C++ wrapper for XML parser library libxml2")
5038 (description
5039 "This package provides a C++ wrapper for the XML parser library
5040libxml2.")
5041 (license license:lgpl2.1+)))
df12f04a 5042
b61d9627
AW
5043(define-public libxml++-2
5044 (package
5045 (inherit libxml++)
5046 (name "libxml++")
5047 (version "2.40.1")
5048 (source (origin
5049 (method url-fetch)
5050 (uri (string-append "mirror://gnome/sources/" name "/"
5051 (version-major+minor version) "/"
5052 name "-" version ".tar.xz"))
5053 (sha256
5054 (base32
5055 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5056
df12f04a
SB
5057(define-public gdm
5058 (package
5059 (name "gdm")
8f37813e 5060 (version "3.24.2")
df12f04a
SB
5061 (source (origin
5062 (method url-fetch)
5063 (uri (string-append "mirror://gnome/sources/" name "/"
5064 (version-major+minor version) "/"
5065 name "-" version ".tar.xz"))
5066 (sha256
5067 (base32
8f37813e 5068 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
df12f04a
SB
5069 (build-system gnu-build-system)
5070 (arguments
5071 '(#:configure-flags
5072 '("--without-plymouth")
5073 #:phases
5074 (modify-phases %standard-phases
5075 (add-before
5076 'configure 'pre-configure
5077 (lambda _
5078 ;; We don't have <systemd/sd-daemon.h>.
5079 (substitute* '("common/gdm-log.c"
5080 "daemon/gdm-server.c"
5081 "daemon/gdm-session-worker.c"
5082 "daemon/gdm-session-worker-job.c")
5083 (("#include <systemd/sd-daemon\\.h>") ""))
5084 ;; Use elogind for sd-login.
5085 (substitute* '("common/gdm-common.c"
5086 "daemon/gdm-manager.c"
5087 "libgdm/gdm-user-switching.c")
5088 (("#include <systemd/sd-login\\.h>")
5089 "#include <elogind/sd-login.h>"))
5090 ;; Avoid checking SYSTEMD using pkg-config.
5091 (setenv "SYSTEMD_CFLAGS" " ")
5092 (setenv "SYSTEMD_LIBS" "-lelogind")
5093 #t)))))
5094 (native-inputs
5095 `(("dconf" ,dconf)
5096 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5097 ("gobject-introspection" ,gobject-introspection)
5098 ("intltool" ,intltool)
5099 ("itstool" ,itstool)
5100 ("pkg-config" ,pkg-config)
5101 ("xmllint" ,libxml2)))
5102 (inputs
5103 `(("accountsservice" ,accountsservice)
5104 ("check" ,check) ; for testing
5105 ("elogind" ,elogind)
5106 ("gtk+" ,gtk+)
5107 ("iso-codes" ,iso-codes)
5108 ("libcanberra" ,libcanberra)
5109 ("linux-pam" ,linux-pam)))
5110 (synopsis "Display manager for GNOME")
5111 (home-page "http://wiki.gnome.org/Projects/GDM/")
5112 (description
5113 "GNOME Display Manager is a system service that is responsible for
5114providing graphical log-ins and managing local and remote displays.")
5115 (license license:gpl2+)))
8e1dd04f
SB
5116
5117(define-public libgtop
5118 (package
5119 (name "libgtop")
6206db89 5120 (version "2.36.0")
8e1dd04f
SB
5121 (source (origin
5122 (method url-fetch)
5123 (uri (string-append "mirror://gnome/sources/" name "/"
5124 (version-major+minor version) "/"
5125 name "-" version ".tar.xz"))
5126 (sha256
5127 (base32
6206db89 5128 "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
8e1dd04f
SB
5129 (build-system gnu-build-system)
5130 (native-inputs
5131 `(("gobject-introspection" ,gobject-introspection)
5132 ("intltool" ,intltool)
5133 ("perl" ,perl)
5134 ("pkg-config" ,pkg-config)))
5135 (propagated-inputs
5136 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5137 (synopsis "Portable system access library")
5138 (home-page "https://www.gnome.org/")
5139 (description
5140 "LibGTop is a library to get system specific data such as CPU and memory
5141usage and information about running processes.")
5142 (license license:gpl2+)))
b96c4260
SB
5143
5144(define-public gnome-bluetooth
5145 (package
5146 (name "gnome-bluetooth")
f8cb2fbf 5147 (version "3.20.1")
b96c4260
SB
5148 (source (origin
5149 (method url-fetch)
5150 (uri (string-append "mirror://gnome/sources/" name "/"
5151 (version-major+minor version) "/"
5152 name "-" version ".tar.xz"))
5153 (sha256
5154 (base32
f8cb2fbf 5155 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
5156 (build-system glib-or-gtk-build-system)
5157 (native-inputs
5158 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5159 ("gobject-introspection" ,gobject-introspection)
5160 ("intltool" ,intltool)
5161 ("pkg-config" ,pkg-config)
5162 ("xmllint" ,libxml2)))
5163 (propagated-inputs
5164 ;; gnome-bluetooth-1.0.pc refers to all these.
5165 `(("gtk+" ,gtk+)
5166 ("udev" ,eudev)))
5167 (inputs
5168 `(("libcanberra" ,libcanberra)
5169 ("libnotify" ,libnotify)))
5170 (synopsis "GNOME Bluetooth subsystem")
5171 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5172 (description
5173 "This package contains tools for managing and manipulating Bluetooth
5174devices using the GNOME desktop.")
5175 (license license:lgpl2.1+)))
b645146f
SB
5176
5177(define-public gnome-control-center
5178 (package
5179 (name "gnome-control-center")
44da12be 5180 (version "3.24.2")
b645146f
SB
5181 (source (origin
5182 (method url-fetch)
5183 (uri (string-append "mirror://gnome/sources/" name "/"
5184 (version-major+minor version) "/"
5185 name "-" version ".tar.xz"))
5186 (sha256
5187 (base32
44da12be 5188 "0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq"))))
b645146f
SB
5189 (build-system glib-or-gtk-build-system)
5190 (arguments
5191 '(#:phases
5192 (modify-phases %standard-phases
5193 (add-before 'configure 'patch-paths
5194 (lambda* (#:key inputs #:allow-other-keys)
5195 (let ((libc (assoc-ref inputs "libc"))
5196 (tzdata (assoc-ref inputs "tzdata")))
5197 (substitute* "panels/datetime/tz.h"
5198 (("/usr/share/zoneinfo/zone.tab")
5199 (string-append tzdata "/share/zoneinfo/zone.tab")))
5200 (substitute* "panels/datetime/test-endianess.c"
5201 (("/usr/share/locale")
5202 (string-append libc "/share/locale")))
5203 #t))))))
5204 (native-inputs
5205 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5206 ("intltool" ,intltool)
5207 ("pkg-config" ,pkg-config)
5208 ("xsltproc" ,libxslt)))
5209 (inputs
5210 `(("accountsservice" ,accountsservice)
5211 ("clutter-gtk" ,clutter-gtk)
5212 ("colord-gtk" ,colord-gtk)
5213 ("cups" ,cups)
5214 ("dconf" ,dconf)
5215 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5216 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5217 ("gnome-bluetooth" ,gnome-bluetooth)
5218 ("gnome-desktop" ,gnome-desktop)
5219 ("gnome-online-accounts" ,gnome-online-accounts)
5220 ("gnome-settings-daemon" ,gnome-settings-daemon)
5221 ("grilo" ,grilo)
5222 ("ibus" ,ibus)
5223 ("libcanberra" ,libcanberra)
5224 ("libgudev" ,libgudev)
5225 ("libgtop" ,libgtop)
5226 ("libpwquality" ,libpwquality)
5227 ("libsoup" ,libsoup)
5228 ("libxml2" ,libxml2)
5229 ("libwacom" ,libwacom)
5230 ("mesa" ,mesa)
5231 ("mit-krb5" ,mit-krb5)
5232 ("modem-manager" ,modem-manager)
5233 ("network-manager-applet" ,network-manager-applet)
5234 ("polkit" ,polkit)
5235 ("pulseaudio" ,pulseaudio)
5236 ("smbclient" ,samba)
5237 ("tzdata" ,tzdata)
5238 ("upower" ,upower)))
5239 (synopsis "Utilities to configure the GNOME desktop")
5240 (home-page "https://www.gnome.org/")
5241 (description
5242 "This package contains configuration applets for the GNOME desktop,
5243allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5244properties, sound setup, desktop theme and background, user interface
5245properties, screen resolution, and other GNOME parameters.")
5246 (license license:gpl2+)))
a4df5756
SB
5247
5248(define-public gnome-shell
5249 (package
5250 (name "gnome-shell")
ce1e6de0 5251 (version "3.24.2")
a4df5756
SB
5252 (source (origin
5253 (method url-fetch)
5254 (uri (string-append "mirror://gnome/sources/" name "/"
5255 (version-major+minor version) "/"
5256 name "-" version ".tar.xz"))
5257 (sha256
5258 (base32
ce1e6de0 5259 "1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh"))))
a4df5756
SB
5260 (build-system glib-or-gtk-build-system)
5261 (arguments
5262 '(#:phases
5263 (modify-phases %standard-phases
5264 (replace 'install
5265 (lambda* (#:key outputs #:allow-other-keys)
5266 (let* ((out (assoc-ref outputs "out"))
5267 (keysdir (string-append
5268 out "/share/gnome-control-center/keybindings")))
5269 (zero? (system* "make"
5270 (string-append "keysdir=" keysdir)
5271 "install")))))
5272 (add-after
5273 'install 'wrap-programs
5274 (lambda* (#:key outputs #:allow-other-keys)
5275 (let ((out (assoc-ref outputs "out"))
5276 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5277 (python-path (getenv "PYTHONPATH")))
5278 (wrap-program (string-append out "/bin/gnome-shell")
5279 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5280 (for-each
5281 (lambda (prog)
5282 (wrap-program (string-append out "/bin/" prog)
5283 `("PYTHONPATH" ":" prefix (,python-path))
5284 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5285 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5286 #t))))))
5287 (native-inputs
5288 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5289 ("gobject-introspection" ,gobject-introspection)
5290 ("intltool" ,intltool)
5291 ("pkg-config" ,pkg-config)
5292 ("python" ,python)
5293 ("xsltproc" ,libxslt)))
5294 (inputs
5295 `(("accountsservice" ,accountsservice)
5296 ("caribou" ,caribou)
5297 ("docbook-xsl" ,docbook-xsl)
5298 ("evolution-data-server" ,evolution-data-server)
5299 ("gcr" ,gcr)
5300 ("gdm" ,gdm)
5301 ("gjs" ,gjs)
5302 ("gnome-bluetooth" ,gnome-bluetooth)
5303 ("gnome-control-center" ,gnome-control-center)
5304 ("gnome-desktop" ,gnome-desktop)
5305 ("gnome-settings-daemon" ,gnome-settings-daemon)
5306 ("gst-plugins-base" ,gst-plugins-base)
5307 ("ibus" ,ibus)
5308 ("libcanberra" ,libcanberra)
5309 ("libcroco" ,libcroco)
5310 ("libgweather" ,libgweather)
5311 ("libsoup" ,libsoup)
5312 ("mesa-headers" ,mesa-headers)
5313 ("mutter" ,mutter)
5314 ("network-manager-applet" ,network-manager-applet)
5315 ("polkit" ,polkit)
5316 ("pulseaudio" ,pulseaudio)
5317 ("python-pygobject" ,python-pygobject)
5318 ("startup-notification" ,startup-notification)
5319 ("telepathy-logger" ,telepathy-logger)
5320 ("upower" ,upower)
30e760f0
MB
5321 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5322 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5323 ("librsvg" ,librsvg)
5324 ("geoclue" ,geoclue)
a4df5756
SB
5325 ;; XXX: required by libgjs.la.
5326 ("readline" ,readline)))
5327 (synopsis "Desktop shell for GNOME")
5328 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5329 (description
5330 "GNOME Shell provides core user interface functions for the GNOME desktop,
5331like switching to windows and launching applications.")
5332 (license license:gpl2+)))
c3f29bc9
RS
5333
5334(define-public gtk-vnc
5335 (package
5336 (name "gtk-vnc")
26653538 5337 (version "0.7.0")
c3f29bc9
RS
5338 (source
5339 (origin
5340 (method url-fetch)
5341 (uri (string-append "mirror://gnome/sources/" name "/"
5342 (version-major+minor version) "/"
5343 name "-" version ".tar.xz"))
5344 (sha256
5345 (base32
26653538 5346 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
c3f29bc9
RS
5347 (build-system gnu-build-system)
5348 (arguments
5349 '(#:configure-flags '("--with-gtk=3.0")))
5350 (propagated-inputs
5351 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5352 (inputs
5353 `(("cyrus-sasl" ,cyrus-sasl)
5354 ("gnutls" ,gnutls)
5355 ("libgcrypt" ,libgcrypt)
5356 ("pulseaudio" ,pulseaudio)))
5357 (native-inputs
5358 `(("glib:bin" ,glib "bin")
5359 ("gobject-introspection" ,gobject-introspection)
5360 ("intltool" ,intltool)
5361 ("pkg-config" ,pkg-config)
5362 ("vala" ,vala)))
5363 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5364 (synopsis "VNC viewer widget for GTK+")
5365 (description
5366 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5367applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5368GTK-VNC implements client side RFB protocol and authentication extensions such
5369as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5370 (license license:lgpl2.1+)))
8b877545 5371
dc69fe18
MW
5372(define-public gnome-autoar
5373 (package
5374 (name "gnome-autoar")
4063a40a 5375 (version "0.2.2")
dc69fe18
MW
5376 (source (origin
5377 (method url-fetch)
5378 (uri (string-append "mirror://gnome/sources/" name "/"
5379 (version-major+minor version) "/"
5380 name "-" version ".tar.xz"))
5381 (sha256
5382 (base32
4063a40a 5383 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
dc69fe18
MW
5384 (build-system glib-or-gtk-build-system)
5385 (native-inputs
5386 `(("gnome-common" ,gnome-common)
5387 ("gobject-introspection" ,gobject-introspection)
5388 ("pkg-config" ,pkg-config)))
5389 (propagated-inputs
5390 `(("libarchive" ,libarchive))) ; XXX document why
5391 (inputs
5392 `(("gtk+" ,gtk+)
5393 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5394 (synopsis "Archives integration support for GNOME")
5395 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5396 (description
5397 "GNOME Autoar is a library which makes creating and extracting archives
5398easy, safe, and automatic.")
5399 (license license:lgpl2.1+)))
5400
b64e217f
MW
5401(define-public tracker
5402 (package
5403 (name "tracker")
0ef48cd9 5404 (version "1.12.0")
b64e217f
MW
5405 (source (origin
5406 (method url-fetch)
5407 (uri (string-append "mirror://gnome/sources/" name "/"
5408 (version-major+minor version) "/"
5409 name "-" version ".tar.xz"))
5410 (sha256
5411 (base32
0ef48cd9 5412 "0vsrzzkcfvmylhpk1ww6xdx8z9sgjs0gn74gz82qngjyq3c3s6c3"))))
b64e217f
MW
5413 (build-system glib-or-gtk-build-system)
5414 (native-inputs
5415 `(("gnome-common" ,gnome-common)
5416 ("gobject-introspection" ,gobject-introspection)
5417 ("intltool" ,intltool)
5418 ("pkg-config" ,pkg-config)
5419 ("vala" ,vala)))
5420 (inputs
5421 `(("gtk+" ,gtk+)
5422 ("dbus" ,dbus)
5423 ("gstreamer" ,gstreamer)
5424 ("gst-plugins-base" ,gst-plugins-base)
5425 ("sqlite" ,sqlite)
5426 ("nettle" ,nettle) ; XXX why is this needed?
5427 ("poppler" ,poppler)
5428 ("libgsf" ,libgsf)
5429 ("libexif" ,libexif)
5430 ("libpng" ,libpng)
5431 ("libtiff" ,libtiff)
5432 ("libvorbis" ,libvorbis)
5433 ("flac" ,flac)
5434 ("totem-pl-parser" ,totem-pl-parser)
5435 ("zlib" ,zlib)
5436 ("exempi" ,exempi)
5437 ("libxml2" ,libxml2)
5438 ("upower" ,upower)
b64e217f
MW
5439 ("libunistring" ,libunistring)
5440 ("giflib" ,giflib)
0ef48cd9 5441 ("json-glib" ,json-glib)
b64e217f
MW
5442 ("openjpeg" ,openjpeg-1)
5443 ("libosinfo" ,libosinfo)
5444 ("libcue" ,libcue)
5445 ("libseccomp" ,libseccomp)
0ef48cd9 5446 ("libsoup" ,libsoup)
b64e217f
MW
5447 ("libuuid" ,util-linux)))
5448 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5449 (synopsis "Metadata database, indexer and search tool")
5450 (home-page "https://wiki.gnome.org/Projects/Tracker")
5451 (description
5452 "Tracker is an advanced framework for first class objects with associated
5453metadata and tags. It provides a one stop solution for all metadata, tags,
5454shared object databases, search tools and indexing.")
5455 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5456 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5457 (license (list license:gpl2+
5458 license:lgpl2.1+
5459 license:lgpl2.0+))))
5460
8b877545
RS
5461(define-public nautilus
5462 (package
5463 (name "nautilus")
ac8f1ce4 5464 (version "3.24.1")
8b877545
RS
5465 (source (origin
5466 (method url-fetch)
5467 (uri (string-append "mirror://gnome/sources/" name "/"
5468 (version-major+minor version) "/"
5469 name "-" version ".tar.xz"))
5470 (sha256
5471 (base32
ac8f1ce4 5472 "1cn6bmzmahzlwcd4gllsvx6dva386xm3papgzpv1r34abw73sf27"))))
8b877545
RS
5473 (build-system glib-or-gtk-build-system)
5474 (arguments
6983ba56 5475 '(#:configure-flags
09d88905 5476 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5477 ;; XXX: FAIL: check-nautilus
5478 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5479 #:tests? #f))
5480 (native-inputs
5481 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5482 ("gobject-introspection" ,gobject-introspection)
5483 ("intltool" ,intltool)
5484 ("pkg-config" ,pkg-config)))
8b877545 5485 (inputs
8b877545 5486 `(("dconf" ,dconf)
dd05e731 5487 ("gvfs" ,gvfs)
8b877545
RS
5488 ("exempi" ,exempi)
5489 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5490 ("gnome-autoar" ,gnome-autoar)
5491 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5492 ("tracker" ,tracker)
ce6027bf
SB
5493 ;; XXX: gtk+ is required by libnautilus-extension.pc
5494 ;;
5495 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5496 ;; package. See:
5497 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5498 ("gtk+" ,gtk+)
8b877545
RS
5499 ("libexif" ,libexif)
5500 ("libxml2" ,libxml2)))
5501 (synopsis "File manager for GNOME")
5502 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5503 (description
5504 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5505design and behaviour, giving the user a simple way to navigate and manage its
5506files.")
5507 (license license:gpl2+)))
3c697ffd
JR
5508
5509(define-public baobab
5510 (package
5511 (name "baobab")
9be54b15 5512 (version "3.24.0")
3c697ffd
JR
5513 (source (origin
5514 (method url-fetch)
5515 (uri (string-append
5516 "mirror://gnome/sources/" name "/"
5517 (version-major+minor version) "/"
5518 name "-" version ".tar.xz"))
5519 (sha256
5520 (base32
9be54b15 5521 "0gzwzn8p0agidjq3wnkxcsny6jhqph3yqscqjqd7blgkz5nyk02r"))))
3c697ffd
JR
5522 (build-system glib-or-gtk-build-system)
5523 (native-inputs
5524 `(("intltool" ,intltool)
5525 ("pkg-config" ,pkg-config)
5526 ("itstool" ,itstool)
5527 ("xmllint" ,libxml2)
5528 ("glib" ,glib "bin")
5529 ("vala" ,vala)))
5530 (inputs
5531 `(("gtk+" ,gtk+)))
5532 (synopsis "Disk usage analyzer for GNOME")
5533 (description
5534 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5535usage in the GNOME desktop environment. It can easily scan device volumes or
5536a specific user-requested directory branch (local or remote). Once the scan
5537is complete it provides a graphical representation of each selected folder.")
5538 (home-page "https://wiki.gnome.org/Apps/Baobab")
5539 (license license:gpl2+)))
dc050251 5540
fdba447c
RS
5541(define-public gnome-backgrounds
5542 (package
5543 (name "gnome-backgrounds")
2df65d37 5544 (version "3.24.0")
fdba447c
RS
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append "mirror://gnome/sources/" name "/"
5549 (version-major+minor version) "/"
5550 name "-" version ".tar.xz"))
5551 (sha256
5552 (base32
2df65d37 5553 "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
fdba447c
RS
5554 (build-system glib-or-gtk-build-system)
5555 (native-inputs
5556 `(("intltool" ,intltool)))
5557 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5558 (synopsis "Background images for the GNOME desktop")
5559 (description
5560 "GNOME backgrounds package contains a collection of graphics files which
5561can be used as backgrounds in the GNOME Desktop environment. Additionally,
5562the package creates the proper framework and directory structure so that you
5563can add your own files to the collection.")
5564 (license (list license:gpl2+
5565 license:cc-by2.0
5566 license:cc-by-sa2.0
5567 license:cc-by-sa3.0))))
5568
b784b1a9
RS
5569(define-public gnome-screenshot
5570 (package
5571 (name "gnome-screenshot")
efa355bc 5572 (version "3.22.0")
b784b1a9
RS
5573 (source
5574 (origin
5575 (method url-fetch)
5576 (uri (string-append "mirror://gnome/sources/" name "/"
5577 (version-major+minor version) "/"
5578 name "-" version ".tar.xz"))
5579 (sha256
5580 (base32
efa355bc 5581 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5582 (build-system glib-or-gtk-build-system)
5583 (native-inputs
5584 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5585 ("intltool" ,intltool)
5586 ("pkg-config" ,pkg-config)))
5587 (inputs
5588 `(("gtk+" ,gtk+)
5589 ("libcanberra" ,libcanberra)
5590 ("libx11" ,libx11)
5591 ("libxext" ,libxext)))
5592 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5593 (synopsis "Take pictures of your screen")
5594 (description
5595 "GNOME Screenshot is a utility used for taking screenshots of the entire
5596screen, a window or a user defined area of the screen, with optional
5597beautifying border effects.")
5598 (license license:gpl2+)))
5599
66d59111
RS
5600(define-public dconf-editor
5601 (package
5602 (name "dconf-editor")
123e8168 5603 (version "3.22.3")
66d59111
RS
5604 (source
5605 (origin
5606 (method url-fetch)
5607 (uri (string-append "mirror://gnome/sources/" name "/"
5608 (version-major+minor version) "/"
5609 name "-" version ".tar.xz"))
5610 (sha256
5611 (base32
123e8168 5612 "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
66d59111 5613 (build-system glib-or-gtk-build-system)
d25c1836
SB
5614 (arguments
5615 '(#:phases
5616 (modify-phases %standard-phases
5617 (add-before 'install 'skip-gtk-update-icon-cache
5618 (lambda _
5619 ;; Don't create 'icon-theme.cache'.
5620 (substitute* "editor/Makefile"
5621 (("gtk-update-icon-cache") "true"))
5622 #t)))))
66d59111
RS
5623 (native-inputs
5624 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5625 ("intltool" ,intltool)
5626 ("pkg-config" ,pkg-config)))
5627 (inputs
5628 `(("dconf" ,dconf)
5629 ("gtk+" ,gtk+)
5630 ("libxml2" ,libxml2)))
5631 (home-page "https://git.gnome.org/browse/dconf-editor")
5632 (synopsis "Graphical editor for GNOME's dconf configuration system")
5633 (description
5634 "Dconf-editor is a graphical tool for browsing and editing the dconf
5635configuration system for GNOME. It allows users to configure desktop
5636software that do not provide their own configuration interface.")
5637 (license license:lgpl2.1+)))
5638
dc050251
SB
5639(define-public gnome
5640 (package
5641 (name "gnome")
5642 (version (package-version gnome-shell))
5643 (source #f)
5644 (build-system trivial-build-system)
5645 (arguments '(#:builder (mkdir %output)))
5646 (propagated-inputs
5647 ;; TODO: Add more packages according to:
5648 ;; <https://packages.debian.org/jessie/gnome-core>.
5649 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5650 ("baobab" ,baobab)
0bd3597b 5651 ("font-cantarell" ,font-cantarell)
dc050251
SB
5652 ("at-spi2-core" ,at-spi2-core)
5653 ("dbus" ,dbus)
5654 ("dconf" ,dconf)
72360453 5655 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5656 ("eog" ,eog)
5657 ("epiphany" ,epiphany)
5658 ("evince" ,evince)
71d9b980 5659 ("file-roller" ,file-roller)
dc050251
SB
5660 ("gedit" ,gedit)
5661 ("glib-networking" ,glib-networking)
05f651c4 5662 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
5663 ("gnome-control-center" ,gnome-control-center)
5664 ("gnome-keyring" ,gnome-keyring)
5665 ("gnome-session" ,gnome-session)
5666 ("gnome-settings-daemon" ,gnome-settings-daemon)
5667 ("gnome-shell" ,gnome-shell)
5668 ("gnome-terminal" ,gnome-terminal)
5669 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 5670 ("gvfs" ,gvfs)
dc050251
SB
5671 ("hicolor-icon-theme" ,hicolor-icon-theme)
5672 ("nautilus" ,nautilus)
69308043 5673 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5674 ("pulseaudio" ,pulseaudio)
5675 ("shared-mime-info" ,shared-mime-info)
5676 ("totem" ,totem)
5677 ("yelp" ,yelp)
5678 ("zenity" ,zenity)))
fe4e698d 5679 (synopsis "The GNU desktop environment")
dc050251
SB
5680 (home-page "https://www.gnome.org/")
5681 (description
fe4e698d
LC
5682 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5683applications for browsing the web, editing text and images, creating
5684documents and diagrams, playing media, scanning, and much more.")
dc050251 5685 (license license:gpl2+)))
4a526711
DT
5686
5687(define-public byzanz
5688 ;; The last stable release of Byzanz was in 2011, but there have been many
5689 ;; useful commits made to the Byzanz repository since then that it would be
5690 ;; silly to use such an old release.
5691 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5692 (package
5693 (name "byzanz")
5694 (version (string-append "0.2-1." (string-take commit 7)))
5695 (source (origin
5696 (method git-fetch)
5697 (uri (git-reference
5698 (url "git://git.gnome.org/byzanz")
5699 (commit commit)))
5a6527e4 5700 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
5701 (sha256
5702 (base32
5703 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5704 (build-system glib-or-gtk-build-system)
5705 (arguments
5706 '(#:phases
5707 (modify-phases %standard-phases
5708 (add-after 'unpack 'bootstrap
5709 (lambda _
5710 ;; The build system cleverly detects that we're not building from
5711 ;; a release tarball and turns on -Werror for GCC.
5712 ;; Unsurprisingly, there is a warning during compilation that
5713 ;; causes the build to fail unnecessarily, so we remove the flag.
5714 (substitute* '("configure.ac")
5715 (("-Werror") ""))
5716 ;; The autogen.sh script in gnome-common will run ./configure
5717 ;; by default, which is problematic because source shebangs
5718 ;; have not yet been patched.
5719 (setenv "NOCONFIGURE" "t")
5720 (zero? (system* "sh" "autogen.sh")))))))
5721 (native-inputs
5722 `(("autoconf" ,autoconf)
5723 ("automake" ,automake)
5724 ("gnome-common" ,gnome-common)
5725 ("intltool" ,intltool)
5726 ("libtool" ,libtool)
5727 ("pkg-config" ,pkg-config)
5728 ("which" ,which)))
5729 (inputs
5730 `(("glib" ,glib)
5731 ("gstreamer" ,gstreamer)
5732 ("gst-plugins-base" ,gst-plugins-base)
5733 ("gtk+" ,gtk+)))
5734 (synopsis "Desktop recording program")
5735 (description "Byzanz is a simple desktop recording program with a
5736command-line interface. It can record part or all of an X display for a
5737specified duration and save it as a GIF encoded animated image file.")
5738 (home-page "https://git.gnome.org/browse/byzanz")
5739 (license license:gpl2+))))
3a9a4c51
RS
5740
5741(define-public libzapojit
5742 (package
5743 (name "libzapojit")
5744 (version "0.0.3")
5745 (source (origin
5746 (method url-fetch)
5747 (uri (string-append "mirror://gnome/sources/" name "/"
5748 (version-major+minor version) "/"
5749 name "-" version ".tar.xz"))
5750 (sha256
5751 (base32
5752 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5753 (build-system gnu-build-system)
5754 (native-inputs
5755 `(("gobject-introspection" ,gobject-introspection)
5756 ("intltool" ,intltool)
5757 ("pkg-config" ,pkg-config)))
5758 (inputs
5759 `(("gnome-online-accounts" ,gnome-online-accounts)
5760 ("json-glib" ,json-glib)
5761 ("rest" ,rest)))
5762 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5763 (synopsis "Library for accessing SkyDrive and Hotmail")
5764 (description
5765 "Libzapojit is a GLib-based library for accessing online service APIs of
5766Microsoft SkyDrive and Hotmail, using their REST protocols.")
5767 (license license:lgpl2.1+)))
9365ee1c 5768
3c474897
KY
5769(define-public gnome-calendar
5770 (package
5771 (name "gnome-calendar")
a93f14ea 5772 (version "3.24.3")
3c474897
KY
5773 (source (origin
5774 (method url-fetch)
5775 (uri (string-append "mirror://gnome/sources/" name "/"
5776 (version-major+minor version) "/"
5777 name "-" version ".tar.xz"))
5778 (sha256
5779 (base32
a93f14ea 5780 "1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry"))))
3c474897
KY
5781 (build-system glib-or-gtk-build-system)
5782 (native-inputs
5783 `(("intltool" ,intltool)
5784 ("pkg-config" ,pkg-config)))
5785 (inputs
5786 `(("bdb" ,bdb)
5787 ("desktop-file-utils" ,desktop-file-utils)
5788 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5789 ("gnome-online-accounts" ,gnome-online-accounts)
5790 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5791 (home-page "https://wiki.gnome.org/Apps/Calendar")
5792 (synopsis "GNOME's calendar application")
5793 (description
5794 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5795desktop. It supports multiple calendars, monthly view and yearly view.")
5796 (license license:gpl3+)))
5797
ab179eaf
SB
5798(define-public gnome-dictionary
5799 (package
5800 (name "gnome-dictionary")
6e2fc6c7 5801 (version "3.24.0")
ab179eaf
SB
5802 (source (origin
5803 (method url-fetch)
5804 (uri (string-append "mirror://gnome/sources/" name "/"
5805 (version-major+minor version) "/"
5806 name "-" version ".tar.xz"))
5807 (sha256
5808 (base32
6e2fc6c7 5809 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
ab179eaf
SB
5810 (build-system glib-or-gtk-build-system)
5811 (native-inputs
5812 `(("glib:bin" ,glib "bin")
5813 ("gobject-introspection" ,gobject-introspection)
5814 ("intltool" ,intltool)
5815 ("itstool" ,itstool)
5816 ("pkg-config" ,pkg-config)
5817 ("xmllint" ,libxml2)))
5818 (inputs
5819 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5820 ("gtk+" ,gtk+)))
5821 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5822 (synopsis "Look up words in dictionary sources")
5823 (description
5824 "GNOME Dictionary can look for the definition or translation of a word in
5825existing databases over the internet.")
5826 (license license:gpl3+)))
5827
9365ee1c
JN
5828(define-public gnome-tweak-tool
5829 (package
5830 (name "gnome-tweak-tool")
a7850769 5831 (version "3.24.1")
9365ee1c
JN
5832 (source (origin
5833 (method url-fetch)
5834 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5835 (version-major+minor version) "/"
5836 "gnome-tweak-tool-" version ".tar.xz"))
5837 (patches (list
5838 (search-patch "gnome-tweak-tool-search-paths.patch")))
5839 (sha256
5840 (base32
a7850769 5841 "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
7ef335b0 5842 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5843 (arguments
5844 `(#:configure-flags '("--localstatedir=/tmp"
5845 "--sysconfdir=/tmp")
5846 #:imported-modules ((guix build python-build-system)
7ef335b0 5847 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5848 #:phases (modify-phases %standard-phases
9af6bce1
CB
5849 (add-after 'install 'wrap-program
5850 (lambda* (#:key outputs #:allow-other-keys)
5851 (let ((out (assoc-ref outputs "out"))
5852 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5853 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5854 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5855 #t))
9365ee1c
JN
5856 (add-after 'install 'wrap
5857 (@@ (guix build python-build-system) wrap)))))
5858 (native-inputs
5859 `(("intltool" ,intltool)
5860 ("pkg-config" ,pkg-config)))
5861 (inputs
5862 `(("python" ,python-2)
adb41527 5863 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5864 ("gnome-desktop" ,gnome-desktop)
5865 ("libsoup" ,libsoup)
adb41527 5866 ("libnotify" ,libnotify)
9365ee1c
JN
5867 ("gobject-introspection" ,gobject-introspection)
5868 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5869 ("gtk+" ,gtk+)))
5870 (synopsis "Customize advanced GNOME 3 options")
5871 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5872 (description
5873 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5874GNOME 3. This includes things like the fonts used in user interface elements,
5875alternative user interface themes, changes in window management behavior,
5876GNOME Shell appearance and extension, etc.")
5877 (license license:gpl3+)))
813f814a 5878
32ac717c
DT
5879(define-public gnome-shell-extensions
5880 (package
5881 (name "gnome-shell-extensions")
a5b5fcae 5882 (version "3.24.2")
32ac717c
DT
5883 (source (origin
5884 (method url-fetch)
5885 (uri (string-append "mirror://gnome/sources/" name "/"
5886 (version-major+minor version) "/"
5887 name "-" version ".tar.xz"))
5888 (sha256
5889 (base32
a5b5fcae 5890 "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
32ac717c
DT
5891 (build-system gnu-build-system)
5892 (arguments
5893 '(#:configure-flags '("--enable-extensions=all")))
5894 (native-inputs
5895 `(("intltool" ,intltool)
5896 ("pkg-config" ,pkg-config)))
5897 (propagated-inputs
5898 `(("glib" ,glib)
5899 ("glib" ,glib "bin")))
5900 (synopsis "Extensions for GNOME Shell")
5901 (description "GNOME Shell extensions modify and extend GNOME Shell
5902functionality and behavior.")
5903 (home-page "https://extensions.gnome.org/")
5904 (license license:gpl3+)))
5905
813f814a
DT
5906(define-public arc-theme
5907 (package
5908 (name "arc-theme")
7967efc1 5909 (version "20170302")
813f814a
DT
5910 (source (origin
5911 (method url-fetch)
5912 (uri (string-append "https://github.com/horst3180/arc-theme"
5913 "/archive/" version ".tar.gz"))
5914 (file-name (string-append name "-" version ".tar.gz"))
5915 (sha256
5916 (base32
7967efc1 5917 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
813f814a
DT
5918 (build-system gnu-build-system)
5919 (arguments
5920 '(#:phases
5921 (modify-phases %standard-phases
5922 (add-after 'unpack 'bootstrap
5923 (lambda _
5924 (zero? (system* "autoreconf" "-vif")))))))
5925 (native-inputs
5926 `(("autoconf" ,autoconf)
5927 ("automake" ,automake)
5928 ("pkg-config" ,pkg-config)))
5929 (inputs
5930 `(("gtk+" ,gtk+)))
5931 (synopsis "A flat GTK+ theme with transparent elements")
5932 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
59332, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
5934like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5935 (home-page "https://github.com/horst3180/arc-theme")
5936 ;; No "or later" language found.
5937 (license license:gpl3)))
9987c57c
DT
5938
5939(define-public moka-icon-theme
5940 (package
5941 (name "moka-icon-theme")
e4e52509 5942 (version "5.3.6")
9987c57c
DT
5943 (source (origin
5944 (method url-fetch)
5945 (uri (string-append "https://github.com/moka-project"
5946 "/moka-icon-theme/archive/v"
5947 version ".tar.gz"))
5948 (file-name (string-append name "-" version ".tar.gz"))
5949 (sha256
5950 (base32
e4e52509 5951 "04axinv79qnngsxkwqzi5j9lc3hn24rjqps5ai8d42pdnfaf0x37"))))
9987c57c
DT
5952 (build-system gnu-build-system)
5953 (arguments
5954 '(#:phases
5955 (modify-phases %standard-phases
5956 (add-after 'unpack 'patch-makefile.am
5957 (lambda _
5958 (substitute* '("Makefile.am")
5959 (("\\$\\(DESTDIR\\)/usr/share")
5960 "$(datadir)"))
5961 #t))
5962 (add-after 'patch-makefile.am 'bootstrap
5963 (lambda _
5964 (zero? (system* "autoreconf" "-vif")))))))
5965 (native-inputs
5966 `(("autoconf" ,autoconf)
5967 ("automake" ,automake)))
5968 (synopsis "Moka icon theme")
5969 (description "Moka is a stylized desktop icon set, designed to be clear,
5970simple and consistent.")
5971 (home-page "http://snwh.org/moka")
5972 (license license:gpl3+)))
6fd8f8d6
DT
5973
5974(define-public arc-icon-theme
5975 (package
5976 (name "arc-icon-theme")
c4180240 5977 (version "20161122")
6fd8f8d6
DT
5978 (source (origin
5979 (method url-fetch)
5980 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
5981 "/archive/" version ".tar.gz"))
5982 (file-name (string-append name "-" version ".tar.gz"))
5983 (sha256
5984 (base32
c4180240 5985 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6
DT
5986 (build-system gnu-build-system)
5987 (arguments
5988 '(#:phases
5989 (modify-phases %standard-phases
5990 (add-after 'unpack 'bootstrap
5991 (lambda _
5992 (zero? (system* "autoreconf" "-vif")))))))
5993 (native-inputs
5994 `(("autoconf" ,autoconf)
5995 ("automake" ,automake)))
5996 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
5997 (propagated-inputs
5998 `(("moka-icon-theme" ,moka-icon-theme)))
5999 (synopsis "Arc icon theme")
6000 (description "The Arc icon theme provides a set of icons matching the
6001style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6002the Moka icon theme.")
6003 (home-page "https://github.com/horst3180/arc-icon-theme")
6004 (license license:gpl3+)))
6064a4e8
LF
6005
6006(define-public folks
6007 (package
6008 (name "folks")
6009 (version "0.11.2")
6010 (source (origin
6011 (method url-fetch)
6012 (uri (string-append
6013 "mirror://gnome/sources/" name "/"
6014 (version-major+minor version) "/"
6015 name "-" version ".tar.xz"))
6016 (sha256
6017 (base32
6018 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
6019 (build-system glib-or-gtk-build-system)
6020 (inputs
6021 `(("bdb" ,bdb)
6022 ("dbus-glib" ,dbus-glib)
6023 ("evolution-data-server" ,evolution-data-server)
6024 ("glib" ,glib)
6025 ("libgee" ,libgee)
6026 ("telepathy-glib" ,telepathy-glib)))
6027 (native-inputs
6028 `(("gobject-introspection" ,gobject-introspection)
6029 ("intltool" ,intltool)
6030 ("pkg-config" ,pkg-config)
6031 ("vala" ,vala)))
6032 (synopsis "Library to aggregate data about people")
6033 (description "Libfolks is a library that aggregates information about people
6034from multiple sources (e.g., Telepathy connection managers for IM contacts,
6035Evolution Data Server for local contacts, libsocialweb for web service contacts,
6036etc.) to create metacontacts. It's written in Vala, which generates C code when
6037compiled.")
6038 (home-page "https://wiki.gnome.org/Projects/Folks")
6039 (license license:lgpl2.1+)))
01ea778f
LF
6040
6041(define-public gfbgraph
6042 (package
6043 (name "gfbgraph")
6044 (version "0.2.3")
6045 (source (origin
6046 (method url-fetch)
6047 (uri (string-append
6048 "mirror://gnome/sources/" name "/"
6049 (version-major+minor version) "/"
6050 name "-" version ".tar.xz"))
6051 (sha256
6052 (base32
6053 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6054 (build-system glib-or-gtk-build-system)
6055 (arguments
6056 `(#:tests? #f ; Tests appear to require the network.
6057 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6058 #:configure-flags '("--disable-gtk-doc"
6059 "--disable-static"
6060 "--enable-introspection")))
6061 (native-inputs
6062 `(("pkg-config" ,pkg-config)
6063 ("gobject-introspection" ,gobject-introspection)))
6064 (inputs
6065 `(("json-glib" ,json-glib)
6066 ("gnome-online-accounts" ,gnome-online-accounts)
6067 ("rest" ,rest)))
6068 (synopsis "GLib/GObject wrapper for the Facebook API")
6069 (description "This library allows you to use the Facebook API from
6070GLib/GObject code.")
6071 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6072 (license license:lgpl2.1+)))
3920868c 6073
6074(define-public libgnomekbd
6075 (package
6076 (name "libgnomekbd")
47b93ae5 6077 (version "3.22.0.1")
3920868c 6078 (source (origin
6079 (method url-fetch)
6080 (uri (string-append "mirror://gnome/sources/" name "/"
6081 (version-major+minor version) "/"
6082 name "-" version ".tar.xz"))
6083 (sha256
6084 (base32
47b93ae5 6085 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 6086 (build-system gnu-build-system)
6087 (native-inputs
6088 `(("pkg-config" ,pkg-config)
6089 ("glib" ,glib "bin")
6090 ("intltool" ,intltool)))
6091 (propagated-inputs
6092 ;; Referred to in .h files and .pc.
6093 `(("glib" ,glib)
6094 ("gtk+" ,gtk+)
6095 ("libxklavier" ,libxklavier)))
6096 (home-page "https://www.gnome.org")
6097 (synopsis "GNOME keyboard configuration library")
6098 (description
6099 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6100environment, which can notably display keyboard layouts.")
6101 (license license:lgpl2.0+)))
85327d0d 6102
6103;;; This package is no longer maintained:
6104;;; https://wiki.gnome.org/Attic/LibUnique
6105;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6106;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6107(define-public libunique
6108 (package
6109 (name "libunique")
6110 (version "3.0.2")
6111 (source (origin
6112 (method url-fetch)
6113 (uri (string-append "mirror://gnome/sources/" name "/"
6114 (version-major+minor version) "/"
6115 name "-" version ".tar.xz"))
6116 (sha256
6117 (base32
6118 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6119 (build-system glib-or-gtk-build-system)
6120 (arguments
6121 `(#:configure-flags '("--disable-static"
6122 "--disable-dbus" ; use gdbus
6123 "--enable-introspection")))
6124 (native-inputs
6125 `(("pkg-config" ,pkg-config)
6126 ("gobject-introspection" ,gobject-introspection)
6127 ("glib:bin" ,glib "bin")
6128 ("gtk-doc" ,gtk-doc)))
6129 (propagated-inputs
6130 ;; Referred to in .h files and .pc.
6131 `(("gtk+" ,gtk+)))
6132 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6133 (synopsis "Library for writing single instance applications")
6134 (description
6135 "Libunique is a library for writing single instance applications. If you
6136launch a single instance application twice, the second instance will either just
6137quit or will send a message to the running instance. Libunique makes it easy to
6138write this kind of application, by providing a base class, taking care of all
6139the IPC machinery needed to send messages to a running instance, and also
6140handling the startup notification side.")
6141 (license license:lgpl2.1+)))
54021cd8
RS
6142
6143(define-public gnome-calculator
6144 (package
6145 (name "gnome-calculator")
2c2da7ec 6146 (version "3.24.0")
54021cd8
RS
6147 (source
6148 (origin
6149 (method url-fetch)
6150 (uri (string-append "mirror://gnome/sources/" name "/"
6151 (version-major+minor version) "/"
6152 name "-" version ".tar.xz"))
6153 (sha256
6154 (base32
2c2da7ec 6155 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
54021cd8
RS
6156 (build-system glib-or-gtk-build-system)
6157 (native-inputs
6158 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6159 ("intltool" ,intltool)
6160 ("itstool" ,itstool)
6161 ("pkg-config" ,pkg-config)))
6162 (inputs
6163 `(("gtksourceview" ,gtksourceview)
6164 ("libsoup" ,libsoup)
2c2da7ec 6165 ("mpc" ,mpc)
54021cd8
RS
6166 ("mpfr" ,mpfr)))
6167 (home-page "https://wiki.gnome.org/Apps/Calculator")
6168 (synopsis "Desktop calculator")
6169 (description
6170 "Calculator is an application that solves mathematical equations and
6171is suitable as a default application in a Desktop environment.")
6172 (license license:gpl3)))
0bd69759
RS
6173
6174(define-public xpad
6175 (package
6176 (name "xpad")
6177 (version "4.8.0")
6178 (source
6179 (origin
6180 (method url-fetch)
6181 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
6182 name "-" version ".tar.bz2"))
6183 (sha256
6184 (base32
6185 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
6186 (build-system gnu-build-system)
6187 (native-inputs
6188 `(("intltool" ,intltool)
6189 ("pkg-config" ,pkg-config)))
6190 (inputs
6191 `(("gtk+" ,gtk+)
6192 ("gtksourceview" ,gtksourceview)
6193 ("libsm" ,libsm)))
6194 (home-page "https://wiki.gnome.org/Apps/Xpad")
6195 (synopsis "Virtual sticky note")
6196 (description
6197 "Xpad is a sticky note that strives to be simple, fault tolerant,
6198and customizable. Xpad consists of independent pad windows, each is
6199basically a text box in which notes can be written.")
6200 (license license:gpl3+)))
3ad7dce1
RS
6201
6202(define-public gucharmap
6203 (package
6204 (name "gucharmap")
6205 (version "3.18.0")
6206 (source
6207 (origin
6208 (method url-fetch)
6209 (uri (string-append "mirror://gnome/sources/" name "/"
6210 (version-major+minor version) "/"
6211 name "-" version ".tar.xz"))
6212 (sha256
6213 (base32
6214 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
6215 (build-system gnu-build-system)
6216 (native-inputs
6217 `(("desktop-file-utils" ,desktop-file-utils)
6218 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6219 ("gobject-introspection" ,gobject-introspection)
6220 ("intltool" ,intltool)
6221 ("itstool" ,itstool)
6222 ("pkg-config" ,pkg-config)))
6223 (inputs
6224 `(("gtk+" ,gtk+)
6225 ("xmllint" ,libxml2)))
6226 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6227 (synopsis "Unicode character picker and font browser")
6228 (description
6229 "This program allows you to browse through all the available Unicode
6230characters and categories for the installed fonts, and to examine their
6231detailed properties. It is an easy way to find the character you might
6232only know by its Unicode name or code point.")
6233 (license license:gpl3+)))
04ce840a
RS
6234
6235(define-public bluefish
6236 (package
6237 (name "bluefish")
6238 (version "2.2.9")
6239 (source
6240 (origin
6241 (method url-fetch)
6242 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6243 name "-" version ".tar.gz"))
6244 (sha256
6245 (base32
6246 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
6247 (build-system gnu-build-system)
6248 (native-inputs
6249 `(("desktop-file-utils" ,desktop-file-utils)
6250 ("intltool" ,intltool)
6251 ("pkg-config" ,pkg-config)))
6252 (inputs
6253 `(("enchant" ,enchant)
6254 ("gtk+" ,gtk+)
6255 ("python" ,python-2)
6256 ("xmllint" ,libxml2)
6257 ("gucharmap" ,gucharmap)))
6258 (home-page "http://bluefish.openoffice.nl")
6259 (synopsis "Web development studio")
6260 (description
6261 "Bluefish is an editor targeted towards programmers and web developers,
6262with many options to write web sites, scripts and other code.
6263Bluefish supports many programming and markup languages.")
6264 (license license:gpl3+)))
1f6a73ee
RS
6265
6266(define-public gnome-system-monitor
6267 (package
6268 (name "gnome-system-monitor")
155f0d69 6269 (version "3.24.0")
1f6a73ee
RS
6270 (source
6271 (origin
6272 (method url-fetch)
6273 (uri (string-append "mirror://gnome/sources/" name "/"
6274 (version-major+minor version) "/"
6275 name "-" version ".tar.xz"))
6276 (sha256
6277 (base32
155f0d69 6278 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
1f6a73ee
RS
6279 (build-system glib-or-gtk-build-system)
6280 (native-inputs
6281 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6282 ("intltool" ,intltool)
6283 ("itstool" ,itstool)
6284 ("libgtop" ,libgtop)
6285 ("pkg-config" ,pkg-config)))
6286 (inputs
6287 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6288 ("gtk+" ,gtk+)
6289 ("gtkmm" ,gtkmm)
6290 ("librsvg" ,librsvg)
6291 ("libxml2" ,libxml2)))
6292 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6293 (synopsis "Process viewer and system resource monitor for GNOME")
6294 (description
6295 "GNOME System Monitor is a GNOME process viewer and system monitor with
6296an attractive, easy-to-use interface. It has features, such as a tree view
6297for process dependencies, icons for processes, the ability to hide processes,
6298graphical time histories of CPU/memory/swap usage and the ability to
6299kill/reinice processes.")
6300 (license license:gpl2+)))
3e00ac47
SB
6301
6302(define-public python-pyatspi
6303 (package
6304 (name "python-pyatspi")
6305 (version "2.24.0")
6306 (source (origin
6307 (method url-fetch)
6308 (uri (string-append
6309 "mirror://gnome/sources/pyatspi/"
6310 (version-major+minor version)
6311 "/pyatspi-" version ".tar.xz"))
6312 (sha256
6313 (base32
6314 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6315 (build-system gnu-build-system)
6316 (native-inputs
6317 `(("pkg-config" ,pkg-config)))
6318 (inputs
6319 `(("python" ,python)
6320 ("python-pygobject" ,python-pygobject)))
6321 (synopsis "Python client bindings for D-Bus AT-SPI")
6322 (home-page "https://wiki.linuxfoundation.org/accessibility\
6323/atk/at-spi/at-spi_on_d-bus")
6324 (description
6325 "This package includes a python client library for the AT-SPI D-Bus
6326accessibility infrastructure.")
6327 (license license:lgpl2.0)
6328 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6329
6330(define-public orca
6331 (package
6332 (name "orca")
6333 (version "3.24.0")
6334 (source (origin
6335 (method url-fetch)
6336 (uri (string-append
6337 "mirror://gnome/sources/" name "/"
6338 (version-major+minor version) "/"
6339 name "-" version ".tar.xz"))
6340 (sha256
6341 (base32
6342 "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97"))))
6343 (build-system glib-or-gtk-build-system)
6344 (arguments
6345 '(#:phases
6346 (modify-phases %standard-phases
6347 (add-before 'configure 'qualify-xkbcomp
6348 (lambda* (#:key inputs #:allow-other-keys)
6349 (let ((xkbcomp (string-append
6350 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6351 (substitute* "src/orca/orca.py"
6352 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6353 #t))
6354 (add-after 'install 'wrap-orca
6355 (lambda* (#:key outputs #:allow-other-keys)
6356 (let* ((out (assoc-ref outputs "out"))
6357 (prog (string-append out "/bin/orca")))
6358 (wrap-program prog
6359 `("GI_TYPELIB_PATH" ":" prefix
6360 (,(getenv "GI_TYPELIB_PATH")))
6361 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6362 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6363 `("PYTHONPATH" ":" prefix
6364 (,(getenv "PYTHONPATH")))))
6365 #t)))))
6366 (native-inputs
6367 `(("intltool" ,intltool)
6368 ("itstool" ,itstool)
6369 ("pkg-config" ,pkg-config)
6370 ("xmllint" ,libxml2)))
6371 (inputs
6372 `(("at-spi2-atk" ,at-spi2-atk)
6373 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6374 ("gstreamer" ,gstreamer)
6375 ("gst-plugins-base" ,gst-plugins-base)
6376 ("gst-plugins-good" ,gst-plugins-good)
6377 ("gtk+" ,gtk+)
6378 ("python" ,python)
6379 ("python-pygobject" ,python-pygobject)
6380 ("python-pyatspi" ,python-pyatspi)
6381 ("python-speechd" ,speech-dispatcher)
6382 ("xkbcomp" ,xkbcomp)))
6383 (synopsis
6384 "Screen reader for individuals who are blind or visually impaired")
6385 (home-page "https://wiki.gnome.org/Projects/Orca")
6386 (description
6387 "Orca is a screen reader that provides access to the graphical desktop
6388via speech and refreshable braille. Orca works with applications and toolkits
6389that support the Assistive Technology Service Provider Interface (AT-SPI).")
6390 (license license:lgpl2.1+)))
411ba511
LC
6391
6392(define-public gspell
6393 (package
6394 (name "gspell")
f54efbdc 6395 (version "1.4.1")
411ba511
LC
6396 (source (origin
6397 (method url-fetch)
6398 (uri (string-append "mirror://gnome/sources/" name "/"
6399 (version-major+minor version) "/"
6400 name "-" version ".tar.xz"))
6401 (sha256
6402 (base32
f54efbdc 6403 "1ghh1xdzf04mfgb13zqpj88krpa44xv2vbyhm6k017kzrpz8hbs4"))
411ba511
LC
6404 (patches (search-patches "gspell-dash-test.patch"))))
6405 (build-system glib-or-gtk-build-system)
6406 (arguments
6407 '(#:phases
6408 (modify-phases %standard-phases
6409 (add-before 'check 'pre-check
6410 (lambda* (#:key inputs #:allow-other-keys)
6411 ;; Tests require a running X server.
6412 (system "Xvfb :1 &")
6413 (setenv "DISPLAY" ":1")
6414
6415 ;; For the missing /etc/machine-id.
6416 (setenv "DBUS_FATAL_WARNINGS" "0")
6417
6418 ;; Allow Enchant and its Aspell backend to find the en_US
6419 ;; dictionary.
6420 (setenv "ASPELL_DICT_DIR"
6421 (string-append (assoc-ref inputs "aspell-dict-en")
6422 "/lib/aspell"))
6423 #t)))))
6424 (inputs
6425 `(("enchant" ,enchant)
6426 ("iso-codes" ,iso-codes)
6427 ("gtk+" ,gtk+)
6428 ("glib" ,glib)))
6429 (native-inputs
6430 `(("glib" ,glib "bin")
6431 ("pkg-config" ,pkg-config)
6432 ("xmllint" ,libxml2)
6433
6434 ;; For tests.
6435 ("xorg-server" ,xorg-server)
6436 ("aspell-dict-en" ,aspell-dict-en)))
6437 (home-page "https://wiki.gnome.org/Projects/gspell")
6438 (synopsis "GNOME's alternative spell checker")
6439 (description
6440 "gspell provides a flexible API to add spell-checking to a GTK+
6441application. It provides a GObject API, spell-checking to text entries and
6442text views, and buttons to choose the language.")
6443 (license license:gpl2+)))
d1d739fa
CM
6444
6445(define-public gnome-planner
6446 (package
6447 (name "gnome-planner")
6448 (version "0.14.6")
6449 (source (origin
6450 (method url-fetch)
6451 (uri (string-append "mirror://gnome/sources/planner/"
6452 (version-major+minor version) "/planner-"
6453 version ".tar.xz"))
6454 (sha256
6455 (base32
6456 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
6457 (build-system glib-or-gtk-build-system)
6458 (arguments
6459 ;; Disable the Python bindings because the Planner program functions
6460 ;; without them, and (as of 2017-06-13) we have not packaged all of
6461 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
6462 `(#:configure-flags
6463 (list "--disable-python"
6464 ,@(if (string=? "aarch64-linux" (%current-system))
6465 '("--build=aarch64-unknown-linux-gnu")
6466 '()))))
d1d739fa
CM
6467 (inputs
6468 `(("libgnomecanvas" ,libgnomecanvas)
6469 ("libgnomeui" ,libgnomeui)
6470 ("libglade" ,libglade)
6471 ("gnome-vfs" ,gnome-vfs)
6472 ("gconf" ,gconf)
6473 ("libxml2" ,libxml2)
6474 ("libxslt" ,libxslt)
6475 ("gtk+" ,gtk+)
6476 ("glib" ,glib)))
6477 (native-inputs
6478 `(("intltool" ,intltool)
6479 ("scrollkeeper" ,scrollkeeper)
6480 ("pkg-config" ,pkg-config)))
6481 (home-page "https://wiki.gnome.org/Apps/Planner")
6482 (synopsis "Project management software for the GNOME desktop")
6483 (description
6484 "GNOME Planner is a project management tool based on the Work Breakdown
6485Structure (WBS). Its goal is to enable you to easily plan projects. Based on
6486the resources, tasks, and constraints that you define, Planner generates
6487various views into a project. For example, Planner can show a Gantt chart of
6488the project. It can show a detailed summary of tasks including their
6489duration, cost, and current progress. It can also show a report of resource
6490utilization that highlights under-utilized and over-utilized resources. These
6491views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 6492 (license license:gpl2+)))
64fce637
RS
6493
6494(define-public lollypop
6495 (package
6496 (name "lollypop")
6497 (version "0.9.240")
6498 (source
6499 (origin
6500 (method url-fetch)
6501 (uri (string-append "https://github.com/gnumdk/lollypop/"
6502 "releases/download/" version "/"
6503 name "-" version ".tar.xz"))
6504 (sha256
6505 (base32
6506 "0n1ycmg6dgz1pajs80fwlcbxw3rx1hff1xw6ja67zngm85ydbjvq"))))
6507 (build-system glib-or-gtk-build-system)
6508 (arguments
6509 `(#:imported-modules ((guix build python-build-system)
6510 ,@%glib-or-gtk-build-system-modules)
6511 #:phases (modify-phases %standard-phases
6512 (add-after 'install 'wrap-program
6513 (lambda* (#:key outputs #:allow-other-keys)
6514 (let ((out (assoc-ref outputs "out"))
6515 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6516 (wrap-program (string-append out "/bin/lollypop")
6517 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6518 #t))
6519 (add-after 'install 'wrap
6520 (@@ (guix build python-build-system) wrap)))))
6521 (native-inputs
6522 `(("intltool" ,intltool)
6523 ("itstool" ,itstool)
6524 ("pkg-config" ,pkg-config)))
6525 (inputs
6526 `(("gobject-introspection" ,gobject-introspection)
6527 ("gtk+" ,gtk+)
6528 ("libnotify" ,libnotify)
6529 ("libsecret" ,libsecret)
6530 ("libsoup" ,libsoup)
6531 ("python" ,python)
6532 ("python-beautifulsoup4" ,python-beautifulsoup4)
6533 ("python-gst" ,python-gst)
6534 ("python-pycairo" ,python-pycairo)
6535 ("python-pygobject" ,python-pygobject)
6536 ("python-pylast" ,python-pylast)
6537 ("totem-pl-parser" ,totem-pl-parser)
6538 ("webkitgtk" ,webkitgtk)))
6539 (propagated-inputs
6540 `(;; gst-plugins-base is required to start Lollypop,
6541 ;; the others are required to play streaming.
6542 ("gst-plugins-base" ,gst-plugins-base)
6543 ("gst-plugins-good" ,gst-plugins-good)
6544 ("gst-plugins-ugly" ,gst-plugins-ugly)))
6545 (home-page "https://gnumdk.github.io/lollypop-web")
6546 (synopsis "GNOME music playing application")
6547 (description
6548 "Lollypop is a music player designed to play well with GNOME desktop.
6549Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
6550from artists and tracks from the web. It also fetches cover artworks
6551automatically and it can stream songs from online music services and charts.")
6552 (license license:gpl3+)))