gnu: love: Update to 0.10.1.
[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>
55409295 3;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
b38e45d8 5;;; Copyright © 2014 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>
8ff49011 11;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
8d9bae4e 12;;; Copyright © 2015, 2016 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>
8b877545 15;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
3a9a4c51 17;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
dfc407f3 18;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
995b7261
AE
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages gnome)
b5b73a82 36 #:use-module ((guix licenses) #:prefix license:)
995b7261
AE
37 #:use-module (guix packages)
38 #:use-module (guix download)
4a526711 39 #:use-module (guix git-download)
29a7c98a 40 #:use-module (guix utils)
995b7261 41 #:use-module (guix build-system gnu)
121de2e1 42 #:use-module (guix build-system glib-or-gtk)
dc050251 43 #:use-module (guix build-system trivial)
ed19903d 44 #:use-module (gnu packages)
ba5dd105 45 #:use-module (gnu packages admin)
75016d07 46 #:use-module (gnu packages autotools)
7b212526 47 #:use-module (gnu packages avahi)
6a180f6f 48 #:use-module (gnu packages base)
5698b8b8 49 #:use-module (gnu packages bison)
df217748 50 #:use-module (gnu packages calendar)
df12f04a 51 #:use-module (gnu packages check)
23a22af6 52 #:use-module (gnu packages cups)
6e1bb642 53 #:use-module (gnu packages curl)
c3f29bc9 54 #:use-module (gnu packages cyrus-sasl)
6e1bb642 55 #:use-module (gnu packages databases)
c769cf9f 56 #:use-module (gnu packages djvu)
ba5dd105 57 #:use-module (gnu packages dns)
121de2e1 58 #:use-module (gnu packages flex)
b4ce6300 59 #:use-module (gnu packages docbook)
329d731b 60 #:use-module (gnu packages enchant)
dfc407f3 61 #:use-module (gnu packages game-development)
fed5a689 62 #:use-module (gnu packages gettext)
995b7261 63 #:use-module (gnu packages glib)
c1354b90 64 #:use-module (gnu packages gnupg)
23a22af6 65 #:use-module (gnu packages gnuzilla)
85f5dc19 66 #:use-module (gnu packages gstreamer)
d9c1a22b 67 #:use-module (gnu packages gtk)
df217748 68 #:use-module (gnu packages gperf)
6b888eff 69 #:use-module (gnu packages guile)
34b979b9 70 #:use-module (gnu packages openldap)
c1354b90 71 #:use-module (gnu packages pdf)
75016d07 72 #:use-module (gnu packages polkit)
5698b8b8 73 #:use-module (gnu packages popt)
c1354b90 74 #:use-module (gnu packages ghostscript)
b645146f 75 #:use-module (gnu packages ibus)
9cc98f8a 76 #:use-module (gnu packages iso-codes)
85f5dc19 77 #:use-module (gnu packages libcanberra)
88f70665 78 #:use-module (gnu packages linux)
75016d07 79 #:use-module (gnu packages libusb)
4e3fc547 80 #:use-module (gnu packages lirc)
7b212526 81 #:use-module (gnu packages lua)
fed5a689 82 #:use-module (gnu packages m4)
e55354b8 83 #:use-module (gnu packages image)
ba5dd105 84 #:use-module (gnu packages networking)
b645146f 85 #:use-module (gnu packages password-utils)
27477d2d 86 #:use-module (gnu packages perl)
f70d8383 87 #:use-module (gnu packages photo)
995b7261 88 #:use-module (gnu packages pkg-config)
23a22af6 89 #:use-module (gnu packages pulseaudio)
995b7261 90 #:use-module (gnu packages python)
75016d07 91 #:use-module (gnu packages scanner)
4a1bf090 92 #:use-module (gnu packages ssh)
85f5dc19 93 #:use-module (gnu packages xml)
b0f9c4b8 94 #:use-module (gnu packages geeqie)
200726ed 95 #:use-module (gnu packages gl)
1dd26275 96 #:use-module (gnu packages compression)
c769cf9f 97 #:use-module (gnu packages texlive)
a7fd7b68 98 #:use-module (gnu packages tls)
6e1bb642 99 #:use-module (gnu packages web)
4a79e256 100 #:use-module (gnu packages webkit)
fecbf86e 101 #:use-module (gnu packages xorg)
ea57378f 102 #:use-module (gnu packages xdisorg)
ba421ab7 103 #:use-module (gnu packages freedesktop)
1e7464a9 104 #:use-module (gnu packages mail)
b645146f 105 #:use-module (gnu packages mit-krb5)
1e7464a9
DH
106 #:use-module (gnu packages backup)
107 #:use-module (gnu packages nettle)
c024ae36 108 #:use-module (gnu packages ncurses)
3dc8828f
SB
109 #:use-module (gnu packages video)
110 #:use-module (gnu packages cdrom)
111 #:use-module (gnu packages samba)
f47ba77e 112 #:use-module (gnu packages readline)
0bd3597b 113 #:use-module (gnu packages fonts)
c024ae36 114 #:use-module (srfi srfi-1))
85f5dc19
AE
115
116(define-public brasero
117 (package
118 (name "brasero")
e8627cd9 119 (version "3.12.1")
85f5dc19
AE
120 (source (origin
121 (method url-fetch)
e8627cd9
DH
122 (uri (string-append "mirror://gnome/sources/" name "/"
123 (version-major+minor version) "/"
124 name "-" version ".tar.xz"))
85f5dc19
AE
125 (sha256
126 (base32
e8627cd9 127 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
1c40e3b7 128 (build-system glib-or-gtk-build-system)
e8627cd9
DH
129 (arguments
130 `(#:configure-flags (list
131 (string-append "--with-girdir="
132 (assoc-ref %outputs "out")
133 "/share/gir-1.0")
134 (string-append "--with-typelibdir="
135 (assoc-ref %outputs "out")
136 "/lib/girepository-1.0"))))
85f5dc19
AE
137 (propagated-inputs
138 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
139 (native-inputs
140 `(("intltool" ,intltool)
426adbe8 141 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 142 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 143 ("pkg-config" ,pkg-config)))
85f5dc19
AE
144 (inputs
145 `(("glib" ,glib)
146 ("gnome-doc-utils" ,gnome-doc-utils)
147 ("gstreamer" ,gstreamer)
148 ("gst-plugins-base" ,gst-plugins-base)
149 ("gtk+" ,gtk+)
85f5dc19
AE
150 ("itstool" ,itstool)
151 ("libcanberra" ,libcanberra)
152 ("libice" ,libice)
153 ("libnotify" ,libnotify)
154 ("libsm" ,libsm)
e8627cd9
DH
155 ("libxml2" ,libxml2)
156 ("nettle" ,nettle)
157 ("totem-pl-parser" ,totem-pl-parser)))
85f5dc19
AE
158 (home-page "https://projects.gnome.org/brasero/")
159 (synopsis "CD/DVD burning tool for Gnome")
160 (description "Brasero is an application to burn CD/DVD for the Gnome
161Desktop. It is designed to be as simple as possible and has some unique
162features to enable users to create their discs easily and quickly.")
1dd26275 163 (license license:gpl2+)))
995b7261 164
7aab13f1
ML
165(define-public gnome-common
166 (package
167 (name "gnome-common")
af83490d 168 (version "3.18.0")
7aab13f1
ML
169 (source
170 (origin
171 (method url-fetch)
172 (uri (string-append "mirror://gnome/sources/" name "/"
173 (version-major+minor version) "/"
174 name "-" version ".tar.xz"))
175 (sha256
176 (base32
af83490d 177 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
178 (build-system gnu-build-system)
179 (home-page "https://www.gnome.org/")
180 (synopsis "Bootstrap GNOME modules built from Git")
181 (description "gnome-common contains various files needed to bootstrap
182GNOME modules built from Git. It contains a common \"autogen.sh\" script that
183can be used to configure a source directory checked out from Git and some
184commonly used macros.")
185 (license license:gpl2+)))
186
9cc98f8a
CR
187(define-public gnome-desktop
188 (package
189 (name "gnome-desktop")
ab740c7f 190 (version "3.20.1")
9cc98f8a
CR
191 (source
192 (origin
193 (method url-fetch)
b38e45d8
EB
194 (uri (string-append "mirror://gnome/sources/" name "/"
195 (version-major+minor version) "/"
9cc98f8a
CR
196 name "-" version ".tar.xz"))
197 (sha256
198 (base32
ab740c7f 199 "0h6185lmkaf49dr43pb6gsb9yi25rc32n7dq5186hwln38mppb3f"))))
9cc98f8a
CR
200 (build-system gnu-build-system)
201 (native-inputs
a8340482
SB
202 `(("gobject-introspection" ,gobject-introspection)
203 ("itstool" ,itstool)
bcb354ad
SB
204 ("intltool" ,intltool)
205 ("pkg-config" ,pkg-config)
206 ("xmllint" ,libxml2)))
a8340482
SB
207 (propagated-inputs
208 ;; Required by gnome-desktop-3.0.pc.
209 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
210 ("gtk+" ,gtk+)))
9cc98f8a
CR
211 (inputs
212 `(("gdk-pixbuf" ,gdk-pixbuf)
213 ("glib" ,glib)
9cc98f8a 214 ("iso-codes" ,iso-codes)
9cc98f8a
CR
215 ("libx11" ,libx11)
216 ("libxext" ,libxext)
217 ("libxkbfile" ,libxkbfile)
218 ("libxrandr" ,libxrandr)
219 ("xkeyboard-config" ,xkeyboard-config)))
220 (home-page "https://www.gnome.org/")
221 (synopsis
35b9e423 222 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
223 (description
224 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
225on the desktop, but that cannot live in the platform for various reasons.
226There is no API or ABI guarantee, although we are doing our best to provide
227stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
228
229The gnome-about program helps find which version of GNOME is installed.")
230 ; Some bits under the LGPL.
1dd26275 231 (license license:gpl2+)))
9cc98f8a 232
995b7261
AE
233(define-public gnome-doc-utils
234 (package
235 (name "gnome-doc-utils")
236 (version "0.20.10")
237 (source
238 (origin
239 (method url-fetch)
b38e45d8
EB
240 (uri (string-append "mirror://gnome/sources/" name "/"
241 (version-major+minor version) "/"
995b7261
AE
242 name "-" version ".tar.xz"))
243 (sha256
244 (base32
245 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
246 (build-system gnu-build-system)
c4c4cc05 247 (native-inputs
995b7261 248 `(("intltool" ,intltool)
b4ce6300 249 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 250 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
251 ("libxml2" ,libxml2)
252 ("libxslt" ,libxslt)
253 ("pkg-config" ,pkg-config)
254 ("python-2" ,python-2)))
995b7261
AE
255 (home-page "https://wiki.gnome.org/GnomeDocUtils")
256 (synopsis
257 "Documentation utilities for the Gnome project")
258 (description
259 "Gnome-doc-utils is a collection of documentation utilities for the
260Gnome project. It includes xml2po tool which makes it easier to translate
261and keep up to date translations of documentation.")
1dd26275 262 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 263
8ff49011
RW
264(define-public gcr
265 (package
266 (name "gcr")
6983ba56 267 (version "3.20.0")
8ff49011
RW
268 (source (origin
269 (method url-fetch)
270 (uri (string-append "mirror://gnome/sources/" name "/"
271 (version-major+minor version) "/"
272 name "-" version ".tar.xz"))
273 (sha256
274 (base32
6983ba56 275 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))))
8ff49011
RW
276 (build-system gnu-build-system)
277 (arguments
278 '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
279 ;not exist
280 #:phases (modify-phases %standard-phases
281 (add-before
282 'check 'pre-check
283 (lambda* (#:key inputs #:allow-other-keys)
284 (substitute* "build/tap-driver"
285 (("/usr/bin/env python") (which "python"))))))))
286 (inputs
287 `(("dbus" ,dbus)
288 ("gnupg" ,gnupg) ;called as a child process during tests
289 ("libgcrypt" ,libgcrypt)))
290 (native-inputs
291 `(("python" ,python-2) ;for tests
292 ("pkg-config" ,pkg-config)
293 ("glib" ,glib "bin")
2af4f5b0
SB
294 ("gobject-introspection" ,gobject-introspection)
295 ("intltool" ,intltool)
296 ("xsltproc" ,libxslt)))
8ff49011
RW
297 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
298 (propagated-inputs
299 `(("p11-kit" ,p11-kit)
300 ("glib" ,glib)
301 ("gtk+" ,gtk+)))
302 (home-page "http://www.gnome.org")
303 (synopsis "Libraries for displaying certificates and accessing key stores")
304 (description
305 "The GCR package contains libraries used for displaying certificates and
306accessing key stores. It also provides the viewer for crypto files on the
307GNOME Desktop.")
308 (license license:lgpl2.1+)))
309
c1354b90
LC
310(define-public libgnome-keyring
311 (package
312 (name "libgnome-keyring")
5e8aec2c 313 (version "3.12.0")
c1354b90
LC
314 (source (origin
315 (method url-fetch)
b38e45d8
EB
316 (uri (string-append "mirror://gnome/sources/" name "/"
317 (version-major+minor version) "/"
318 name "-" version ".tar.xz"))
c1354b90
LC
319 (sha256
320 (base32
5e8aec2c 321 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 322 (build-system gnu-build-system)
c1354b90 323 (inputs
c4c4cc05 324 `(("libgcrypt" ,libgcrypt)
c1354b90 325 ("dbus" ,dbus)))
c4c4cc05
JD
326 (native-inputs
327 `(("pkg-config" ,pkg-config)
426adbe8 328 ("glib" ,glib "bin")
c4c4cc05 329 ("intltool" ,intltool)))
c1354b90
LC
330 (propagated-inputs
331 ;; Referred to in .h files and .pc.
332 `(("glib" ,glib)))
333 (home-page "http://www.gnome.org")
334 (synopsis "Accessing passwords from the GNOME keyring")
335 (description
336 "Client library to access passwords from the GNOME keyring.")
337
338 ;; Though a couple of files are LGPLv2.1+.
1dd26275 339 (license license:lgpl2.0+)))
c1354b90 340
e99a3d6f
RW
341(define-public gnome-keyring
342 (package
343 (name "gnome-keyring")
6983ba56 344 (version "3.20.0")
e99a3d6f
RW
345 (source (origin
346 (method url-fetch)
347 (uri (string-append "mirror://gnome/sources/" name "/"
348 (version-major+minor version) "/"
349 name "-" version ".tar.xz"))
350 (sha256
351 (base32
6983ba56 352 "16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw"))))
e99a3d6f
RW
353 (build-system gnu-build-system)
354 (arguments
355 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
356 ;not exist
357 #:configure-flags
358 (list
359 (string-append "--with-pkcs11-config="
360 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
361 (string-append "--with-pkcs11-modules="
362 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
363 #:phases
364 (modify-phases %standard-phases
365 (add-before
366 'check 'pre-check
367 (lambda* (#:key inputs #:allow-other-keys)
368 (substitute* "build/tap-driver"
369 (("/usr/bin/env python") (which "python")))))
370 (add-before
371 'configure 'fix-docbook
372 (lambda* (#:key inputs #:allow-other-keys)
373 (substitute* "docs/Makefile.am"
374 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
375 (string-append (assoc-ref inputs "docbook-xsl")
376 "/xml/xsl/docbook-xsl-"
377 ,(package-version docbook-xsl)
378 "/manpages/docbook.xsl")))
379 (setenv "XML_CATALOG_FILES"
380 (string-append (assoc-ref inputs "docbook-xml")
381 "/xml/dtd/docbook/catalog.xml")))))))
382 (inputs
383 `(("libgcrypt" ,libgcrypt)
1a0b2d82 384 ("linux-pam" ,linux-pam)
e99a3d6f
RW
385 ("dbus" ,dbus)
386 ("gcr" ,gcr)))
387 (native-inputs
388 `(("pkg-config" ,pkg-config)
389 ("glib" ,glib "bin")
390 ("python" ,python-2) ;for tests
391 ("intltool" ,intltool)
392 ("autoconf" ,autoconf)
393 ("automake" ,automake)
394 ("libxslt" ,libxslt) ;for documentation
395 ("docbook-xml" ,docbook-xml-4.2)
396 ("docbook-xsl" ,docbook-xsl)))
397 (home-page "http://www.gnome.org")
398 (synopsis "Daemon to store passwords and encryption keys")
399 (description
400 "gnome-keyring is a program that keeps passwords and other secrets for
401users. It is run as a daemon in the session, similar to ssh-agent, and other
402applications locate it via an environment variable or D-Bus.
403
404The program can manage several keyrings, each with its own master password,
405and there is also a session keyring which is never stored to disk, but
406forgotten when the session ends.")
407 (license license:lgpl2.1+)))
408
c1354b90
LC
409(define-public evince
410 (package
411 (name "evince")
6983ba56 412 (version "3.20.0")
c1354b90
LC
413 (source (origin
414 (method url-fetch)
b38e45d8
EB
415 (uri (string-append "mirror://gnome/sources/" name "/"
416 (version-major+minor version) "/"
417 name "-" version ".tar.xz"))
c1354b90
LC
418 (sha256
419 (base32
6983ba56 420 "1052lm4i5qq27sgk6ck5xc1cxh0qx4zzhifjhmzjlv38afj5i0yg"))))
121de2e1 421 (build-system glib-or-gtk-build-system)
c1354b90
LC
422 (arguments
423 `(#:configure-flags '("--disable-nautilus")
424
425 ;; FIXME: Tests fail with:
426 ;; ImportError: No module named gi.repository
427 ;; Where should that module come from?
3d243e9c 428 #:tests? #f))
c1354b90
LC
429 (inputs
430 `(("libspectre" ,libspectre)
c769cf9f 431 ("djvulibre" ,djvulibre)
c1354b90
LC
432 ("ghostscript" ,ghostscript)
433 ("poppler" ,poppler)
c769cf9f
SB
434 ("libtiff" ,libtiff)
435 ;; TODO:
436 ;; Add libgxps for XPS support.
437 ;; Build libkpathsea as a shared library for DVI support.
438 ;; ("libkpathsea" ,texlive-bin)
439 ("gnome-desktop" ,gnome-desktop)
c1354b90
LC
440 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
441 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 442 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
443 ("gdk-pixbuf" ,gdk-pixbuf)
444 ("atk" ,atk)
445 ("pango" ,pango)
446 ("gtk+" ,gtk+)
447 ("glib" ,glib)
448 ("libxml2" ,libxml2)
c1354b90
LC
449 ("libsm" ,libsm)
450 ("libice" ,libice)
96e42467 451 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
452 ("dconf" ,dconf)
453 ("libcanberra" ,libcanberra)
c769cf9f 454 ("libsecret" ,libsecret)
c1354b90
LC
455 ;; For tests.
456 ("dogtail" ,python2-dogtail)))
96e42467 457 (native-inputs
bcb354ad
SB
458 `(("itstool" ,itstool)
459 ("intltool" ,intltool)
426adbe8 460 ("glib" ,glib "bin")
bcb354ad
SB
461 ("pkg-config" ,pkg-config)
462 ("xmllint" ,libxml2)))
c1354b90
LC
463 (home-page
464 "http://www.gnome.org/projects/evince/")
465 (synopsis "GNOME's document viewer")
466 (description
467 "Evince is a document viewer for multiple document formats. It
468currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
469of Evince is to replace the multiple document viewers that exist
96e42467 470on the GNOME Desktop with a single simple application.")
1dd26275 471 (license license:gpl2+)))
c1354b90 472
22e32e69
AE
473(define-public gsettings-desktop-schemas
474 (package
475 (name "gsettings-desktop-schemas")
6983ba56 476 (version "3.20.0")
22e32e69
AE
477 (source
478 (origin
479 (method url-fetch)
480 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 481 (version-major+minor version) "/"
22e32e69
AE
482 name "-" version ".tar.xz"))
483 (sha256
484 (base32
6983ba56 485 "1hfrqqsmqscgbnaikmyq4yq8h72554wdg13algh5bf8a7i9ip92m"))))
22e32e69
AE
486 (build-system gnu-build-system)
487 (inputs
c4c4cc05
JD
488 `(("glib" ,glib)))
489 (native-inputs
490 `(("intltool" ,intltool)
426adbe8 491 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 492 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
493 ("pkg-config" ,pkg-config)))
494 (home-page "https://launchpad.net/gsettings-desktop-schemas")
495 (synopsis
496 "GNOME settings for various desktop components")
497 (description
498 "Gsettings-desktop-schemas contains a collection of GSettings schemas
499for settings shared by various components of the GNOME desktop.")
1dd26275 500 (license license:lgpl2.1+)))
22e32e69 501
27477d2d
AE
502(define-public icon-naming-utils
503 (package
504 (name "icon-naming-utils")
505 (version "0.8.90")
506 (source
507 (origin
508 (method url-fetch)
5cc3096c 509 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
510 version ".tar.bz2"))
511 (sha256
512 (base32
513 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
514 (build-system gnu-build-system)
515 (inputs
516 `(("perl" ,perl)
517 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
518 (arguments
519 '(#:phases
520 (alist-cons-after
521 'install 'set-load-paths
522 ;; Tell 'icon-name-mapping' where XML::Simple is.
523 (lambda* (#:key outputs #:allow-other-keys)
524 (let* ((out (assoc-ref outputs "out"))
525 (prog (string-append out "/libexec/icon-name-mapping")))
526 (wrap-program
527 prog
528 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
529 %standard-phases)))
27477d2d
AE
530 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
531 (synopsis
532 "Utility to implement the Freedesktop Icon Naming Specification")
533 (description
534 "To help with the transition to the Freedesktop Icon Naming
535Specification, the icon naming utility maps the icon names used by the
536GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 537 (license license:lgpl2.1+)))
27477d2d 538
686e025d
SB
539(define-public desktop-file-utils
540 (package
541 (name "desktop-file-utils")
542 (version "0.22")
543 (source (origin
544 (method url-fetch)
5cc3096c 545 (uri (string-append "https://www.freedesktop.org/software/" name
686e025d
SB
546 "/releases/" name "-" version ".tar.xz"))
547 (sha256
548 (base32
549 "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"))))
550 (build-system gnu-build-system)
551 (native-inputs
552 `(("pkg-config" ,pkg-config)))
553 (inputs
554 `(("glib" ,glib)))
555 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
556 (synopsis "Utilities for working with desktop entries")
557 (description
558 "This package contains a few command line utilities for working with
559desktop entries:
560
561desktop-file-validate: validates a desktop file and prints warnings/errors
562 about desktop entry specification violations.
563
564desktop-file-install: installs a desktop file to the applications directory,
565 optionally munging it a bit in transit.
566
567update-desktop-database: updates the database containing a cache of MIME types
568 handled by desktop files.")
569 (license license:gpl2+)))
570
7d3f3651
AE
571(define-public gnome-icon-theme
572 (package
573 (name "gnome-icon-theme")
b32f58dd 574 (version "3.12.0")
7d3f3651
AE
575 (source
576 (origin
577 (method url-fetch)
578 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 579 (version-major+minor version) "/"
7d3f3651
AE
580 name "-" version ".tar.xz"))
581 (sha256
582 (base32
b32f58dd 583 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 584 (build-system gnu-build-system)
c4c4cc05 585 (native-inputs
73b6cf42
SB
586 `(("gtk+" ,gtk+) ; for gtk-update-icon-cache
587 ("icon-naming-utils" ,icon-naming-utils)
588 ("intltool" ,intltool)
589 ("pkg-config" ,pkg-config)))
7d3f3651
AE
590 (home-page "http://art.gnome.org/")
591 (synopsis
592 "GNOME icon theme")
593 (description
594 "Icons for the GNOME desktop.")
1dd26275 595 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 596
14eeefa2
SB
597;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
598(define-public adwaita-icon-theme
599 (package (inherit gnome-icon-theme)
600 (name "adwaita-icon-theme")
6983ba56 601 (version "3.20")
14eeefa2
SB
602 (source (origin
603 (method url-fetch)
604 (uri (string-append "mirror://gnome/sources/" name "/"
605 (version-major+minor version) "/"
606 name "-" version ".tar.xz"))
607 (sha256
608 (base32
6983ba56 609 "0ddfwwqx8s63qbqimmbb015lqsab4s0rvy1j81jdsh7k95rqh2ks"))))))
14eeefa2 610
9167f8e6
LC
611(define-public shared-mime-info
612 (package
613 (name "shared-mime-info")
6983ba56 614 (version "1.6")
9167f8e6
LC
615 (source (origin
616 (method url-fetch)
5cc3096c 617 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 618 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
619 (sha256
620 (base32
6983ba56 621 "0k637g047gci8g69bg4g19akylpfraxm40hd30j3i4v7cidziy5j"))))
9167f8e6
LC
622 (build-system gnu-build-system)
623 (arguments
624 ;; The build system appears not to be parallel-safe.
625 '(#:parallel-build? #f))
626 (inputs
627 `(("glib" ,glib)
c4c4cc05 628 ("libxml2" ,libxml2)))
9167f8e6 629 (native-inputs
c4c4cc05
JD
630 `(("intltool" ,intltool)
631 ("pkg-config" ,pkg-config)))
9167f8e6
LC
632 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
633 (synopsis "Database of common MIME types")
634 (description
635 "The shared-mime-info package contains the core database of common types
636and the update-mime-database command used to extend it. It requires glib2 to
637be installed for building the update command. Additionally, it uses intltool
638for translations, though this is only a dependency for the maintainers. This
639database is translated at Transifex.")
1dd26275 640 (license license:gpl2+)))
9167f8e6 641
bef4dd92
AE
642(define-public hicolor-icon-theme
643 (package
644 (name "hicolor-icon-theme")
645 (version "0.12")
646 (source
647 (origin
648 (method url-fetch)
5cc3096c 649 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b38e45d8 650 "hicolor-icon-theme-" version ".tar.gz"))
bef4dd92
AE
651 (sha256
652 (base32
653 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
654 (build-system gnu-build-system)
655 (arguments
656 `(#:tests? #f)) ; no check target
657 (home-page "http://icon-theme.freedesktop.org/releases/")
658 (synopsis
659 "Freedesktop icon theme")
660 (description
661 "Freedesktop icon theme.")
1dd26275 662 (license license:gpl2)))
bef4dd92 663
d9c1a22b
AE
664(define-public libnotify
665 (package
666 (name "libnotify")
667 (version "0.7.6")
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 672 (version-major+minor version) "/"
d9c1a22b
AE
673 name "-" version ".tar.xz"))
674 (sha256
675 (base32
676 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
677 (build-system gnu-build-system)
678 (inputs
679 `(("gdk-pixbuf" ,gdk-pixbuf)
680 ("glib" ,glib)
681 ("gtk+" ,gtk+)
c4c4cc05
JD
682 ("libpng" ,libpng)))
683 (native-inputs
426adbe8
LC
684 `(("pkg-config" ,pkg-config)
685 ("glib" ,glib "bin")))
d9c1a22b
AE
686 (home-page "https://developer-next.gnome.org/libnotify/")
687 (synopsis
688 "GNOME desktop notification library")
689 (description
690 "Libnotify is a library that sends desktop notifications to a
35b9e423 691notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
692notifications can be used to inform the user about an event or display
693some form of information without getting in the user's way.")
1dd26275 694 (license license:lgpl2.1+)))
7a8605ce
CR
695
696(define-public libpeas
697 (package
698 (name "libpeas")
6983ba56 699 (version "1.18.0")
7a8605ce
CR
700 (source
701 (origin
702 (method url-fetch)
703 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 704 (version-major+minor version) "/"
7a8605ce
CR
705 name "-" version ".tar.xz"))
706 (sha256
707 (base32
6983ba56 708 "09jy2rwwgp0xx7cnypxl56m7zzxnj3j4v58xqjxjasf3chn88jdz"))))
7a8605ce 709 (build-system gnu-build-system)
7a8605ce 710 (inputs
2ed6522a
SB
711 `(("gtk+" ,gtk+)
712 ("glade" ,glade3)
713 ("libxml2" ,libxml2) ; XXX: required by gladeui-2.0.pc
714 ("python" ,python)
715 ("python-pygobject" ,python-pygobject)))
141aed80
LC
716 (native-inputs
717 `(("pkg-config" ,pkg-config)
93622993 718 ("glib:bin" ,glib "bin")
141aed80
LC
719 ("gobject-introspection" ,gobject-introspection)
720 ("intltool" ,intltool)))
7a8605ce
CR
721 (home-page "https://wiki.gnome.org/Libpeas")
722 (synopsis "GObject plugin system")
723 (description
35b9e423 724 "Libpeas is a gobject-based plugins engine, and is targetted at giving
7a8605ce
CR
725every application the chance to assume its own extensibility. It also has a
726set of features including, but not limited to: multiple extension points; on
727demand (lazy) programming language support for C, Python and JS; simplicity of
e881752c 728the API.")
1dd26275 729 (license license:lgpl2.0+)))
ed19903d
JD
730
731(define-public gtkglext
732 (package
733 (name "gtkglext")
734 (version "1.2.0")
735 (source (origin
736 (method url-fetch)
737 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
738 version "/gtkglext-" version ".tar.gz"))
739 (sha256
740 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
741 (patches (search-patches
742 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d
JD
743 (build-system gnu-build-system)
744 (inputs `(("gtk+" ,gtk+-2)
745 ("mesa" ,mesa)
cc8b02f4 746 ("glu" ,glu)
ed19903d
JD
747 ("libx11" ,libx11)
748 ("libxt" ,libxt)))
426adbe8
LC
749 (native-inputs `(("pkg-config" ,pkg-config)
750 ("glib" ,glib "bin")))
a83b6a06 751 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 752 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 753 (synopsis "OpenGL extension to GTK+")
35b9e423 754 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
755additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
756API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 757 (license license:lgpl2.1+)))
3600420e
JD
758
759(define-public glade3
760 (package
761 (name "glade")
6983ba56 762 (version "3.20.0")
b38e45d8
EB
763 (source (origin
764 (method url-fetch)
765 (uri (string-append "mirror://gnome/sources/" name "/"
766 (version-major+minor version) "/"
f5ca44b8 767 name "-" version ".tar.xz"))
3600420e 768 (sha256
f714d9fe 769 (base32
6983ba56
SB
770 "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2"))))
771 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
772 (arguments
773 `(#:tests? #f ; needs X, GL, and software rendering
774 #:phases
775 (modify-phases %standard-phases
776 (add-before 'configure 'fix-docbook
777 (lambda* (#:key inputs #:allow-other-keys)
778 (substitute* "man/Makefile.in"
779 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
780 (string-append (assoc-ref inputs "docbook-xsl")
781 "/xml/xsl/docbook-xsl-"
782 ,(package-version docbook-xsl)
783 "/manpages/docbook.xsl")))
784 #t)))))
3600420e 785 (inputs
f5ca44b8 786 `(("gtk+" ,gtk+)
3600420e
JD
787 ("libxml2" ,libxml2)))
788 (native-inputs
789 `(("intltool" ,intltool)
f5ca44b8
RW
790 ("itstool" ,itstool)
791 ("libxslt" ,libxslt) ;for xsltproc
792 ("docbook-xml" ,docbook-xml-4.2)
793 ("docbook-xsl" ,docbook-xsl)
794 ("python" ,python-2)
3600420e
JD
795 ("pkg-config" ,pkg-config)))
796 (home-page "https://glade.gnome.org")
797 (synopsis "GTK+ rapid application development tool")
798 (description "Glade is a rapid application development (RAD) tool to
799enable quick & easy development of user interfaces for the GTK+ toolkit and
800the GNOME desktop environment.")
1dd26275
LC
801 (license license:lgpl2.0+)))
802
803(define-public libcroco
804 (package
805 (name "libcroco")
6983ba56 806 (version "0.6.11")
1dd26275
LC
807 (source (origin
808 (method url-fetch)
b38e45d8
EB
809 (uri (string-append "mirror://gnome/sources/" name "/"
810 (version-major+minor version) "/"
811 name "-" version ".tar.xz"))
1dd26275
LC
812 (sha256
813 (base32
6983ba56 814 "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk"))))
1dd26275
LC
815 (build-system gnu-build-system)
816 (native-inputs
817 `(("pkg-config" ,pkg-config)))
818 (inputs
819 `(("glib" ,glib)
820 ("libxml2" ,libxml2)
821 ("zlib" ,zlib)))
822 (home-page "https://github.com/GNOME/libcroco")
823 (synopsis "CSS2 parsing and manipulation library")
824 (description
825 "Libcroco is a standalone CSS2 parsing and manipulation library.
826The parser provides a low level event driven SAC-like API and a CSS object
827model like API. Libcroco provides a CSS2 selection engine and an experimental
828XML/CSS rendering engine.")
829
830 ;; LGPLv2.1-only.
831 (license license:lgpl2.1)))
25178594
LC
832
833(define-public libgsf
834 (package
835 (name "libgsf")
6983ba56 836 (version "1.14.36")
25178594
LC
837 (source (origin
838 (method url-fetch)
b38e45d8
EB
839 (uri (string-append "mirror://gnome/sources/" name "/"
840 (version-major+minor version) "/"
841 name "-" version ".tar.xz"))
25178594
LC
842 (sha256
843 (base32
6983ba56 844 "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi"))))
25178594
LC
845 (build-system gnu-build-system)
846 (native-inputs
847 `(("intltool" ,intltool)
848 ("pkg-config" ,pkg-config)))
849 (inputs
850 `(("python" ,python)
851 ("zlib" ,zlib)
852 ("bzip2" ,bzip2)))
853 (propagated-inputs
854 `(("gdk-pixbuf" ,gdk-pixbuf)
855 ("glib" ,glib)
856 ("libxml2" ,libxml2)))
857 (home-page "http://www.gnome.org/projects/libgsf")
858 (synopsis "GNOME's Structured File Library")
859 (description
860 "Libgsf aims to provide an efficient extensible I/O abstraction for
861dealing with different structured file formats.")
862
863 ;; LGPLv2.1-only.
864 (license license:lgpl2.1)))
63016e7c
LC
865
866(define-public librsvg
867 (package
868 (name "librsvg")
6983ba56 869 (version "2.40.15")
63016e7c
LC
870 (source (origin
871 (method url-fetch)
b38e45d8
EB
872 (uri (string-append "mirror://gnome/sources/" name "/"
873 (version-major+minor version) "/"
874 name "-" version ".tar.xz"))
63016e7c
LC
875 (sha256
876 (base32
6983ba56 877 "1x05vd2llpmskq3prkp7kbpmshmpp9whj4kfl99ybipf4fhw9jnr"))))
63016e7c
LC
878 (build-system gnu-build-system)
879 (arguments
ce2df078 880 `(#:phases
63016e7c 881 (alist-cons-before
f3045a5b 882 'configure 'pre-configure
63016e7c 883 (lambda* (#:key inputs #:allow-other-keys)
63016e7c
LC
884 (substitute* "gdk-pixbuf-loader/Makefile.in"
885 ;; By default the gdk-pixbuf loader is installed under
886 ;; gdk-pixbuf's prefix. Work around that.
887 (("gdk_pixbuf_moduledir = .*$")
888 (string-append "gdk_pixbuf_moduledir = "
dc67ebd2 889 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
63016e7c 890 "loaders\n"))
f3045a5b 891 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
63016e7c 892 (("gdk_pixbuf_cache_file = .*$")
f3045a5b
SB
893 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))
894 %standard-phases)))
63016e7c
LC
895 (native-inputs
896 `(("pkg-config" ,pkg-config)
44add1ce 897 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
898 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
899 (inputs
900 `(("pango" ,pango)
901 ("libcroco" ,libcroco)
902 ("bzip2" ,bzip2)
903 ("libgsf" ,libgsf)
904 ("libxml2" ,libxml2)))
905 (propagated-inputs
906 ;; librsvg-2.0.pc refers to all of that.
907 `(("cairo" ,cairo)
908 ("gdk-pixbuf" ,gdk-pixbuf)
909 ("glib" ,glib)))
910 (home-page "https://wiki.gnome.org/LibRsvg")
911 (synopsis "Render SVG files using Cairo")
912 (description
35b9e423 913 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c
LC
914library.")
915 (license license:lgpl2.0+)))
5698b8b8
JD
916
917(define-public libidl
918 (package
919 (name "libidl")
920 (version "0.8.14")
921 (source (origin
922 (method url-fetch)
923 (uri (let ((upstream-name "libIDL"))
b38e45d8
EB
924 (string-append "mirror://gnome/sources/" upstream-name "/"
925 (version-major+minor version) "/"
926 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
927 (sha256
928 (base32
929 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
930 (build-system gnu-build-system)
931 (inputs `(("glib" ,glib)))
932 (native-inputs
933 `(("pkg-config" ,pkg-config)
b3546174 934 ("flex" ,flex)
5698b8b8
JD
935 ("bison" ,bison)))
936 (home-page "http://freecode.com/projects/libidl")
937 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 938 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
939Definition Language (idl) files, which is a specification for defining
940portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 941GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 942functionality was designed to be as reusable and portable as possible.")
5698b8b8
JD
943 (license license:lgpl2.0+)))
944
945
946(define-public orbit2
947 (package
948 (name "orbit2")
949 (version "2.14.19")
950 (source (origin
951 (method url-fetch)
2e6ecc5c 952 (uri (let ((upstream-name "ORBit2"))
a124bbd2 953 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
954 (version-major+minor version) "/"
955 upstream-name "-" version ".tar.bz2")))
5698b8b8 956 (sha256
a124bbd2
SB
957 (base32
958 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
959 (build-system gnu-build-system)
960 (arguments
a124bbd2
SB
961 `(#:configure-flags
962 ;; The programmer kindly gives us a hook to turn off deprecation
963 ;; warnings ...
964 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
965 ;; ... which they then completly ignore !!
966 #:phases
967 (alist-cons-before
968 'configure 'ignore-deprecations
969 (lambda _
970 (substitute* "linc2/src/Makefile.in"
971 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
972 %standard-phases)))
5698b8b8
JD
973 (inputs `(("glib" ,glib)
974 ("libidl" ,libidl)))
975 (native-inputs
976 `(("pkg-config" ,pkg-config)))
977 (home-page "https://projects.gnome.org/orbit2/")
978 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 979 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 980featuring mature C, C++ and Python bindings.")
a124bbd2
SB
981 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
982 ;; a version. SOME of the code files have licence notices for GPLv2+.
983 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
2e6ecc5c 984 (license license:gpl2+)))
5698b8b8
JD
985
986
987(define-public libbonobo
988 (package
989 (name "libbonobo")
990 (version "2.32.1")
991 (source (origin
992 (method url-fetch)
5becd025 993 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 994 (version-major+minor version)
5becd025 995 "/" name "-" version ".tar.bz2"))
5698b8b8 996 (sha256
f1fc45a9 997 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
998 (patches (search-patches
999 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
1000 (build-system gnu-build-system)
1001 (arguments
1002 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
1003 `(#:configure-flags
1004 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1005 ;; ... which they then completly ignore !!
1006 #:phases
1007 (alist-cons-before
1008 'configure 'ignore-deprecations
1009 (lambda _
1010 (substitute* "activation-server/Makefile.in"
1011 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1012 %standard-phases)))
5698b8b8
JD
1013 (inputs `(("popt" ,popt)
1014 ("libxml2" ,libxml2)))
1015 ;; The following are Required by the .pc file
44add1ce 1016 (propagated-inputs
5698b8b8
JD
1017 `(("glib" ,glib)
1018 ("orbit2" ,orbit2)))
1019 (native-inputs
1020 `(("intltool" ,intltool)
1021 ("pkg-config" ,pkg-config)
221ed17a 1022 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1023 ("flex" ,flex)
1024 ("bison" ,bison)))
1025 (home-page "https://developer.gnome.org/libbonobo/")
1026 (synopsis "Framework for creating reusable components for use in GNOME applications")
1027 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 1028use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
1029 ;; Licence not explicitly stated. Source files contain no licence notices.
1030 ;; Tarball contains text of both GPLv2 and LGPLv2
1031 ;; GPLv2 covers both conditions
1032 (license license:gpl2+)))
1033
1034
1035(define-public gconf
1036 (package
1037 (name "gconf")
1038 (version "3.2.6")
1039 (source (origin
1040 (method url-fetch)
a124bbd2
SB
1041 (uri
1042 (let ((upstream-name "GConf"))
1043 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1044 (version-major+minor version) "/"
1045 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
1046 (sha256
1047 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1048 (build-system gnu-build-system)
2e88d113 1049 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 1050 ("libxml2" ,libxml2)))
2e6ecc5c
AE
1051 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1052 ("orbit2" ,orbit2)))
5698b8b8
JD
1053 (native-inputs
1054 `(("intltool" ,intltool)
221ed17a 1055 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1056 ("pkg-config" ,pkg-config)))
1057 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
1058 (synopsis "Store application preferences")
1059 (description "Gconf is a system for storing application preferences. It
1060is intended for user preferences; not arbitrary data storage.")
2e6ecc5c 1061 (license license:lgpl2.0+)))
5698b8b8
JD
1062
1063
1064(define-public gnome-mime-data
1065 (package
1066 (name "gnome-mime-data")
1067 (version "2.18.0")
1068 (source (origin
1069 (method url-fetch)
b38e45d8
EB
1070 (uri (string-append "mirror://gnome/sources/" name "/"
1071 (version-major+minor version) "/"
1072 name "-" version ".tar.bz2"))
5698b8b8
JD
1073 (sha256
1074 (base32
1075 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1076 (build-system gnu-build-system)
1077 (native-inputs
1078 `(("perl" ,perl)
1079 ("intltool" ,intltool)))
1080 (home-page "http://www.gnome.org")
35b9e423 1081 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
1082 (description "GNOME Mime Data is a module which contains the base MIME
1083and Application database for GNOME. The data stored by this module is
1084designed to be accessed through the MIME functions in GnomeVFS.")
1085 (license license:gpl2+)))
1086
1087
1088(define-public gnome-vfs
1089 (package
1090 (name "gnome-vfs")
1091 (version "2.24.4")
1092 (source (origin
1093 (method url-fetch)
b38e45d8
EB
1094 (uri (string-append "mirror://gnome/sources/" name "/"
1095 (version-major+minor version) "/"
1096 name "-" version ".tar.bz2"))
5698b8b8 1097 (sha256
9e12bc34
MW
1098 (base32
1099 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
1100 (build-system gnu-build-system)
1101 (arguments
db5127d8 1102 `(#:phases
9e12bc34
MW
1103 (alist-cons-before
1104 'configure 'ignore-deprecations
1105 (lambda _
1106 (substitute* '("libgnomevfs/Makefile.in"
1107 "daemon/Makefile.in")
1108 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1109 #t)
db5127d8
MW
1110 (alist-cons-before
1111 'configure 'patch-test-async-cancel-to-never-fail
1112 (lambda _
1113 (substitute* "test/test-async-cancel.c"
1114 (("EXIT_FAILURE") "77")))
1115 %standard-phases))))
2e6ecc5c 1116 (inputs `(("libxml2" ,libxml2)
5698b8b8 1117 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
1118 ("gconf" ,gconf)
1119 ("gnome-mime-data" ,gnome-mime-data)
1120 ("zlib" ,zlib)))
1121 (native-inputs
221ed17a
EB
1122 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1123 ("intltool" ,intltool)
5698b8b8
JD
1124 ("pkg-config" ,pkg-config)))
1125 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 1126 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
1127 (description
1128 "GnomeVFS is the core library used to access files and folders in GNOME
1129applications. It provides a file system abstraction which allows applications
1130to access local and remote files with a single consistent API.")
5698b8b8
JD
1131 (license license:lgpl2.0+)))
1132
1133
1134
1135(define-public libgnome
1136 (package
1137 (name "libgnome")
1138 (version "2.32.1")
1139 (source (origin
1140 (method url-fetch)
b38e45d8
EB
1141 (uri (string-append "mirror://gnome/sources/" name "/"
1142 (version-major+minor version) "/"
1143 name "-" version ".tar.bz2"))
5698b8b8
JD
1144 (sha256
1145 (base32
1146 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1147 (build-system gnu-build-system)
1148 (arguments
1149 `(#:phases
1150 (alist-cons-before
1151 'configure 'enable-deprecated
2e6ecc5c 1152 (lambda _
5698b8b8
JD
1153 (substitute* "libgnome/Makefile.in"
1154 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1155 %standard-phases)))
25338e9f 1156 (inputs `(("libxml2" ,libxml2)))
5698b8b8 1157 (native-inputs
221ed17a
EB
1158 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1159 ("intltool" ,intltool)
5698b8b8
JD
1160 ("pkg-config" ,pkg-config)))
1161 ;; The following are listed as Required in the .pc file
1162 ;; (except for libcanberra -- which seems to be oversight on the part
1163 ;; of the upstream developers -- anything that links against libgnome,
1164 ;; must also link against libcanberra
1165 (propagated-inputs
1166 `(("libcanberra" ,libcanberra)
1167 ("libbonobo" ,libbonobo)
1168 ("gconf" ,gconf)
a640d3d5
LC
1169 ("gnome-vfs" ,gnome-vfs)
1170 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
1171 (home-page "https://developer.gnome.org/libgnome/")
1172 (synopsis "Useful routines for building applications")
1173 (description "The libgnome library provides a number of useful routines
1174for building modern applications, including session management, activation of
1175files and URIs, and displaying help.")
1176 (license license:lgpl2.0+)))
1177
1178
1179(define-public libart-lgpl
1180 (package
1181 (name "libart-lgpl")
76c9b6aa 1182 (version "2.3.21")
5698b8b8
JD
1183 (source (origin
1184 (method url-fetch)
1185 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
1186 (string-append "mirror://gnome/sources/" upstream-name "/"
1187 (version-major+minor version) "/"
1188 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1189 (sha256
1190 (base32
76c9b6aa 1191 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
1192 (build-system gnu-build-system)
1193 (native-inputs
1194 `(("pkg-config" ,pkg-config)))
1195 (home-page "https://people.gnome.org/~mathieu/libart")
1196 (synopsis "2D drawing library")
2e6ecc5c 1197 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
1198high-quality vector-based 2D library with antialiasing and alpha composition.")
1199 (license license:lgpl2.0+)))
1200
1201
1202
1203(define-public libgnomecanvas
1204 (package
1205 (name "libgnomecanvas")
1206 (version "2.30.3")
1207 (source (origin
1208 (method url-fetch)
b38e45d8
EB
1209 (uri (string-append "mirror://gnome/sources/" name "/"
1210 (version-major+minor version) "/"
1211 name "-" version ".tar.gz"))
5698b8b8
JD
1212 (sha256
1213 (base32
1214 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1215 (build-system gnu-build-system)
1216 ;; Mentioned as Required in the .pc file
1217 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1218 ("gtk+" ,gtk+-2)))
1219 (native-inputs
1220 `(("intltool" ,intltool)
221ed17a 1221 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1222 ("pkg-config" ,pkg-config)))
1223 (home-page "https://developer.gnome.org/libgnomecanvas/")
1224 (synopsis "Flexible widget for creating interactive structured graphics")
1225 (description "The GnomeCanvas widget provides a flexible widget for
1226creating interactive structured graphics.")
1227 (license license:lgpl2.0+)))
1228
eadc734e
RW
1229(define-public libgnomecanvasmm
1230 (package
1231 (name "libgnomecanvasmm")
1232 (version "2.26.0")
1233 (source (origin
1234 (method url-fetch)
1235 (uri (string-append "mirror://gnome/sources/" name "/"
1236 (version-major+minor version) "/"
1237 name "-" version ".tar.bz2"))
1238 (sha256
1239 (base32
1240 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1241 (build-system gnu-build-system)
6e4512c4
SB
1242 (arguments
1243 '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
eadc734e
RW
1244 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1245 (native-inputs
1246 `(("gtkmm-2" ,gtkmm-2)
1247 ("pkg-config" ,pkg-config)))
1248 (home-page "http://gtkmm.org")
1249 (synopsis "C++ bindings to the GNOME Canvas library")
1250 (description "C++ bindings to the GNOME Canvas library.")
1251 (license license:lgpl2.0+)))
1252
5698b8b8
JD
1253(define-public libgnomeui
1254 (package
1255 (name "libgnomeui")
1256 (version "2.24.5")
1257 (source (origin
1258 (method url-fetch)
b38e45d8
EB
1259 (uri (string-append "mirror://gnome/sources/" name "/"
1260 (version-major+minor version) "/"
1261 name "-" version ".tar.bz2"))
5698b8b8
JD
1262 (sha256
1263 (base32
1264 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1265 (build-system gnu-build-system)
1266 ;; Mentioned as Required in the .pc file
0a38a497
AE
1267 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1268 ("libgnome" ,libgnome)
1269 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 1270 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 1271 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
1272 ("popt" ,popt)
1273 ("libbonobo" ,libbonobo)
1274 ("libxml2" ,libxml2)
1275 ("libglade" ,libglade)))
1276 (native-inputs
221ed17a
EB
1277 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1278 ("intltool" ,intltool)
5698b8b8
JD
1279 ("pkg-config" ,pkg-config)))
1280 (home-page "https://developer.gnome.org/libgnomeui/")
1281 (synopsis "Additional widgets for applications")
35b9e423 1282 (description "The libgnomeui library provides additional widgets for
e881752c
AK
1283applications. Many of the widgets from libgnomeui have already been
1284ported to GTK+.")
5698b8b8
JD
1285 (license license:lgpl2.0+)))
1286
1287(define-public libglade
1288 (package
1289 (name "libglade")
1290 (version "2.6.4")
1291 (source (origin
1292 (method url-fetch)
b38e45d8
EB
1293 (uri (string-append "mirror://gnome/sources/" name "/"
1294 (version-major+minor version) "/"
1295 name "-" version ".tar.bz2"))
5698b8b8
JD
1296 (sha256
1297 (base32
1298 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1299 (build-system gnu-build-system)
1300 (inputs
92dcc23d
AE
1301 `(("python" ,python))) ;; needed for the optional libglade-convert program
1302 (propagated-inputs
5698b8b8 1303 `(("gtk+-2" ,gtk+-2)
92dcc23d 1304 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
1305 (native-inputs
1306 `(("pkg-config" ,pkg-config)))
1307 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
1308 (synopsis "Load glade interfaces and access the glade built widgets")
1309 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
1310graphical interfaces described in glade files and for accessing the
1311widgets built in the loading process.")
1312 (license license:gpl2+))) ; This is correct. GPL not LGPL
1313
1314(define-public libgnomeprint
eb497b66
LC
1315 ;; This library has been deprecated since 2006; see
1316 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
1317 (package
1318 (name "libgnomeprint")
1319 (version "2.8.2")
1320 (source (origin
1321 (method url-fetch)
b38e45d8
EB
1322 (uri (string-append "mirror://gnome/sources/" name "/"
1323 (version-major+minor version) "/"
1324 name "-" version ".tar.bz2"))
5698b8b8
JD
1325 (sha256
1326 (base32
6983ba56 1327 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
5698b8b8
JD
1328 (build-system gnu-build-system)
1329 (inputs
1330 `(("popt" ,popt)
1331 ("libart-lgpl" ,libart-lgpl)
1332 ("gtk+" ,gtk+-2)
44add1ce 1333 ("libxml2" ,libxml2)))
5698b8b8
JD
1334 (native-inputs
1335 `(("intltool" ,intltool)
221ed17a 1336 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1337 ("pkg-config" ,pkg-config)))
1338 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 1339 (synopsis "Printing framework for GNOME")
eb497b66
LC
1340 (description
1341 "GNOME-print was a printing framework for GNOME. It has been deprecated
1342since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
1343 (license license:lgpl2.0+)))
1344
1345
1346(define-public libgnomeprintui
eb497b66 1347 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
1348 (package
1349 (name "libgnomeprintui")
1350 (version "2.8.2")
1351 (source (origin
1352 (method url-fetch)
b38e45d8
EB
1353 (uri (string-append "mirror://gnome/sources/" name "/"
1354 (version-major+minor version) "/"
1355 name "-" version ".tar.bz2"))
5698b8b8
JD
1356 (sha256
1357 (base32
1358 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1359 (build-system gnu-build-system)
1360 ;; Mentioned as Required in the .pc file
1361 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1362 (inputs `(("gtk+" ,gtk+-2)
1363 ("glib" ,glib)
1364 ("gnome-icon-theme" ,gnome-icon-theme)
1365 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 1366 ("libxml2" ,libxml2)))
5698b8b8
JD
1367 (native-inputs
1368 `(("intltool" ,intltool)
1369 ("pkg-config" ,pkg-config)))
1370 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1371 (synopsis "Printing framework for GNOME")
eb497b66 1372 (description (package-description libgnomeprint))
5698b8b8
JD
1373 (license license:lgpl2.0+)))
1374
5698b8b8
JD
1375(define-public libbonoboui
1376 (package
1377 (name "libbonoboui")
1378 (version "2.24.5")
1379 (source (origin
1380 (method url-fetch)
b38e45d8
EB
1381 (uri (string-append "mirror://gnome/sources/" name "/"
1382 (version-major+minor version) "/"
1383 name "-" version ".tar.bz2"))
5698b8b8
JD
1384 (sha256
1385 (base32
1386 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1387 (build-system gnu-build-system)
1388 (arguments
1389 `(#:phases
1390 (alist-cons-before
1391 'check 'start-xserver
1392 (lambda* (#:key inputs #:allow-other-keys)
1393 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1394 (disp ":1"))
2e6ecc5c 1395
5698b8b8
JD
1396 (setenv "HOME" (getcwd))
1397 (setenv "DISPLAY" disp)
1398 ;; There must be a running X server and make check doesn't start one.
1399 ;; Therefore we must do it.
1400 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1401 %standard-phases)))
1402 ;; Mentioned as Required by the .pc file
1403 (propagated-inputs `(("libxml2" ,libxml2)))
1404 (inputs
1405 `(("popt" ,popt)
1406 ("pangox-compat" ,pangox-compat)
1407 ("libgnome" ,libgnome)
1408 ("libgnomecanvas" ,libgnomecanvas)
1409 ("libglade" ,libglade)))
1410 (native-inputs
221ed17a
EB
1411 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1412 ("intltool" ,intltool)
5698b8b8
JD
1413 ("xorg-server" ,xorg-server) ; For running the tests
1414 ("pkg-config" ,pkg-config)))
1415 (home-page "https://developer.gnome.org/libbonoboui/")
1416 (synopsis "Some user interface controls using Bonobo")
1417 (description "The Bonobo UI library provides a number of user interface
1418controls using the Bonobo component framework.")
1419 (license license:lgpl2.0+)))
1420
fecbf86e
SB
1421(define-public libwnck
1422 (package
1423 (name "libwnck")
6983ba56 1424 (version "3.14.1")
fecbf86e
SB
1425 (source (origin
1426 (method url-fetch)
1427 (uri (string-append "mirror://gnome/sources/" name "/"
1428 (version-major+minor version) "/"
1429 name "-" version ".tar.xz"))
1430 (sha256
6983ba56 1431 (base32 "1ymya8gkjygvg0i901wr3q6ihfqxx5yf4g4pb6fag2iw8af3qr5v"))))
fecbf86e
SB
1432 (build-system gnu-build-system)
1433 (native-inputs
1434 `(("pkg-config" ,pkg-config)
1435 ("intltool" ,intltool)))
1436 (propagated-inputs
427476d5
SB
1437 `(("gtk+" ,gtk+)
1438 ("libxres" ,libxres)
1439 ("startup-notification" ,startup-notification)))
fecbf86e
SB
1440 (home-page "https://developer.gnome.org/libwnck/")
1441 (synopsis "Window Navigator Construction Kit")
1442 (description
1443 "Libwnck is the Window Navigator Construction Kit, a library for use in
1444writing pagers, tasklists, and more generally applications that are dealing
1445with window management. It tries hard to respect the Extended Window Manager
1446Hints specification (EWMH).")
1447 (license license:lgpl2.0+)))
1448
1449;; stable version for gtk2, required by xfwm4.
dbb7a081 1450(define-public libwnck-2
fecbf86e
SB
1451 (package (inherit libwnck)
1452 (name "libwnck")
1453 (version "2.30.7")
1454 (source (origin
1455 (method url-fetch)
1456 (uri (string-append "mirror://gnome/sources/" name "/"
1457 (version-major+minor version) "/"
1458 name "-" version ".tar.xz"))
1459 (sha256
1460 (base32
1461 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1462 (propagated-inputs
427476d5
SB
1463 `(("gtk+" ,gtk+-2)
1464 ("libxres" ,libxres)
1465 ("startup-notification" ,startup-notification)))))
b804c61e
JD
1466
1467(define-public goffice
1468 (package
1469 (name "goffice")
6983ba56 1470 (version "0.10.28")
b804c61e
JD
1471 (source (origin
1472 (method url-fetch)
b38e45d8
EB
1473 (uri (string-append "mirror://gnome/sources/" name "/"
1474 (version-major+minor version) "/"
1475 name "-" version ".tar.xz"))
b804c61e 1476 (sha256
6983ba56 1477 (base32 "12rsgxrixkfpk420gv026i74pnlgqjzsvm6vffrmih54w46hd3q6"))))
b804c61e 1478 (build-system gnu-build-system)
72a06d3e
LC
1479 (outputs '("out"
1480 "doc")) ;4.1 MiB of gtk-doc
1481 (arguments
1482 '(#:configure-flags (list (string-append "--with-html-dir="
1483 (assoc-ref %outputs "doc")
1484 "/share/gtk-doc/html"))))
b804c61e
JD
1485 (inputs
1486 `(("gtk+" ,gtk+)
1487 ("libgsf" ,libgsf)
1488 ("librsvg" ,librsvg)
1489 ("libxslt" ,libxslt)
1490 ("libxml2" ,libxml2)))
1491 (native-inputs
1492 `(("intltool" ,intltool)
f280cdb1 1493 ("glib" ,glib "bin")
b804c61e
JD
1494 ("pkg-config" ,pkg-config)))
1495 (home-page "https://developer.gnome.org/goffice/")
1496 (synopsis "Document-centric objects and utilities")
1497 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 1498 (license
b804c61e
JD
1499 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1500 ;; Note: NOT LGPL
1501 (list license:gpl2 license:gpl3))))
1502
c024ae36
RW
1503(define-public goffice-0.8
1504 (package (inherit goffice)
1505 (version "0.8.17")
1506 (source (origin
1507 (method url-fetch)
1508 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1509 (version-major+minor version) "/"
1510 (package-name goffice) "-" version ".tar.xz"))
1511 (sha256
1512 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1513 (arguments
1514 `(#:phases
1515 (alist-cons-after
1516 'unpack 'fix-pcre-check
1517 (lambda _
1518 ;; Only glib.h can be included directly. See
1519 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1520 (substitute* "configure"
1521 (("glib/gregex\\.h") "glib.h")) #t)
72a06d3e
LC
1522 %standard-phases)
1523
1524 ,@(package-arguments goffice)))
c024ae36
RW
1525 (propagated-inputs
1526 ;; libgoffice-0.8.pc mentions libgsf-1
1527 `(("libgsf" ,libgsf)))
1528 (inputs
1529 `(("gtk" ,gtk+-2)
1530 ,@(alist-delete "gtk" (package-inputs goffice))))))
1531
b804c61e
JD
1532(define-public gnumeric
1533 (package
1534 (name "gnumeric")
6983ba56 1535 (version "1.12.28")
b804c61e
JD
1536 (source (origin
1537 (method url-fetch)
b38e45d8
EB
1538 (uri (string-append "mirror://gnome/sources/" name "/"
1539 (version-major+minor version) "/"
1540 name "-" version ".tar.xz"))
b804c61e
JD
1541 (sha256
1542 (base32
6983ba56 1543 "1fsdp7r6fhc0m3fb4ly4xwh83v3hp2zrv9d0713g4lcy709svm02"))))
b804c61e
JD
1544 (build-system gnu-build-system)
1545 (arguments
1546 `(;; The gnumeric developers don't worry much about failing tests.
1547 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 1548 #:tests? #f
b804c61e 1549 #:phases
7bcbd40d
EF
1550 (modify-phases %standard-phases
1551 (add-before
1552 'configure 'pre-conf
1553 (lambda* (#:key outputs #:allow-other-keys)
1554 ;; Make install tries to write into the directory of goffice
1555 ;; I am informed that this only affects the possibility to embed a
1556 ;; spreadsheet inside an Abiword document. So presumably when we
1557 ;; package Abiword we'll have to refer it to this directory.
1558 (substitute* "configure"
1559 (("^GOFFICE_PLUGINS_DIR=.*")
1560 (string-append "GOFFICE_PLUGINS_DIR="
1561 (assoc-ref outputs "out")
1562 "/goffice/plugins"))))))))
b804c61e
JD
1563 (inputs
1564 `(("glib" ,glib)
1565 ("gtk+" ,gtk+)
1566 ("goffice" ,goffice)
1567 ("libgsf" ,libgsf)
7bcbd40d 1568 ("librsvg" ,librsvg)
b804c61e 1569 ("libxml2" ,libxml2)
7bcbd40d 1570 ("libxslt" ,libxslt)
2e4c5457 1571 ("python" ,python-2)
6983ba56 1572 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
1573 ("zlib" ,zlib)))
1574 (native-inputs
6983ba56
SB
1575 `(("bison" ,bison)
1576 ("intltool" ,intltool)
b9663471 1577 ("glib:bin" ,glib "bin")
b804c61e
JD
1578 ("pkg-config" ,pkg-config)))
1579 (home-page "http://www.gnumeric.org")
66672a45
LC
1580 (synopsis "Spreadsheet application")
1581 (description
1582 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1583interoperable with other spreadsheet applications. It has a vast array of
1584features beyond typical spreadsheet functionality, such as support for linear
1585and non-linear solvers, statistical analysis, and telecommunication
1586engineering.")
1587 (license
b804c61e
JD
1588 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1589 (list license:gpl2 license:gpl3))))
6f885c05
FB
1590
1591(define-public gnome-themes-standard
1592 (package
1593 (name "gnome-themes-standard")
6983ba56 1594 (version "3.20")
6f885c05
FB
1595 (source
1596 (origin
1597 (method url-fetch)
2e6ecc5c 1598 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
1599 (version-major+minor version) "/" name "-"
1600 version ".tar.xz"))
1601 (sha256
1602 (base32
6983ba56 1603 "1p1vvmzfky1ax3yv9ld10xgqwydhmglxpgq3skrfc4539nrq9phw"))))
6f885c05
FB
1604 (build-system gnu-build-system)
1605 (inputs
1606 `(("gtk+" ,gtk+)
1607 ("gtk+-2" ,gtk+-2)
1608 ("librsvg" ,librsvg)
1609 ("libxml2" ,libxml2)
1610 ("glib" ,glib)))
1611 (native-inputs
1612 `(("intltool" ,intltool)
1613 ("glib:bin" ,glib "bin")
1614 ("pkg-config" ,pkg-config)))
6f885c05
FB
1615 (home-page "https://launchpad.net/gnome-themes-standard")
1616 (synopsis "Default GNOME 3 themes")
1617 (description
1618 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1619 (license license:lgpl2.1+)))
5a659a48 1620
df90c701
RW
1621(define-public seahorse
1622 (package
1623 (name "seahorse")
6983ba56 1624 (version "3.20.0")
df90c701
RW
1625 (source
1626 (origin
1627 (method url-fetch)
1628 (uri (string-append "mirror://gnome/sources/" name "/"
1629 (version-major+minor version) "/" name "-"
1630 version ".tar.xz"))
1631 (sha256
1632 (base32
6983ba56 1633 "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
df90c701
RW
1634 (build-system glib-or-gtk-build-system)
1635 (inputs
1636 `(("gtk+" ,gtk+)
1637 ("gcr" ,gcr)
34b979b9 1638 ("gnupg" ,gnupg)
df90c701 1639 ("gpgme" ,gpgme)
34b979b9 1640 ("openldap" ,openldap)
4a1bf090 1641 ("openssh" ,openssh)
34b979b9
EF
1642 ("libsecret" ,libsecret)
1643 ("libsoup" ,libsoup)))
df90c701
RW
1644 (native-inputs
1645 `(("intltool" ,intltool)
1646 ("glib:bin" ,glib "bin")
1647 ("itstool" ,itstool)
bcb354ad
SB
1648 ("pkg-config" ,pkg-config)
1649 ("xmllint" ,libxml2)))
df90c701
RW
1650 (home-page "https://launchpad.net/gnome-themes-standard")
1651 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1652 (description
1653 "Seahorse is a GNOME application for managing encryption keys and
1654passwords in the GNOME keyring.")
1655 (license license:gpl2+)))
1656
5a659a48
SB
1657(define-public vala
1658 (package
1659 (name "vala")
6983ba56 1660 (version "0.32.0")
5a659a48
SB
1661 (source (origin
1662 (method url-fetch)
1663 (uri (string-append "mirror://gnome/sources/" name "/"
1664 (version-major+minor version) "/"
1665 name "-" version ".tar.xz"))
1666 (sha256
1667 (base32
6983ba56 1668 "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7"))))
5a659a48 1669 (build-system gnu-build-system)
1ea90625
SB
1670 (arguments
1671 '(#:phases
1672 (modify-phases %standard-phases
f4925a4f 1673 (add-before 'check 'pre-check
1ea90625
SB
1674 (lambda _
1675 (setenv "CC" "gcc")
f4925a4f
SB
1676 ;; For missing '/etc/machine-id'.
1677 (setenv "DBUS_FATAL_WARNINGS" "0")
1ea90625 1678 #t)))))
5a659a48
SB
1679 (native-inputs
1680 `(("pkg-config" ,pkg-config)
1681 ("flex" ,flex)
1682 ("bison" ,bison)
1683 ("xsltproc" ,libxslt)
1684 ("dbus" ,dbus) ; for dbus tests
1685 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1686 (propagated-inputs
1687 `(("glib" ,glib))) ; required by libvala-0.26.pc
1688 (home-page "http://live.gnome.org/Vala/")
1689 (synopsis "Compiler for the GObject type system")
1690 (description
1691 "Vala is a programming language that aims to bring modern programming
1692language features to GNOME developers without imposing any additional runtime
1693requirements and without using a different ABI compared to applications and
1694libraries written in C.")
1695 (license license:lgpl2.1+)))
ea57378f
SB
1696
1697(define-public vte
1698 (package
1699 (name "vte")
b8f551d9 1700 (version "0.44.1")
ea57378f
SB
1701 (source (origin
1702 (method url-fetch)
1703 (uri (string-append "mirror://gnome/sources/" name "/"
1704 (version-major+minor version) "/"
1705 name "-" version ".tar.xz"))
1706 (sha256
1707 (base32
b8f551d9 1708 "0kjxzqcwqxky0l7bl8ydn9hl6fm1f0k2pl91wbbhyq4z6d4dabbi"))))
ea57378f 1709 (build-system gnu-build-system)
6983ba56
SB
1710 (arguments
1711 ;; XXX: fails to compile tests with the default flags.
1712 ;; vteconv.cc:774:40:
1713 ;; error: missing sentinel in function call [-Werror=format=]
1714 ;; g_test_init (&argc, &argv, NULL);
1715 ;;
1716 ;; cc1plus: some warnings being treated as errors
1717 '(#:configure-flags '("CXXFLAGS=-Wformat=0")))
ea57378f
SB
1718 (native-inputs
1719 `(("pkg-config" ,pkg-config)
1720 ("intltool" ,intltool)
1721 ("vala" ,vala)
1722 ("gobject-introspection" ,gobject-introspection)
1723 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1724 ("xmllint" ,libxml2)))
1725 (propagated-inputs
302393bc
LC
1726 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
1727 ("gnutls" ,gnutls))) ;ditto
ea57378f
SB
1728 (home-page "http://www.gnome.org/")
1729 (synopsis "Virtual Terminal Emulator")
1730 (description
1731 "VTE is a library (libvte) implementing a terminal emulator widget for
1732GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1733gnome-terminal, but can also be used to embed a console/terminal in games,
1734editors, IDEs, etc.")
1735 (license license:lgpl2.1+)))
1736
2776d72c
EF
1737;; provides vte 2.90, required for some terminal emulators
1738;; tilda bug: https://github.com/lanoxx/tilda/issues/94
1739;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
1740;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
1741;; pantheon-terminal, roxterm are not currently packaged
1742(define-public vte-0.36
1743 (package (inherit vte)
1744 (name "vte")
1745 (version "0.36.5")
1746 (source (origin
1747 (method url-fetch)
1748 (uri (string-append "mirror://gnome/sources/" name "/"
1749 (version-major+minor version) "/"
1750 name "-" version ".tar.xz"))
1751 (sha256
1752 (base32
1753 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
1754 (propagated-inputs
1755 `(("gtk" ,gtk+)
1756 ("ncurses" ,ncurses)))))
1757
ea57378f
SB
1758;; stable version for gtk2, required by xfce4-terminal.
1759(define-public vte/gtk+-2
1760 (package (inherit vte)
1761 (name "vte")
1762 (version "0.28.2")
1763 (source (origin
1764 (method url-fetch)
1765 (uri (string-append "mirror://gnome/sources/" name "/"
1766 (version-major+minor version) "/"
1767 name "-" version ".tar.xz"))
1768 (sha256
1769 (base32
1770 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1771 (arguments
1772 '(#:configure-flags '("--disable-python")))
1773 (native-inputs
1774 `(("pkg-config" ,pkg-config)
1775 ("intltool" ,intltool)
1776 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1777 (propagated-inputs
1778 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1779 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20
FB
1780
1781(define-public dconf
1782 (package
1783 (name "dconf")
6983ba56 1784 (version "0.26.0")
b47e1b20
FB
1785 (source (origin
1786 (method url-fetch)
1787 (uri (string-append
2e6ecc5c 1788 "mirror://gnome/sources/" name "/"
b47e1b20
FB
1789 (version-major+minor version) "/"
1790 name "-" version ".tar.xz"))
1791 (sha256
f05c809f 1792 (base32
6983ba56 1793 "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"))))
b47e1b20
FB
1794 (build-system glib-or-gtk-build-system)
1795 (inputs
1796 `(("gtk+" ,gtk+)
1797 ("glib" ,glib)
1798 ("dbus" ,dbus)
1799 ("libxml2" ,libxml2)))
1800 (native-inputs
1801 `(("libxslt" ,libxslt)
1802 ("docbook-xml" ,docbook-xml-4.2)
1803 ("docbook-xsl" ,docbook-xsl)
1804 ("intltool" ,intltool)
1805 ("pkg-config" ,pkg-config)))
1806 (arguments
1807 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1808 ; or /etc/machine-id.
1809 #:configure-flags
1810 ;; Set the correct RUNPATH in binaries.
2e6ecc5c 1811 (list (string-append "LDFLAGS=-Wl,-rpath="
b47e1b20
FB
1812 (assoc-ref %outputs "out") "/lib")
1813 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1814 #:phases
1815 (alist-cons-before
1816 'configure 'fix-docbook
1817 (lambda* (#:key inputs #:allow-other-keys)
1818 (substitute* "docs/Makefile.in"
1819 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2e6ecc5c 1820 (string-append (assoc-ref inputs "docbook-xsl")
b47e1b20
FB
1821 "/xml/xsl/docbook-xsl-"
1822 ,(package-version docbook-xsl)
1823 "/manpages/docbook.xsl")))
2e6ecc5c
AE
1824 (setenv "XML_CATALOG_FILES"
1825 (string-append (assoc-ref inputs "docbook-xml")
b47e1b20
FB
1826 "/xml/dtd/docbook/catalog.xml")))
1827 %standard-phases)))
1828 (home-page "https://developer.gnome.org/dconf")
1829 (synopsis "Low-level GNOME configuration system")
1830 (description "Dconf is a low-level configuration system. Its main purpose
1831is to provide a backend to GSettings on platforms that don't already have
1832configuration storage systems.")
1833 (license license:lgpl2.1)))
109da1c0
AE
1834
1835(define-public json-glib
1836 (package
1837 (name "json-glib")
6983ba56 1838 (version "1.2.0")
109da1c0
AE
1839 (source (origin
1840 (method url-fetch)
1841 (uri (string-append "mirror://gnome/sources/" name "/"
1842 (version-major+minor version) "/"
1843 name "-" version ".tar.xz"))
1844 (sha256
1845 (base32
6983ba56 1846 "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr"))
4955ab7d
SB
1847 (modules '((guix build utils)))
1848 (snippet
1849 ;; Don't duplicate test names.
1850 ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>.
1851 '(substitute* "json-glib/tests/builder.c"
1852 (("\"/builder/complex\", test_builder_empty")
1853 "\"/builder/empty\", test_builder_empty")))))
109da1c0
AE
1854 (build-system gnu-build-system)
1855 (native-inputs
88c6b580 1856 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
1857 ("gobject-introspection" ,gobject-introspection)
1858 ("pkg-config" ,pkg-config)))
1859 (propagated-inputs
88c6b580 1860 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
1861 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
1862 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
1863 (description
1864 "JSON-GLib is a C library based on GLib providing serialization and
1865deserialization support for the JavaScript Object Notation (JSON) format
1866described by RFC 4627. It provides parser and generator GObject classes and
1867various wrappers for the complex data types employed by JSON, such as arrays
1868and objects.")
109da1c0 1869 (license license:lgpl2.1+)))
6f96a359
SB
1870
1871(define-public libxklavier
1872 (package
1873 (name "libxklavier")
1874 (version "5.3")
1875 (source (origin
1876 (method url-fetch)
1877 (uri (string-append "mirror://gnome/sources/" name "/"
1878 version "/" name "-" version ".tar.xz"))
1879 (sha256
1880 (base32
1881 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
1882 (build-system gnu-build-system)
1883 (arguments
1884 '(#:configure-flags
1885 (list (string-append "--with-xkb-base="
1886 (assoc-ref %build-inputs "xkeyboard-config")
b19d6805 1887 "/share/X11/xkb"))))
6f96a359
SB
1888 (native-inputs
1889 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
1890 ("gobject-introspection" ,gobject-introspection)
1891 ("pkg-config" ,pkg-config)))
1892 (propagated-inputs
1893 ;; Required by libxklavier.pc.
1894 `(("glib" ,glib)
1895 ("libxml2" ,libxml2)))
1896 (inputs
1897 `(("iso-codes" ,iso-codes)
1898 ("libxi" ,libxi)
1899 ("libxkbfile" ,libxkbfile)
1900 ("xkbcomp" ,xkbcomp)
1901 ("xkeyboard-config" ,xkeyboard-config)))
1902 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
1903 (synopsis "High-level API for X Keyboard Extension")
1904 (description
1905 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
1906Extension known as XKB. This library is intended to support XFree86 and other
1907commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
1908indicators etc).")
1909 (license license:lgpl2.0+)))
619936a4
LC
1910
1911(define-public python2-rsvg
1912 ;; XXX: This is actually a subset of gnome-python-desktop.
1913 (package
1914 (name "python2-rsvg")
1915 (version "2.32.0")
1916 (source
1917 (origin
1918 (method url-fetch)
1919 (uri (string-append
1920 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
1921 version ".tar.bz2"))
1922 (sha256
1923 (base32
1924 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
1925 (build-system gnu-build-system)
1926 (native-inputs
1927 `(("pkg-config" ,pkg-config)))
1928 (inputs
1929 `(("python" ,python-2)
1930 ("python2-pygtk" ,python2-pygtk)
1931 ("librsvg" ,librsvg)))
1932 (home-page "http://www.gnome.org")
1933 (synopsis "Python bindings to librsvg")
1934 (description
1935 "This packages provides Python bindings to librsvg, the SVG rendering
1936library.")
1937
1938 ;; This is the license of the rsvg bindings. The license of each module
1939 ;; of gnome-python-desktop is given in 'COPYING'.
1940 (license license:lgpl2.1+)))
a31a6d22 1941
f2ca414a
SB
1942(define-public glib-networking
1943 (package
1944 (name "glib-networking")
7958a55d 1945 (version "2.48.1")
f2ca414a
SB
1946 (source (origin
1947 (method url-fetch)
1948 (uri (string-append "mirror://gnome/sources/glib-networking/"
1949 (version-major+minor version) "/"
1950 name "-" version ".tar.xz"))
1951 (sha256
1952 (base32
7958a55d 1953 "0jm4pr91kbq7rcyll08840zkagb9vfhhm2ymyrd1q0b0k2mj76fg"))
907f939b 1954 (patches
fc1adab1 1955 (search-patches "glib-networking-ssl-cert-file.patch"))))
f2ca414a
SB
1956 (build-system gnu-build-system)
1957 (arguments
1958 `(#:configure-flags
907f939b 1959 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
f2ca414a
SB
1960 #:phases
1961 (modify-phases %standard-phases
3a4de6b2 1962 (add-before 'configure 'patch-giomoduledir
f2ca414a
SB
1963 ;; Install GIO modules into $out/lib/gio/modules.
1964 (lambda _
1965 (substitute* "configure"
1966 (("GIO_MODULE_DIR=.*")
1967 (string-append "GIO_MODULE_DIR=" %output
907f939b
SB
1968 "/lib/gio/modules\n")))))
1969 (add-before 'check 'use-empty-ssl-cert-file
1970 (lambda _
1971 ;; The ca-certificates.crt is not available in the build
1972 ;; environment.
1973 (setenv "SSL_CERT_FILE" "/dev/null")
1974 #t)))))
f2ca414a
SB
1975 (native-inputs
1976 `(("pkg-config" ,pkg-config)
1977 ("intltool" ,intltool)))
1978 (inputs
1979 `(("glib" ,glib)
1980 ("gnutls" ,gnutls)
1981 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1982 ("p11-kit" ,p11-kit)))
1983 (home-page "http://www.gnome.org")
1984 (synopsis "Network-related GIO modules")
1985 (description
1986 "This package contains various network related extensions for the GIO
1987library.")
1988 (license license:lgpl2.0+)))
1989
ca649680 1990(define-public rest
4510b2da 1991 (package
ca649680 1992 (name "rest")
90000d4b 1993 (version "0.8.0")
4510b2da
SB
1994 (source (origin
1995 (method url-fetch)
1996 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
1997 (version-major+minor version) "/"
1998 name "-" version ".tar.xz"))
4510b2da
SB
1999 (sha256
2000 (base32
90000d4b 2001 "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77"))))
4510b2da
SB
2002 (build-system gnu-build-system)
2003 (arguments
2004 '(#:tests? #f ; tests require internet connection
2005 #:configure-flags
2006 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2007 (native-inputs
2008 `(("glib-mkenums" ,glib "bin")
2009 ("gobject-introspection" ,gobject-introspection)
2010 ("pkg-config" ,pkg-config)))
2011 (propagated-inputs
2012 ;; rest-0.7.pc refers to all these.
2013 `(("glib" ,glib)
2014 ("libsoup" ,libsoup)
2015 ("libxml2" ,libxml2)))
2016 (home-page "http://www.gtk.org/")
2017 (synopsis "RESTful web api query library")
2018 (description
2019 "This library was designed to make it easier to access web services that
2020claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2021libxml to ease remote use of the RESTful API.")
2022 (license license:lgpl2.1+)))
2023
6e1bb642
SB
2024(define-public libsoup
2025 (package
2026 (name "libsoup")
a28bf6b4 2027 (version "2.54.1")
6e1bb642
SB
2028 (source (origin
2029 (method url-fetch)
2030 (uri (string-append "mirror://gnome/sources/libsoup/"
2031 (version-major+minor version) "/"
2032 name "-" version ".tar.xz"))
2033 (sha256
2034 (base32
a28bf6b4 2035 "0cyn5pq4xl1gb8413h2p4d5wrn558dc054zhwmk4swrl40ijrd27"))))
6e1bb642
SB
2036 (build-system gnu-build-system)
2037 (outputs '("out" "doc"))
2038 (arguments
b19d6805 2039 `(#:configure-flags
6e1bb642
SB
2040 (list (string-append "--with-html-dir="
2041 (assoc-ref %outputs "doc")
fd730590 2042 "/share/gtk-doc/html"))
6e1bb642
SB
2043 #:phases
2044 (modify-phases %standard-phases
3a4de6b2 2045 (add-before 'configure 'disable-unconnected-socket-test
6e1bb642
SB
2046 ;; This test fails due to missing /etc/nsswitch.conf
2047 ;; in the build environment.
2048 (lambda _
2049 (substitute* "tests/socket-test.c"
2050 ((".*/sockets/unconnected.*") ""))
2051 #t))
907f939b 2052 (add-before 'check 'pre-check
6e1bb642 2053 (lambda _
907f939b
SB
2054 ;; The 'check-local' target runs 'env LANG=C sort -u',
2055 ;; unset 'LC_ALL' to make 'LANG' working.
6e1bb642 2056 (unsetenv "LC_ALL")
907f939b
SB
2057 ;; The ca-certificates.crt is not available in the build
2058 ;; environment.
2059 (setenv "SSL_CERT_FILE" "/dev/null")
fd730590
SB
2060 #t))
2061 (replace 'install
2062 (lambda _
2063 (zero?
2064 (system* "make"
2065 ;; Install vala bindings into $out.
2066 (string-append "vapidir=" %output
2067 "/share/vala/vapi")
2068 "install")))))))
6e1bb642
SB
2069 (native-inputs
2070 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2071 ("gobject-introspection" ,gobject-introspection)
2072 ("intltool" ,intltool)
2073 ("pkg-config" ,pkg-config)
2074 ("python" ,python-wrapper)
fd730590 2075 ("vala" ,vala)
6e1bb642
SB
2076 ;; These are needed for the tests.
2077 ;; FIXME: Add PHP once available.
2078 ("curl" ,curl)
2079 ("httpd" ,httpd)))
2080 (propagated-inputs
2081 ;; libsoup-2.4.pc refers to all these.
2082 `(("glib" ,glib)
2083 ("libxml2" ,libxml2)))
2084 (inputs
2085 `(("glib-networking" ,glib-networking)
2086 ("sqlite" ,sqlite)))
2087 (home-page "https://live.gnome.org/LibSoup/")
2088 (synopsis "GLib-based HTTP Library")
2089 (description
2090 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2091and the GLib main loop, to integrate well with GNOME applications.")
2092 (license license:lgpl2.0+)))
2093
bba229a3
SB
2094(define-public libsecret
2095 (package
2096 (name "libsecret")
6983ba56 2097 (version "0.18.5")
bba229a3
SB
2098 (source (origin
2099 (method url-fetch)
2100 (uri (string-append
896dcbc7
EF
2101 "mirror://gnome/sources/libsecret/"
2102 (version-major+minor version) "/"
bba229a3
SB
2103 name "-" version ".tar.xz"))
2104 (sha256
2105 (base32
6983ba56 2106 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
bba229a3
SB
2107 (build-system gnu-build-system)
2108 (outputs '("out" "doc"))
2109 (arguments
2110 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2111 #:configure-flags
2112 (list (string-append "--with-html-dir="
2113 (assoc-ref %outputs "doc")
2114 "/share/gtk-doc/html"))))
2115 (native-inputs
2116 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2117 ("gobject-introspection" ,gobject-introspection)
2118 ("intltool" ,intltool)
2119 ("pkg-config" ,pkg-config)
2120 ("vala" ,vala)
2121 ("xsltproc" ,libxslt)))
2122 ;; These are needed for the tests.
2123 ;; FIXME: Add gjs once available.
2124 ;("dbus" ,dbus)
2125 ;("python2" ,python-2)
2126 ;("python2-dbus" ,python2-dbus)
2127 ;("python2-pygobject" ,python2-pygobject)
2128 ;("python2-pygobject-2" ,python2-pygobject-2)))
2129 (propagated-inputs
2130 `(("glib" ,glib))) ; required by libsecret-1.pc
2131 (inputs
2132 `(("docbook-xsl" ,docbook-xsl)
2133 ("libgcrypt" ,libgcrypt)
2134 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2135 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2136 (synopsis "GObject bindings for \"Secret Service\" API")
2137 (description
2138 "Libsecret is a GObject based library for storing and retrieving passwords
2139and other secrets. It communicates with the \"Secret Service\" using DBus.")
2140 (license license:lgpl2.1+)))
2141
a31a6d22
SB
2142(define-public gnome-mines
2143 (package
2144 (name "gnome-mines")
6983ba56 2145 (version "3.20.0")
a31a6d22
SB
2146 (source
2147 (origin
2148 (method url-fetch)
2149 (uri (string-append "mirror://gnome/sources/" name "/"
2150 (version-major+minor version) "/"
2151 name "-" version ".tar.xz"))
2152 (sha256
2153 (base32
6983ba56 2154 "19khp4ckqbdgk6828gprxy52fsg8klf957dnwsin75nskk8whxbp"))))
a31a6d22
SB
2155 (build-system glib-or-gtk-build-system)
2156 (arguments
2157 '(#:phases
2158 (modify-phases %standard-phases
f8503e2b 2159 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2160 (lambda _
2161 (substitute* "configure"
6983ba56 2162 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2163 (native-inputs
2164 `(("pkg-config" ,pkg-config)
2165 ("desktop-file-utils" ,desktop-file-utils)
2166 ("intltool" ,intltool)
bcb354ad
SB
2167 ("itstool" ,itstool)
2168 ("xmllint" ,libxml2)))
a31a6d22
SB
2169 (inputs
2170 `(("gtk+" ,gtk+)
2171 ("librsvg" ,librsvg)))
2172 (home-page "https://wiki.gnome.org/Apps/Mines")
2173 (synopsis "Minesweeper game")
2174 (description
2175 "Mines (previously gnomine) is a puzzle game where you locate mines
2176floating in an ocean using only your brain and a little bit of luck.")
2177 (license license:gpl2+)))
88f70665 2178
dfc407f3
KY
2179(define-public gnome-sudoku
2180 (package
2181 (name "gnome-sudoku")
319549c2 2182 (version "3.20.0")
dfc407f3
KY
2183 (source
2184 (origin
2185 (method url-fetch)
2186 (uri (string-append "mirror://gnome/sources/" name "/"
2187 (version-major+minor version) "/"
2188 name "-" version ".tar.xz"))
2189 (sha256
2190 (base32
319549c2 2191 "1n8hp3pl56p9s0c5kldk11zg1vg7ykhgn3ndp8nf375h1q49ldh8"))))
dfc407f3
KY
2192 (build-system glib-or-gtk-build-system)
2193 (native-inputs
2194 `(("pkg-config" ,pkg-config)
2195 ("desktop-file-utils" ,desktop-file-utils)
2196 ("intltool" ,intltool)
2197 ("itstool" ,itstool)
2198 ("xmllint" ,libxml2)))
2199 (inputs
2200 `(("gtk+" ,gtk+)
2201 ("json-glib" ,json-glib)
2202 ("libgee" ,libgee)
2203 ("librsvg" ,librsvg)
2204 ("qqwing" ,qqwing)))
2205 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2206 (synopsis "Japanese logic game")
2207 (description
2208 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2209GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2210possible while still providing features that make playing difficult Sudoku
2211more fun.")
2212 (license license:gpl2+)))
2213
88f70665
AW
2214(define-public gnome-terminal
2215 (package
2216 (name "gnome-terminal")
e3cf0c71 2217 (version "3.20.1")
88f70665
AW
2218 (source
2219 (origin
2220 (method url-fetch)
2221 (uri (string-append "mirror://gnome/sources/" name "/"
2222 (version-major+minor version) "/"
2223 name "-" version ".tar.xz"))
2224 (sha256
2225 (base32
e3cf0c71 2226 "1508nm35znlfq9v1s2j4ypx5x608yq391c565b4hazxk2f5z9dwq"))))
88f70665
AW
2227 (build-system glib-or-gtk-build-system)
2228 (arguments
2229 '(#:configure-flags
2230 (list "--disable-migration" "--disable-search-provider"
2231 "--without-nautilus-extension")
2232 #:phases
2233 (modify-phases %standard-phases
3a4de6b2 2234 (add-before 'configure 'patch-/bin/true
88f70665
AW
2235 (lambda _
2236 (substitute* "configure"
2237 (("/bin/true") (which "true"))))))))
2238 (native-inputs
2239 `(("pkg-config" ,pkg-config)
2240 ("desktop-file-utils" ,desktop-file-utils)
2241 ("intltool" ,intltool)
bcb354ad
SB
2242 ("itstool" ,itstool)
2243 ("xmllint" ,libxml2)))
68702167
MW
2244 (propagated-inputs
2245 `(("dconf" ,dconf)))
88f70665
AW
2246 (inputs
2247 `(("gtk+" ,gtk+)
2248 ("vte" ,vte)
2249 ("gnutls" ,gnutls)
88f70665
AW
2250 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2251 ("util-linux" ,util-linux)
2252 ("vala" ,vala)))
2253 (home-page "https://wiki.gnome.org/Apps/Terminal")
2254 (synopsis "Terminal emulator")
2255 (description
2256 "GNOME Terminal is a terminal emulator application for accessing a
2257UNIX shell environment which can be used to run programs available on
2258your system.
2259
2260It supports several profiles, multiple tabs and implements several
2261keyboard shortcuts.")
2262 (license license:gpl3+)))
75016d07
AW
2263
2264(define-public colord
2265 (package
2266 (name "colord")
2267 (version "1.1.8")
2268 (source
2269 (origin
2270 (method url-fetch)
5cc3096c 2271 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2272 name "-" version ".tar.xz"))
2273 (sha256
2274 (base32
2275 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2276 (build-system glib-or-gtk-build-system)
2277 (arguments
2278 '(;; The tests want to run valgrind. Punt for now.
2279 #:tests? #f
2280 #:configure-flags (list "--localstatedir=/var"
2281 ;; GUSB not packaged yet.
2282 "--disable-gusb"
2283 ;; No dep on systemd.
2284 "--disable-systemd-login"
2285 ;; Wants to install to global completion dir;
2286 ;; punt.
2287 "--disable-bash-completion"
2288 ;; colord-gtk not packaged yet.
2289 "--disable-session-example"
2290 "--with-daemon-user=colord"
2291 "--enable-sane"
2292 (string-append "--with-udevrulesdir="
2293 (assoc-ref %outputs "out")
2294 "/lib/udev/rules.d"))
2295 #:phases
2296 (modify-phases %standard-phases
3a4de6b2 2297 (add-before 'configure 'patch-/bin/true
75016d07
AW
2298 (lambda _
2299 (substitute* "configure"
2300 (("/bin/true") (which "true")))
2301 (substitute* "src/Makefile.in"
2302 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2303 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2304 (native-inputs
2305 `(("pkg-config" ,pkg-config)
2306 ("gobject-introspection" ,gobject-introspection)
2307 ("libtool" ,libtool)
2308 ("intltool" ,intltool)))
65cb2d61
SB
2309 (propagated-inputs
2310 ;; colord.pc refers to all these.
2311 `(("glib" ,glib)
2312 ("udev" ,eudev)
2313 ("lcms" ,lcms)))
75016d07 2314 (inputs
65cb2d61 2315 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2316 ("libgudev" ,libgudev)
75016d07 2317 ("libusb" ,libusb)
75016d07
AW
2318 ("sqlite" ,sqlite)
2319 ("polkit" ,polkit)
2320 ("sane-backends" ,sane-backends)))
2321 (home-page "http://www.freedesktop.org/software/colord/")
2322 (synopsis "Color management service")
2323 (description "Colord is a system service that makes it easy to manage,
2324install and generate color profiles to accurately color manage input and
2325output devices.")
2326 (license license:gpl2+)))
7b2abd00
AW
2327
2328(define-public geoclue
2329 (package
2330 (name "geoclue")
54e911bc 2331 (version "2.4.3")
7b2abd00
AW
2332 (source
2333 (origin
2334 (method url-fetch)
5cc3096c 2335 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2336 "/releases/" (version-major+minor version) "/"
2337 name "-" version ".tar.xz"))
2338 (sha256
2339 (base32
54e911bc 2340 "0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd"))
fc1adab1 2341 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2342 (build-system glib-or-gtk-build-system)
2343 (arguments
2344 '(;; The tests want to run the system bus.
2345 #:tests? #f
2346 #:configure-flags (list ;; Disable bits requiring ModemManager.
2347 "--disable-3g-source"
2348 "--disable-cdma-source"
2349 "--disable-modem-gps-source"
2350 "--with-dbus-service-user=geoclue")
2351 #:phases
2352 (modify-phases %standard-phases
3a4de6b2 2353 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2354 (lambda _
2355 (substitute* "configure"
2356 (("/bin/true") (which "true"))))))))
2357 (native-inputs
2358 `(("pkg-config" ,pkg-config)
2359 ("intltool" ,intltool)))
2360 (inputs
54e911bc
SB
2361 `(("avahi" ,avahi)
2362 ("glib" ,glib)
7b2abd00
AW
2363 ("json-glib" ,json-glib)
2364 ("libsoup" ,libsoup)))
2365 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2366 (synopsis "Geolocation service")
2367 (description "Geoclue is a D-Bus service that provides location
2368information. The primary goal of the Geoclue project is to make creating
2369location-aware applications as simple as possible, while the secondary goal is
2370to ensure that no application can access location information without explicit
e881752c 2371permission from user.")
7b2abd00 2372 (license license:gpl2+)))
2bfe7437
AW
2373
2374(define-public geocode-glib
2375 (package
2376 (name "geocode-glib")
3ffd46bd 2377 (version "3.20.1")
2bfe7437
AW
2378 (source (origin
2379 (method url-fetch)
2380 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2381 (version-major+minor version) "/"
2382 name "-" version ".tar.xz"))
2383 (sha256
2384 (base32
3ffd46bd 2385 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2386 (build-system gnu-build-system)
2387 (arguments
2388 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2389 ;; work for the builder. Punt.
a124bbd2 2390 #:tests? #f))
2bfe7437
AW
2391 (native-inputs
2392 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2393 ("gobject-introspection" ,gobject-introspection)
2394 ("pkg-config" ,pkg-config)
2395 ("json-glib" ,json-glib)))
2396 (propagated-inputs
2397 ;; geocode-glib-1.0.pc refers to GIO.
2398 `(("glib" ,glib)))
2399 (inputs
2400 `(("libsoup" ,libsoup)))
2401 (home-page "https://github.com/GNOME/geocode-glib/")
2402 (synopsis "Geocoding and reverse-geocoding library")
2403 (description
2404 "geocode-glib is a convenience library for geocoding (finding longitude,
2405and latitude from an address) and reverse geocoding (finding an address from
2406coordinates) using the Nominatim service. geocode-glib caches requests for
2407faster results and to avoid unnecessary server load.")
2408 (license license:lgpl2.0+)))
a1d5bb0e
AW
2409
2410(define-public upower
2411 (package
2412 (name "upower")
d777e048 2413 (version "0.99.3")
a1d5bb0e
AW
2414 (source (origin
2415 (method url-fetch)
5cc3096c 2416 (uri (string-append "https://upower.freedesktop.org/releases/"
a1d5bb0e
AW
2417 name "-" version ".tar.xz"))
2418 (sha256
2419 (base32
d777e048 2420 "0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9"))
fc1adab1 2421 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2422 (build-system glib-or-gtk-build-system)
2423 (arguments
2424 '( ;; The tests want to contact the system bus, which can't be done in the
2425 ;; build environment. The integration test can run, but the last of
2426 ;; the up-self-tests doesn't. Disable tests for now.
2427 #:tests? #f
2428 #:configure-flags (list "--localstatedir=/var"
2429 (string-append "--with-udevrulesdir="
2430 (assoc-ref %outputs "out")
2431 "/lib/udev/rules.d"))
2432 #:phases
2433 (modify-phases %standard-phases
2434 (add-before 'configure 'patch-/bin/true
2435 (lambda _
2436 (substitute* "configure"
2437 (("/bin/true") (which "true")))))
2438 (add-before 'configure 'patch-integration-test
2439 (lambda _
2440 (substitute* "src/linux/integration-test"
2441 (("/usr/bin/python3") (which "python3"))))))))
2442 (native-inputs
ebeabe2d
SB
2443 `(("gobject-introspection" ,gobject-introspection)
2444 ("pkg-config" ,pkg-config)
a1d5bb0e 2445 ("intltool" ,intltool)
55409295
LC
2446 ("python" ,python)
2447
2448 ;; For man pages.
2449 ("libxslt" ,libxslt) ;for 'xsltproc'
2450 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2451 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2452 (inputs
ea226291
SB
2453 `(("dbus-glib" ,dbus-glib)
2454 ("libgudev" ,libgudev)
a1d5bb0e
AW
2455 ("libusb" ,libusb)))
2456 (home-page "http://upower.freedesktop.org/")
2457 (synopsis "System daemon for managing power devices")
2458 (description
2459 "UPower is an abstraction for enumerating power devices,
2460listening to device events and querying history and statistics. Any
2461application or service on the system can access the org.freedesktop.UPower
2462service via the system message bus.")
2463 (license license:gpl2+)))
6a180f6f
AW
2464
2465(define-public libgweather
2466 (package
2467 (name "libgweather")
6983ba56 2468 (version "3.20.0")
6a180f6f
AW
2469 (source (origin
2470 (method url-fetch)
2471 (uri (string-append "mirror://gnome/sources/" name "/"
2472 (version-major+minor version) "/"
2473 name "-" version ".tar.xz"))
2474 (sha256
2475 (base32
6983ba56 2476 "1mmqg7wf0bhk450akyj0x71x75kh1v7j68isyivr75ydky79nqjj"))))
6a180f6f
AW
2477 (build-system gnu-build-system)
2478 (arguments
b6072e6b
SB
2479 `(#:configure-flags
2480 `(,(string-append "--with-zoneinfo-dir="
2481 (assoc-ref %build-inputs "tzdata")
2482 "/share/zoneinfo"))
2483 #:phases
2484 (modify-phases %standard-phases
2485 (add-before
2486 'check 'pre-check
2487 (lambda* (#:key inputs #:allow-other-keys)
2488 (substitute* "data/check-timezones.sh"
2489 (("/usr/share/zoneinfo/zone.tab")
2490 (string-append (assoc-ref inputs "tzdata")
2491 "/share/zoneinfo/zone.tab")))
2492 #t)))))
6a180f6f
AW
2493 (native-inputs
2494 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 2495 ("gobject-introspection" ,gobject-introspection)
6a180f6f
AW
2496 ("pkg-config" ,pkg-config)
2497 ("intltool" ,intltool)))
2498 (propagated-inputs
2499 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2500 ;; libsoup.
2501 `(("gtk+" ,gtk+)
2502 ("gdk-pixbuf" ,gdk-pixbuf)
2503 ("libxml2" ,libxml2)
2504 ("libsoup" ,libsoup)))
2505 (inputs
2506 `(("tzdata" ,tzdata)
2507 ("geocode-glib" ,geocode-glib)))
2508 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2509 (synopsis "Location, time zone, and weather library for GNOME")
2510 (description
2511 "libgweather is a library to access weather information from online
2512services for numerous locations.")
2513 (license license:gpl2+)))
23a22af6
AW
2514
2515(define-public gnome-settings-daemon
2516 (package
2517 (name "gnome-settings-daemon")
35907ce1 2518 (version "3.20.1")
23a22af6
AW
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append "mirror://gnome/sources/" name "/"
2523 (version-major+minor version) "/"
2524 name "-" version ".tar.xz"))
2525 (sha256
2526 (base32
35907ce1 2527 "1rvqisrh3lridsb8rvm7spvncyq206ly0245zgpbm8swi5fhfjp8"))))
23a22af6
AW
2528 (build-system glib-or-gtk-build-system)
2529 (arguments
ec2b1921 2530 `(;; Network manager not yet packaged.
23a22af6
AW
2531 #:configure-flags '("--disable-network-manager")
2532 ;; Color management test can't reach the colord system service.
2533 #:tests? #f))
2534 (native-inputs
2535 `(("pkg-config" ,pkg-config)
2536 ("intltool" ,intltool)
2537 ("xsltproc" ,libxslt)
2538 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2539 ("docbook-xml" ,docbook-xml-4.2)
2540 ("docbook-xsl" ,docbook-xsl)))
2541 (inputs
2542 `(("colord" ,colord)
ea226291 2543 ("libgudev" ,libgudev)
23a22af6
AW
2544 ("upower" ,upower)
2545 ("polkit" ,polkit)
2546 ("pulseaudio" ,pulseaudio)
2547 ("libcanberra" ,libcanberra)
2548 ("libx11" ,libx11)
2549 ("libxtst" ,libxtst)
2550 ("lcms" ,lcms)
2551 ("libnotify" ,libnotify)
2552 ("geoclue" ,geoclue)
2553 ("geocode-glib" ,geocode-glib)
2554 ("libgweather" ,libgweather)
2555 ("gnome-desktop" ,gnome-desktop)
2556 ("nss" ,nss)
2557 ("cups" ,cups)
ec2b1921
AW
2558 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2559 ("libwacom" ,libwacom)
2560 ("librsvg" ,librsvg)
2561 ("xf86-input-wacom" ,xf86-input-wacom)))
23a22af6
AW
2562 (home-page "http://www.gnome.org")
2563 (synopsis "GNOME settings daemon")
2564 (description
2565 "This package contains the daemon responsible for setting the various
2566parameters of a GNOME session and the applications that run under it. It
2567handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2568settings, themes, mouse settings, and startup of other daemons.")
2569 (license license:gpl2+)))
1e7464a9
DH
2570
2571(define-public totem-pl-parser
2572 (package
2573 (name "totem-pl-parser")
6983ba56 2574 (version "3.10.6")
1e7464a9
DH
2575 (source (origin
2576 (method url-fetch)
2577 (uri (string-append "mirror://gnome/sources/totem-pl-parser/3.10/"
2578 "totem-pl-parser-" version ".tar.xz"))
2579 (sha256
2580 (base32
6983ba56 2581 "0mv7aw9mw77w04zg95zjf0zmk6ckshpysbb9nap15h5is6zdk9cq"))))
1e7464a9
DH
2582 (build-system gnu-build-system)
2583 (arguments
2584 ;; FIXME: Tests require gvfs.
2585 `(#:tests? #f))
2586 (native-inputs
2587 `(("intltool" ,intltool)
2588 ("glib" ,glib "bin")
4d6d8281 2589 ("gobject-introspection" ,gobject-introspection)
1e7464a9 2590 ("pkg-config" ,pkg-config)))
22a6ad6a 2591 (propagated-inputs
1e7464a9
DH
2592 `(("glib" ,glib)
2593 ("gmime" ,gmime)
22a6ad6a
MW
2594 ("libxml2" ,libxml2)))
2595 (inputs
2596 `(("libarchive" ,libarchive)
1e7464a9
DH
2597 ("libgcrypt" ,libgcrypt)
2598 ("nettle" ,nettle)
22a6ad6a 2599 ("libsoup" ,libsoup)))
1e7464a9
DH
2600 (home-page "https://projects.gnome.org/totem")
2601 (synopsis "Library to parse and save media playlists for GNOME")
2602 (description "Totem-pl-parser is a GObjects-based library to parse and save
2603playlists in a variety of formats.")
2604 (license license:lgpl2.0+)))
2605
6b888eff
SB
2606(define-public aisleriot
2607 (package
2608 (name "aisleriot")
6983ba56 2609 (version "3.20.1")
6b888eff
SB
2610 (source (origin
2611 (method url-fetch)
2612 (uri (string-append "mirror://gnome/sources/" name "/"
2613 (version-major+minor version) "/"
2614 name "-" version ".tar.xz"))
2615 (sha256
2616 (base32
6983ba56 2617 "1nipky336jj81mhm8wwxp96zilgcrarihf95dnyj3r1pw8kpg7gy"))))
6b888eff
SB
2618 (build-system glib-or-gtk-build-system)
2619 (arguments
2620 '(#:configure-flags
2621 '("--with-platform=gtk-only"
2622 "--with-card-theme-formats=svg")))
2623 (native-inputs
2624 `(("desktop-file-utils" ,desktop-file-utils)
2625 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2626 ("intltool" ,intltool)
2627 ("itstool" ,itstool)
2628 ("pkg-config" ,pkg-config)
2629 ("xmllint" ,libxml2)))
2630 (inputs
2631 `(("gtk+" ,gtk+)
2632 ("guile" ,guile-2.0)
2633 ("libcanberra" ,libcanberra)
2634 ("librsvg" ,librsvg)))
2635 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
2636 (synopsis "Solitaire card games")
2637 (description
2638 "Aisleriot (also known as Solitaire or sol) is a collection of card games
2639which are easy to play with the aid of a mouse.")
2640 (license license:gpl3+)))
4a79e256
SB
2641
2642(define-public devhelp
2643 (package
2644 (name "devhelp")
6983ba56 2645 (version "3.20.0")
4a79e256
SB
2646 (source (origin
2647 (method url-fetch)
2648 (uri (string-append "mirror://gnome/sources/" name "/"
2649 (version-major+minor version) "/"
2650 name "-" version ".tar.xz"))
2651 (sha256
2652 (base32
6983ba56 2653 "078zr92xs5ifp862v1vdmw1j9m6gr9zk5hjbk5065vxjwb17acx2"))))
4a79e256
SB
2654 (build-system glib-or-gtk-build-system)
2655 (native-inputs
2656 `(("intltool" ,intltool)
2657 ("pkg-config" ,pkg-config)))
2658 (inputs
2659 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2660 ("webkitgtk" ,webkitgtk)))
2661 (home-page "https://wiki.gnome.org/Apps/Devhelp")
2662 (synopsis "API documentation browser for GNOME")
2663 (description
2664 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
2665natively with GTK-Doc (the API reference system developed for GTK+ and used
2666throughout GNOME for API documentation).")
2667 (license license:gpl2+)))
ba421ab7
MW
2668
2669(define-public cogl
2670 (package
2671 (name "cogl")
b3e91e02 2672 (version "1.22.0")
ba421ab7
MW
2673 (source
2674 (origin
2675 (method url-fetch)
2676 (uri (string-append "mirror://gnome/sources/" name "/"
2677 (version-major+minor version) "/"
2678 name "-" version ".tar.xz"))
2679 (sha256
2680 (base32
b3e91e02 2681 "14daxqrid5039xmq9yl4pk86awng1n9zgl6ysblhc4gw2ifzp7b8"))))
ba421ab7
MW
2682 (build-system gnu-build-system)
2683 (native-inputs
2684 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2685 ("gobject-introspection" ,gobject-introspection)
2686 ;;("xorg-server" ,xorg-server) ; for the test suite
2687 ("pkg-config" ,pkg-config)))
2688 (propagated-inputs
2689 `(("glib" ,glib)
2690 ("gdk-pixbuf" ,gdk-pixbuf)
2691 ("libx11" ,libx11)
2692 ("libxext" ,libxext)
2693 ("libxfixes" ,libxfixes)
2694 ("libxdamage" ,libxdamage)
2695 ("libxcomposite" ,libxcomposite)
2696 ("libxrandr" ,libxrandr)))
2697 (inputs
2698 `(("mesa" ,mesa)
2699 ("cairo" ,cairo)
2700 ("pango" ,pango)
2701 ("gstreamer" ,gstreamer)
2702 ("gst-plugins-base" ,gst-plugins-base)))
2703 (arguments
2704 `(#:configure-flags (list "--enable-cogl-gst"
2705 ;; Arrange to pass an absolute file name to
2706 ;; dlopen for libGL.so.
2707 (string-append "--with-gl-libname="
2708 (assoc-ref %build-inputs "mesa")
2709 "/lib/libGL.so"))
2710 ;; XXX FIXME: All tests fail, with many warnings printed like this:
2711 ;; _FontTransOpen: Unable to Parse address
2712 ;; ${prefix}/share/fonts/X11/misc/
2713 #:tests? #f
2714 #; #:phases
2715 #;
2716 (modify-phases %standard-phases
2717 (add-before 'check 'start-xorg-server
2718 (lambda* (#:key inputs #:allow-other-keys)
2719 ;; The test suite requires a running X server.
2720 (system (format #f "~a/bin/Xvfb :1 &"
2721 (assoc-ref inputs "xorg-server")))
2722 (setenv "DISPLAY" ":1")
2723 #t)))))
2724 (home-page "http://www.cogl3d.org")
2725 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
2726 (description
2727 "Cogl is a small library for using 3D graphics hardware to draw pretty
2728pictures. The API departs from the flat state machine style of OpenGL and is
2729designed to make it easy to write orthogonal components that can render
2730without stepping on each others toes.")
2731 (license (list license:expat ; most of the code
2732 license:bsd-3 ; cogl/cogl-point-in-poly.c
2733 license:sgifreeb2.0 ; cogl-path/tesselator/
2734 license:asl2.0)))) ; examples/android/
fb182b8a
MW
2735
2736(define-public clutter
2737 (package
2738 (name "clutter")
6983ba56 2739 (version "1.26.0")
fb182b8a
MW
2740 (source
2741 (origin
2742 (method url-fetch)
2743 (uri (string-append "mirror://gnome/sources/" name "/"
2744 (version-major+minor version) "/"
2745 name "-" version ".tar.xz"))
2746 (sha256
2747 (base32
6983ba56 2748 "01nfjd4k7j2n3agpx2d9ncff86nfsqv4n23465rb9zmk4iw4wlb7"))))
fb182b8a 2749 (build-system gnu-build-system)
600233bd
LC
2750 (outputs '("out"
2751 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
2752 (native-inputs
2753 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
2754 ("gobject-introspection" ,gobject-introspection)
2755 ("pkg-config" ,pkg-config)
2756 ("xsltproc" ,libxslt)))
2757 (propagated-inputs
2758 `(("cogl" ,cogl)
2759 ("cairo" ,cairo)
2760 ("atk" ,atk)
2761 ("gtk+" ,gtk+)
2762 ("json-glib" ,json-glib)
2763 ("glib" ,glib)
2764 ("libxcomposite" ,libxcomposite)
2765 ("libxdamage" ,libxdamage)
2766 ("libxext" ,libxext)
2767 ("xinput" ,xinput)))
2768 (inputs
2769 `(("libxkbcommon" ,libxkbcommon)
2770 ("udev" ,eudev)))
2771 (arguments
600233bd
LC
2772 `(#:configure-flags (list "--enable-x11-backend=yes"
2773
2774 ;; This produces share/doc/{clutter,cally}.
2775 (string-append "--with-html-dir="
2776 (assoc-ref %outputs "doc")
2777 "/share/doc"))
fb182b8a
MW
2778 ;; XXX FIXME: Get test suite working. It would probably fail in the
2779 ;; same way the cogl tests fail, since clutter is based on cogl.
2780 #:tests? #f))
2781 (home-page "http://www.clutter-project.org")
2782 (synopsis "Open GL based interactive canvas library")
2783 (description
2784 "Clutter is an Open GL based interactive canvas library, designed for
2785creating fast, mainly 2D single window applications such as media box UIs,
2786presentations, kiosk style applications and so on.")
2787 (license license:lgpl2.0+)))
bf7f17ba
MW
2788
2789(define-public clutter-gtk
2790 (package
2791 (name "clutter-gtk")
6983ba56 2792 (version "1.8.0")
bf7f17ba
MW
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append "mirror://gnome/sources/" name "/"
2797 (version-major+minor version) "/"
2798 name "-" version ".tar.xz"))
2799 (sha256
2800 (base32
6983ba56 2801 "07dzvx0b3fsswxnpxgk0adjgccnrvbxsd971naqwndnfivbgjbkl"))))
bf7f17ba
MW
2802 (build-system gnu-build-system)
2803 (native-inputs
2804 `(("pkg-config" ,pkg-config)
2805 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
2806 (propagated-inputs
2807 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
2808 `(("clutter" ,clutter)
2809 ("gtk+" ,gtk+)))
2810 (home-page "http://www.clutter-project.org")
2811 (synopsis "Open GL based interactive canvas library GTK+ widget")
2812 (description
2813 "Clutter is an Open GL based interactive canvas library, designed for
2814creating fast, mainly 2D single window applications such as media box UIs,
2815presentations, kiosk style applications and so on.")
2816 (license license:lgpl2.0+)))
86d6a893
MW
2817
2818(define-public clutter-gst
2819 (package
2820 (name "clutter-gst")
6983ba56 2821 (version "3.0.18")
86d6a893
MW
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append "mirror://gnome/sources/" name "/"
2826 (version-major+minor version) "/"
2827 name "-" version ".tar.xz"))
2828 (sha256
2829 (base32
6983ba56 2830 "14w0pi9myvcn1yxzmk9sk8dghj17m5ji3aqdpfjikk90c060vv0a"))))
86d6a893
MW
2831 (build-system gnu-build-system)
2832 (native-inputs
2833 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2834 ("pkg-config" ,pkg-config)
2835 ("gobject-introspection" ,gobject-introspection)))
2836 (inputs
2837 `(("clutter" ,clutter)
2838 ("gstreamer" ,gstreamer)
2839 ("gst-plugins-base" ,gst-plugins-base)))
2840 (home-page "http://www.clutter-project.org")
2841 (synopsis "Integration library for using GStreamer with Clutter")
2842 (description
2843 "Clutter-Gst is an integration library for using GStreamer with Clutter.
2844It provides a GStreamer sink to upload frames to GL and an actor that
2845implements the ClutterGstPlayer interface using playbin. Clutter is an Open
2846GL based interactive canvas library.")
2847 (license license:lgpl2.0+)))
607a04ae 2848
30dc88d9
LC
2849(define-public libchamplain
2850 (package
2851 (name "libchamplain")
6983ba56 2852 (version "0.12.13")
30dc88d9
LC
2853 (source (origin
2854 (method url-fetch)
2855 (uri (string-append
2856 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
2857 version ".tar.xz"))
2858 (sha256
2859 (base32
6983ba56 2860 "1arzd1hsgq14rbiwa1ih2g250x6ljna2s2kiqfrw155c612s9cxk"))))
30dc88d9
LC
2861 (build-system gnu-build-system)
2862 (native-inputs `(("pkg-config" ,pkg-config)))
2863 (propagated-inputs
2864 `(("libsoup" ,libsoup)
2865 ("sqlite" ,sqlite)
2866 ("clutter" ,clutter)
2867 ("clutter-gtk" ,clutter-gtk)
2868 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
2869 ("cairo" ,cairo)
2870 ("gtk+3" ,gtk+)
2871 ("glib" ,glib)))
2872 (home-page "http://projects.gnome.org/libchamplain/")
2873 (synopsis "C library providing a ClutterActor to display maps")
2874 (description
2875 "libchamplain is a C library providing a ClutterActor to display maps.
2876It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
2877and Perl bindings are also available. It supports numerous free map sources
2878such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
2879 (license license:lgpl2.1+)))
2880
607a04ae
MW
2881(define-public gom
2882 (package
2883 (name "gom")
0510440b 2884 (version "0.3.2")
607a04ae
MW
2885 (source
2886 (origin
2887 (method url-fetch)
2888 (uri (string-append "mirror://gnome/sources/" name "/"
2889 (version-major+minor version) "/"
2890 name "-" version ".tar.xz"))
2891 (sha256
2892 (base32
0510440b 2893 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
2894 (build-system gnu-build-system)
2895 (native-inputs
2896 `(("intltool" ,intltool)
2897 ("pkg-config" ,pkg-config)
2898 ("gobject-introspection" ,gobject-introspection)))
2899 (inputs
2900 `(("glib" ,glib)
2901 ("gdk-pixbuf" ,gdk-pixbuf)
2902 ("sqlite" ,sqlite)))
2903 ;; XXX TODO: Figure out how to run the test suite.
2904 (arguments `(#:tests? #f))
2905 (home-page "https://wiki.gnome.org/Projects/Gom")
2906 (synopsis "Object mapper from GObjects to SQLite")
2907 (description
2908 "Gom provides an object mapper from GObjects to SQLite. It helps you
2909write applications that need to store structured data as well as make complex
2910queries upon that data.")
2911 (license license:lgpl2.1+)))
b7a3cf11 2912
f09520db
SB
2913(define-public libgames-support
2914 (package
2915 (name "libgames-support")
2916 (version "1.0.2")
2917 (source (origin
2918 (method url-fetch)
2919 (uri (string-append "mirror://gnome/sources/" name "/"
2920 (version-major+minor version) "/"
2921 name "-" version ".tar.xz"))
2922 (sha256
2923 (base32
2924 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
2925 (build-system gnu-build-system)
2926 (arguments
2927 '(#:phases
2928 (modify-phases %standard-phases
2929 (add-before 'check 'pre-check
2930 (lambda _
2931 ;; tests require a writable HOME.
2932 (setenv "HOME" (getcwd))
2933 #t)))))
2934 (native-inputs
2935 `(("intltool" ,intltool)
2936 ("pkg-config" ,pkg-config)
2937 ("vala" ,vala)))
2938 (propagated-inputs
2939 ;; Required by libgames-support-1.0.pc
2940 `(("gtk+" ,gtk+)
2941 ("libgee" ,libgee)))
2942 (home-page "https://www.gnome.org/")
2943 (synopsis "Useful functionality shared among GNOME games")
2944 (description
2945 "libgames-support is a small library intended for internal use by
2946GNOME Games, but it may be used by others.")
2947 (license license:lgpl3+)))
2948
b7a3cf11
SB
2949(define-public gnome-klotski
2950 (package
2951 (name "gnome-klotski")
41150c7d 2952 (version "3.20.1")
b7a3cf11
SB
2953 (source (origin
2954 (method url-fetch)
2955 (uri (string-append "mirror://gnome/sources/" name "/"
2956 (version-major+minor version) "/"
2957 name "-" version ".tar.xz"))
2958 (sha256
2959 (base32
41150c7d 2960 "1130v6sk9h74b3xgv0bq43anaw7xs9x8vdab3q7p9db6w0px02wj"))))
b7a3cf11
SB
2961 (build-system glib-or-gtk-build-system)
2962 (native-inputs
2963 `(("desktop-file-utils" ,desktop-file-utils)
2964 ("intltool" ,intltool)
2965 ("itstool" ,itstool)
bcb354ad
SB
2966 ("pkg-config" ,pkg-config)
2967 ("xmllint" ,libxml2)))
b7a3cf11
SB
2968 (inputs
2969 `(("gtk+" ,gtk+)
4e823eae 2970 ("libgames-support" ,libgames-support)
b7a3cf11
SB
2971 ("librsvg" ,librsvg)))
2972 (home-page "https://wiki.gnome.org/Apps/Klotski")
2973 (synopsis "Sliding block puzzles")
2974 (description
2975 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
2976the patterned block to the area bordered by green markers. To do so, you will
2977need to slide other blocks out of the way. Complete each puzzle in as few moves
2978as possible!")
2979 (license license:gpl2+)))
8d4791bf
MW
2980
2981(define-public grilo
2982 (package
2983 (name "grilo")
5ed159c5 2984 (version "0.3.0")
8d4791bf
MW
2985 (source
2986 (origin
2987 (method url-fetch)
2988 (uri (string-append "mirror://gnome/sources/" name "/"
2989 (version-major+minor version) "/"
2990 name "-" version ".tar.xz"))
2991 (sha256
2992 (base32
5ed159c5 2993 "0q5wcvnckpfks48hy0gvlfdmvqm67vnblm3912rssmkgc1ysil8z"))))
8d4791bf
MW
2994 (build-system gnu-build-system)
2995 (native-inputs
2996 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
2997 ("intltool" ,intltool)
2998 ("pkg-config" ,pkg-config)
2999 ("gobject-introspection" ,gobject-introspection)))
3000 (inputs
3001 `(("glib" ,glib)
3002 ("gtk+" ,gtk+)
3003 ("libxml2" ,libxml2)
3004 ;; XXX TODO: Add oauth
3005 ("libsoup" ,libsoup)
3006 ("totem-pl-parser" ,totem-pl-parser)))
3007 (arguments
3008 `(#:phases
3009 (modify-phases %standard-phases
3010 (add-after 'unpack 'fix-introspection-install-dir
3011 (lambda* (#:key outputs #:allow-other-keys)
3012 (let ((out (assoc-ref outputs "out")))
3013 (substitute* '("src/Makefile.in"
3014 "libs/pls/Makefile.in"
3015 "libs/net/Makefile.in")
3016 (("@INTROSPECTION_GIRDIR@")
3017 (string-append out "/share/gir-1.0/"))
3018 (("@INTROSPECTION_TYPELIBDIR@")
3019 (string-append out "/lib/girepository-1.0/")))))))))
3020 (native-search-paths
3021 (list (search-path-specification
3022 (variable "GRL_PLUGIN_PATH")
3023 (files (list (string-append "lib/grilo-"
3024 (version-major+minor version)))))))
3025 (home-page "http://live.gnome.org/Grilo")
3026 (synopsis "Framework for discovering and browsing media")
3027 (description
3028 "Grilo is a framework focused on making media discovery and browsing easy
3029for application developers.")
3030 (license license:lgpl2.1+)))
7b212526
MW
3031
3032(define-public grilo-plugins
3033 (package
3034 (name "grilo-plugins")
924ae80f 3035 (version "0.3.1")
7b212526
MW
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append "mirror://gnome/sources/" name "/"
3040 (version-major+minor version) "/"
3041 name "-" version ".tar.xz"))
3042 (sha256
3043 (base32
924ae80f 3044 "1akd7q6pqnkcnayrdfjb0qx5w5yyl06kxzwhqp2gxm4y1b208pb0"))))
7b212526
MW
3045 (build-system gnu-build-system)
3046 (native-inputs
3047 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3048 ("intltool" ,intltool)
3049 ("itstool" ,itstool)
3050 ("pkg-config" ,pkg-config)))
3051 (inputs
3052 `(("grilo" ,grilo)
924ae80f 3053 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3054 ("glib" ,glib)
3055 ("libxml2" ,libxml2)
3056 ("sqlite" ,sqlite)
3057 ("gom" ,gom)
3058 ;; XXX TODO: Add oauth
3059 ;; XXX TODO: Add goa
3060 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3061 ;; XXX TODO: Add lua (needs help finding it)
3062 ("json-glib" ,json-glib)
3063 ("avahi" ,avahi)
3064 ("gmime" ,gmime)
3065 ("libsoup" ,libsoup)
3066 ("libarchive" ,libarchive)
3067 ("totem-pl-parser" ,totem-pl-parser)))
3068 (arguments
3069 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3070 %output
3071 "/lib/grilo-"
3072 ,(version-major+minor version)))
3073 ;; XXX FIXME: Try to get the test suite working. It appears to require
3074 ;; a working system dbus. Inside the build container, all tests fail
3075 ;; with: "assertion failed: (source)". Outside of the build container,
3076 ;; most tests succeed.
3077 #:tests? #f))
3078 (home-page "http://live.gnome.org/Grilo")
3079 (synopsis "Plugins for the Grilo media discovery library")
3080 (description
3081 "Grilo is a framework focused on making media discovery and browsing easy
3082for application developers.")
3083 (license license:lgpl2.1+)))
4e3fc547
MW
3084
3085(define-public totem
3086 (package
3087 (name "totem")
88e88997 3088 (version "3.20.1")
4e3fc547
MW
3089 (source
3090 (origin
3091 (method url-fetch)
3092 (uri (string-append "mirror://gnome/sources/" name "/"
3093 (version-major+minor version) "/"
3094 name "-" version ".tar.xz"))
3095 (sha256
3096 (base32
e2b89203
MW
3097 "09swnhp46cyy2svqx02fzy555pjgc61lyjw56v9rz1mfc41lh8kg"))
3098 (patches (search-patches "totem-debug-format-fix.patch"))))
4e3fc547
MW
3099 (build-system glib-or-gtk-build-system)
3100 (native-inputs
3101 `(("pkg-config" ,pkg-config)
3102 ("desktop-file-utils" ,desktop-file-utils)
3103 ("gobject-introspection" ,gobject-introspection)
3104 ("intltool" ,intltool)
bcb354ad
SB
3105 ("itstool" ,itstool)
3106 ("xmllint" ,libxml2)))
4e3fc547
MW
3107 (propagated-inputs
3108 `(("dconf" ,dconf)))
3109 (inputs
3110 `(("gtk+" ,gtk+)
3111 ("gdk-pixbuf" ,gdk-pixbuf)
3112 ("atk" ,atk)
3113 ("cairo" ,cairo)
3114 ("dbus-glib" ,dbus-glib)
3115 ("clutter" ,clutter)
3116 ("clutter-gtk" ,clutter-gtk)
3117 ("clutter-gst" ,clutter-gst)
3118 ("xproto" ,xproto)
3119 ("libxxf86vm" ,libxxf86vm)
3120 ("libxtst" ,libxtst)
3121 ("libxrandr" ,libxrandr)
3122 ("libxml2" ,libxml2)
3123 ("libsoup" ,libsoup)
3124 ("libpeas" ,libpeas)
3125 ("librsvg" ,librsvg)
3126 ("lirc" ,lirc)
3127 ("gnome-desktop" ,gnome-desktop)
3128 ("gstreamer" ,gstreamer)
3129 ("gst-plugins-base" ,gst-plugins-base)
3130 ("gst-plugins-good" ,gst-plugins-good)
3131 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3132 ("adwaita-icon-theme" ,adwaita-icon-theme)
3133 ;; XXX We use python-2 because libxml2 because itstool (which needs
3134 ;; libxml) currently uses python-2.
3135 ("python" ,python-2)
3136 ("python-pygobject" ,python2-pygobject)
3137 ;; XXX TODO pylint needed for python support
3138 ("totem-pl-parser" ,totem-pl-parser)
3139 ("grilo" ,grilo)
3140 ("grilo-plugins" ,grilo-plugins)
3141 ("nettle" ,nettle)
3142 ("vala" ,vala)))
3143 (arguments
3144 `(#:phases
3145 (modify-phases %standard-phases
3146 (add-after
3147 'install 'wrap-totem
3148 (lambda* (#:key inputs outputs #:allow-other-keys)
3149 (let ((out (assoc-ref outputs "out"))
3150 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3151 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3152 (wrap-program (string-append out "/bin/totem")
3153 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3154 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3155 #t)))))
3156 (home-page "https://wiki.gnome.org/Apps/Videos")
3157 (synopsis "Simple media player for GNOME based on GStreamer")
3158 (description "Totem is a simple yet featureful media player for GNOME
3159which can read a large number of file formats.")
3160 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3161 ;; to be used and distributed together with GStreamer and Totem. See
3162 ;; file://COPYING in the source distribution for details.
3163 (license license:gpl2+)))
f0afb0c8
DH
3164
3165(define-public rhythmbox
3166 (package
3167 (name "rhythmbox")
3168 (version "3.2.1")
3169 (source (origin
3170 (method url-fetch)
3171 (uri (string-append "mirror://gnome/sources/" name "/"
3172 (version-major+minor version) "/"
3173 name "-" version ".tar.xz"))
3174 (sha256
3175 (base32
3176 "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
3177 (build-system glib-or-gtk-build-system)
3178 (arguments
3179 `(#:configure-flags
3180 (list "--enable-lirc"
3181 "--enable-python"
3182 "--enable-vala"
3183 "--with-brasero"
3184 "--with-gudev"
3185 "--with-libsecret")
3186 #:phases
3187 (modify-phases %standard-phases
3188 (add-after
3189 'install 'wrap-rhythmbox
3190 (lambda* (#:key inputs outputs #:allow-other-keys)
3191 (let ((out (assoc-ref outputs "out"))
3192 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3193 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3194 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3195 (wrap-program (string-append out "/bin/rhythmbox")
3196 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3197 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3198 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3199 #t)))))
3200 (propagated-inputs
3201 `(("dconf" ,dconf)))
3202 (native-inputs
bcb354ad
SB
3203 `(("itstool" ,itstool)
3204 ("intltool" ,intltool)
f0afb0c8
DH
3205 ("glib" ,glib "bin")
3206 ("gobject-introspection" ,gobject-introspection)
3207 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3208 ("pkg-config" ,pkg-config)
3209 ("xmllint" ,libxml2)))
f0afb0c8
DH
3210 (inputs
3211 `(("json-glib" ,json-glib)
3212 ("tdb" ,tdb)
3213 ("gnome-desktop" ,gnome-desktop)
3214 ("python" ,python)
3215 ("python-pygobject" ,python2-pygobject)
3216 ("vala" ,vala)
3217 ("gmime" ,gmime)
3218 ("nettle" ,nettle)
f0afb0c8
DH
3219 ("adwaita-icon-theme" ,adwaita-icon-theme)
3220 ("grilo" ,grilo)
3221 ("grilo-plugins" ,grilo-plugins)
3222 ("gstreamer" ,gstreamer)
3223 ("gst-plugins-base" ,gst-plugins-base)
3224 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3225 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3226 ("libgudev" ,libgudev)
f0afb0c8
DH
3227 ;;("libmtp" ,libmtp) FIXME: Not detected
3228 ("libsecret" ,libsecret)
3229 ("libsoup" ,libsoup)
3230 ("libnotify" ,libnotify)
3231 ("libpeas" ,libpeas)
3232 ("lirc" ,lirc)
3233 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3234 ;;("clutter" ,clutter)
3235 ;;("clutter-gtk" ,clutter-gtk)
3236 ;;("clutter-gst" ,clutter-gst)
3237 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3238 ("atk" ,atk)
3239 ("pango" ,pango)
3240 ("gtk+" ,gtk+)
3241 ;; TODO:
3242 ;; * libgpod
3243 ;; * mx
3244 ;; * webkit
3245 ("brasero" ,brasero)))
3246 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3247 (synopsis "Music player for GNOME")
3248 (description "Rhythmbox is a music playing application for GNOME. It
3249supports playlists, song ratings, and any codecs installed through gstreamer.")
3250 (license license:gpl2+)))
f70d8383
DH
3251
3252(define-public eog
3253 (package
3254 (name "eog")
3afeb02c 3255 (version "3.20.1")
f70d8383
DH
3256 (source (origin
3257 (method url-fetch)
3258 (uri (string-append "mirror://gnome/sources/" name "/"
3259 (version-major+minor version) "/"
3260 name "-" version ".tar.xz"))
3261 (sha256
3262 (base32
3afeb02c 3263 "0ll3vz1kyjagiqmrpypk1a4nwjhrjsapiz45bxblsjxjy641j0jg"))))
f70d8383
DH
3264 (build-system glib-or-gtk-build-system)
3265 (arguments
3266 `(#:phases
3267 (modify-phases %standard-phases
3268 (add-after
3269 'install 'wrap-eog
3270 (lambda* (#:key outputs #:allow-other-keys)
3271 (let ((out (assoc-ref outputs "out"))
3272 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3273 (wrap-program (string-append out "/bin/eog")
3274 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3275 #t)))))
3276 (propagated-inputs
3277 `(("dconf" ,dconf)))
3278 (native-inputs
3279 `(("intltool" ,intltool)
b3546174 3280 ("itstool" ,itstool)
f70d8383
DH
3281 ("glib" ,glib "bin")
3282 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3283 ("pkg-config" ,pkg-config)
3284 ("xmllint" ,libxml2)))
f70d8383
DH
3285 (inputs
3286 `(("gnome-desktop" ,gnome-desktop)
3287 ("shared-mime-info" ,shared-mime-info)
3288 ("adwaita-icon-theme" ,adwaita-icon-theme)
3289 ("exempi" ,exempi)
3290 ("lcms" ,lcms)
3291 ("libexif" ,libexif)
3292 ("libpeas" ,libpeas)
3293 ("libjpeg" ,libjpeg)
3294 ("librsvg" ,librsvg)
3295 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3296 ("gtk+" ,gtk+)))
3297 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3298 (synopsis "GNOME image viewer")
3299 (description "Eye of GNOME is the GNOME image viewer. It
3300supports image conversion, rotation, and slideshows.")
3301 (license license:gpl2+)))
41af5e7b
SB
3302
3303(define-public libgudev
3304 (package
3305 (name "libgudev")
3306 (version "230")
3307 (source (origin
3308 (method url-fetch)
3309 (uri (string-append "mirror://gnome/sources/" name "/"
3310 version "/" name "-" version ".tar.xz"))
3311 (sha256
3312 (base32
3313 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3314 (build-system gnu-build-system)
3315 (native-inputs
3316 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3317 ("gobject-introspection" ,gobject-introspection)
3318 ("pkg-config" ,pkg-config)))
3319 (propagated-inputs
3320 `(("glib" ,glib))) ; required by gudev-1.0.pc
3321 (inputs
3322 `(("udev" ,eudev)))
3323 (home-page "https://wiki.gnome.org/Projects/libgudev")
3324 (synopsis "GObject bindings for libudev")
3325 (description
3326 "This library provides GObject bindings for libudev. It was originally
3327part of udev-extras, then udev, then systemd. It's now a project on its own.")
3328 (license license:lgpl2.1+)))
3dc8828f
SB
3329
3330(define-public gvfs
3331 (package
3332 (name "gvfs")
ddfa9131 3333 (version "1.28.1")
3dc8828f
SB
3334 (source (origin
3335 (method url-fetch)
3336 (uri (string-append "mirror://gnome/sources/" name "/"
3337 (version-major+minor version) "/"
3338 name "-" version ".tar.xz"))
3339 (sha256
3340 (base32
ddfa9131 3341 "16bry61hg681bwb0pih86cjayzvc5f89ip5xd8fydcy16nnfbksf"))))
3dc8828f
SB
3342 (build-system gnu-build-system)
3343 (arguments
3344 '(#:tests? #f)) ; XXX: requiring `pidof'
3345 (native-inputs
3346 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3347 ("intltool" ,intltool)
3348 ("pkg-config" ,pkg-config)
3349 ("xsltproc" ,libxslt)))
3350 (inputs
3351 `(("avahi" ,avahi)
3352 ("docbook-xml" ,docbook-xml-4.2)
3353 ("docbook-xsl" ,docbook-xsl)
3354 ("dbus" ,dbus)
3355 ("fuse" ,fuse)
24a78aa6 3356 ("gcr" ,gcr)
3dc8828f
SB
3357 ("glib" ,glib)
3358 ("libarchive" ,libarchive)
3359 ("libbluray" ,libbluray)
3360 ("libcdio-paranoia" ,libcdio-paranoia)
3361 ("libgcrypt" ,libgcrypt)
3362 ("libgphoto2" ,libgphoto2)
3363 ("libgudev" ,libgudev)
3364 ("libmtp" ,libmtp)
3365 ("libsecret" ,libsecret)
3366 ("libsmbclient" ,samba)
3367 ("libsoup" ,libsoup)
3368 ("libxml2" ,libxml2)
3369 ("nettle" ,nettle) ; XXX: required by libarchive.pc
3370 ("udisks" ,udisks)))
3371 (home-page "https://wiki.gnome.org/gvfs/")
3372 (synopsis "Userspace virtual filesystem for GIO")
3373 (description
3374 "GVFS is a userspace virtual filesystem designed to work with the I/O
3375abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3376to all applications using the GIO API. It also supports exposing the GVFS
3377mounts to non-GIO applications using FUSE.
3378
3379GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3380DAV, and others.")
3381 (license license:lgpl2.0+)))
7c88b6bd
AW
3382
3383(define-public gusb
3384 (package
3385 (name "gusb")
3386 (version "0.2.6")
3387 (source (origin
3388 (method url-fetch)
3389 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3390 "gusb_"
3391 (string-join (string-split version #\.)
3392 "_")
3393 ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0h9dzaza81b0mx5jfh5cnc31xdynl0jsxgwvl6vqyhy8mnwfi5nr"))))
3397 (build-system gnu-build-system)
3398 (native-inputs
3399 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3400 ("gobject-introspection" ,gobject-introspection)
3401 ("pkg-config" ,pkg-config)
3402 ("vala" ,vala)
3403 ("autoconf" ,autoconf)
3404 ("automake" ,automake)
3405 ("libtool" ,libtool)
3406 ("gtk-doc" ,gtk-doc)))
3407 (propagated-inputs
3408 ;; Both of these are required by gusb.pc.
3409 `(("glib" ,glib)
3410 ("libusb" ,libusb)))
3411 (arguments
3412 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3413 #:phases
3414 (modify-phases %standard-phases
3415 (add-after 'unpack 'autogen
3416 (lambda _
3417 (and (zero? (system* "gtkdocize"))
3418 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3419 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3420 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3421 (description
3422 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3423asynchronous control, bulk and interrupt transfers with proper cancellation
3424and integration into a mainloop. This makes it easy to integrate low level
3425USB transfers with your high-level application or system daemon.")
3426 (license license:lgpl2.1+)))
0abe1d86
AW
3427
3428(define-public simple-scan
3429 (package
3430 (name "simple-scan")
fb9ca511 3431 (version "3.19.91")
0abe1d86
AW
3432 (source (origin
3433 (method url-fetch)
3434 (uri (string-append "https://launchpad.net/simple-scan/"
3435 (version-major+minor version) "/"
3436 version "/+download/simple-scan-"
3437 version ".tar.xz"))
3438 (sha256
3439 (base32
fb9ca511 3440 "1c5glf5vxgld41w4jxfqcv17q76qnh43fawpv33hncgh8d283xkf"))))
0abe1d86
AW
3441 (build-system glib-or-gtk-build-system)
3442 (inputs
3443 `(("gtk" ,gtk+)
3444 ("zlib" ,zlib)
3445 ("cairo" ,cairo)
3446 ("gdk-pixbuf" ,gdk-pixbuf)
3447 ("gusb" ,gusb)
3448 ("libgudev" ,libgudev)
3449 ("libsane" ,sane-backends)))
3450 (native-inputs
3451 `(("intltool" ,intltool)
3452 ("itstool" ,itstool)
3453 ("colord" ,colord)
3454 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3455 ("pkg-config" ,pkg-config)
bcb354ad
SB
3456 ("vala" ,vala)
3457 ("xmllint" ,libxml2)))
fb9ca511
TGR
3458 (arguments
3459 '(#:configure-flags '("--disable-packagekit")
3460 #:phases
3461 (modify-phases %standard-phases
3462 (add-after 'unpack 'clean
3463 (lambda _
3464 ;; Remove a left-over reference to PackageKit.
3465
3466 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3467
3468 ;; There are some generated C files erroneously
3469 ;; included in the source distribution, and this
3470 ;; one breaks the build by referring to a
3471 ;; non-existent header (packagekit.h)
3472 (delete-file "src/ui.c"))))))
0abe1d86
AW
3473 (home-page "https://launchpad.net/simple-scan")
3474 (synopsis "Document and image scanner")
3475 (description "Simple Scan is an easy-to-use application, designed to let
3476users connect their scanner and quickly have the image/document in an
3477appropriate format. Simple Scan is basically a frontend for SANE - which is
3478the same backend as XSANE uses. This means that all existing scanners will
3479work and the interface is well tested.")
3480 (license license:gpl3+)))
7549f984
SB
3481
3482(define-public epiphany
3483 (package
3484 (name "epiphany")
c51555f4 3485 (version "3.20.1")
7549f984
SB
3486 (source (origin
3487 (method url-fetch)
3488 (uri (string-append "mirror://gnome/sources/" name "/"
3489 (version-major+minor version) "/"
3490 name "-" version ".tar.xz"))
3491 (sha256
3492 (base32
c51555f4 3493 "1ry9z6d51gjbv5n8kspwdyfrdai2hrin2ixdicmyiq6xbryzcwbi"))))
7549f984
SB
3494 (build-system glib-or-gtk-build-system)
3495 (arguments
3496 ;; FIXME: tests run under Xvfb, but fail with:
3497 ;; /src/bookmarks/ephy-bookmarks/create:
3498 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
3499 ;; subsystem
3500 ;; FAIL
3501 '(#:tests? #f))
80a747c4
SB
3502 (propagated-inputs
3503 `(("dconf" ,dconf)))
7549f984
SB
3504 (native-inputs
3505 `(("intltool" ,intltool)
3506 ("itstool" ,itstool)
bcb354ad
SB
3507 ("pkg-config" ,pkg-config)
3508 ("xmllint" ,libxml2)))
7549f984
SB
3509 (inputs
3510 `(("avahi" ,avahi)
3511 ("gcr" ,gcr)
3512 ("glib-networking" ,glib-networking)
3513 ("gnome-desktop" ,gnome-desktop)
3514 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3515 ("iso-codes" ,iso-codes)
3516 ("libnotify" ,libnotify)
3517 ("libsecret" ,libsecret)
3518 ("libwnck" ,libwnck)
3519 ("libxslt" ,libxslt)
3520 ("nss" ,nss)
3521 ("sqlite" ,sqlite)
3522 ("webkitgtk" ,webkitgtk)))
3523 (home-page "https://wiki.gnome.org/Apps/Web")
3524 (synopsis "GNOME web browser")
3525 (description
3526 "Epiphany is a GNOME web browser targeted at non-technical users. Its
3527principles are simplicity and standards compliance.")
3528 (license license:gpl2+)))
a3856b2c
SB
3529
3530(define-public d-feet
3531 (package
3532 (name "d-feet")
3533 (version "0.3.10")
3534 (source (origin
3535 (method url-fetch)
3536 (uri (string-append "mirror://gnome/sources/" name "/"
3537 (version-major+minor version) "/"
3538 name "-" version ".tar.xz"))
3539 (sha256
3540 (base32
3541 "0nb31bvwnj7pcpm85g8bvgjc6s5kbqy8g4qp7pzqf8w6rdgxzw48"))))
3542 (build-system glib-or-gtk-build-system)
3543 (arguments
3544 '(#:out-of-source? #f ; tests need to run in the source directory.
3545 #:phases
3546 (modify-phases %standard-phases
3547 (add-before
3548 'check 'pre-check
86aff791 3549 (lambda _
a3856b2c
SB
3550 ;; The test suite requires a running X server.
3551 (system "Xvfb :1 &")
3552 (setenv "DISPLAY" ":1")
3553 ;; Don't fail on missing '/etc/machine-id'.
3554 (setenv "DBUS_FATAL_WARNINGS" "0")
3555 ;; tests.py and window.py don't meet E402:
3556 ;; E402 module level import not at top of file
3557 (substitute* "src/tests/Makefile"
86aff791
MW
3558 (("--ignore=E123") "--ignore=E123,E402"))
3559 #t))
a3856b2c
SB
3560 (add-after
3561 'install 'wrap-program
3562 (lambda* (#:key outputs #:allow-other-keys)
3563 (let ((prog (string-append (assoc-ref outputs "out")
3564 "/bin/d-feet")))
3565 (wrap-program prog
3566 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
3567 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
3568 #t))))))
a3856b2c
SB
3569 (native-inputs
3570 `(("intltool" ,intltool)
3571 ("itstool" ,itstool)
3572 ("pkg-config" ,pkg-config)
3573 ("python-pep8" ,python-pep8)
3574 ("xmllint" ,libxml2)
3575 ("xorg-server" ,xorg-server)))
3576 (inputs
3577 `(("gobject-introspection" ,gobject-introspection)
3578 ("gtk+" ,gtk+)
3579 ("python" ,python-wrapper)
3580 ("python-pygobject" ,python-pygobject)))
3581 (home-page "https://wiki.gnome.org/Apps/DFeet")
3582 (synopsis "D-Bus debugger")
3583 (description
3584 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
3585of running programs and invoke methods on those interfaces.")
3586 (license license:gpl2+)))
c3b97bd9
SB
3587
3588(define-public yelp-xsl
3589 (package
3590 (name "yelp-xsl")
27ad5743 3591 (version "3.20.1")
c3b97bd9
SB
3592 (source (origin
3593 (method url-fetch)
3594 (uri (string-append "mirror://gnome/sources/" name "/"
3595 (version-major+minor version) "/"
3596 name "-" version ".tar.xz"))
3597 (sha256
3598 (base32
27ad5743 3599 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
3600 (build-system gnu-build-system)
3601 (native-inputs
3602 `(("intltool" ,intltool)
3603 ("itstool" ,itstool)
3604 ("xmllint" ,libxml2)))
3605 (home-page "https://wiki.gnome.org/Apps/Yelp")
3606 (synopsis "XSL stylesheets for Yelp")
3607 (description
3608 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
3609to format Docbook and Mallard documents.")
3610 (license license:gpl2+)))
de3d612a
SB
3611
3612(define-public yelp
3613 (package
3614 (name "yelp")
b8967d48 3615 (version "3.20.1")
de3d612a
SB
3616 (source (origin
3617 (method url-fetch)
3618 (uri (string-append "mirror://gnome/sources/" name "/"
3619 (version-major+minor version) "/"
3620 name "-" version ".tar.xz"))
3621 (sha256
3622 (base32
b8967d48 3623 "1hh8yqbv0scn9nksk9mq94cb4sdczlzxplclv2wqr41jmm8v186x"))))
de3d612a
SB
3624 (build-system glib-or-gtk-build-system)
3625 (native-inputs
3626 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3627 ("intltool" ,intltool)
3628 ("itstool" ,itstool)
3629 ("pkg-config" ,pkg-config)))
3630 (propagated-inputs
3631 `(("dconf" ,dconf)))
3632 (inputs
ad1b7d8b
SB
3633 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3634 ("libxslt" ,libxslt)
de3d612a 3635 ("sqlite" ,sqlite)
4c28ca1d
SB
3636 ("webkitgtk" ,webkitgtk)
3637 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
3638 (home-page "https://wiki.gnome.org/Apps/Yelp")
3639 (synopsis "GNOME help browser")
3640 (description
3641 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
3642man, info, and HTML documents. It can locate documents according to the
3643freedesktop.org help system specification.")
3644 (license license:gpl2+)))
122d0d10
SB
3645
3646(define-public yelp-tools
3647 (package
3648 (name "yelp-tools")
50695955 3649 (version "3.18.0")
122d0d10
SB
3650 (source (origin
3651 (method url-fetch)
3652 (uri (string-append "mirror://gnome/sources/" name "/"
3653 (version-major+minor version) "/"
3654 name "-" version ".tar.xz"))
3655 (sha256
3656 (base32
50695955 3657 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
3658 (build-system gnu-build-system)
3659 (native-inputs
3660 `(("pkg-config" ,pkg-config)))
3661 (propagated-inputs
3662 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
3663 `(("itstool" ,itstool)
3664 ("xmllint" ,libxml2)
3665 ("xsltproc" ,libxslt)))
3666 (inputs
3667 `(("yelp-xsl" ,yelp-xsl)))
3668 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
3669 (synopsis "Yelp documentation tools")
3670 (description
3671 "Yelp-tools is a collection of scripts and build utilities to help create,
3672manage, and publish documentation for Yelp and the web. Most of the heavy
3673lifting is done by packages like yelp-xsl and itstool. This package just
3674wraps things up in a developer-friendly way.")
3675 (license license:gpl2+)))
af8f9f23
RW
3676
3677(define-public libgee
3678 (package
3679 (name "libgee")
3680 (version "0.18.0")
3681 (source (origin
3682 (method url-fetch)
3683 (uri (string-append "mirror://gnome/sources/" name "/"
3684 (version-major+minor version) "/"
3685 name "-" version ".tar.xz"))
3686 (sha256
3687 (base32
3688 "16a34js81w9m2bw4qd8csm4pcgr3zq5z87867j4b8wfh6zwrxnaa"))))
3689 (build-system gnu-build-system)
3690 (arguments
3691 `(#:phases
3692 (modify-phases %standard-phases
3693 (add-after 'unpack 'fix-introspection-install-dir
3694 (lambda* (#:key outputs #:allow-other-keys)
3695 (let ((out (assoc-ref outputs "out")))
3696 (substitute* "gee/Makefile.in"
3697 (("@INTROSPECTION_GIRDIR@")
3698 (string-append out "/share/gir-1.0/"))
3699 (("@INTROSPECTION_TYPELIBDIR@")
3700 (string-append out "/lib/girepository-1.0/")))))))))
3701 (native-inputs
3702 `(("glib" ,glib "bin")
3703 ("pkg-config" ,pkg-config)))
3704 (inputs
3705 `(("glib" ,glib)
3706 ("gobject-introspection" ,gobject-introspection)))
3707 (home-page "https://wiki.gnome.org/Projects/Libgee")
3708 (synopsis "GObject collection library")
3709 (description
3710 "Libgee is a utility library providing GObject-based interfaces and
3711classes for commonly used data structures.")
3712 (license license:lgpl2.1+)))
b0f9c4b8
RW
3713
3714(define-public gexiv2
3715 (package
3716 (name "gexiv2")
3717 (version "0.10.3")
3718 (source (origin
3719 (method url-fetch)
3720 (uri (string-append "mirror://gnome/sources/" name "/"
3721 (version-major+minor version) "/"
3722 name "-" version ".tar.xz"))
3723 (sha256
3724 (base32
3725 "121r5lv6l82pjr0ycdf2b01mdwy7sxwca2r068zrzylpc6bgn31r"))))
3726 (build-system gnu-build-system)
3727 (native-inputs
3728 `(("glib" ,glib "bin")
3729 ("pkg-config" ,pkg-config)))
3730 (propagated-inputs
3731 ;; Listed in "Requires" section of gexiv2.pc
3732 `(("exiv2" ,exiv2)))
3733 (inputs
3734 `(("glib" ,glib)
3735 ("gobject-introspection" ,gobject-introspection)))
3736 (home-page "https://wiki.gnome.org/Projects/gexiv2")
3737 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
3738 (description
3739 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
3740allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
3741metadata in photo and video files of various formats.")
3742 (license license:gpl2+)))
fed5a689
RW
3743
3744(define-public shotwell
3745 (package
3746 (name "shotwell")
f8b446ca 3747 (version "0.22.1")
fed5a689
RW
3748 (source (origin
3749 (method url-fetch)
3750 (uri (string-append "mirror://gnome/sources/" name "/"
3751 (version-major+minor version) "/"
3752 name "-" version ".tar.xz"))
3753 (sha256
3754 (base32
f8b446ca 3755 "1a9lx9a7p6fgaf838xlw98f73xxyxmg6jmm29830lsl8ynbhq9bk"))))
fed5a689
RW
3756 (build-system glib-or-gtk-build-system)
3757 (arguments
3758 `(#:tests? #f ;no "check" target
3759 #:make-flags '("CC=gcc")
3760 #:configure-flags '("--disable-gsettings-convert-install")
3761 #:out-of-source? #f))
3762 (native-inputs
3763 `(("pkg-config" ,pkg-config)
3764 ("gettext" ,gnu-gettext)
3765 ("m4" ,m4)
3766 ("desktop-file-utils" ,desktop-file-utils)
3767 ("vala" ,vala)
3768 ("which" ,which)
3769 ("gnome-doc-utils" ,gnome-doc-utils)
3770 ;; FIXME: I only added python2-libxml2 because xml2po needs it at
3771 ;; runtime. It should be propagated.
3772 ("python2-libxml2" ,python2-libxml2)
3773 ("python2" ,python-2)))
3774 (inputs
3775 `(("gstreamer" ,gstreamer)
3776 ("gst-plugins-base" ,gst-plugins-base)
3777 ("gst-plugins-good" ,gst-plugins-good)
3778 ("libgee" ,libgee)
3779 ("gexiv2" ,gexiv2)
3780 ("libraw" ,libraw)
3781 ("json-glib" ,json-glib)
3782 ("rest" ,rest)
3783 ("webkitgtk" ,webkitgtk-2.4)
3784 ("sqlite" ,sqlite)
3785 ("libsoup" ,libsoup)
3786 ("libxml2" ,libxml2)
3787 ("gtk+" ,gtk+)
3788 ("libgudev" ,libgudev)
3789 ("libgphoto2" ,libgphoto2)))
3790 (home-page "https://wiki.gnome.org/Apps/Shotwell")
3791 (synopsis "Photo manager for GNOME 3")
3792 (description
3793 "Shotwell is a digital photo manager designed for the GNOME desktop
3794environment. It allows you to import photos from disk or camera, organize
3795them by keywords and events, view them in full-window or fullscreen mode, and
3796share them with others via social networking and more.")
3797 (license license:lgpl2.1+)))
293ff8b2
DT
3798
3799(define-public file-roller
3800 (package
3801 (name "file-roller")
74cf8f6c 3802 (version "3.20.1")
293ff8b2
DT
3803 (source (origin
3804 (method url-fetch)
3805 (uri (string-append "mirror://gnome/sources/" name "/"
3806 (version-major+minor version) "/"
3807 name "-" version ".tar.xz"))
3808 (sha256
3809 (base32
74cf8f6c 3810 "0cx3d8mp0pxz9wcsb2ph7g1zy22m8z5x0a4f5vgfzl0jmrcxpcy8"))))
293ff8b2
DT
3811 (build-system glib-or-gtk-build-system)
3812 (native-inputs
3813 `(("intltool" ,intltool)
3814 ("pkg-config" ,pkg-config)))
3815 ;; TODO: Add libnautilus.
3816 (inputs
3817 `(("gtk+" ,gtk+)
3818 ("gdk-pixbuf" ,gdk-pixbuf)
3819 ("json-glib" ,json-glib)
3820 ("libarchive" ,libarchive)
3821 ("libnotify" ,libnotify)
3822 ("nettle" ,nettle)
3823 ("itstool" ,itstool)
3824 ("libxml2" ,libxml2)))
3825 (synopsis "Graphical archive manager for GNOME")
3826 (description "File Roller is an archive manager for the GNOME desktop
3827environment that allows users to view, unpack, and create compressed archives
3828such as gzip tarballs.")
3829 (home-page "http://fileroller.sourceforge.net/")
3830 (license license:gpl2+)))
7ce49365
SB
3831
3832(define-public gnome-session
3833 (package
3834 (name "gnome-session")
803ab416 3835 (version "3.20.1")
7ce49365
SB
3836 (source (origin
3837 (method url-fetch)
3838 (uri (string-append "mirror://gnome/sources/" name "/"
3839 (version-major+minor version) "/"
3840 name "-" version ".tar.xz"))
3841 (sha256
3842 (base32
803ab416 3843 "04w90gyl0kdx5vwmdcgfdk3qr9xhip00vgpgzci151agqwyzbs9a"))))
2914af3c
AW
3844 (arguments
3845 '(#:phases
3846 (modify-phases %standard-phases
3847 (add-before 'configure 'pre-configure
3848 (lambda* (#:key outputs #:allow-other-keys)
3849 ;; Use elogind instead of systemd.
3850 (substitute* "configure"
3851 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
3852 "libelogind")
3853 (("systemd") "elogind"))
3854 (substitute* "gnome-session/gsm-systemd.c"
3855 (("#include <systemd/sd-login.h>")
3856 "#include <elogind/sd-login.h>"))
3857 ;; Remove uses of the systemd journal.
3858 (substitute* "gnome-session/main.c"
3859 (("#ifdef HAVE_SYSTEMD") "#if 0"))
3860 (substitute* "gnome-session/gsm-manager.c"
3861 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
3862 (substitute* "gnome-session/gsm-autostart-app.c"
3863 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
3864 #t))
3865 (add-after 'install 'wrap-gnome-session
3866 (lambda* (#:key inputs outputs #:allow-other-keys)
3867 ;; Make sure 'gnome-session' finds the 'gsettings' program.
3868 (let ((glib (assoc-ref inputs "glib:bin"))
3869 (out (assoc-ref outputs "out")))
3870 (wrap-program (string-append out "/bin/gnome-session")
3871 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
3872 #t)))
3873 (add-after 'install 'disable-hardware-acceleration-check
3874 (lambda* (#:key outputs #:allow-other-keys)
3875 ;; Do not abort if hardware acceleration is missing. This allows
3876 ;; GNOME to run in QEMU and on low-end devices.
3877 (let ((out (assoc-ref outputs "out")))
3878 (substitute* (string-append out
3879 "/share/xsessions/gnome.desktop")
3880 (("gnome-session")
3881 "gnome-session --disable-acceleration-check"))
a0d7baaf 3882 #t))))
6cbc8d57 3883
2914af3c
AW
3884 #:configure-flags
3885 '("--enable-elogind")))
ba3cb5ab 3886 (build-system glib-or-gtk-build-system)
7ce49365
SB
3887 (native-inputs
3888 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3889 ("pkg-config" ,pkg-config)
3890 ("intltool" ,intltool)
3891 ("xsltproc" ,libxslt)))
3892 (inputs
2914af3c
AW
3893 `(("elogind" ,elogind)
3894 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 3895 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
3896 ("gtk+" ,gtk+)
3897 ("json-glib" ,json-glib)
3898 ("libsm" ,libsm)
3899 ("libxcomposite" ,libxcomposite)
3900 ("libxtst" ,libxtst)
3901 ("mesa" ,mesa)
3902 ("upower" ,upower)
3903 ("xtrans" ,xtrans)))
3904 (synopsis "Session manager for GNOME")
3905 (description
3906 "This package contains the GNOME session manager, as well as a
3907configuration program to choose applications starting on login.")
3908 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
3909 (license license:gpl2+)))
f47ba77e
SB
3910
3911(define-public gjs
3912 (package
3913 (name "gjs")
3914 (version "1.44.0")
3915 (source (origin
3916 (method url-fetch)
3917 (uri (string-append "mirror://gnome/sources/" name "/"
3918 (version-major+minor version) "/"
3919 name "-" version ".tar.xz"))
3920 (sha256
3921 (base32
3922 "106fgpr4y99sj68l72pnfa2za11ps4bn6p9z28fr79j7mpv61jc8"))
3923 (modules '((guix build utils)))
3924 (snippet '(substitute* "test/run-with-dbus"
3925 (("/bin/rm") "rm")))))
3926 (build-system gnu-build-system)
3927 (arguments
3928 '(#:phases
3929 (modify-phases %standard-phases
3930 (add-before
3931 'check 'pre-check
3932 (lambda _
3933 ;; For the missing /etc/machine-id.
3934 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07
SB
3935
3936 ;; XXX: fails with:
3937 ;; Failed to convert UTF-8 string to JS string: ...
3938 ;; TODO: actually fix it.
3939 (substitute* "installed-tests/js/testEverythingBasic.js"
3940 ((".*test_utf8_inout.*") ""))
f47ba77e
SB
3941 #t)))))
3942 (native-inputs
3943 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3944 ("pkg-config" ,pkg-config)
3945 ("xmllint" ,libxml2)
3946 ;; For testing
3947 ("dbus-launch" ,dbus)
3948 ("uuidgen" ,util-linux)
3949 ("xvfb" ,xorg-server)))
3950 (propagated-inputs
3951 ;; These are all in the Requires.private field of gjs-1.0.pc.
3952 `(("gobject-introspection" ,gobject-introspection)
3953 ("mozjs" ,mozjs-24)))
3954 (inputs
3955 `(("gtk+" ,gtk+)
3956 ("readline" ,readline)))
3957 (synopsis "Javascript bindings for GNOME")
3958 (home-page "http://live.gnome.org/Gjs")
3959 (description
3960 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
3961javascript engine and the GObject introspection framework.")
3962 (license license:gpl2+)))
329d731b
DH
3963
3964(define-public gedit
3965 (package
3966 (name "gedit")
6983ba56 3967 (version "3.20.1")
329d731b
DH
3968 (source (origin
3969 (method url-fetch)
3970 (uri (string-append "mirror://gnome/sources/" name "/"
3971 (version-major+minor version) "/"
3972 name "-" version ".tar.xz"))
3973 (sha256
3974 (base32
6983ba56 3975 "1i0x1jd9x1vpv8lwdlzwf0ml8jxh3b3l6nlg6pbnfjw47w3y6iws"))))
329d731b
DH
3976 (build-system glib-or-gtk-build-system)
3977 (arguments
33cd9bef
SB
3978 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
3979 #:phases
329d731b
DH
3980 (modify-phases %standard-phases
3981 (add-after
3982 'install 'wrap-gedit
3983 (lambda* (#:key inputs outputs #:allow-other-keys)
3984 (let ((out (assoc-ref outputs "out"))
3985 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
3986 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3987 (python-path (getenv "PYTHONPATH")))
329d731b 3988 (wrap-program (string-append out "/bin/gedit")
afc25242 3989 ;; For plugins.
329d731b 3990 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 3991 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
3992 ;; For language-specs.
3993 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
3994 "/share")))))
3995 #t)))))
3996 (propagated-inputs
3997 `(("dconf" ,dconf)))
3998 (native-inputs
3999 `(("intltool" ,intltool)
b3546174 4000 ("itstool" ,itstool)
329d731b
DH
4001 ("gobject-introspection" ,gobject-introspection)
4002 ("pkg-config" ,pkg-config)))
4003 (inputs
4004 `(("glib" ,glib)
4005 ("gtk+" ,gtk+)
4006 ("gtksourceview" ,gtksourceview)
4007 ("libpeas" ,libpeas)
4008 ("libxml2" ,libxml2)
329d731b
DH
4009 ("iso-codes" ,iso-codes)
4010 ("python-pygobject" ,python-pygobject)
4011 ("python" ,python)
4012 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4013 ("libx11" ,libx11)
4014 ("vala" ,vala)
4015 ("adwaita-icon-theme" ,adwaita-icon-theme)
4016 ("libsoup" ,libsoup)
4017 ("gnome-desktop" ,gnome-desktop)))
4018 (home-page "https://wiki.gnome.org/Apps/Gedit")
4019 (synopsis "GNOME text editor")
4020 (description "While aiming at simplicity and ease of use, gedit is a
4021powerful general purpose text editor.")
4022 (license license:gpl2+)))
b7179363
SB
4023
4024(define-public zenity
4025 (package
4026 (name "zenity")
6983ba56 4027 (version "3.20.0")
b7179363
SB
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "mirror://gnome/sources/" name "/"
4031 (version-major+minor version) "/"
4032 name "-" version ".tar.xz"))
4033 (sha256
4034 (base32
6983ba56 4035 "0j2sy6imwp41l75hy3fwr68n35drvanbwgmr42kc04zqjy9pbs02"))))
b7179363
SB
4036 (build-system gnu-build-system)
4037 (native-inputs
4038 `(("gettext" ,gnu-gettext)
4039 ("itstool" ,itstool)
4040 ("pkg-config" ,pkg-config)))
4041 (inputs
4042 `(("libnotify" ,libnotify)
4043 ("webkitgtk" ,webkitgtk)))
4044 (synopsis "Display graphical dialog boxes from shell scripts")
4045 (home-page "http://www.gnome.org")
4046 (description
4047 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4048to display dialog boxes from the commandline and shell scripts.")
4049 (license license:lgpl2.0+)))
60c3627c
SB
4050
4051(define-public mutter
4052 (package
4053 (name "mutter")
4a8573ad 4054 (version "3.20.1")
60c3627c
SB
4055 (source (origin
4056 (method url-fetch)
4057 (uri (string-append "mirror://gnome/sources/" name "/"
4058 (version-major+minor version) "/"
4059 name "-" version ".tar.xz"))
4060 (sha256
4061 (base32
4a8573ad 4062 "0752vkkmaaay8ziczqrf7z3735bq3brx2djw36arqsdhwawh6jba"))))
60c3627c
SB
4063 (build-system gnu-build-system)
4064 (arguments
4065 '(#:configure-flags
4066 ;; XXX: build fails with [-Werror]:
4067 ;; backends/meta-cursor-renderer.c:112:5: error:
4068 ;; implicit declaration of function ?roundf?
4069 '("--enable-compile-warnings=minimum")))
4070 (native-inputs
4071 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4072 ("gobject-introspection" ,gobject-introspection)
4073 ("intltool" ,intltool)
4074 ("pkg-config" ,pkg-config)))
4075 (propagated-inputs
4076 ;; libmutter.pc refers to all these.
4077 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4078 ("gtk+" ,gtk+)
4079 ("clutter" ,clutter)))
4080 (inputs
4081 `(("gnome-desktop" ,gnome-desktop)
4082 ("libcanberra-gtk" ,libcanberra)
4083 ("libice" ,libice)
4084 ("libsm" ,libsm)
4085 ("libxkbcommon" ,libxkbcommon)
4086 ("libxkbfile" ,libxkbfile)
4087 ("mesa-headers" ,mesa-headers)
4088 ("startup-notification" ,startup-notification)
4089 ("upower-glib" ,upower)
4090 ("xkeyboard-config" ,xkeyboard-config)
4091 ("zenity" ,zenity)))
4092 (synopsis "Window and compositing manager")
4093 (home-page "http://www.gnome.org")
4094 (description
4095 "Mutter is a window and compositing manager that displays and manages your
4096desktop via OpenGL. Mutter combines a sophisticated display engine using the
4097Clutter toolkit with solid window-management logic inherited from the Metacity
4098window manager.")
4099 (license license:gpl2+)))
685cee87
SB
4100
4101(define-public gnome-online-accounts
4102 (package
4103 (name "gnome-online-accounts")
223f5d5d 4104 (version "3.20.1")
685cee87
SB
4105 (source (origin
4106 (method url-fetch)
4107 (uri (string-append "mirror://gnome/sources/" name "/"
4108 (version-major+minor version) "/"
4109 name "-" version ".tar.xz"))
4110 (sha256
4111 (base32
223f5d5d 4112 "14qcih1g136sn2aklzagv83jl82d3qc598rkdm8zac9gw70ynyn3"))))
685cee87
SB
4113 (build-system glib-or-gtk-build-system)
4114 (native-inputs
4115 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4116 ("gobject-introspection" ,gobject-introspection)
4117 ("intltool" ,intltool)
4118 ("pkg-config" ,pkg-config)
4119 ("xsltproc" ,libxslt)))
4120 (propagated-inputs
4121 `(("glib" ,glib) ; required by goa-1.0.pc
4122 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4123 (inputs
4124 `(("docbook-xsl" ,docbook-xsl)
4125 ("json-glib" ,json-glib)
4126 ("libsecret" ,libsecret)
4127 ("rest" ,rest)
4128 ("telepathy-glib" ,telepathy-glib)
4129 ("webkitgtk" ,webkitgtk)))
4130 (synopsis "Single sign-on framework for GNOME")
4131 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4132 (description
4133 "GNOME Online Accounts provides interfaces so that applications and
4134libraries in GNOME can access the user's online accounts. It has providers for
4135Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4136Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4137 (license license:lgpl2.0+)))
df217748
SB
4138
4139(define-public evolution-data-server
4140 (package
4141 (name "evolution-data-server")
c1387d36 4142 (version "3.20.1")
df217748
SB
4143 (source (origin
4144 (method url-fetch)
4145 (uri (string-append "mirror://gnome/sources/" name "/"
4146 (version-major+minor version) "/"
4147 name "-" version ".tar.xz"))
4148 (sha256
4149 (base32
c1387d36 4150 "0lsbhzacr2bs90z8sx44vf403r0h2yqsy4l2svrh5hjnassgdyqx"))))
df217748
SB
4151 (build-system gnu-build-system)
4152 (arguments
4153 '(;; XXX: fails with:
4154 ;; /Fixture/Calendar0: cleaning up pid xxxx
4155 ;; t status: 139)
4156 #:tests? #f
4157 #:configure-flags
4158 (let ((nss (assoc-ref %build-inputs "nss"))
4159 (nspr (assoc-ref %build-inputs "nspr")))
4160 (list "--disable-uoa" ; disable Ubuntu Online Accounts support
4161 "--disable-google" ; disable Google Contacts support
c1387d36 4162 "--disable-google-auth" ; disable Google authentication
df217748
SB
4163 (string-append "--with-nspr-includes=" nspr "/include/nspr")
4164 (string-append "--with-nss-includes=" nss "/include/nss")
4165 (string-append "--with-nss-libs=" nss "/lib/nss")))
4166 #:phases
4167 (modify-phases %standard-phases
4168 (add-before 'check 'pre-check
4169 (lambda _
4170 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4171 (("/bin/rm") (which "rm")))
4172 #t)))))
4173 (native-inputs
4174 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4175 ("gobject-introspection" ,gobject-introspection)
4176 ("gperf" ,gperf)
4177 ("intltool" ,intltool)
4178 ("pkg-config" ,pkg-config)
4179 ("python" ,python)))
4180 (propagated-inputs
4181 ;; These are all in the Requires field of .pc files.
4182 `(("gtk+" ,gtk+)
4183 ("libical" ,libical)
4184 ("libsecret" ,libsecret)
4185 ("libsoup" ,libsoup)
4186 ("nss" ,nss)
4187 ("sqlite" ,sqlite)))
4188 (inputs
4189 `(("bdb" ,bdb)
4190 ("gcr" ,gcr)
4191 ("gnome-online-accounts" ,gnome-online-accounts)
4192 ("libgweather" ,libgweather)))
4193 (synopsis "Store address books and calendars")
4194 (home-page "https://wiki.gnome.org/Apps/Evolution")
4195 (description
4196 "This package provides a unified backend for programs that work with
4197contacts, tasks, and calendar information. It was originally developed for
4198Evolution (hence the name), but is now used by other packages as well.")
4199 (license license:lgpl2.0)))
bd7dfafa
SB
4200
4201(define-public caribou
4202 (package
4203 (name "caribou")
6983ba56 4204 (version "0.4.20")
bd7dfafa
SB
4205 (source (origin
4206 (method url-fetch)
4207 (uri (string-append "mirror://gnome/sources/" name "/"
4208 (version-major+minor version) "/"
4209 name "-" version ".tar.xz"))
4210 (sha256
4211 (base32
6983ba56 4212 "1nahpfs5ap9f9wsvn93kg8isqffk60v785f1q6k64awcd7an8ris"))))
bd7dfafa
SB
4213 (build-system glib-or-gtk-build-system)
4214 (arguments
4215 '(#:phases
4216 (modify-phases %standard-phases
4217 (add-before
4218 'build 'pre-build
4219 (lambda* (#:key outputs #:allow-other-keys)
4220 (let ((out (assoc-ref outputs "out")))
4221 ;; Use absolute shared library path in Caribou-1.0.typelib.
4222 (substitute* "libcaribou/Makefile"
4223 (("--shared-library=libcaribou.so")
4224 (string-append "--shared-library="
4225 out "/lib/libcaribou.so")))
4226 #t)))
4227 (add-after 'install 'wrap-programs
4228 (lambda* (#:key outputs #:allow-other-keys)
4229 (let* ((out (assoc-ref outputs "out"))
4230 (python-path (getenv "PYTHONPATH"))
4231 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4232 (for-each
4233 (lambda (prog)
4234 (wrap-program prog
4235 `("PYTHONPATH" ":" prefix (,python-path))
4236 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4237 (list (string-append out "/bin/caribou-preferences")
4238 (string-append out "/libexec/antler-keyboard"))))
4239 #t)))))
4240 (native-inputs
4241 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4242 ("gobject-introspection" ,gobject-introspection)
4243 ("intltool" ,intltool)
4244 ("pkg-config" ,pkg-config)
4245 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4246 ("vala" ,vala)
4247 ("xsltproc" ,libxslt)))
4248 (propagated-inputs
4249 ;; caribou-1.0.pc refers to all these.
4250 `(("libgee" ,libgee)
4251 ("libxklavier" ,libxklavier)
4252 ("libxtst" ,libxtst)
4253 ("gtk+" ,gtk+)))
4254 (inputs
4255 `(("clutter" ,clutter)
4256 ("dconf" ,dconf)
4257 ("gtk+-2" ,gtk+-2)
4258 ("python-pygobject" ,python2-pygobject)))
4259 (synopsis "Text entry and UI navigation application")
4260 (home-page "https://wiki.gnome.org/Projects/Caribou")
4261 (description
4262 "Caribou is an input assistive technology intended for switch and pointer
4263users.")
4264 (license license:lgpl2.1)))
ba5dd105 4265
ba5dd105
SB
4266(define-public network-manager
4267 (package
4268 (name "network-manager")
142bdcbc 4269 (version "1.2.0")
ba5dd105
SB
4270 (source (origin
4271 (method url-fetch)
4272 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4273 (version-major+minor version) "/"
4274 "NetworkManager-" version ".tar.xz"))
4275 (sha256
4276 (base32
142bdcbc 4277 "101axwk3bc1pm9m98vwrnxyjna6w0qgzaskgivldq69xz8qcyiz9"))))
ba5dd105
SB
4278 (build-system gnu-build-system)
4279 (outputs '("out"
4280 "doc")) ; 8 MiB of gtk-doc HTML
4281 (arguments
4282 '(#:configure-flags
4283 (let ((out (assoc-ref %outputs "out"))
4284 (doc (assoc-ref %outputs "doc"))
4285 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4286 "/sbin/dhclient")))
4287 (list "--with-crypto=gnutls"
4288 "--disable-config-plugin-ibft"
4289 "--sysconfdir=/etc"
4290 "--localstatedir=/var"
4291 (string-append "--with-udev-dir="
4292 out "/lib/udev")
4293 (string-append "--with-dbus-sys-dir="
4294 out "/etc/dbus-1/system.d")
4295 (string-append "--with-html-dir="
4296 doc "/share/gtk-doc/html")
4297 (string-append "--with-dhclient=" dhclient)))
4298 #:phases
4299 (modify-phases %standard-phases
b4f59d87
AW
4300 (add-before 'configure 'pre-configure
4301 (lambda _
4302 ;; These tests try to test aspects of network-manager's
4303 ;; functionality within restricted containers, but they don't
4304 ;; cope with being already in the Guix build jail as that jail
4305 ;; lacks some features that they would like to proxy over (like
4306 ;; a /sys mount).
142bdcbc
SB
4307 (substitute* '("src/platform/Makefile.in"
4308 "src/devices/Makefile.in")
b4f59d87
AW
4309 (("SUBDIRS = tests") ""))
4310 (substitute* '("src/tests/Makefile.in")
4311 (("\ttest-route-manager-linux") "\t")
4312 (("\ttest-route-manager-fake") "\t"))
4313 #t))
ba5dd105
SB
4314 (add-before 'check 'pre-check
4315 (lambda _
4316 ;; For the missing /etc/machine-id.
4317 (setenv "DBUS_FATAL_WARNINGS" "0")
4318 #t))
4319 (replace 'install
4320 (lambda _
4321 (zero? (system* "make"
4322 "sysconfdir=/tmp"
142bdcbc
SB
4323 "rundir=/tmp"
4324 "statedir=/tmp"
ba5dd105
SB
4325 "install")))))))
4326 (native-inputs
4327 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4328 ("gobject-introspection" ,gobject-introspection)
4329 ("intltool" ,intltool)
4330 ("pkg-config" ,pkg-config)
4331 ;; For testing.
4332 ("python" ,python-wrapper)
4333 ("python-dbus" ,python-dbus)
4334 ("python-pygobject" ,python-pygobject)))
4335 (inputs
4336 `(("dbus-glib" ,dbus-glib)
4337 ("dnsmasq" ,dnsmasq)
4338 ("gnutls" ,gnutls)
4339 ("iptables" ,iptables)
4340 ("isc-dhcp" ,isc-dhcp)
4341 ("libgcrypt" ,libgcrypt)
4342 ("libgudev" ,libgudev)
4343 ("libndp" ,libndp)
4344 ("libnl" ,libnl)
4345 ("libsoup" ,libsoup)
142bdcbc 4346 ("modem-manager" ,modem-manager)
ba5dd105
SB
4347 ("polkit" ,polkit)
4348 ("ppp" ,ppp)
4349 ("readline" ,readline)
4350 ("util-linux" ,util-linux)))
4351 (synopsis "Network connection manager")
4352 (home-page "http://www.gnome.org/projects/NetworkManager/")
4353 (description
4354 "NetworkManager is a system network service that manages your network
4355devices and connections, attempting to keep active network connectivity when
4356available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4357devices, and provides VPN integration with a variety of different VPN
4358services.")
4359 (license license:gpl2+)))
4d62a9d3
SB
4360
4361(define-public network-manager-applet
4362 (package
4363 (name "network-manager-applet")
bbbb77e4 4364 (version "1.2.0")
4d62a9d3
SB
4365 (source (origin
4366 (method url-fetch)
4367 (uri (string-append "mirror://gnome/sources/" name "/"
4368 (version-major+minor version) "/"
4369 name "-" version ".tar.xz"))
4370 (sha256
4371 (base32
bbbb77e4 4372 "0dhvk3dvy6djn6blpkv46dn6yfh28wsh6mpl0v53qxfip97j8kwk"))))
4d62a9d3
SB
4373 (build-system glib-or-gtk-build-system)
4374 (arguments '(#:configure-flags '("--disable-migration")))
4375 (native-inputs
4376 `(("intltool" ,intltool)
4377 ("gobject-introspection" ,gobject-introspection)
4378 ("pkg-config" ,pkg-config)))
4379 (propagated-inputs
4380 ;; libnm-gtk.pc refers to all these.
4381 `(("dbus-glib" ,dbus-glib)
4382 ("gtk+" ,gtk+)
4383 ("network-manager" ,network-manager)))
4384 (inputs
4385 `(("iso-codes" ,iso-codes)
4386 ("libgudev" ,libgudev)
4387 ("libnotify" ,libnotify)
4388 ("libsecret" ,libsecret)))
4389 (synopsis "Applet for managing network connections")
4390 (home-page "http://www.gnome.org/projects/NetworkManager/")
4391 (description
4392 "This package contains a systray applet for NetworkManager. It displays
4393the available networks and allows users to easily switch between them.")
4394 (license license:gpl2+)))
56196594
RW
4395
4396(define-public libxml++
4397 (package
4398 (name "libxml++")
f5821956 4399 (version "3.0.0")
56196594
RW
4400 (source (origin
4401 (method url-fetch)
4402 (uri (string-append "mirror://gnome/sources/" name "/"
4403 (version-major+minor version) "/"
4404 name "-" version ".tar.xz"))
4405 (sha256
4406 (base32
f5821956 4407 "0lkrajbdys5f6w6qwfijih3hnbk4c6809qx2mmxkb7bj2w269wrg"))))
56196594
RW
4408 (build-system gnu-build-system)
4409 ;; libxml++-3.0.pc refers to all these.
4410 (propagated-inputs
4411 `(("libxml2" ,libxml2)
4412 ("glibmm" ,glibmm)))
4413 (native-inputs
4414 `(("perl" ,perl)
4415 ("pkg-config" ,pkg-config)))
4416 (home-page "http://libxmlplusplus.sourceforge.net/")
4417 (synopsis "C++ wrapper for XML parser library libxml2")
4418 (description
4419 "This package provides a C++ wrapper for the XML parser library
4420libxml2.")
4421 (license license:lgpl2.1+)))
df12f04a
SB
4422
4423(define-public gdm
4424 (package
4425 (name "gdm")
906943df 4426 (version "3.20.1")
df12f04a
SB
4427 (source (origin
4428 (method url-fetch)
4429 (uri (string-append "mirror://gnome/sources/" name "/"
4430 (version-major+minor version) "/"
4431 name "-" version ".tar.xz"))
4432 (sha256
4433 (base32
906943df 4434 "17vqcnqnwx7s5xzgn358gsgbmpz7k90sh1qrwrh3wnj5r0pm38hh"))))
df12f04a
SB
4435 (build-system gnu-build-system)
4436 (arguments
4437 '(#:configure-flags
4438 '("--without-plymouth")
4439 #:phases
4440 (modify-phases %standard-phases
4441 (add-before
4442 'configure 'pre-configure
4443 (lambda _
4444 ;; We don't have <systemd/sd-daemon.h>.
4445 (substitute* '("common/gdm-log.c"
4446 "daemon/gdm-server.c"
4447 "daemon/gdm-session-worker.c"
4448 "daemon/gdm-session-worker-job.c")
4449 (("#include <systemd/sd-daemon\\.h>") ""))
4450 ;; Use elogind for sd-login.
4451 (substitute* '("common/gdm-common.c"
4452 "daemon/gdm-manager.c"
4453 "libgdm/gdm-user-switching.c")
4454 (("#include <systemd/sd-login\\.h>")
4455 "#include <elogind/sd-login.h>"))
4456 ;; Avoid checking SYSTEMD using pkg-config.
4457 (setenv "SYSTEMD_CFLAGS" " ")
4458 (setenv "SYSTEMD_LIBS" "-lelogind")
4459 #t)))))
4460 (native-inputs
4461 `(("dconf" ,dconf)
4462 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4463 ("gobject-introspection" ,gobject-introspection)
4464 ("intltool" ,intltool)
4465 ("itstool" ,itstool)
4466 ("pkg-config" ,pkg-config)
4467 ("xmllint" ,libxml2)))
4468 (inputs
4469 `(("accountsservice" ,accountsservice)
4470 ("check" ,check) ; for testing
4471 ("elogind" ,elogind)
4472 ("gtk+" ,gtk+)
4473 ("iso-codes" ,iso-codes)
4474 ("libcanberra" ,libcanberra)
4475 ("linux-pam" ,linux-pam)))
4476 (synopsis "Display manager for GNOME")
4477 (home-page "http://wiki.gnome.org/Projects/GDM/")
4478 (description
4479 "GNOME Display Manager is a system service that is responsible for
4480providing graphical log-ins and managing local and remote displays.")
4481 (license license:gpl2+)))
8e1dd04f
SB
4482
4483(define-public libgtop
4484 (package
4485 (name "libgtop")
6983ba56 4486 (version "2.34.0")
8e1dd04f
SB
4487 (source (origin
4488 (method url-fetch)
4489 (uri (string-append "mirror://gnome/sources/" name "/"
4490 (version-major+minor version) "/"
4491 name "-" version ".tar.xz"))
4492 (sha256
4493 (base32
6983ba56 4494 "0apfnh9k6vmbdm8ms5wxyhagrrl8r88fv48k7q5qq70df2gf72ld"))))
8e1dd04f
SB
4495 (build-system gnu-build-system)
4496 (native-inputs
4497 `(("gobject-introspection" ,gobject-introspection)
4498 ("intltool" ,intltool)
4499 ("perl" ,perl)
4500 ("pkg-config" ,pkg-config)))
4501 (propagated-inputs
4502 `(("glib" ,glib))) ; required by libgtop-2.0.pc
4503 (synopsis "Portable system access library")
4504 (home-page "https://www.gnome.org/")
4505 (description
4506 "LibGTop is a library to get system specific data such as CPU and memory
4507usage and information about running processes.")
4508 (license license:gpl2+)))
b96c4260
SB
4509
4510(define-public gnome-bluetooth
4511 (package
4512 (name "gnome-bluetooth")
6983ba56 4513 (version "3.18.3")
b96c4260
SB
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append "mirror://gnome/sources/" name "/"
4517 (version-major+minor version) "/"
4518 name "-" version ".tar.xz"))
4519 (sha256
4520 (base32
6983ba56 4521 "1qwc9q7x22sc71zhqv4db78rqzxl6fqfw6d978ydqap54c2bg0g4"))))
b96c4260
SB
4522 (build-system glib-or-gtk-build-system)
4523 (native-inputs
4524 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
4525 ("gobject-introspection" ,gobject-introspection)
4526 ("intltool" ,intltool)
4527 ("pkg-config" ,pkg-config)
4528 ("xmllint" ,libxml2)))
4529 (propagated-inputs
4530 ;; gnome-bluetooth-1.0.pc refers to all these.
4531 `(("gtk+" ,gtk+)
4532 ("udev" ,eudev)))
4533 (inputs
4534 `(("libcanberra" ,libcanberra)
4535 ("libnotify" ,libnotify)))
4536 (synopsis "GNOME Bluetooth subsystem")
4537 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
4538 (description
4539 "This package contains tools for managing and manipulating Bluetooth
4540devices using the GNOME desktop.")
4541 (license license:lgpl2.1+)))
b645146f
SB
4542
4543(define-public gnome-control-center
4544 (package
4545 (name "gnome-control-center")
8b6b7c73 4546 (version "3.20.1")
b645146f
SB
4547 (source (origin
4548 (method url-fetch)
4549 (uri (string-append "mirror://gnome/sources/" name "/"
4550 (version-major+minor version) "/"
4551 name "-" version ".tar.xz"))
4552 (sha256
4553 (base32
8b6b7c73 4554 "1vd1h31vwyq7ss5f1151gx1vdsy35sjmapjmmz7x73ppc3y78r6f"))))
b645146f
SB
4555 (build-system glib-or-gtk-build-system)
4556 (arguments
4557 '(#:phases
4558 (modify-phases %standard-phases
4559 (add-before 'configure 'patch-paths
4560 (lambda* (#:key inputs #:allow-other-keys)
4561 (let ((libc (assoc-ref inputs "libc"))
4562 (tzdata (assoc-ref inputs "tzdata")))
4563 (substitute* "panels/datetime/tz.h"
4564 (("/usr/share/zoneinfo/zone.tab")
4565 (string-append tzdata "/share/zoneinfo/zone.tab")))
4566 (substitute* "panels/datetime/test-endianess.c"
4567 (("/usr/share/locale")
4568 (string-append libc "/share/locale")))
4569 #t))))))
4570 (native-inputs
4571 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4572 ("intltool" ,intltool)
4573 ("pkg-config" ,pkg-config)
4574 ("xsltproc" ,libxslt)))
4575 (inputs
4576 `(("accountsservice" ,accountsservice)
4577 ("clutter-gtk" ,clutter-gtk)
4578 ("colord-gtk" ,colord-gtk)
4579 ("cups" ,cups)
4580 ("dconf" ,dconf)
4581 ("docbook-xsl" ,docbook-xsl)
4582 ("gnome-bluetooth" ,gnome-bluetooth)
4583 ("gnome-desktop" ,gnome-desktop)
4584 ("gnome-online-accounts" ,gnome-online-accounts)
4585 ("gnome-settings-daemon" ,gnome-settings-daemon)
4586 ("grilo" ,grilo)
4587 ("ibus" ,ibus)
4588 ("libcanberra" ,libcanberra)
4589 ("libgudev" ,libgudev)
4590 ("libgtop" ,libgtop)
4591 ("libpwquality" ,libpwquality)
4592 ("libsoup" ,libsoup)
4593 ("libxml2" ,libxml2)
4594 ("libwacom" ,libwacom)
4595 ("mesa" ,mesa)
4596 ("mit-krb5" ,mit-krb5)
4597 ("modem-manager" ,modem-manager)
4598 ("network-manager-applet" ,network-manager-applet)
4599 ("polkit" ,polkit)
4600 ("pulseaudio" ,pulseaudio)
4601 ("smbclient" ,samba)
4602 ("tzdata" ,tzdata)
4603 ("upower" ,upower)))
4604 (synopsis "Utilities to configure the GNOME desktop")
4605 (home-page "https://www.gnome.org/")
4606 (description
4607 "This package contains configuration applets for the GNOME desktop,
4608allowing to set accessibility configuration, desktop fonts, keyboard and mouse
4609properties, sound setup, desktop theme and background, user interface
4610properties, screen resolution, and other GNOME parameters.")
4611 (license license:gpl2+)))
a4df5756
SB
4612
4613(define-public gnome-shell
4614 (package
4615 (name "gnome-shell")
82ab7647 4616 (version "3.20.1")
a4df5756
SB
4617 (source (origin
4618 (method url-fetch)
4619 (uri (string-append "mirror://gnome/sources/" name "/"
4620 (version-major+minor version) "/"
4621 name "-" version ".tar.xz"))
4622 (sha256
4623 (base32
82ab7647 4624 "08cgbr15cim3rgcngrv98rm48pkdxwj4nqx5za1lsnv376m4x5bs"))))
a4df5756
SB
4625 (build-system glib-or-gtk-build-system)
4626 (arguments
4627 '(#:phases
4628 (modify-phases %standard-phases
4629 (replace 'install
4630 (lambda* (#:key outputs #:allow-other-keys)
4631 (let* ((out (assoc-ref outputs "out"))
4632 (keysdir (string-append
4633 out "/share/gnome-control-center/keybindings")))
4634 (zero? (system* "make"
4635 (string-append "keysdir=" keysdir)
4636 "install")))))
4637 (add-after
4638 'install 'wrap-programs
4639 (lambda* (#:key outputs #:allow-other-keys)
4640 (let ((out (assoc-ref outputs "out"))
4641 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4642 (python-path (getenv "PYTHONPATH")))
4643 (wrap-program (string-append out "/bin/gnome-shell")
4644 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
4645 (for-each
4646 (lambda (prog)
4647 (wrap-program (string-append out "/bin/" prog)
4648 `("PYTHONPATH" ":" prefix (,python-path))
4649 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4650 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
4651 #t))))))
4652 (native-inputs
4653 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4654 ("gobject-introspection" ,gobject-introspection)
4655 ("intltool" ,intltool)
4656 ("pkg-config" ,pkg-config)
4657 ("python" ,python)
4658 ("xsltproc" ,libxslt)))
4659 (inputs
4660 `(("accountsservice" ,accountsservice)
4661 ("caribou" ,caribou)
4662 ("docbook-xsl" ,docbook-xsl)
4663 ("evolution-data-server" ,evolution-data-server)
4664 ("gcr" ,gcr)
4665 ("gdm" ,gdm)
4666 ("gjs" ,gjs)
4667 ("gnome-bluetooth" ,gnome-bluetooth)
4668 ("gnome-control-center" ,gnome-control-center)
4669 ("gnome-desktop" ,gnome-desktop)
4670 ("gnome-settings-daemon" ,gnome-settings-daemon)
4671 ("gst-plugins-base" ,gst-plugins-base)
4672 ("ibus" ,ibus)
4673 ("libcanberra" ,libcanberra)
4674 ("libcroco" ,libcroco)
4675 ("libgweather" ,libgweather)
4676 ("libsoup" ,libsoup)
4677 ("mesa-headers" ,mesa-headers)
4678 ("mutter" ,mutter)
4679 ("network-manager-applet" ,network-manager-applet)
4680 ("polkit" ,polkit)
4681 ("pulseaudio" ,pulseaudio)
4682 ("python-pygobject" ,python-pygobject)
4683 ("startup-notification" ,startup-notification)
4684 ("telepathy-logger" ,telepathy-logger)
4685 ("upower" ,upower)
4686 ;; XXX: required by libgjs.la.
4687 ("readline" ,readline)))
4688 (synopsis "Desktop shell for GNOME")
4689 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
4690 (description
4691 "GNOME Shell provides core user interface functions for the GNOME desktop,
4692like switching to windows and launching applications.")
4693 (license license:gpl2+)))
c3f29bc9
RS
4694
4695(define-public gtk-vnc
4696 (package
4697 (name "gtk-vnc")
4698 (version "0.5.4")
4699 (source
4700 (origin
4701 (method url-fetch)
4702 (uri (string-append "mirror://gnome/sources/" name "/"
4703 (version-major+minor version) "/"
4704 name "-" version ".tar.xz"))
4705 (sha256
4706 (base32
4707 "1rwwdh7lb16xdmy76ca6mpqfc3zfl3a4bkcr0qb6hs6ffrxak2j8"))))
4708 (build-system gnu-build-system)
4709 (arguments
4710 '(#:configure-flags '("--with-gtk=3.0")))
4711 (propagated-inputs
4712 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
4713 (inputs
4714 `(("cyrus-sasl" ,cyrus-sasl)
4715 ("gnutls" ,gnutls)
4716 ("libgcrypt" ,libgcrypt)
4717 ("pulseaudio" ,pulseaudio)))
4718 (native-inputs
4719 `(("glib:bin" ,glib "bin")
4720 ("gobject-introspection" ,gobject-introspection)
4721 ("intltool" ,intltool)
4722 ("pkg-config" ,pkg-config)
4723 ("vala" ,vala)))
4724 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
4725 (synopsis "VNC viewer widget for GTK+")
4726 (description
4727 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
4728applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
4729GTK-VNC implements client side RFB protocol and authentication extensions such
4730as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
4731 (license license:lgpl2.1+)))
8b877545
RS
4732
4733(define-public nautilus
4734 (package
4735 (name "nautilus")
a829a053 4736 (version "3.20.1")
8b877545
RS
4737 (source (origin
4738 (method url-fetch)
4739 (uri (string-append "mirror://gnome/sources/" name "/"
4740 (version-major+minor version) "/"
4741 name "-" version ".tar.xz"))
4742 (sha256
4743 (base32
a829a053 4744 "1s41bsihacs7cywm60vqgv46m22gmga4b0bwxnki4r02jjwhgagj"))))
8b877545
RS
4745 (build-system glib-or-gtk-build-system)
4746 (arguments
6983ba56
SB
4747 '(#:configure-flags
4748 '("--disable-tracker" "--disable-selinux") ; XXX: not packaged
8b877545
RS
4749 ;; XXX: FAIL: check-nautilus
4750 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
4751 #:tests? #f))
4752 (native-inputs
4753 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4754 ("gobject-introspection" ,gobject-introspection)
4755 ("intltool" ,intltool)
4756 ("pkg-config" ,pkg-config)))
8b877545
RS
4757 (inputs
4758 ;; TODO: add gvfs support.
4759 `(("dconf" ,dconf)
4760 ("exempi" ,exempi)
4761 ("gnome-desktop" ,gnome-desktop)
ce6027bf
SB
4762 ;; XXX: gtk+ is required by libnautilus-extension.pc
4763 ;;
4764 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
4765 ;; package. See:
4766 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
4767 ("gtk+" ,gtk+)
8b877545
RS
4768 ("libexif" ,libexif)
4769 ("libxml2" ,libxml2)))
4770 (synopsis "File manager for GNOME")
4771 (home-page "https://wiki.gnome.org/Apps/Nautilus")
4772 (description
4773 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
4774design and behaviour, giving the user a simple way to navigate and manage its
4775files.")
4776 (license license:gpl2+)))
3c697ffd
JR
4777
4778(define-public baobab
4779 (package
4780 (name "baobab")
758da0fe 4781 (version "3.20.1")
3c697ffd
JR
4782 (source (origin
4783 (method url-fetch)
4784 (uri (string-append
4785 "mirror://gnome/sources/" name "/"
4786 (version-major+minor version) "/"
4787 name "-" version ".tar.xz"))
4788 (sha256
4789 (base32
758da0fe 4790 "07wx4jb3nmipd4caybv21hl8h0gb282qc5a24b731mxhfqmg3pz9"))))
3c697ffd
JR
4791 (build-system glib-or-gtk-build-system)
4792 (native-inputs
4793 `(("intltool" ,intltool)
4794 ("pkg-config" ,pkg-config)
4795 ("itstool" ,itstool)
4796 ("xmllint" ,libxml2)
4797 ("glib" ,glib "bin")
4798 ("vala" ,vala)))
4799 (inputs
4800 `(("gtk+" ,gtk+)))
4801 (synopsis "Disk usage analyzer for GNOME")
4802 (description
4803 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
4804usage in the GNOME desktop environment. It can easily scan device volumes or
4805a specific user-requested directory branch (local or remote). Once the scan
4806is complete it provides a graphical representation of each selected folder.")
4807 (home-page "https://wiki.gnome.org/Apps/Baobab")
4808 (license license:gpl2+)))
dc050251 4809
fdba447c
RS
4810(define-public gnome-backgrounds
4811 (package
4812 (name "gnome-backgrounds")
6983ba56 4813 (version "3.20")
fdba447c
RS
4814 (source
4815 (origin
4816 (method url-fetch)
4817 (uri (string-append "mirror://gnome/sources/" name "/"
4818 (version-major+minor version) "/"
4819 name "-" version ".tar.xz"))
4820 (sha256
4821 (base32
6983ba56 4822 "09viag7q53lfwrp074a1w7j0r8izlwpi10xbwjgbf5jwbqb6wv6n"))))
fdba447c
RS
4823 (build-system glib-or-gtk-build-system)
4824 (native-inputs
4825 `(("intltool" ,intltool)))
4826 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
4827 (synopsis "Background images for the GNOME desktop")
4828 (description
4829 "GNOME backgrounds package contains a collection of graphics files which
4830can be used as backgrounds in the GNOME Desktop environment. Additionally,
4831the package creates the proper framework and directory structure so that you
4832can add your own files to the collection.")
4833 (license (list license:gpl2+
4834 license:cc-by2.0
4835 license:cc-by-sa2.0
4836 license:cc-by-sa3.0))))
4837
b784b1a9
RS
4838(define-public gnome-screenshot
4839 (package
4840 (name "gnome-screenshot")
4841 (version "3.18.0")
4842 (source
4843 (origin
4844 (method url-fetch)
4845 (uri (string-append "mirror://gnome/sources/" name "/"
4846 (version-major+minor version) "/"
4847 name "-" version ".tar.xz"))
4848 (sha256
4849 (base32
4850 "0hc8m435q7yzvrw7jpi53kaxpmrd9w59sm7c5wibh2ng9azlv9pb"))))
4851 (build-system glib-or-gtk-build-system)
4852 (native-inputs
4853 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4854 ("intltool" ,intltool)
4855 ("pkg-config" ,pkg-config)))
4856 (inputs
4857 `(("gtk+" ,gtk+)
4858 ("libcanberra" ,libcanberra)
4859 ("libx11" ,libx11)
4860 ("libxext" ,libxext)))
4861 (home-page "https://git.gnome.org/browse/gnome-screenshot")
4862 (synopsis "Take pictures of your screen")
4863 (description
4864 "GNOME Screenshot is a utility used for taking screenshots of the entire
4865screen, a window or a user defined area of the screen, with optional
4866beautifying border effects.")
4867 (license license:gpl2+)))
4868
66d59111
RS
4869(define-public dconf-editor
4870 (package
4871 (name "dconf-editor")
0ddba707 4872 (version "3.20.1")
66d59111
RS
4873 (source
4874 (origin
4875 (method url-fetch)
4876 (uri (string-append "mirror://gnome/sources/" name "/"
4877 (version-major+minor version) "/"
4878 name "-" version ".tar.xz"))
4879 (sha256
4880 (base32
0ddba707 4881 "0pfpmvpv57a01nsd1fah3np33avihm5ic43fi6b60dyw6c5z953p"))))
66d59111
RS
4882 (build-system glib-or-gtk-build-system)
4883 (native-inputs
4884 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
4885 ("intltool" ,intltool)
4886 ("pkg-config" ,pkg-config)))
4887 (inputs
4888 `(("dconf" ,dconf)
4889 ("gtk+" ,gtk+)
4890 ("libxml2" ,libxml2)))
4891 (home-page "https://git.gnome.org/browse/dconf-editor")
4892 (synopsis "Graphical editor for GNOME's dconf configuration system")
4893 (description
4894 "Dconf-editor is a graphical tool for browsing and editing the dconf
4895configuration system for GNOME. It allows users to configure desktop
4896software that do not provide their own configuration interface.")
4897 (license license:lgpl2.1+)))
4898
dc050251
SB
4899(define-public gnome
4900 (package
4901 (name "gnome")
4902 (version (package-version gnome-shell))
4903 (source #f)
4904 (build-system trivial-build-system)
4905 (arguments '(#:builder (mkdir %output)))
4906 (propagated-inputs
4907 ;; TODO: Add more packages according to:
4908 ;; <https://packages.debian.org/jessie/gnome-core>.
4909 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 4910 ("baobab" ,baobab)
0bd3597b 4911 ("font-cantarell" ,font-cantarell)
dc050251
SB
4912 ("at-spi2-core" ,at-spi2-core)
4913 ("dbus" ,dbus)
4914 ("dconf" ,dconf)
72360453 4915 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
4916 ("eog" ,eog)
4917 ("epiphany" ,epiphany)
4918 ("evince" ,evince)
4919 ("gedit" ,gedit)
4920 ("glib-networking" ,glib-networking)
05f651c4 4921 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
4922 ("gnome-control-center" ,gnome-control-center)
4923 ("gnome-keyring" ,gnome-keyring)
4924 ("gnome-session" ,gnome-session)
4925 ("gnome-settings-daemon" ,gnome-settings-daemon)
4926 ("gnome-shell" ,gnome-shell)
4927 ("gnome-terminal" ,gnome-terminal)
4928 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 4929 ("gvfs" ,gvfs)
dc050251
SB
4930 ("hicolor-icon-theme" ,hicolor-icon-theme)
4931 ("nautilus" ,nautilus)
4932 ("pulseaudio" ,pulseaudio)
4933 ("shared-mime-info" ,shared-mime-info)
4934 ("totem" ,totem)
4935 ("yelp" ,yelp)
4936 ("zenity" ,zenity)))
fe4e698d 4937 (synopsis "The GNU desktop environment")
dc050251
SB
4938 (home-page "https://www.gnome.org/")
4939 (description
fe4e698d
LC
4940 "GNOME is the graphical desktop for GNU. It includes a wide variety of
4941applications for browsing the web, editing text and images, creating
4942documents and diagrams, playing media, scanning, and much more.")
dc050251 4943 (license license:gpl2+)))
4a526711
DT
4944
4945(define-public byzanz
4946 ;; The last stable release of Byzanz was in 2011, but there have been many
4947 ;; useful commits made to the Byzanz repository since then that it would be
4948 ;; silly to use such an old release.
4949 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
4950 (package
4951 (name "byzanz")
4952 (version (string-append "0.2-1." (string-take commit 7)))
4953 (source (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "git://git.gnome.org/byzanz")
4957 (commit commit)))
4958 (sha256
4959 (base32
4960 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
4961 (build-system glib-or-gtk-build-system)
4962 (arguments
4963 '(#:phases
4964 (modify-phases %standard-phases
4965 (add-after 'unpack 'bootstrap
4966 (lambda _
4967 ;; The build system cleverly detects that we're not building from
4968 ;; a release tarball and turns on -Werror for GCC.
4969 ;; Unsurprisingly, there is a warning during compilation that
4970 ;; causes the build to fail unnecessarily, so we remove the flag.
4971 (substitute* '("configure.ac")
4972 (("-Werror") ""))
4973 ;; The autogen.sh script in gnome-common will run ./configure
4974 ;; by default, which is problematic because source shebangs
4975 ;; have not yet been patched.
4976 (setenv "NOCONFIGURE" "t")
4977 (zero? (system* "sh" "autogen.sh")))))))
4978 (native-inputs
4979 `(("autoconf" ,autoconf)
4980 ("automake" ,automake)
4981 ("gnome-common" ,gnome-common)
4982 ("intltool" ,intltool)
4983 ("libtool" ,libtool)
4984 ("pkg-config" ,pkg-config)
4985 ("which" ,which)))
4986 (inputs
4987 `(("glib" ,glib)
4988 ("gstreamer" ,gstreamer)
4989 ("gst-plugins-base" ,gst-plugins-base)
4990 ("gtk+" ,gtk+)))
4991 (synopsis "Desktop recording program")
4992 (description "Byzanz is a simple desktop recording program with a
4993command-line interface. It can record part or all of an X display for a
4994specified duration and save it as a GIF encoded animated image file.")
4995 (home-page "https://git.gnome.org/browse/byzanz")
4996 (license license:gpl2+))))
3a9a4c51
RS
4997
4998(define-public libzapojit
4999 (package
5000 (name "libzapojit")
5001 (version "0.0.3")
5002 (source (origin
5003 (method url-fetch)
5004 (uri (string-append "mirror://gnome/sources/" name "/"
5005 (version-major+minor version) "/"
5006 name "-" version ".tar.xz"))
5007 (sha256
5008 (base32
5009 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5010 (build-system gnu-build-system)
5011 (native-inputs
5012 `(("gobject-introspection" ,gobject-introspection)
5013 ("intltool" ,intltool)
5014 ("pkg-config" ,pkg-config)))
5015 (inputs
5016 `(("gnome-online-accounts" ,gnome-online-accounts)
5017 ("json-glib" ,json-glib)
5018 ("rest" ,rest)))
5019 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5020 (synopsis "Library for accessing SkyDrive and Hotmail")
5021 (description
5022 "Libzapojit is a GLib-based library for accessing online service APIs of
5023Microsoft SkyDrive and Hotmail, using their REST protocols.")
5024 (license license:lgpl2.1+)))