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