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