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