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