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