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