gnu: Add wl-clipboard.
[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"))
684f97f8
EF
2224 (patches (search-patches "vinagre-newer-freerdp.patch"
2225 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
2226 (sha256
2227 (base32
2228 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
2229 (build-system glib-or-gtk-build-system)
684f97f8
EF
2230 (arguments
2231 '(#:phases
2232 (modify-phases %standard-phases
1839768c
EF
2233 (add-before 'install 'skip-gtk-update-icon-cache
2234 (lambda _
2235 ;; Don't create 'icon-theme.cache'
2236 (substitute* (find-files "." "^Makefile$")
2237 (("gtk-update-icon-cache") (which "true")))
2238 #t))
684f97f8
EF
2239 (add-after 'unpack 'patch-configure
2240 (lambda _
2241 (substitute* "configure"
2242 (("freerdp") "freerdp2"))
2243 #t)))))
cce0da5e
TD
2244 (native-inputs
2245 `(("pkg-config" ,pkg-config)
2246 ("intltool" ,intltool)
2247 ("itstool" ,itstool)
1839768c 2248 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
2249 (inputs
2250 `(("libxml2" ,libxml2)
2251 ("gtk-vnc" ,gtk-vnc)
2252 ("gnome-keyring" ,gnome-keyring)
2253 ("libsecret" ,libsecret)
2254 ("freerdp" ,freerdp)
2255 ("spice" ,spice)
2256 ("spice-gtk" ,spice-gtk)
2257 ("telepathy-glib" ,telepathy-glib)
2258 ("vte" ,vte)))
cce0da5e
TD
2259 (home-page "https://wiki.gnome.org/Apps/Vinagre")
2260 (synopsis "Remote desktop viewer for GNOME")
2261 (description "Vinagre is a remote display client supporting the VNC, SPICE
2262and RDP protocols.")
2263 (license license:gpl3+)))
2264
b47e1b20
FB
2265(define-public dconf
2266 (package
2267 (name "dconf")
35fa923d 2268 (version "0.28.0")
b47e1b20
FB
2269 (source (origin
2270 (method url-fetch)
2271 (uri (string-append
2e6ecc5c 2272 "mirror://gnome/sources/" name "/"
b47e1b20
FB
2273 (version-major+minor version) "/"
2274 name "-" version ".tar.xz"))
2275 (sha256
f05c809f 2276 (base32
35fa923d
MB
2277 "0hn7v6769xabqz7kvyb2hfm19h46z1whkair7ff752zmbs3b7lv1"))))
2278 (build-system meson-build-system)
bc036f4c
MB
2279 (propagated-inputs
2280 ;; In Requires of dconf.pc.
2281 `(("glib" ,glib)))
b47e1b20
FB
2282 (inputs
2283 `(("gtk+" ,gtk+)
bc036f4c 2284 ("dbus" ,dbus)))
b47e1b20 2285 (native-inputs
bc036f4c
MB
2286 `(("libxslt" ,libxslt) ;for xsltproc
2287 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
2288 ("docbook-xml" ,docbook-xml-4.2)
2289 ("docbook-xsl" ,docbook-xsl)
35fa923d 2290 ("glib:bin" ,glib "bin")
03676d6f 2291 ("gtk-doc" ,gtk-doc)
35fa923d
MB
2292 ("pkg-config" ,pkg-config)
2293 ("vala" ,vala)))
b47e1b20
FB
2294 (arguments
2295 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
2296 ; or /etc/machine-id.
35fa923d
MB
2297 #:glib-or-gtk? #t
2298 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
2299 (home-page "https://developer.gnome.org/dconf")
2300 (synopsis "Low-level GNOME configuration system")
2301 (description "Dconf is a low-level configuration system. Its main purpose
2302is to provide a backend to GSettings on platforms that don't already have
2303configuration storage systems.")
e20e6b40 2304 (license license:lgpl2.1+)))
109da1c0
AE
2305
2306(define-public json-glib
2307 (package
2308 (name "json-glib")
98afa184 2309 (version "1.4.2")
109da1c0
AE
2310 (source (origin
2311 (method url-fetch)
2312 (uri (string-append "mirror://gnome/sources/" name "/"
2313 (version-major+minor version) "/"
2314 name "-" version ".tar.xz"))
56978975 2315 (patches (search-patches "json-glib-fix-tests-32bit.patch"))
109da1c0
AE
2316 (sha256
2317 (base32
98afa184
MB
2318 "1j3dd2xj1l9fi12m1gpmfgf5p4c1w0i970m6k62k3is98yj0jxrd"))))
2319 (build-system meson-build-system)
109da1c0 2320 (native-inputs
98afa184
MB
2321 `(("gettext" ,gettext-minimal)
2322 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
2323 ("gobject-introspection" ,gobject-introspection)
2324 ("pkg-config" ,pkg-config)))
2325 (propagated-inputs
88c6b580 2326 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
2327 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2328 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
2329 (description
2330 "JSON-GLib is a C library based on GLib providing serialization and
2331deserialization support for the JavaScript Object Notation (JSON) format
2332described by RFC 4627. It provides parser and generator GObject classes and
2333various wrappers for the complex data types employed by JSON, such as arrays
2334and objects.")
109da1c0 2335 (license license:lgpl2.1+)))
6f96a359
SB
2336
2337(define-public libxklavier
2338 (package
2339 (name "libxklavier")
2340 (version "5.3")
2341 (source (origin
2342 (method url-fetch)
2343 (uri (string-append "mirror://gnome/sources/" name "/"
2344 version "/" name "-" version ".tar.xz"))
2345 (sha256
2346 (base32
2347 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
2348 (build-system gnu-build-system)
2349 (arguments
2350 '(#:configure-flags
2351 (list (string-append "--with-xkb-base="
2352 (assoc-ref %build-inputs "xkeyboard-config")
b19d6805 2353 "/share/X11/xkb"))))
6f96a359
SB
2354 (native-inputs
2355 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2356 ("gobject-introspection" ,gobject-introspection)
2357 ("pkg-config" ,pkg-config)))
2358 (propagated-inputs
2359 ;; Required by libxklavier.pc.
2360 `(("glib" ,glib)
2361 ("libxml2" ,libxml2)))
2362 (inputs
2363 `(("iso-codes" ,iso-codes)
2364 ("libxi" ,libxi)
2365 ("libxkbfile" ,libxkbfile)
2366 ("xkbcomp" ,xkbcomp)
2367 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 2368 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
2369 (synopsis "High-level API for X Keyboard Extension")
2370 (description
2371 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
2372Extension known as XKB. This library is intended to support XFree86 and other
2373commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
2374indicators etc).")
2375 (license license:lgpl2.0+)))
619936a4
LC
2376
2377(define-public python2-rsvg
2378 ;; XXX: This is actually a subset of gnome-python-desktop.
2379 (package
2380 (name "python2-rsvg")
2381 (version "2.32.0")
2382 (source
2383 (origin
2384 (method url-fetch)
2385 (uri (string-append
2386 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2387 version ".tar.bz2"))
2388 (sha256
2389 (base32
2390 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2391 (build-system gnu-build-system)
2392 (native-inputs
2393 `(("pkg-config" ,pkg-config)))
2394 (inputs
2395 `(("python" ,python-2)
2396 ("python2-pygtk" ,python2-pygtk)
2397 ("librsvg" ,librsvg)))
f032d0be 2398 (home-page "https://www.gnome.org")
619936a4
LC
2399 (synopsis "Python bindings to librsvg")
2400 (description
2401 "This packages provides Python bindings to librsvg, the SVG rendering
2402library.")
2403
2404 ;; This is the license of the rsvg bindings. The license of each module
2405 ;; of gnome-python-desktop is given in 'COPYING'.
2406 (license license:lgpl2.1+)))
a31a6d22 2407
f2ca414a
SB
2408(define-public glib-networking
2409 (package
2410 (name "glib-networking")
c7b433de 2411 (version "2.54.1")
f2ca414a
SB
2412 (source (origin
2413 (method url-fetch)
2414 (uri (string-append "mirror://gnome/sources/glib-networking/"
2415 (version-major+minor version) "/"
2416 name "-" version ".tar.xz"))
2417 (sha256
2418 (base32
c7b433de 2419 "0bq16m9nh3gcz9x2fvygr0iwxd2pxcbrm3lj3kihsnh1afv8g9za"))
907f939b 2420 (patches
fc1adab1 2421 (search-patches "glib-networking-ssl-cert-file.patch"))))
f2ca414a
SB
2422 (build-system gnu-build-system)
2423 (arguments
2424 `(#:configure-flags
907f939b 2425 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
f2ca414a
SB
2426 #:phases
2427 (modify-phases %standard-phases
3a4de6b2 2428 (add-before 'configure 'patch-giomoduledir
c7b433de
KK
2429 ;; Install GIO modules into $out/lib/gio/modules.
2430 (lambda _
2431 (substitute* "configure"
2432 (("GIO_MODULE_DIR=.*")
2433 (string-append "GIO_MODULE_DIR=" %output
2434 "/lib/gio/modules\n")))
2435 #t))
907f939b 2436 (add-before 'check 'use-empty-ssl-cert-file
c7b433de
KK
2437 (lambda _
2438 ;; The ca-certificates.crt is not available in the build
2439 ;; environment.
2440 (setenv "SSL_CERT_FILE" "/dev/null")
2441 #t)))))
f2ca414a
SB
2442 (native-inputs
2443 `(("pkg-config" ,pkg-config)
2444 ("intltool" ,intltool)))
2445 (inputs
2446 `(("glib" ,glib)
2447 ("gnutls" ,gnutls)
2448 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2449 ("p11-kit" ,p11-kit)))
f032d0be 2450 (home-page "https://www.gnome.org")
f2ca414a
SB
2451 (synopsis "Network-related GIO modules")
2452 (description
2453 "This package contains various network related extensions for the GIO
2454library.")
2455 (license license:lgpl2.0+)))
2456
ca649680 2457(define-public rest
4510b2da 2458 (package
ca649680 2459 (name "rest")
a4194d16 2460 (version "0.8.1")
4510b2da
SB
2461 (source (origin
2462 (method url-fetch)
2463 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
2464 (version-major+minor version) "/"
2465 name "-" version ".tar.xz"))
4510b2da
SB
2466 (sha256
2467 (base32
a4194d16 2468 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
2469 (build-system gnu-build-system)
2470 (arguments
2471 '(#:tests? #f ; tests require internet connection
2472 #:configure-flags
2473 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2474 (native-inputs
2475 `(("glib-mkenums" ,glib "bin")
2476 ("gobject-introspection" ,gobject-introspection)
2477 ("pkg-config" ,pkg-config)))
2478 (propagated-inputs
2479 ;; rest-0.7.pc refers to all these.
2480 `(("glib" ,glib)
2481 ("libsoup" ,libsoup)
2482 ("libxml2" ,libxml2)))
24d6cc1d 2483 (home-page "https://www.gtk.org/")
4510b2da
SB
2484 (synopsis "RESTful web api query library")
2485 (description
2486 "This library was designed to make it easier to access web services that
2487claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2488libxml to ease remote use of the RESTful API.")
2489 (license license:lgpl2.1+)))
2490
6e1bb642
SB
2491(define-public libsoup
2492 (package
2493 (name "libsoup")
00815eea 2494 (version "2.64.2")
6e1bb642
SB
2495 (source (origin
2496 (method url-fetch)
2497 (uri (string-append "mirror://gnome/sources/libsoup/"
2498 (version-major+minor version) "/"
2499 name "-" version ".tar.xz"))
2500 (sha256
2501 (base32
00815eea 2502 "1il6lyrmfi0hfh3ysw8w1qzc1rdz0igkb7dv6d8g5mmilnac3pbm"))))
6e1bb642
SB
2503 (build-system gnu-build-system)
2504 (outputs '("out" "doc"))
2505 (arguments
2deb146f
LC
2506 `(#:modules ((guix build utils)
2507 (guix build gnu-build-system)
2508 (ice-9 popen))
2509
2510 #:configure-flags
6e1bb642
SB
2511 (list (string-append "--with-html-dir="
2512 (assoc-ref %outputs "doc")
ffaf5cbd
MB
2513 "/share/gtk-doc/html")
2514 (string-append "--with-apache-module-dir="
2515 (assoc-ref %build-inputs "httpd")
2516 "/modules"))
6e1bb642
SB
2517 #:phases
2518 (modify-phases %standard-phases
3a4de6b2 2519 (add-before 'configure 'disable-unconnected-socket-test
26c228f9
LC
2520 ;; This test fails due to missing /etc/nsswitch.conf
2521 ;; in the build environment.
2522 (lambda _
2523 (substitute* "tests/socket-test.c"
2524 ((".*/sockets/unconnected.*") ""))
2525 #t))
907f939b 2526 (add-before 'check 'pre-check
26c228f9
LC
2527 (lambda _
2528 ;; The 'check-local' target runs 'env LANG=C sort -u',
2529 ;; unset 'LC_ALL' to make 'LANG' working.
2530 (unsetenv "LC_ALL")
2531 ;; The ca-certificates.crt is not available in the build
2532 ;; environment.
2533 (setenv "SSL_CERT_FILE" "/dev/null")
2534 ;; HTTPD in Guix uses mod_event and does not build prefork.
2535 (substitute* "tests/httpd.conf"
2536 (("^LoadModule mpm_prefork_module.*$") "\n"))
2deb146f
LC
2537
2538 ;; Generate a self-signed certificate that has "localhost" as its
2539 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
2540 ;; 3.5.12, tests such as "ssl-tests" fail:
2541 ;;
2542 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
2543 ;;
2544 ;; 'certtool' is interactive so we have to pipe it the answers.
2545 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
2546 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
2547 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
2548 (for-each (lambda (line)
2549 (display line pipe)
2550 (newline pipe))
2551 '("" ;Common name
2552 "" ;UID
2553 "Guix" ;Organizational unit name
2554 "GNU" ;Organization name
2555 "" ;Locality name
2556 "" ;State or province
2557 "" ;Country
2558 "" ;subject's domain component (DC)
2559 "" ;E-mail
2560 "" ;serial number
2561 "-1" ;expiration time
2562 "N" ;belong to authority?
2563 "N" ;web client certificate?
2564 "N" ;IPsec IKE?
2565 "Y" ;web server certificate?
2566 "localhost" ;dnsName of subject
2567 "" ;dnsName of subject (end)
2568 "" ;URI of subject
2569 "127.0.0.1" ;IP address of subject
2570 "" ;signing?
2571 "" ;encryption?
2572 "" ;sign OCSP requests?
2573 "" ;sign code?
2574 "" ;time stamping?
2575 "" ;email protection?
2576 "" ;URI of the CRL distribution point
2577 "y" ;above info OK?
2578 ))
2579 (close-pipe pipe))
26c228f9 2580 #t))
fd730590 2581 (replace 'install
26c228f9 2582 (lambda _
4bd9f465
MW
2583 (invoke "make"
2584 ;; Install vala bindings into $out.
2585 (string-append "vapidir=" %output
2586 "/share/vala/vapi")
2587 "install"))))))
6e1bb642 2588 (native-inputs
26c228f9 2589 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642
SB
2590 ("gobject-introspection" ,gobject-introspection)
2591 ("intltool" ,intltool)
2592 ("pkg-config" ,pkg-config)
2593 ("python" ,python-wrapper)
fd730590 2594 ("vala" ,vala)
6e1bb642
SB
2595 ;; These are needed for the tests.
2596 ;; FIXME: Add PHP once available.
2597 ("curl" ,curl)
2deb146f 2598 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
2599 ("httpd" ,httpd)))
2600 (propagated-inputs
2601 ;; libsoup-2.4.pc refers to all these.
2602 `(("glib" ,glib)
2603 ("libxml2" ,libxml2)))
2604 (inputs
2605 `(("glib-networking" ,glib-networking)
249846bf 2606 ("libpsl" ,libpsl)
6e1bb642
SB
2607 ("sqlite" ,sqlite)))
2608 (home-page "https://live.gnome.org/LibSoup/")
2609 (synopsis "GLib-based HTTP Library")
2610 (description
2611 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2612and the GLib main loop, to integrate well with GNOME applications.")
2613 (license license:lgpl2.0+)))
2614
bba229a3
SB
2615(define-public libsecret
2616 (package
2617 (name "libsecret")
bca1bec5 2618 (version "0.18.6")
bba229a3
SB
2619 (source (origin
2620 (method url-fetch)
2621 (uri (string-append
896dcbc7
EF
2622 "mirror://gnome/sources/libsecret/"
2623 (version-major+minor version) "/"
bba229a3
SB
2624 name "-" version ".tar.xz"))
2625 (sha256
2626 (base32
bca1bec5 2627 "0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy"))))
bba229a3
SB
2628 (build-system gnu-build-system)
2629 (outputs '("out" "doc"))
2630 (arguments
2631 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2632 #:configure-flags
2633 (list (string-append "--with-html-dir="
2634 (assoc-ref %outputs "doc")
2635 "/share/gtk-doc/html"))))
2636 (native-inputs
2637 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2638 ("gobject-introspection" ,gobject-introspection)
2639 ("intltool" ,intltool)
2640 ("pkg-config" ,pkg-config)
2641 ("vala" ,vala)
2642 ("xsltproc" ,libxslt)))
2643 ;; These are needed for the tests.
2644 ;; FIXME: Add gjs once available.
2645 ;("dbus" ,dbus)
2646 ;("python2" ,python-2)
2647 ;("python2-dbus" ,python2-dbus)
2648 ;("python2-pygobject" ,python2-pygobject)
2649 ;("python2-pygobject-2" ,python2-pygobject-2)))
2650 (propagated-inputs
2651 `(("glib" ,glib))) ; required by libsecret-1.pc
2652 (inputs
2653 `(("docbook-xsl" ,docbook-xsl)
2654 ("libgcrypt" ,libgcrypt)
2655 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2656 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2657 (synopsis "GObject bindings for \"Secret Service\" API")
2658 (description
2659 "Libsecret is a GObject based library for storing and retrieving passwords
2660and other secrets. It communicates with the \"Secret Service\" using DBus.")
2661 (license license:lgpl2.1+)))
2662
b6821ee0 2663(define-public five-or-more
2664 (package
2665 (name "five-or-more")
2524a2a1 2666 (version "3.26.0")
b6821ee0 2667 (source
2668 (origin
2669 (method url-fetch)
2670 (uri (string-append "mirror://gnome/sources/" name "/"
2671 (version-major+minor version) "/"
2672 name "-" version ".tar.xz"))
2673 (sha256
2674 (base32
2524a2a1 2675 "0wkp08xsqr9p9cgdfghi424diajs016b2h4bsfcr5y9xc3rgf93w"))))
b6821ee0 2676 (build-system glib-or-gtk-build-system)
2677 (native-inputs
2678 `(("pkg-config" ,pkg-config)
2679 ("desktop-file-utils" ,desktop-file-utils)
2680 ("intltool" ,intltool)
2681 ("itstool" ,itstool)
2682 ("xmllint" ,libxml2)))
2683 (inputs
2684 `(("gtk+" ,gtk+)
2685 ("librsvg" ,librsvg)))
2686 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
2687 (synopsis "Logic puzzle game")
2688 (description "Five or More is a game where you try to align
2689 five or more objects of the same color and shape causing them to disappear.
2690 On every turn more objects will appear, until the board is full.
2691 Try to last as long as possible.")
2692 (license license:gpl2+)))
2693
a31a6d22
SB
2694(define-public gnome-mines
2695 (package
2696 (name "gnome-mines")
55ed15ba 2697 (version "3.26.0")
a31a6d22
SB
2698 (source
2699 (origin
2700 (method url-fetch)
2701 (uri (string-append "mirror://gnome/sources/" name "/"
2702 (version-major+minor version) "/"
2703 name "-" version ".tar.xz"))
2704 (sha256
2705 (base32
55ed15ba 2706 "1sfxdvns8nppdagnhpd9vd7n77sk5rdji3kdqnc78c2p1npiw11b"))))
a31a6d22
SB
2707 (build-system glib-or-gtk-build-system)
2708 (arguments
2709 '(#:phases
2710 (modify-phases %standard-phases
f8503e2b 2711 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2712 (lambda _
2713 (substitute* "configure"
6983ba56 2714 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2715 (native-inputs
2716 `(("pkg-config" ,pkg-config)
2717 ("desktop-file-utils" ,desktop-file-utils)
2718 ("intltool" ,intltool)
bcb354ad
SB
2719 ("itstool" ,itstool)
2720 ("xmllint" ,libxml2)))
a31a6d22
SB
2721 (inputs
2722 `(("gtk+" ,gtk+)
73992962 2723 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2724 ("librsvg" ,librsvg)))
2725 (home-page "https://wiki.gnome.org/Apps/Mines")
2726 (synopsis "Minesweeper game")
2727 (description
2728 "Mines (previously gnomine) is a puzzle game where you locate mines
2729floating in an ocean using only your brain and a little bit of luck.")
2730 (license license:gpl2+)))
88f70665 2731
dfc407f3
KY
2732(define-public gnome-sudoku
2733 (package
2734 (name "gnome-sudoku")
7d20d983 2735 (version "3.28.0")
dfc407f3
KY
2736 (source
2737 (origin
2738 (method url-fetch)
2739 (uri (string-append "mirror://gnome/sources/" name "/"
2740 (version-major+minor version) "/"
2741 name "-" version ".tar.xz"))
2742 (sha256
2743 (base32
7d20d983 2744 "07b4lzniaf3gjsss6zl1lslv18smwc4nrijykvn2z90f423q2xav"))))
dfc407f3
KY
2745 (build-system glib-or-gtk-build-system)
2746 (native-inputs
2747 `(("pkg-config" ,pkg-config)
2748 ("desktop-file-utils" ,desktop-file-utils)
2749 ("intltool" ,intltool)
2750 ("itstool" ,itstool)
2751 ("xmllint" ,libxml2)))
2752 (inputs
2753 `(("gtk+" ,gtk+)
2754 ("json-glib" ,json-glib)
2755 ("libgee" ,libgee)
2756 ("librsvg" ,librsvg)
2757 ("qqwing" ,qqwing)))
2758 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2759 (synopsis "Japanese logic game")
2760 (description
2761 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2762GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2763possible while still providing features that make playing difficult Sudoku
2764more fun.")
2765 (license license:gpl2+)))
2766
88f70665
AW
2767(define-public gnome-terminal
2768 (package
2769 (name "gnome-terminal")
9cf329ae 2770 (version "3.28.2")
88f70665
AW
2771 (source
2772 (origin
2773 (method url-fetch)
2774 (uri (string-append "mirror://gnome/sources/" name "/"
2775 (version-major+minor version) "/"
2776 name "-" version ".tar.xz"))
2777 (sha256
2778 (base32
9cf329ae 2779 "0ybjansg6lr279191w8z8r45gy4rxwzw1ajm98cgkv0fk2jdr0x2"))))
88f70665
AW
2780 (build-system glib-or-gtk-build-system)
2781 (arguments
2782 '(#:configure-flags
2783 (list "--disable-migration" "--disable-search-provider"
2784 "--without-nautilus-extension")
2785 #:phases
2786 (modify-phases %standard-phases
3a4de6b2 2787 (add-before 'configure 'patch-/bin/true
88f70665
AW
2788 (lambda _
2789 (substitute* "configure"
2790 (("/bin/true") (which "true"))))))))
2791 (native-inputs
2792 `(("pkg-config" ,pkg-config)
2793 ("desktop-file-utils" ,desktop-file-utils)
2794 ("intltool" ,intltool)
bcb354ad
SB
2795 ("itstool" ,itstool)
2796 ("xmllint" ,libxml2)))
68702167
MW
2797 (propagated-inputs
2798 `(("dconf" ,dconf)))
88f70665
AW
2799 (inputs
2800 `(("gtk+" ,gtk+)
2801 ("vte" ,vte)
2802 ("gnutls" ,gnutls)
88f70665
AW
2803 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2804 ("util-linux" ,util-linux)
2805 ("vala" ,vala)))
2806 (home-page "https://wiki.gnome.org/Apps/Terminal")
2807 (synopsis "Terminal emulator")
2808 (description
2809 "GNOME Terminal is a terminal emulator application for accessing a
2810UNIX shell environment which can be used to run programs available on
2811your system.
2812
2813It supports several profiles, multiple tabs and implements several
2814keyboard shortcuts.")
2815 (license license:gpl3+)))
75016d07
AW
2816
2817(define-public colord
2818 (package
2819 (name "colord")
2820 (version "1.1.8")
2821 (source
2822 (origin
2823 (method url-fetch)
5cc3096c 2824 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2825 name "-" version ".tar.xz"))
2826 (sha256
2827 (base32
2828 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2829 (build-system glib-or-gtk-build-system)
2830 (arguments
2831 '(;; The tests want to run valgrind. Punt for now.
2832 #:tests? #f
2833 #:configure-flags (list "--localstatedir=/var"
2834 ;; GUSB not packaged yet.
2835 "--disable-gusb"
2836 ;; No dep on systemd.
2837 "--disable-systemd-login"
2838 ;; Wants to install to global completion dir;
2839 ;; punt.
2840 "--disable-bash-completion"
2841 ;; colord-gtk not packaged yet.
2842 "--disable-session-example"
2843 "--with-daemon-user=colord"
2844 "--enable-sane"
2845 (string-append "--with-udevrulesdir="
2846 (assoc-ref %outputs "out")
2847 "/lib/udev/rules.d"))
2848 #:phases
2849 (modify-phases %standard-phases
3a4de6b2 2850 (add-before 'configure 'patch-/bin/true
75016d07
AW
2851 (lambda _
2852 (substitute* "configure"
2853 (("/bin/true") (which "true")))
2854 (substitute* "src/Makefile.in"
2855 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2856 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2857 (native-inputs
2858 `(("pkg-config" ,pkg-config)
2859 ("gobject-introspection" ,gobject-introspection)
2860 ("libtool" ,libtool)
2861 ("intltool" ,intltool)))
65cb2d61
SB
2862 (propagated-inputs
2863 ;; colord.pc refers to all these.
2864 `(("glib" ,glib)
2865 ("udev" ,eudev)
2866 ("lcms" ,lcms)))
75016d07 2867 (inputs
65cb2d61 2868 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2869 ("libgudev" ,libgudev)
75016d07 2870 ("libusb" ,libusb)
75016d07
AW
2871 ("sqlite" ,sqlite)
2872 ("polkit" ,polkit)
4c928743 2873 ("sane-backends" ,sane-backends)))
57e7d748 2874 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
2875 (synopsis "Color management service")
2876 (description "Colord is a system service that makes it easy to manage,
2877install and generate color profiles to accurately color manage input and
2878output devices.")
2879 (license license:gpl2+)))
7b2abd00
AW
2880
2881(define-public geoclue
2882 (package
2883 (name "geoclue")
b433c7b3 2884 (version "2.4.8")
7b2abd00
AW
2885 (source
2886 (origin
2887 (method url-fetch)
5cc3096c 2888 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2889 "/releases/" (version-major+minor version) "/"
2890 name "-" version ".tar.xz"))
2891 (sha256
2892 (base32
b433c7b3 2893 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 2894 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2895 (build-system glib-or-gtk-build-system)
2896 (arguments
2897 '(;; The tests want to run the system bus.
2898 #:tests? #f
2899 #:configure-flags (list ;; Disable bits requiring ModemManager.
2900 "--disable-3g-source"
2901 "--disable-cdma-source"
2902 "--disable-modem-gps-source"
2903 "--with-dbus-service-user=geoclue")
2904 #:phases
2905 (modify-phases %standard-phases
3a4de6b2 2906 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2907 (lambda _
2908 (substitute* "configure"
e3eb53e7
MW
2909 (("/bin/true") (which "true")))
2910 #t)))))
7b2abd00
AW
2911 (native-inputs
2912 `(("pkg-config" ,pkg-config)
758798a9 2913 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
2914 ("intltool" ,intltool)))
2915 (inputs
54e911bc
SB
2916 `(("avahi" ,avahi)
2917 ("glib" ,glib)
7b2abd00
AW
2918 ("json-glib" ,json-glib)
2919 ("libsoup" ,libsoup)))
99adfd7d 2920 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
2921 (synopsis "Geolocation service")
2922 (description "Geoclue is a D-Bus service that provides location
2923information. The primary goal of the Geoclue project is to make creating
2924location-aware applications as simple as possible, while the secondary goal is
2925to ensure that no application can access location information without explicit
e881752c 2926permission from user.")
7b2abd00 2927 (license license:gpl2+)))
2bfe7437
AW
2928
2929(define-public geocode-glib
2930 (package
2931 (name "geocode-glib")
3ffd46bd 2932 (version "3.20.1")
2bfe7437
AW
2933 (source (origin
2934 (method url-fetch)
2935 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2936 (version-major+minor version) "/"
2937 name "-" version ".tar.xz"))
2938 (sha256
2939 (base32
3ffd46bd 2940 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2941 (build-system gnu-build-system)
2942 (arguments
2943 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2944 ;; work for the builder. Punt.
a124bbd2 2945 #:tests? #f))
2bfe7437
AW
2946 (native-inputs
2947 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2948 ("gobject-introspection" ,gobject-introspection)
2949 ("pkg-config" ,pkg-config)
2950 ("json-glib" ,json-glib)))
2951 (propagated-inputs
2952 ;; geocode-glib-1.0.pc refers to GIO.
2953 `(("glib" ,glib)))
2954 (inputs
2955 `(("libsoup" ,libsoup)))
2956 (home-page "https://github.com/GNOME/geocode-glib/")
2957 (synopsis "Geocoding and reverse-geocoding library")
2958 (description
2959 "geocode-glib is a convenience library for geocoding (finding longitude,
2960and latitude from an address) and reverse geocoding (finding an address from
2961coordinates) using the Nominatim service. geocode-glib caches requests for
2962faster results and to avoid unnecessary server load.")
2963 (license license:lgpl2.0+)))
a1d5bb0e
AW
2964
2965(define-public upower
2966 (package
2967 (name "upower")
9ec54965 2968 (version "0.99.8")
a1d5bb0e
AW
2969 (source (origin
2970 (method url-fetch)
9ec54965
MB
2971 (uri (string-append "https://gitlab.freedesktop.org/upower/upower/"
2972 "uploads/9125ab7ee96fdc4ecc68cfefb50c1cab/"
2973 "upower-" version ".tar.xz"))
a1d5bb0e
AW
2974 (sha256
2975 (base32
9ec54965 2976 "00lzr0vyxz5lvmgya48gdb2cdgmfdim4b34jlfdyqakk1i9sl8xv"))
fc1adab1 2977 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2978 (build-system glib-or-gtk-build-system)
2979 (arguments
2980 '( ;; The tests want to contact the system bus, which can't be done in the
2981 ;; build environment. The integration test can run, but the last of
2982 ;; the up-self-tests doesn't. Disable tests for now.
2983 #:tests? #f
2984 #:configure-flags (list "--localstatedir=/var"
2985 (string-append "--with-udevrulesdir="
2986 (assoc-ref %outputs "out")
9ec54965 2987 "/lib/udev/rules.d"))))
a1d5bb0e 2988 (native-inputs
ebeabe2d
SB
2989 `(("gobject-introspection" ,gobject-introspection)
2990 ("pkg-config" ,pkg-config)
a1d5bb0e 2991 ("intltool" ,intltool)
55409295
LC
2992 ("python" ,python)
2993
2994 ;; For man pages.
2995 ("libxslt" ,libxslt) ;for 'xsltproc'
2996 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2997 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2998 (inputs
ea226291
SB
2999 `(("dbus-glib" ,dbus-glib)
3000 ("libgudev" ,libgudev)
a1d5bb0e 3001 ("libusb" ,libusb)))
d7a503fc
MB
3002 (propagated-inputs
3003 ;; In Requires of upower-glib.pc.
3004 `(("glib" ,glib)))
57e7d748 3005 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
3006 (synopsis "System daemon for managing power devices")
3007 (description
3008 "UPower is an abstraction for enumerating power devices,
3009listening to device events and querying history and statistics. Any
3010application or service on the system can access the org.freedesktop.UPower
3011service via the system message bus.")
3012 (license license:gpl2+)))
6a180f6f
AW
3013
3014(define-public libgweather
3015 (package
3016 (name "libgweather")
47aba9dd 3017 (version "3.26.1")
6a180f6f
AW
3018 (source (origin
3019 (method url-fetch)
3020 (uri (string-append "mirror://gnome/sources/" name "/"
3021 (version-major+minor version) "/"
3022 name "-" version ".tar.xz"))
3023 (sha256
3024 (base32
47aba9dd 3025 "1f64ix7acj0j0qvxwxaazii2bhsjgh5ang1kw14fkg25ndq899zw"))))
6a180f6f
AW
3026 (build-system gnu-build-system)
3027 (arguments
b6072e6b
SB
3028 `(#:configure-flags
3029 `(,(string-append "--with-zoneinfo-dir="
3030 (assoc-ref %build-inputs "tzdata")
3031 "/share/zoneinfo"))
3032 #:phases
3033 (modify-phases %standard-phases
8b8dfa7f
LC
3034 (add-before 'check 'pre-check
3035 (lambda* (#:key inputs #:allow-other-keys)
3036 (substitute* "data/check-timezones.sh"
3037 (("/usr/share/zoneinfo/zone.tab")
3038 (string-append (assoc-ref inputs "tzdata")
3039 "/share/zoneinfo/zone.tab")))
1d3fcf94
MS
3040 #t))
3041 (replace 'install
3042 (lambda _
3043 (zero?
3044 (system* "make"
3045 ;; Install vala bindings into $out.
3046 (string-append "vapidir=" %output
3047 "/share/vala/vapi")
3048 "install")))))))
6a180f6f
AW
3049 (native-inputs
3050 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 3051 ("gobject-introspection" ,gobject-introspection)
6a180f6f 3052 ("pkg-config" ,pkg-config)
1d3fcf94 3053 ("vala" ,vala)
6a180f6f
AW
3054 ("intltool" ,intltool)))
3055 (propagated-inputs
3056 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
3057 ;; libsoup.
3058 `(("gtk+" ,gtk+)
3059 ("gdk-pixbuf" ,gdk-pixbuf)
3060 ("libxml2" ,libxml2)
3061 ("libsoup" ,libsoup)))
3062 (inputs
3063 `(("tzdata" ,tzdata)
3064 ("geocode-glib" ,geocode-glib)))
3065 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
3066 (synopsis "Location, time zone, and weather library for GNOME")
3067 (description
3068 "libgweather is a library to access weather information from online
3069services for numerous locations.")
3070 (license license:gpl2+)))
23a22af6
AW
3071
3072(define-public gnome-settings-daemon
3073 (package
3074 (name "gnome-settings-daemon")
bd38e6a5 3075 (version "3.24.3")
23a22af6
AW
3076 (source
3077 (origin
3078 (method url-fetch)
3079 (uri (string-append "mirror://gnome/sources/" name "/"
3080 (version-major+minor version) "/"
3081 name "-" version ".tar.xz"))
3082 (sha256
3083 (base32
bd38e6a5 3084 "14w5jhpq02mbcxvn41qcj3cjfqdr3sgzl96c6glwpdrjphw61i38"))))
23a22af6
AW
3085 (build-system glib-or-gtk-build-system)
3086 (arguments
eee7878f 3087 `(;; Color management test can't reach the colord system service.
23a22af6
AW
3088 #:tests? #f))
3089 (native-inputs
3090 `(("pkg-config" ,pkg-config)
3091 ("intltool" ,intltool)
3092 ("xsltproc" ,libxslt)
3093 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
3094 ("docbook-xml" ,docbook-xml-4.2)
3095 ("docbook-xsl" ,docbook-xsl)))
3096 (inputs
3097 `(("colord" ,colord)
ea226291 3098 ("libgudev" ,libgudev)
23a22af6
AW
3099 ("upower" ,upower)
3100 ("polkit" ,polkit)
3101 ("pulseaudio" ,pulseaudio)
3102 ("libcanberra" ,libcanberra)
3103 ("libx11" ,libx11)
3104 ("libxtst" ,libxtst)
3105 ("lcms" ,lcms)
3106 ("libnotify" ,libnotify)
3107 ("geoclue" ,geoclue)
3108 ("geocode-glib" ,geocode-glib)
3109 ("libgweather" ,libgweather)
3110 ("gnome-desktop" ,gnome-desktop)
3111 ("nss" ,nss)
3112 ("cups" ,cups)
ec2b1921
AW
3113 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3114 ("libwacom" ,libwacom)
3115 ("librsvg" ,librsvg)
eee7878f
CM
3116 ("xf86-input-wacom" ,xf86-input-wacom)
3117 ("network-manager" ,network-manager)))
f032d0be 3118 (home-page "https://www.gnome.org")
23a22af6
AW
3119 (synopsis "GNOME settings daemon")
3120 (description
3121 "This package contains the daemon responsible for setting the various
3122parameters of a GNOME session and the applications that run under it. It
3123handles settings such keyboard layout, shortcuts, and accessibility, clipboard
3124settings, themes, mouse settings, and startup of other daemons.")
3125 (license license:gpl2+)))
1e7464a9
DH
3126
3127(define-public totem-pl-parser
3128 (package
3129 (name "totem-pl-parser")
7c94a359 3130 (version "3.10.8")
1e7464a9
DH
3131 (source (origin
3132 (method url-fetch)
e980cbe9
MW
3133 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
3134 (version-major+minor version) "/"
1e7464a9
DH
3135 "totem-pl-parser-" version ".tar.xz"))
3136 (sha256
3137 (base32
7c94a359 3138 "0ayxg0gfs5h5jhr811ja5hxlhryklzp6jlal2ach9wym2c3hmigz"))))
1e7464a9
DH
3139 (build-system gnu-build-system)
3140 (arguments
3141 ;; FIXME: Tests require gvfs.
3142 `(#:tests? #f))
3143 (native-inputs
3144 `(("intltool" ,intltool)
3145 ("glib" ,glib "bin")
4d6d8281 3146 ("gobject-introspection" ,gobject-introspection)
1e7464a9 3147 ("pkg-config" ,pkg-config)))
22a6ad6a 3148 (propagated-inputs
1e7464a9
DH
3149 `(("glib" ,glib)
3150 ("gmime" ,gmime)
22a6ad6a
MW
3151 ("libxml2" ,libxml2)))
3152 (inputs
3153 `(("libarchive" ,libarchive)
1e7464a9
DH
3154 ("libgcrypt" ,libgcrypt)
3155 ("nettle" ,nettle)
22a6ad6a 3156 ("libsoup" ,libsoup)))
1e7464a9
DH
3157 (home-page "https://projects.gnome.org/totem")
3158 (synopsis "Library to parse and save media playlists for GNOME")
3159 (description "Totem-pl-parser is a GObjects-based library to parse and save
3160playlists in a variety of formats.")
3161 (license license:lgpl2.0+)))
3162
6b888eff
SB
3163(define-public aisleriot
3164 (package
3165 (name "aisleriot")
491883a6 3166 (version "3.22.5")
6b888eff
SB
3167 (source (origin
3168 (method url-fetch)
3169 (uri (string-append "mirror://gnome/sources/" name "/"
3170 (version-major+minor version) "/"
3171 name "-" version ".tar.xz"))
3172 (sha256
3173 (base32
491883a6 3174 "0rl39psr5xi584310pyrgw36ini4wn7yr2m1q5118w3a3v1dkhzh"))))
6b888eff
SB
3175 (build-system glib-or-gtk-build-system)
3176 (arguments
3177 '(#:configure-flags
3178 '("--with-platform=gtk-only"
3179 "--with-card-theme-formats=svg")))
3180 (native-inputs
3181 `(("desktop-file-utils" ,desktop-file-utils)
3182 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3183 ("intltool" ,intltool)
3184 ("itstool" ,itstool)
3185 ("pkg-config" ,pkg-config)
3186 ("xmllint" ,libxml2)))
3187 (inputs
3188 `(("gtk+" ,gtk+)
226e57d6 3189 ("guile" ,guile-2.2)
6b888eff
SB
3190 ("libcanberra" ,libcanberra)
3191 ("librsvg" ,librsvg)))
3192 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
3193 (synopsis "Solitaire card games")
3194 (description
3195 "Aisleriot (also known as Solitaire or sol) is a collection of card games
3196which are easy to play with the aid of a mouse.")
3197 (license license:gpl3+)))
4a79e256
SB
3198
3199(define-public devhelp
3200 (package
3201 (name "devhelp")
8c2dcedd 3202 (version "3.26.0")
4a79e256
SB
3203 (source (origin
3204 (method url-fetch)
3205 (uri (string-append "mirror://gnome/sources/" name "/"
3206 (version-major+minor version) "/"
3207 name "-" version ".tar.xz"))
3208 (sha256
3209 (base32
8c2dcedd 3210 "0f4fmkqzn95zmc2paljma33fkj74qj1m6n23qrc5hfwmgx7p3wkb"))))
4a79e256
SB
3211 (build-system glib-or-gtk-build-system)
3212 (native-inputs
3213 `(("intltool" ,intltool)
3214 ("pkg-config" ,pkg-config)))
3215 (inputs
3216 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3217 ("webkitgtk" ,webkitgtk)))
3218 (home-page "https://wiki.gnome.org/Apps/Devhelp")
3219 (synopsis "API documentation browser for GNOME")
3220 (description
3221 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
3222natively with GTK-Doc (the API reference system developed for GTK+ and used
3223throughout GNOME for API documentation).")
3224 (license license:gpl2+)))
ba421ab7
MW
3225
3226(define-public cogl
3227 (package
3228 (name "cogl")
6a55accc 3229 (version "1.22.2")
ba421ab7
MW
3230 (source
3231 (origin
3232 (method url-fetch)
3233 (uri (string-append "mirror://gnome/sources/" name "/"
3234 (version-major+minor version) "/"
3235 name "-" version ".tar.xz"))
3236 (sha256
3237 (base32
6a55accc 3238 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
a88d5a0c
MW
3239 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
3240 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
3241 (build-system gnu-build-system)
3242 (native-inputs
3243 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3244 ("gobject-introspection" ,gobject-introspection)
3245 ;;("xorg-server" ,xorg-server) ; for the test suite
3246 ("pkg-config" ,pkg-config)))
3247 (propagated-inputs
3248 `(("glib" ,glib)
3249 ("gdk-pixbuf" ,gdk-pixbuf)
3250 ("libx11" ,libx11)
3251 ("libxext" ,libxext)
3252 ("libxfixes" ,libxfixes)
3253 ("libxdamage" ,libxdamage)
3254 ("libxcomposite" ,libxcomposite)
3255 ("libxrandr" ,libxrandr)))
3256 (inputs
3257 `(("mesa" ,mesa)
3258 ("cairo" ,cairo)
3259 ("pango" ,pango)
3260 ("gstreamer" ,gstreamer)
31860852
KK
3261 ("gst-plugins-base" ,gst-plugins-base)
3262 ("wayland" ,wayland)))
ba421ab7
MW
3263 (arguments
3264 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
3265 "--enable-wayland-egl-platform"
3266 "--enable-wayland-egl-server"
3267
ba421ab7
MW
3268 ;; Arrange to pass an absolute file name to
3269 ;; dlopen for libGL.so.
3270 (string-append "--with-gl-libname="
3271 (assoc-ref %build-inputs "mesa")
3272 "/lib/libGL.so"))
3273 ;; XXX FIXME: All tests fail, with many warnings printed like this:
3274 ;; _FontTransOpen: Unable to Parse address
3275 ;; ${prefix}/share/fonts/X11/misc/
3276 #:tests? #f
3277 #; #:phases
3278 #;
3279 (modify-phases %standard-phases
3280 (add-before 'check 'start-xorg-server
3281 (lambda* (#:key inputs #:allow-other-keys)
3282 ;; The test suite requires a running X server.
3283 (system (format #f "~a/bin/Xvfb :1 &"
3284 (assoc-ref inputs "xorg-server")))
3285 (setenv "DISPLAY" ":1")
3286 #t)))))
3287 (home-page "http://www.cogl3d.org")
3288 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
3289 (description
3290 "Cogl is a small library for using 3D graphics hardware to draw pretty
3291pictures. The API departs from the flat state machine style of OpenGL and is
3292designed to make it easy to write orthogonal components that can render
3293without stepping on each others toes.")
3294 (license (list license:expat ; most of the code
3295 license:bsd-3 ; cogl/cogl-point-in-poly.c
3296 license:sgifreeb2.0 ; cogl-path/tesselator/
3297 license:asl2.0)))) ; examples/android/
fb182b8a
MW
3298
3299(define-public clutter
3300 (package
3301 (name "clutter")
6a88e4ee 3302 (version "1.26.2")
fb182b8a
MW
3303 (source
3304 (origin
3305 (method url-fetch)
3306 (uri (string-append "mirror://gnome/sources/" name "/"
3307 (version-major+minor version) "/"
3308 name "-" version ".tar.xz"))
3309 (sha256
3310 (base32
6a88e4ee 3311 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
3312 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
3313 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 3314 (build-system gnu-build-system)
600233bd
LC
3315 (outputs '("out"
3316 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
3317 (native-inputs
3318 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
3319 ("gobject-introspection" ,gobject-introspection)
3320 ("pkg-config" ,pkg-config)
3321 ("xsltproc" ,libxslt)))
3322 (propagated-inputs
3323 `(("cogl" ,cogl)
3324 ("cairo" ,cairo)
3325 ("atk" ,atk)
3326 ("gtk+" ,gtk+)
3327 ("json-glib" ,json-glib)
3328 ("glib" ,glib)
3329 ("libxcomposite" ,libxcomposite)
3330 ("libxdamage" ,libxdamage)
3331 ("libxext" ,libxext)
3332 ("xinput" ,xinput)))
3333 (inputs
3334 `(("libxkbcommon" ,libxkbcommon)
3335 ("udev" ,eudev)))
3336 (arguments
600233bd
LC
3337 `(#:configure-flags (list "--enable-x11-backend=yes"
3338
3339 ;; This produces share/doc/{clutter,cally}.
3340 (string-append "--with-html-dir="
3341 (assoc-ref %outputs "doc")
3342 "/share/doc"))
fb182b8a
MW
3343 ;; XXX FIXME: Get test suite working. It would probably fail in the
3344 ;; same way the cogl tests fail, since clutter is based on cogl.
3345 #:tests? #f))
3346 (home-page "http://www.clutter-project.org")
3347 (synopsis "Open GL based interactive canvas library")
3348 (description
3349 "Clutter is an Open GL based interactive canvas library, designed for
3350creating fast, mainly 2D single window applications such as media box UIs,
3351presentations, kiosk style applications and so on.")
3352 (license license:lgpl2.0+)))
bf7f17ba
MW
3353
3354(define-public clutter-gtk
3355 (package
3356 (name "clutter-gtk")
5d1a3219 3357 (version "1.8.4")
bf7f17ba
MW
3358 (source
3359 (origin
3360 (method url-fetch)
3361 (uri (string-append "mirror://gnome/sources/" name "/"
3362 (version-major+minor version) "/"
3363 name "-" version ".tar.xz"))
3364 (sha256
3365 (base32
5d1a3219 3366 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
3367 (build-system gnu-build-system)
3368 (native-inputs
3369 `(("pkg-config" ,pkg-config)
3370 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
3371 (propagated-inputs
3372 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
3373 `(("clutter" ,clutter)
3374 ("gtk+" ,gtk+)))
3375 (home-page "http://www.clutter-project.org")
3376 (synopsis "Open GL based interactive canvas library GTK+ widget")
3377 (description
3378 "Clutter is an Open GL based interactive canvas library, designed for
3379creating fast, mainly 2D single window applications such as media box UIs,
3380presentations, kiosk style applications and so on.")
3381 (license license:lgpl2.0+)))
86d6a893
MW
3382
3383(define-public clutter-gst
3384 (package
3385 (name "clutter-gst")
a2b9cfa5 3386 (version "3.0.26")
86d6a893
MW
3387 (source
3388 (origin
3389 (method url-fetch)
3390 (uri (string-append "mirror://gnome/sources/" name "/"
3391 (version-major+minor version) "/"
3392 name "-" version ".tar.xz"))
3393 (sha256
3394 (base32
a2b9cfa5 3395 "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq"))))
86d6a893
MW
3396 (build-system gnu-build-system)
3397 (native-inputs
3398 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3399 ("pkg-config" ,pkg-config)
3400 ("gobject-introspection" ,gobject-introspection)))
3401 (inputs
3402 `(("clutter" ,clutter)
3403 ("gstreamer" ,gstreamer)
3404 ("gst-plugins-base" ,gst-plugins-base)))
3405 (home-page "http://www.clutter-project.org")
3406 (synopsis "Integration library for using GStreamer with Clutter")
3407 (description
3408 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3409It provides a GStreamer sink to upload frames to GL and an actor that
3410implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3411GL based interactive canvas library.")
3412 (license license:lgpl2.0+)))
607a04ae 3413
30dc88d9
LC
3414(define-public libchamplain
3415 (package
3416 (name "libchamplain")
5564b2c5 3417 (version "0.12.16")
30dc88d9
LC
3418 (source (origin
3419 (method url-fetch)
3420 (uri (string-append
3421 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3422 version ".tar.xz"))
3423 (sha256
3424 (base32
5564b2c5 3425 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 3426 (build-system gnu-build-system)
f7c6833f
LF
3427 (arguments '(#:configure-flags '("--enable-vala")))
3428 (native-inputs
3429 `(("gobject-introspection" ,gobject-introspection)
3430 ("pkg-config" ,pkg-config)
3431 ("vala" ,vala)))
30dc88d9
LC
3432 (propagated-inputs
3433 `(("libsoup" ,libsoup)
3434 ("sqlite" ,sqlite)
3435 ("clutter" ,clutter)
3436 ("clutter-gtk" ,clutter-gtk)
3437 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3438 ("cairo" ,cairo)
3439 ("gtk+3" ,gtk+)
3440 ("glib" ,glib)))
f032d0be 3441 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
3442 (synopsis "C library providing a ClutterActor to display maps")
3443 (description
3444 "libchamplain is a C library providing a ClutterActor to display maps.
3445It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3446and Perl bindings are also available. It supports numerous free map sources
3447such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3448 (license license:lgpl2.1+)))
3449
607a04ae
MW
3450(define-public gom
3451 (package
3452 (name "gom")
0510440b 3453 (version "0.3.2")
607a04ae
MW
3454 (source
3455 (origin
3456 (method url-fetch)
3457 (uri (string-append "mirror://gnome/sources/" name "/"
3458 (version-major+minor version) "/"
3459 name "-" version ".tar.xz"))
3460 (sha256
3461 (base32
0510440b 3462 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3463 (build-system gnu-build-system)
3464 (native-inputs
3465 `(("intltool" ,intltool)
3466 ("pkg-config" ,pkg-config)
3467 ("gobject-introspection" ,gobject-introspection)))
3468 (inputs
3469 `(("glib" ,glib)
3470 ("gdk-pixbuf" ,gdk-pixbuf)
3471 ("sqlite" ,sqlite)))
3472 ;; XXX TODO: Figure out how to run the test suite.
3473 (arguments `(#:tests? #f))
3474 (home-page "https://wiki.gnome.org/Projects/Gom")
3475 (synopsis "Object mapper from GObjects to SQLite")
3476 (description
3477 "Gom provides an object mapper from GObjects to SQLite. It helps you
3478write applications that need to store structured data as well as make complex
3479queries upon that data.")
3480 (license license:lgpl2.1+)))
b7a3cf11 3481
865aacc9 3482(define-public libgnome-games-support
f09520db 3483 (package
865aacc9 3484 (name "libgnome-games-support")
da40501b 3485 (version "1.2.3")
f09520db
SB
3486 (source (origin
3487 (method url-fetch)
3488 (uri (string-append "mirror://gnome/sources/" name "/"
3489 (version-major+minor version) "/"
3490 name "-" version ".tar.xz"))
3491 (sha256
3492 (base32
da40501b 3493 "1vwad7kqy7yd6wqyr71nq0blh7m53r3lz6ya16dmh942kd0w48v1"))))
f09520db
SB
3494 (build-system gnu-build-system)
3495 (arguments
3496 '(#:phases
3497 (modify-phases %standard-phases
3498 (add-before 'check 'pre-check
3499 (lambda _
865aacc9 3500 ;; Tests require a writable HOME.
f09520db
SB
3501 (setenv "HOME" (getcwd))
3502 #t)))))
3503 (native-inputs
3504 `(("intltool" ,intltool)
3505 ("pkg-config" ,pkg-config)
3506 ("vala" ,vala)))
3507 (propagated-inputs
865aacc9 3508 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
3509 `(("gtk+" ,gtk+)
3510 ("libgee" ,libgee)))
3511 (home-page "https://www.gnome.org/")
3512 (synopsis "Useful functionality shared among GNOME games")
3513 (description
865aacc9 3514 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
3515GNOME Games, but it may be used by others.")
3516 (license license:lgpl3+)))
3517
b7a3cf11
SB
3518(define-public gnome-klotski
3519 (package
3520 (name "gnome-klotski")
36828576 3521 (version "3.22.3")
b7a3cf11
SB
3522 (source (origin
3523 (method url-fetch)
3524 (uri (string-append "mirror://gnome/sources/" name "/"
3525 (version-major+minor version) "/"
3526 name "-" version ".tar.xz"))
3527 (sha256
3528 (base32
36828576 3529 "0prc0s28pdflgzyvk1g0yfx982q2grivmz3858nwpqmbkha81r7f"))))
b7a3cf11
SB
3530 (build-system glib-or-gtk-build-system)
3531 (native-inputs
3532 `(("desktop-file-utils" ,desktop-file-utils)
3533 ("intltool" ,intltool)
3534 ("itstool" ,itstool)
bcb354ad
SB
3535 ("pkg-config" ,pkg-config)
3536 ("xmllint" ,libxml2)))
b7a3cf11
SB
3537 (inputs
3538 `(("gtk+" ,gtk+)
f4eae76f 3539 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3540 ("librsvg" ,librsvg)))
3541 (home-page "https://wiki.gnome.org/Apps/Klotski")
3542 (synopsis "Sliding block puzzles")
3543 (description
3544 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3545the patterned block to the area bordered by green markers. To do so, you will
3546need to slide other blocks out of the way. Complete each puzzle in as few moves
3547as possible!")
3548 (license license:gpl2+)))
8d4791bf
MW
3549
3550(define-public grilo
3551 (package
3552 (name "grilo")
99dd2af9 3553 (version "0.3.3")
8d4791bf
MW
3554 (source
3555 (origin
3556 (method url-fetch)
3557 (uri (string-append "mirror://gnome/sources/" name "/"
3558 (version-major+minor version) "/"
3559 name "-" version ".tar.xz"))
3560 (sha256
3561 (base32
99dd2af9 3562 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
8d4791bf
MW
3563 (build-system gnu-build-system)
3564 (native-inputs
3565 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3566 ("intltool" ,intltool)
3567 ("pkg-config" ,pkg-config)
3568 ("gobject-introspection" ,gobject-introspection)))
3569 (inputs
6d7273a0
KK
3570 `(("cyrus-sasl" ,cyrus-sasl)
3571 ("glib" ,glib)
8d4791bf
MW
3572 ("gtk+" ,gtk+)
3573 ("libxml2" ,libxml2)
6d7273a0 3574 ("liboauth" ,liboauth)
8d4791bf 3575 ("libsoup" ,libsoup)
e7305878 3576 ("nettle" ,nettle)
8d4791bf
MW
3577 ("totem-pl-parser" ,totem-pl-parser)))
3578 (arguments
3579 `(#:phases
3580 (modify-phases %standard-phases
3581 (add-after 'unpack 'fix-introspection-install-dir
3582 (lambda* (#:key outputs #:allow-other-keys)
3583 (let ((out (assoc-ref outputs "out")))
3584 (substitute* '("src/Makefile.in"
3585 "libs/pls/Makefile.in"
3586 "libs/net/Makefile.in")
3587 (("@INTROSPECTION_GIRDIR@")
3588 (string-append out "/share/gir-1.0/"))
3589 (("@INTROSPECTION_TYPELIBDIR@")
8c52aab4
MW
3590 (string-append out "/lib/girepository-1.0/")))
3591 #t))))))
8d4791bf
MW
3592 (native-search-paths
3593 (list (search-path-specification
3594 (variable "GRL_PLUGIN_PATH")
3595 (files (list (string-append "lib/grilo-"
3596 (version-major+minor version)))))))
f032d0be 3597 (home-page "https://live.gnome.org/Grilo")
8d4791bf
MW
3598 (synopsis "Framework for discovering and browsing media")
3599 (description
3600 "Grilo is a framework focused on making media discovery and browsing easy
3601for application developers.")
3602 (license license:lgpl2.1+)))
7b212526
MW
3603
3604(define-public grilo-plugins
3605 (package
3606 (name "grilo-plugins")
22753632 3607 (version "0.3.3")
7b212526
MW
3608 (source
3609 (origin
3610 (method url-fetch)
3611 (uri (string-append "mirror://gnome/sources/" name "/"
3612 (version-major+minor version) "/"
3613 name "-" version ".tar.xz"))
3614 (sha256
3615 (base32
22753632 3616 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3617 (build-system gnu-build-system)
3618 (native-inputs
3619 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3620 ("intltool" ,intltool)
3621 ("itstool" ,itstool)
3622 ("pkg-config" ,pkg-config)))
3623 (inputs
3624 `(("grilo" ,grilo)
924ae80f 3625 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3626 ("glib" ,glib)
3627 ("libxml2" ,libxml2)
3628 ("sqlite" ,sqlite)
3629 ("gom" ,gom)
3630 ;; XXX TODO: Add oauth
3631 ;; XXX TODO: Add goa
3632 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3633 ;; XXX TODO: Add lua (needs help finding it)
3634 ("json-glib" ,json-glib)
3635 ("avahi" ,avahi)
3636 ("gmime" ,gmime)
3637 ("libsoup" ,libsoup)
3638 ("libarchive" ,libarchive)
3639 ("totem-pl-parser" ,totem-pl-parser)))
3640 (arguments
3641 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3642 %output
3643 "/lib/grilo-"
3644 ,(version-major+minor version)))
3645 ;; XXX FIXME: Try to get the test suite working. It appears to require
3646 ;; a working system dbus. Inside the build container, all tests fail
3647 ;; with: "assertion failed: (source)". Outside of the build container,
3648 ;; most tests succeed.
3649 #:tests? #f))
f032d0be 3650 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
3651 (synopsis "Plugins for the Grilo media discovery library")
3652 (description
3653 "Grilo is a framework focused on making media discovery and browsing easy
3654for application developers.")
3655 (license license:lgpl2.1+)))
4e3fc547
MW
3656
3657(define-public totem
3658 (package
3659 (name "totem")
0e091b3e 3660 (version "3.26.2")
4e3fc547
MW
3661 (source
3662 (origin
3663 (method url-fetch)
3664 (uri (string-append "mirror://gnome/sources/" name "/"
3665 (version-major+minor version) "/"
3666 name "-" version ".tar.xz"))
3667 (sha256
3668 (base32
0e091b3e 3669 "1llyisls3pzf5bwkpxyfyxc2d3gpa09n5pjy7qsjdqrp3ya4k36g"))
7ad81b8b
LC
3670 (patches (search-patches "totem-meson-easy-codec.patch"))))
3671 (build-system meson-build-system)
4e3fc547
MW
3672 (native-inputs
3673 `(("pkg-config" ,pkg-config)
3674 ("desktop-file-utils" ,desktop-file-utils)
3675 ("gobject-introspection" ,gobject-introspection)
7ad81b8b
LC
3676 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
3677 ("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache'
4e3fc547 3678 ("intltool" ,intltool)
bcb354ad
SB
3679 ("itstool" ,itstool)
3680 ("xmllint" ,libxml2)))
4e3fc547
MW
3681 (propagated-inputs
3682 `(("dconf" ,dconf)))
3683 (inputs
3684 `(("gtk+" ,gtk+)
3685 ("gdk-pixbuf" ,gdk-pixbuf)
3686 ("atk" ,atk)
3687 ("cairo" ,cairo)
3688 ("dbus-glib" ,dbus-glib)
3689 ("clutter" ,clutter)
3690 ("clutter-gtk" ,clutter-gtk)
3691 ("clutter-gst" ,clutter-gst)
6a6db57f 3692 ("xorgproto" ,xorgproto)
4e3fc547
MW
3693 ("libxxf86vm" ,libxxf86vm)
3694 ("libxtst" ,libxtst)
3695 ("libxrandr" ,libxrandr)
3696 ("libxml2" ,libxml2)
3697 ("libsoup" ,libsoup)
3698 ("libpeas" ,libpeas)
3699 ("librsvg" ,librsvg)
3700 ("lirc" ,lirc)
3701 ("gnome-desktop" ,gnome-desktop)
3702 ("gstreamer" ,gstreamer)
3703 ("gst-plugins-base" ,gst-plugins-base)
3704 ("gst-plugins-good" ,gst-plugins-good)
3705 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3706 ("adwaita-icon-theme" ,adwaita-icon-theme)
3707 ;; XXX We use python-2 because libxml2 because itstool (which needs
3708 ;; libxml) currently uses python-2.
3709 ("python" ,python-2)
3710 ("python-pygobject" ,python2-pygobject)
3711 ;; XXX TODO pylint needed for python support
3712 ("totem-pl-parser" ,totem-pl-parser)
3713 ("grilo" ,grilo)
3714 ("grilo-plugins" ,grilo-plugins)
3715 ("nettle" ,nettle)
3716 ("vala" ,vala)))
3717 (arguments
7ad81b8b
LC
3718 `(#:glib-or-gtk? #t
3719
a97bfa46
AVY
3720 ;; Disable parallel builds until
3721 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28813 is
3722 ;; fixed. Try enabling it when updating this package in case
3723 ;; upstream has fixed it.
3724 #:parallel-build? #f
3725
7ad81b8b 3726 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 3727 ;; all that.
7ad81b8b 3728 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
3729
3730 ;; Do not build .a files for the plugins, it's
3731 ;; completely useless. This saves 2 MiB.
7ad81b8b 3732 "--default-library" "shared")
ec5c24f9
LC
3733
3734 #:phases
4e3fc547 3735 (modify-phases %standard-phases
6368eb39
DM
3736 (add-before
3737 'install 'disable-cache-generation
3738 (lambda _
3739 (setenv "DESTDIR" "/")
3740 #t))
4e3fc547
MW
3741 (add-after
3742 'install 'wrap-totem
3743 (lambda* (#:key inputs outputs #:allow-other-keys)
3744 (let ((out (assoc-ref outputs "out"))
3745 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3746 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3747 (wrap-program (string-append out "/bin/totem")
3748 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
3749 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
3750 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
3751 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
3752 #t)))))
3753 (home-page "https://wiki.gnome.org/Apps/Videos")
3754 (synopsis "Simple media player for GNOME based on GStreamer")
3755 (description "Totem is a simple yet featureful media player for GNOME
3756which can read a large number of file formats.")
3757 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3758 ;; to be used and distributed together with GStreamer and Totem. See
3759 ;; file://COPYING in the source distribution for details.
3760 (license license:gpl2+)))
f0afb0c8
DH
3761
3762(define-public rhythmbox
3763 (package
3764 (name "rhythmbox")
778c4a2f 3765 (version "3.4.2")
f0afb0c8
DH
3766 (source (origin
3767 (method url-fetch)
3768 (uri (string-append "mirror://gnome/sources/" name "/"
3769 (version-major+minor version) "/"
3770 name "-" version ".tar.xz"))
aa758763
CB
3771 (patches
3772 (list
3773 ;; fmradio: Fix build with GStreamer master
3774 (origin
3775 (method url-fetch)
3776 (uri (string-append
3777 "https://gitlab.gnome.org/GNOME/rhythmbox/commit/"
3778 "b182c6b9e1d09e601bac0b703cc5f8b159ebbc3a.patch"))
3779 (sha256
3780 (base32
e1d97c4e 3781 "06n87xgf927djmv1vshal84nqx7g8nwgljza3g2vydhy7g2n1csq")))))
f0afb0c8
DH
3782 (sha256
3783 (base32
778c4a2f 3784 "0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2"))))
f0afb0c8
DH
3785 (build-system glib-or-gtk-build-system)
3786 (arguments
3787 `(#:configure-flags
3788 (list "--enable-lirc"
3789 "--enable-python"
3790 "--enable-vala"
3791 "--with-brasero"
3792 "--with-gudev"
3793 "--with-libsecret")
3794 #:phases
3795 (modify-phases %standard-phases
3796 (add-after
3797 'install 'wrap-rhythmbox
3798 (lambda* (#:key inputs outputs #:allow-other-keys)
3799 (let ((out (assoc-ref outputs "out"))
3800 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3801 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3802 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3803 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3804 (wrap-program (string-append out "/bin/rhythmbox")
3805 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3806 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3807 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3808 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3809 #t)))))
3810 (propagated-inputs
3811 `(("dconf" ,dconf)))
3812 (native-inputs
bcb354ad
SB
3813 `(("itstool" ,itstool)
3814 ("intltool" ,intltool)
f0afb0c8
DH
3815 ("glib" ,glib "bin")
3816 ("gobject-introspection" ,gobject-introspection)
3817 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3818 ("pkg-config" ,pkg-config)
3819 ("xmllint" ,libxml2)))
f0afb0c8
DH
3820 (inputs
3821 `(("json-glib" ,json-glib)
3822 ("tdb" ,tdb)
3823 ("gnome-desktop" ,gnome-desktop)
3824 ("python" ,python)
3825 ("python-pygobject" ,python2-pygobject)
3826 ("vala" ,vala)
3827 ("gmime" ,gmime)
3828 ("nettle" ,nettle)
f0afb0c8
DH
3829 ("adwaita-icon-theme" ,adwaita-icon-theme)
3830 ("grilo" ,grilo)
3831 ("grilo-plugins" ,grilo-plugins)
3832 ("gstreamer" ,gstreamer)
3833 ("gst-plugins-base" ,gst-plugins-base)
3834 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3835 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3836 ("libgudev" ,libgudev)
f0afb0c8
DH
3837 ;;("libmtp" ,libmtp) FIXME: Not detected
3838 ("libsecret" ,libsecret)
3839 ("libsoup" ,libsoup)
3840 ("libnotify" ,libnotify)
3841 ("libpeas" ,libpeas)
3842 ("lirc" ,lirc)
3843 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3844 ;;("clutter" ,clutter)
3845 ;;("clutter-gtk" ,clutter-gtk)
3846 ;;("clutter-gst" ,clutter-gst)
3847 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3848 ("atk" ,atk)
3849 ("pango" ,pango)
3850 ("gtk+" ,gtk+)
3851 ;; TODO:
3852 ;; * libgpod
3853 ;; * mx
f0afb0c8
DH
3854 ("brasero" ,brasero)))
3855 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3856 (synopsis "Music player for GNOME")
3857 (description "Rhythmbox is a music playing application for GNOME. It
3858supports playlists, song ratings, and any codecs installed through gstreamer.")
3859 (license license:gpl2+)))
f70d8383
DH
3860
3861(define-public eog
3862 (package
3863 (name "eog")
9bc646d0 3864 (version "3.26.2")
f70d8383
DH
3865 (source (origin
3866 (method url-fetch)
3867 (uri (string-append "mirror://gnome/sources/" name "/"
3868 (version-major+minor version) "/"
3869 name "-" version ".tar.xz"))
3870 (sha256
3871 (base32
9bc646d0 3872 "1b87i31mxzayd3knn9zg00y816d093qrbyx556w8a03xz96ksgmm"))))
f70d8383
DH
3873 (build-system glib-or-gtk-build-system)
3874 (arguments
3875 `(#:phases
3876 (modify-phases %standard-phases
3877 (add-after
3878 'install 'wrap-eog
3879 (lambda* (#:key outputs #:allow-other-keys)
3880 (let ((out (assoc-ref outputs "out"))
3881 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3882 (wrap-program (string-append out "/bin/eog")
3883 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3884 #t)))))
3885 (propagated-inputs
3886 `(("dconf" ,dconf)))
3887 (native-inputs
3888 `(("intltool" ,intltool)
b3546174 3889 ("itstool" ,itstool)
f70d8383
DH
3890 ("glib" ,glib "bin")
3891 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3892 ("pkg-config" ,pkg-config)
3893 ("xmllint" ,libxml2)))
f70d8383
DH
3894 (inputs
3895 `(("gnome-desktop" ,gnome-desktop)
3896 ("shared-mime-info" ,shared-mime-info)
3897 ("adwaita-icon-theme" ,adwaita-icon-theme)
3898 ("exempi" ,exempi)
3899 ("lcms" ,lcms)
3900 ("libexif" ,libexif)
3901 ("libpeas" ,libpeas)
3902 ("libjpeg" ,libjpeg)
3903 ("librsvg" ,librsvg)
3904 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3905 ("gtk+" ,gtk+)))
3906 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3907 (synopsis "GNOME image viewer")
3908 (description "Eye of GNOME is the GNOME image viewer. It
3909supports image conversion, rotation, and slideshows.")
3910 (license license:gpl2+)))
41af5e7b 3911
0c3f8cb8
LC
3912(define-public eog-plugins
3913 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
3914 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
3915 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
3916 ;; 'XDG_DATA_DIRS' appropriately set.
3917 (package
3918 (name "eog-plugins")
1a4e5530 3919 (version "3.26.2")
0c3f8cb8
LC
3920 (source (origin
3921 (method url-fetch)
3922 (uri (string-append "mirror://gnome/sources/" name "/"
3923 (version-major+minor version) "/"
3924 name "-" version ".tar.xz"))
3925 (sha256
3926 (base32
1a4e5530 3927 "1w8zw7kwfvlwlyb1k1inqdvbwnzq959sqawlmnwfb8ykn98hbk8y"))))
0c3f8cb8
LC
3928 (build-system gnu-build-system)
3929 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
3930 (synopsis "Extensions for the Eye of GNOME image viewer")
3931 (native-inputs
3932 `(("pkg-config" ,pkg-config)
3933 ("gettext" ,gnu-gettext)))
3934 (inputs
3935 `(("eog" ,eog)
3936 ("glib" ,glib)
3937 ("gtk+" ,gtk+)
3938 ("libpeas" ,libpeas)
3939 ("libexif" ,libexif)
3940 ("libchamplain" ,libchamplain)))
3941 (description
3942 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
3943notably:
3944
3945@itemize
3946@item @dfn{EXIF Display}, which displays camera (EXIF) information;
3947@item @dfn{Map}, which displays a map of where the picture was taken on the
3948side panel;
3949@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
3950@end itemize\n")
3951
3952 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
3953 ;; long suspicious byte stream that goes to a
3954 ;; ".gresource.eog_postasa_plugin" ELF section.
3955 (license license:gpl2+)))
3956
41af5e7b
SB
3957(define-public libgudev
3958 (package
3959 (name "libgudev")
3960 (version "230")
3961 (source (origin
3962 (method url-fetch)
3963 (uri (string-append "mirror://gnome/sources/" name "/"
3964 version "/" name "-" version ".tar.xz"))
3965 (sha256
3966 (base32
3967 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3968 (build-system gnu-build-system)
3969 (native-inputs
3970 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3971 ("gobject-introspection" ,gobject-introspection)
3972 ("pkg-config" ,pkg-config)))
3973 (propagated-inputs
3974 `(("glib" ,glib))) ; required by gudev-1.0.pc
3975 (inputs
3976 `(("udev" ,eudev)))
3977 (home-page "https://wiki.gnome.org/Projects/libgudev")
3978 (synopsis "GObject bindings for libudev")
3979 (description
3980 "This library provides GObject bindings for libudev. It was originally
3981part of udev-extras, then udev, then systemd. It's now a project on its own.")
3982 (license license:lgpl2.1+)))
3dc8828f
SB
3983
3984(define-public gvfs
3985 (package
3986 (name "gvfs")
8e8fefb6 3987 (version "1.32.1")
3dc8828f
SB
3988 (source (origin
3989 (method url-fetch)
3990 (uri (string-append "mirror://gnome/sources/" name "/"
3991 (version-major+minor version) "/"
3992 name "-" version ".tar.xz"))
3993 (sha256
3994 (base32
8e8fefb6 3995 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3996 (build-system gnu-build-system)
3997 (arguments
3998 '(#:tests? #f)) ; XXX: requiring `pidof'
3999 (native-inputs
4000 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4001 ("intltool" ,intltool)
4002 ("pkg-config" ,pkg-config)
4003 ("xsltproc" ,libxslt)))
4004 (inputs
4005 `(("avahi" ,avahi)
4006 ("docbook-xml" ,docbook-xml-4.2)
4007 ("docbook-xsl" ,docbook-xsl)
4008 ("dbus" ,dbus)
4009 ("fuse" ,fuse)
24a78aa6 4010 ("gcr" ,gcr)
3dc8828f
SB
4011 ("glib" ,glib)
4012 ("libarchive" ,libarchive)
4013 ("libbluray" ,libbluray)
8852ca24 4014 ("libcap" ,libcap)
3dc8828f
SB
4015 ("libcdio-paranoia" ,libcdio-paranoia)
4016 ("libgcrypt" ,libgcrypt)
4017 ("libgphoto2" ,libgphoto2)
4018 ("libgudev" ,libgudev)
4019 ("libmtp" ,libmtp)
4020 ("libsecret" ,libsecret)
4021 ("libsmbclient" ,samba)
4022 ("libsoup" ,libsoup)
4023 ("libxml2" ,libxml2)
4024 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 4025 ("polkit" ,polkit)
3dc8828f
SB
4026 ("udisks" ,udisks)))
4027 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 4028 (synopsis "Userspace virtual file system for GIO")
3dc8828f 4029 (description
8f65585b 4030 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
4031abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
4032to all applications using the GIO API. It also supports exposing the GVFS
4033mounts to non-GIO applications using FUSE.
4034
4035GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
4036DAV, and others.")
4037 (license license:lgpl2.0+)))
7c88b6bd
AW
4038
4039(define-public gusb
4040 (package
4041 (name "gusb")
536b3274 4042 (version "0.3.0")
7c88b6bd
AW
4043 (source (origin
4044 (method url-fetch)
4045 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
536b3274 4046 version ".tar.gz"))
7c88b6bd
AW
4047 (sha256
4048 (base32
536b3274
MB
4049 "1wa9787ww7s1kl9jml6kiyrjgimlgagq4jmgdj7xcpsx83w10qxk"))))
4050 (build-system meson-build-system)
7c88b6bd 4051 (native-inputs
536b3274 4052 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
4053 ("pkg-config" ,pkg-config)
4054 ("vala" ,vala)
7c88b6bd
AW
4055 ("gtk-doc" ,gtk-doc)))
4056 (propagated-inputs
4057 ;; Both of these are required by gusb.pc.
4058 `(("glib" ,glib)
4059 ("libusb" ,libusb)))
4060 (arguments
536b3274 4061 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 4062 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 4063 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
4064 (description
4065 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
4066asynchronous control, bulk and interrupt transfers with proper cancellation
4067and integration into a mainloop. This makes it easy to integrate low level
4068USB transfers with your high-level application or system daemon.")
4069 (license license:lgpl2.1+)))
0abe1d86
AW
4070
4071(define-public simple-scan
4072 (package
4073 (name "simple-scan")
baca5333 4074 (version "3.24.1")
0abe1d86
AW
4075 (source (origin
4076 (method url-fetch)
4077 (uri (string-append "https://launchpad.net/simple-scan/"
4078 (version-major+minor version) "/"
4079 version "/+download/simple-scan-"
4080 version ".tar.xz"))
4081 (sha256
4082 (base32
baca5333 4083 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
4084 (build-system glib-or-gtk-build-system)
4085 (inputs
4086 `(("gtk" ,gtk+)
4087 ("zlib" ,zlib)
4088 ("cairo" ,cairo)
4089 ("gdk-pixbuf" ,gdk-pixbuf)
4090 ("gusb" ,gusb)
4c928743 4091 ("libsane" ,sane-backends)))
0abe1d86 4092 (native-inputs
b94a6ca0 4093 `(("gettext" ,gettext-minimal)
0abe1d86
AW
4094 ("itstool" ,itstool)
4095 ("colord" ,colord)
4096 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
4097 ("pkg-config" ,pkg-config)
bcb354ad
SB
4098 ("vala" ,vala)
4099 ("xmllint" ,libxml2)))
fb9ca511
TGR
4100 (arguments
4101 '(#:configure-flags '("--disable-packagekit")
4102 #:phases
4103 (modify-phases %standard-phases
4104 (add-after 'unpack 'clean
4105 (lambda _
4106 ;; Remove a left-over reference to PackageKit.
4107
4108 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
4109
4110 ;; There are some generated C files erroneously
4111 ;; included in the source distribution, and this
4112 ;; one breaks the build by referring to a
4113 ;; non-existent header (packagekit.h)
4114 (delete-file "src/ui.c"))))))
0abe1d86
AW
4115 (home-page "https://launchpad.net/simple-scan")
4116 (synopsis "Document and image scanner")
4117 (description "Simple Scan is an easy-to-use application, designed to let
4118users connect their scanner and quickly have the image/document in an
4119appropriate format. Simple Scan is basically a frontend for SANE - which is
4120the same backend as XSANE uses. This means that all existing scanners will
4121work and the interface is well tested.")
4122 (license license:gpl3+)))
7549f984 4123
ab466d79
RW
4124(define-public eolie
4125 (package
4126 (name "eolie")
e6b65bd2 4127 (version "0.9.45")
ab466d79
RW
4128 (source (origin
4129 (method url-fetch)
00014781 4130 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
e6b65bd2 4131 "uploads/020f3f686e2b938731752a1d9f5bfa7e/"
00014781 4132 "eolie-" version ".tar.xz"))
ab466d79
RW
4133 (sha256
4134 (base32
e6b65bd2 4135 "0371p7g13r0b7zjc48fdcil43ddwpmyvkd2a4vv6ifsqmny6kl42"))))
00014781 4136 (build-system meson-build-system)
ab466d79 4137 (arguments
00014781
RW
4138 `(#:glib-or-gtk? #t
4139 #:phases
ab466d79
RW
4140 (modify-phases %standard-phases
4141 (add-after 'wrap 'wrap-more
4142 (lambda* (#:key inputs outputs #:allow-other-keys)
4143 (let* ((out (assoc-ref outputs "out"))
4144 ;; These libraries must be on LD_LIBRARY_PATH.
4145 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
4146 "atk" "gtk+" "gsettings-desktop-schemas"
84b33436 4147 "gcc:lib" ; needed b/c webkitgtk is built with gcc-7
ab466d79
RW
4148 "gobject-introspection"))
4149 (path (string-join
4150 (map (lambda (lib)
4151 (string-append (assoc-ref inputs lib) "/lib"))
4152 libs)
4153 ":")))
4154 (wrap-program (string-append out "/bin/eolie")
4155 `("LD_LIBRARY_PATH" ":" prefix (,path))
4156 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
4157 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
4158 #t)))))
4159 (native-inputs
84b33436
MW
4160 `(("gcc:lib" ,gcc-7 "lib") ; needed because webkitgtk is built with gcc-7
4161 ("intltool" ,intltool)
ab466d79 4162 ("itstool" ,itstool)
d95f1041 4163 ("pkg-config" ,pkg-config)
d95f1041 4164 ("python" ,python)
00014781 4165 ("glib:bin" ,glib "bin")
d95f1041 4166 ("gtk+" ,gtk+ "bin")))
ab466d79
RW
4167 (inputs
4168 `(("gobject-introspection" ,gobject-introspection)
4169 ("glib-networking" ,glib-networking)
4170 ("cairo" ,cairo)
4171 ("gtk+" ,gtk+)
4172 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4173 ("python" ,python-wrapper)
d72f76df 4174 ("python-dateutil" ,python-dateutil)
00014781 4175 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
4176 ("python-pygobject" ,python-pygobject)
4177 ("python-pycairo" ,python-pycairo)
00014781 4178 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
4179 ("libsecret" ,libsecret)
4180 ("gtkspell3" ,gtkspell3)
4181 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
84b33436 4182 ("webkitgtk" ,webkitgtk-2.22)))
166b2c97 4183 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
4184 (synopsis "Web browser for GNOME")
4185 (description
4186 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4187a secret password store, an adblocker, and a modern UI.")
4188 (license license:gpl3+)))
4189
7549f984
SB
4190(define-public epiphany
4191 (package
4192 (name "epiphany")
0e4d4d98 4193 (version "3.28.3.1")
7549f984
SB
4194 (source (origin
4195 (method url-fetch)
4196 (uri (string-append "mirror://gnome/sources/" name "/"
4197 (version-major+minor version) "/"
4198 name "-" version ".tar.xz"))
4199 (sha256
4200 (base32
0e4d4d98 4201 "1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9"))))
fc5c5b92
R
4202
4203 (build-system meson-build-system)
7549f984
SB
4204 (arguments
4205 ;; FIXME: tests run under Xvfb, but fail with:
4206 ;; /src/bookmarks/ephy-bookmarks/create:
4207 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4208 ;; subsystem
4209 ;; FAIL
6f48d9db 4210 '(#:tests? #f
e19f9c24
LF
4211 #:glib-or-gtk? #t
4212 #:configure-flags
4213 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
4214 (list (string-append "-Dc_link_args=-Wl,-rpath="
4215 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
4216 (propagated-inputs
4217 `(("dconf" ,dconf)))
7549f984 4218 (native-inputs
fc5c5b92 4219 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
480d39a6 4220 ("gcc" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
fc5c5b92
R
4221 ("glib:bin" ,glib "bin") ; for glib-mkenums
4222 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
4223 ("intltool" ,intltool)
7549f984 4224 ("itstool" ,itstool)
bcb354ad
SB
4225 ("pkg-config" ,pkg-config)
4226 ("xmllint" ,libxml2)))
7549f984
SB
4227 (inputs
4228 `(("avahi" ,avahi)
4229 ("gcr" ,gcr)
fc5c5b92 4230 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
4231 ("glib-networking" ,glib-networking)
4232 ("gnome-desktop" ,gnome-desktop)
4233 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4234 ("json-glib" ,json-glib)
7549f984
SB
4235 ("iso-codes" ,iso-codes)
4236 ("libnotify" ,libnotify)
4237 ("libsecret" ,libsecret)
7549f984 4238 ("libxslt" ,libxslt)
fc5c5b92 4239 ("nettle" ,nettle) ; for hogweed
7549f984 4240 ("sqlite" ,sqlite)
480d39a6 4241 ("webkitgtk" ,webkitgtk-2.22)))
7549f984
SB
4242 (home-page "https://wiki.gnome.org/Apps/Web")
4243 (synopsis "GNOME web browser")
4244 (description
4245 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4246principles are simplicity and standards compliance.")
4247 (license license:gpl2+)))
a3856b2c
SB
4248
4249(define-public d-feet
4250 (package
4251 (name "d-feet")
7d04b13c 4252 (version "0.3.11")
a3856b2c
SB
4253 (source (origin
4254 (method url-fetch)
4255 (uri (string-append "mirror://gnome/sources/" name "/"
4256 (version-major+minor version) "/"
4257 name "-" version ".tar.xz"))
4258 (sha256
4259 (base32
7d04b13c 4260 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
4261 (build-system glib-or-gtk-build-system)
4262 (arguments
4263 '(#:out-of-source? #f ; tests need to run in the source directory.
4264 #:phases
4265 (modify-phases %standard-phases
4266 (add-before
4267 'check 'pre-check
86aff791 4268 (lambda _
a3856b2c
SB
4269 ;; The test suite requires a running X server.
4270 (system "Xvfb :1 &")
4271 (setenv "DISPLAY" ":1")
4272 ;; Don't fail on missing '/etc/machine-id'.
4273 (setenv "DBUS_FATAL_WARNINGS" "0")
4274 ;; tests.py and window.py don't meet E402:
4275 ;; E402 module level import not at top of file
4276 (substitute* "src/tests/Makefile"
86aff791
MW
4277 (("--ignore=E123") "--ignore=E123,E402"))
4278 #t))
a3856b2c
SB
4279 (add-after
4280 'install 'wrap-program
4281 (lambda* (#:key outputs #:allow-other-keys)
4282 (let ((prog (string-append (assoc-ref outputs "out")
4283 "/bin/d-feet")))
4284 (wrap-program prog
4285 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4286 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4287 #t))))))
a3856b2c
SB
4288 (native-inputs
4289 `(("intltool" ,intltool)
4290 ("itstool" ,itstool)
4291 ("pkg-config" ,pkg-config)
4292 ("python-pep8" ,python-pep8)
4293 ("xmllint" ,libxml2)
4294 ("xorg-server" ,xorg-server)))
4295 (inputs
4296 `(("gobject-introspection" ,gobject-introspection)
4297 ("gtk+" ,gtk+)
4298 ("python" ,python-wrapper)
4299 ("python-pygobject" ,python-pygobject)))
4300 (home-page "https://wiki.gnome.org/Apps/DFeet")
4301 (synopsis "D-Bus debugger")
4302 (description
4303 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4304of running programs and invoke methods on those interfaces.")
4305 (license license:gpl2+)))
c3b97bd9
SB
4306
4307(define-public yelp-xsl
4308 (package
4309 (name "yelp-xsl")
27ad5743 4310 (version "3.20.1")
c3b97bd9
SB
4311 (source (origin
4312 (method url-fetch)
4313 (uri (string-append "mirror://gnome/sources/" name "/"
4314 (version-major+minor version) "/"
4315 name "-" version ".tar.xz"))
4316 (sha256
4317 (base32
27ad5743 4318 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
4319 (build-system gnu-build-system)
4320 (native-inputs
4321 `(("intltool" ,intltool)
4322 ("itstool" ,itstool)
4323 ("xmllint" ,libxml2)))
4324 (home-page "https://wiki.gnome.org/Apps/Yelp")
4325 (synopsis "XSL stylesheets for Yelp")
4326 (description
4327 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4328to format Docbook and Mallard documents.")
4329 (license license:gpl2+)))
de3d612a
SB
4330
4331(define-public yelp
4332 (package
4333 (name "yelp")
491cc0dc 4334 (version "3.22.0")
de3d612a
SB
4335 (source (origin
4336 (method url-fetch)
4337 (uri (string-append "mirror://gnome/sources/" name "/"
4338 (version-major+minor version) "/"
4339 name "-" version ".tar.xz"))
4340 (sha256
4341 (base32
491cc0dc 4342 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
4343 (build-system glib-or-gtk-build-system)
4344 (native-inputs
4345 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4346 ("intltool" ,intltool)
4347 ("itstool" ,itstool)
4348 ("pkg-config" ,pkg-config)))
4349 (propagated-inputs
4350 `(("dconf" ,dconf)))
4351 (inputs
ad1b7d8b
SB
4352 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4353 ("libxslt" ,libxslt)
de3d612a 4354 ("sqlite" ,sqlite)
4c28ca1d
SB
4355 ("webkitgtk" ,webkitgtk)
4356 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4357 (home-page "https://wiki.gnome.org/Apps/Yelp")
4358 (synopsis "GNOME help browser")
4359 (description
4360 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4361man, info, and HTML documents. It can locate documents according to the
4362freedesktop.org help system specification.")
4363 (license license:gpl2+)))
122d0d10
SB
4364
4365(define-public yelp-tools
4366 (package
4367 (name "yelp-tools")
50695955 4368 (version "3.18.0")
122d0d10
SB
4369 (source (origin
4370 (method url-fetch)
4371 (uri (string-append "mirror://gnome/sources/" name "/"
4372 (version-major+minor version) "/"
4373 name "-" version ".tar.xz"))
4374 (sha256
4375 (base32
50695955 4376 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
4377 (build-system gnu-build-system)
4378 (native-inputs
4379 `(("pkg-config" ,pkg-config)))
4380 (propagated-inputs
4381 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4382 `(("itstool" ,itstool)
4383 ("xmllint" ,libxml2)
4384 ("xsltproc" ,libxslt)))
4385 (inputs
4386 `(("yelp-xsl" ,yelp-xsl)))
4387 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4388 (synopsis "Yelp documentation tools")
4389 (description
4390 "Yelp-tools is a collection of scripts and build utilities to help create,
4391manage, and publish documentation for Yelp and the web. Most of the heavy
4392lifting is done by packages like yelp-xsl and itstool. This package just
4393wraps things up in a developer-friendly way.")
4394 (license license:gpl2+)))
af8f9f23
RW
4395
4396(define-public libgee
4397 (package
4398 (name "libgee")
b1be07cf 4399 (version "0.20.1")
af8f9f23
RW
4400 (source (origin
4401 (method url-fetch)
4402 (uri (string-append "mirror://gnome/sources/" name "/"
4403 (version-major+minor version) "/"
4404 name "-" version ".tar.xz"))
4405 (sha256
4406 (base32
b1be07cf 4407 "0c26x8gi3ivmhlbqcmiag4jwrkvcy28ld24j55nqr3jikb904a5v"))))
af8f9f23
RW
4408 (build-system gnu-build-system)
4409 (arguments
4410 `(#:phases
4411 (modify-phases %standard-phases
4412 (add-after 'unpack 'fix-introspection-install-dir
4413 (lambda* (#:key outputs #:allow-other-keys)
4414 (let ((out (assoc-ref outputs "out")))
4415 (substitute* "gee/Makefile.in"
4416 (("@INTROSPECTION_GIRDIR@")
4417 (string-append out "/share/gir-1.0/"))
4418 (("@INTROSPECTION_TYPELIBDIR@")
4419 (string-append out "/lib/girepository-1.0/")))))))))
4420 (native-inputs
4421 `(("glib" ,glib "bin")
4422 ("pkg-config" ,pkg-config)))
4423 (inputs
4424 `(("glib" ,glib)
4425 ("gobject-introspection" ,gobject-introspection)))
4426 (home-page "https://wiki.gnome.org/Projects/Libgee")
4427 (synopsis "GObject collection library")
4428 (description
4429 "Libgee is a utility library providing GObject-based interfaces and
4430classes for commonly used data structures.")
4431 (license license:lgpl2.1+)))
b0f9c4b8
RW
4432
4433(define-public gexiv2
4434 (package
4435 (name "gexiv2")
d4297f71 4436 (version "0.10.8")
b0f9c4b8
RW
4437 (source (origin
4438 (method url-fetch)
4439 (uri (string-append "mirror://gnome/sources/" name "/"
4440 (version-major+minor version) "/"
4441 name "-" version ".tar.xz"))
4442 (sha256
4443 (base32
d4297f71 4444 "0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1"))))
51c482e4 4445 (build-system meson-build-system)
b0f9c4b8
RW
4446 (native-inputs
4447 `(("glib" ,glib "bin")
4448 ("pkg-config" ,pkg-config)))
4449 (propagated-inputs
4450 ;; Listed in "Requires" section of gexiv2.pc
4451 `(("exiv2" ,exiv2)))
4452 (inputs
4453 `(("glib" ,glib)
4454 ("gobject-introspection" ,gobject-introspection)))
4455 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4456 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4457 (description
4458 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4459allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4460metadata in photo and video files of various formats.")
4461 (license license:gpl2+)))
fed5a689
RW
4462
4463(define-public shotwell
4464 (package
4465 (name "shotwell")
e266043e 4466 (version "0.28.4")
fed5a689
RW
4467 (source (origin
4468 (method url-fetch)
4469 (uri (string-append "mirror://gnome/sources/" name "/"
4470 (version-major+minor version) "/"
4471 name "-" version ".tar.xz"))
4472 (sha256
4473 (base32
e266043e 4474 "03k7n2kmzqn11kf3733w7m6xjh2b5q9xr84za2hli11fjymzaxm9"))))
fed5a689 4475 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4476 (propagated-inputs
4477 `(("dconf" ,dconf)))
fed5a689
RW
4478 (native-inputs
4479 `(("pkg-config" ,pkg-config)
f819c21d 4480 ("itstool" ,itstool)
b94a6ca0 4481 ("gettext" ,gettext-minimal)
77e9c993 4482 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4483 ("itstool" ,itstool)
4484 ("vala" ,vala)))
fed5a689 4485 (inputs
735b8db6
TGR
4486 `(("glib:bin" ,glib "bin")
4487 ("gstreamer" ,gstreamer)
fed5a689 4488 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4489 ("libgdata" ,libgdata)
fed5a689
RW
4490 ("libgee" ,libgee)
4491 ("gexiv2" ,gexiv2)
4492 ("libraw" ,libraw)
4493 ("json-glib" ,json-glib)
7108425c 4494 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4495 ("sqlite" ,sqlite)
4496 ("libsoup" ,libsoup)
4497 ("libxml2" ,libxml2)
fed5a689 4498 ("libgudev" ,libgudev)
522fc32e
LF
4499 ("libgphoto2" ,libgphoto2)
4500 ("gcr" ,gcr)))
fed5a689
RW
4501 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4502 (synopsis "Photo manager for GNOME 3")
4503 (description
4504 "Shotwell is a digital photo manager designed for the GNOME desktop
4505environment. It allows you to import photos from disk or camera, organize
4506them by keywords and events, view them in full-window or fullscreen mode, and
4507share them with others via social networking and more.")
4508 (license license:lgpl2.1+)))
293ff8b2
DT
4509
4510(define-public file-roller
4511 (package
4512 (name "file-roller")
1b59d45e 4513 (version "3.26.2")
293ff8b2
DT
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append "mirror://gnome/sources/" name "/"
4517 (version-major+minor version) "/"
4518 name "-" version ".tar.xz"))
4519 (sha256
4520 (base32
1b59d45e 4521 "19d8pc5z2xzhnicgaysxmwx3ghwzl4cw8kygd6nsw69g3j77nrry"))))
293ff8b2 4522 (build-system glib-or-gtk-build-system)
c282c55d
SB
4523 (arguments
4524 '(#:phases
4525 (modify-phases %standard-phases
4526 (add-before 'install 'skip-gtk-update-icon-cache
4527 (lambda _
4528 ;; Don't create 'icon-theme.cache'
4529 (substitute* (find-files "data" "^Makefile$")
4530 (("gtk-update-icon-cache") (which "true")))
4531 #t)))))
293ff8b2
DT
4532 (native-inputs
4533 `(("intltool" ,intltool)
4534 ("pkg-config" ,pkg-config)))
4535 ;; TODO: Add libnautilus.
4536 (inputs
4537 `(("gtk+" ,gtk+)
4538 ("gdk-pixbuf" ,gdk-pixbuf)
4539 ("json-glib" ,json-glib)
4540 ("libarchive" ,libarchive)
4541 ("libnotify" ,libnotify)
4542 ("nettle" ,nettle)
4543 ("itstool" ,itstool)
4544 ("libxml2" ,libxml2)))
4545 (synopsis "Graphical archive manager for GNOME")
4546 (description "File Roller is an archive manager for the GNOME desktop
4547environment that allows users to view, unpack, and create compressed archives
4548such as gzip tarballs.")
4549 (home-page "http://fileroller.sourceforge.net/")
4550 (license license:gpl2+)))
7ce49365
SB
4551
4552(define-public gnome-session
4553 (package
4554 (name "gnome-session")
17cf06c3 4555 (version "3.24.1")
7ce49365
SB
4556 (source (origin
4557 (method url-fetch)
4558 (uri (string-append "mirror://gnome/sources/" name "/"
4559 (version-major+minor version) "/"
4560 name "-" version ".tar.xz"))
4561 (sha256
4562 (base32
17cf06c3 4563 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4564 (arguments
4565 '(#:phases
4566 (modify-phases %standard-phases
4567 (add-before 'configure 'pre-configure
4568 (lambda* (#:key outputs #:allow-other-keys)
4569 ;; Use elogind instead of systemd.
4570 (substitute* "configure"
4571 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4572 "libelogind")
4573 (("systemd") "elogind"))
4574 (substitute* "gnome-session/gsm-systemd.c"
4575 (("#include <systemd/sd-login.h>")
4576 "#include <elogind/sd-login.h>"))
4577 ;; Remove uses of the systemd journal.
4578 (substitute* "gnome-session/main.c"
4579 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4580 (substitute* "gnome-session/gsm-manager.c"
4581 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4582 (substitute* "gnome-session/gsm-autostart-app.c"
4583 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4584 #t))
4585 (add-after 'install 'wrap-gnome-session
4586 (lambda* (#:key inputs outputs #:allow-other-keys)
4587 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4588 (let ((glib (assoc-ref inputs "glib:bin"))
4589 (out (assoc-ref outputs "out")))
4590 (wrap-program (string-append out "/bin/gnome-session")
4591 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4592 #t)))
4593 (add-after 'install 'disable-hardware-acceleration-check
4594 (lambda* (#:key outputs #:allow-other-keys)
4595 ;; Do not abort if hardware acceleration is missing. This allows
4596 ;; GNOME to run in QEMU and on low-end devices.
4597 (let ((out (assoc-ref outputs "out")))
4598 (substitute* (string-append out
4599 "/share/xsessions/gnome.desktop")
4600 (("gnome-session")
4601 "gnome-session --disable-acceleration-check"))
a0d7baaf 4602 #t))))
6cbc8d57 4603
2914af3c
AW
4604 #:configure-flags
4605 '("--enable-elogind")))
ba3cb5ab 4606 (build-system glib-or-gtk-build-system)
7ce49365
SB
4607 (native-inputs
4608 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4609 ("pkg-config" ,pkg-config)
4610 ("intltool" ,intltool)
4611 ("xsltproc" ,libxslt)))
4612 (inputs
2914af3c
AW
4613 `(("elogind" ,elogind)
4614 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4615 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4616 ("gtk+" ,gtk+)
4617 ("json-glib" ,json-glib)
4618 ("libsm" ,libsm)
4619 ("libxcomposite" ,libxcomposite)
4620 ("libxtst" ,libxtst)
4621 ("mesa" ,mesa)
4622 ("upower" ,upower)
4623 ("xtrans" ,xtrans)))
4624 (synopsis "Session manager for GNOME")
4625 (description
4626 "This package contains the GNOME session manager, as well as a
4627configuration program to choose applications starting on login.")
4628 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4629 (license license:gpl2+)))
f47ba77e
SB
4630
4631(define-public gjs
4632 (package
4633 (name "gjs")
9d086c07 4634 (version "1.48.6")
f47ba77e
SB
4635 (source (origin
4636 (method url-fetch)
4637 (uri (string-append "mirror://gnome/sources/" name "/"
4638 (version-major+minor version) "/"
4639 name "-" version ".tar.xz"))
4640 (sha256
4641 (base32
9d086c07 4642 "04nkig077r7xq55dxg9v46w8i7p8zkkdyja92yv81grq9fx6apz8"))))
f47ba77e
SB
4643 (build-system gnu-build-system)
4644 (arguments
4645 '(#:phases
4646 (modify-phases %standard-phases
4647 (add-before
4648 'check 'pre-check
4649 (lambda _
fc119619
MW
4650 ;; The test suite requires a running X server.
4651 (system "Xvfb :1 &")
4652 (setenv "DISPLAY" ":1")
4653
f47ba77e
SB
4654 ;; For the missing /etc/machine-id.
4655 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4656
144f94d0
KK
4657 ;; Our mozjs-38 package does not compile the required Intl API
4658 ;; support for these failing tests.
4659 (substitute* "installed-tests/js/testLocale.js"
4660 ((".*toBeDefined.*") "")
4661 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4662 #t)))))
4663 (native-inputs
8a831c6f 4664 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
4665 ("pkg-config" ,pkg-config)
4666 ("xmllint" ,libxml2)
4667 ;; For testing
4668 ("dbus-launch" ,dbus)
4669 ("uuidgen" ,util-linux)
4670 ("xvfb" ,xorg-server)))
4671 (propagated-inputs
4672 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4673 `(("cairo" ,cairo)
4674 ("gobject-introspection" ,gobject-introspection)
4675 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4676 (inputs
4677 `(("gtk+" ,gtk+)
4678 ("readline" ,readline)))
4679 (synopsis "Javascript bindings for GNOME")
f032d0be 4680 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
4681 (description
4682 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4683javascript engine and the GObject introspection framework.")
4684 (license license:gpl2+)))
329d731b
DH
4685
4686(define-public gedit
4687 (package
4688 (name "gedit")
6a29c8d3 4689 (version "3.28.1")
329d731b
DH
4690 (source (origin
4691 (method url-fetch)
4692 (uri (string-append "mirror://gnome/sources/" name "/"
4693 (version-major+minor version) "/"
4694 name "-" version ".tar.xz"))
4695 (sha256
4696 (base32
6a29c8d3 4697 "0791r07d3ixmmfk68lvhp3d5i4vnlrnx10csxwgpfqyfb04vwx7i"))))
329d731b
DH
4698 (build-system glib-or-gtk-build-system)
4699 (arguments
0d2df50c 4700 `(#:phases
329d731b
DH
4701 (modify-phases %standard-phases
4702 (add-after
4703 'install 'wrap-gedit
4704 (lambda* (#:key inputs outputs #:allow-other-keys)
4705 (let ((out (assoc-ref outputs "out"))
4706 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4707 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4708 (python-path (getenv "PYTHONPATH")))
329d731b 4709 (wrap-program (string-append out "/bin/gedit")
afc25242 4710 ;; For plugins.
329d731b 4711 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4712 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4713 ;; For language-specs.
4714 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4715 "/share")))))
4716 #t)))))
4717 (propagated-inputs
4718 `(("dconf" ,dconf)))
4719 (native-inputs
4720 `(("intltool" ,intltool)
b3546174 4721 ("itstool" ,itstool)
329d731b
DH
4722 ("gobject-introspection" ,gobject-introspection)
4723 ("pkg-config" ,pkg-config)))
4724 (inputs
4725 `(("glib" ,glib)
0d2df50c 4726 ("gspell" ,gspell)
329d731b
DH
4727 ("gtk+" ,gtk+)
4728 ("gtksourceview" ,gtksourceview)
4729 ("libpeas" ,libpeas)
4730 ("libxml2" ,libxml2)
329d731b
DH
4731 ("iso-codes" ,iso-codes)
4732 ("python-pygobject" ,python-pygobject)
4733 ("python" ,python)
4734 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4735 ("libx11" ,libx11)
4736 ("vala" ,vala)
4737 ("adwaita-icon-theme" ,adwaita-icon-theme)
4738 ("libsoup" ,libsoup)
4739 ("gnome-desktop" ,gnome-desktop)))
4740 (home-page "https://wiki.gnome.org/Apps/Gedit")
4741 (synopsis "GNOME text editor")
4742 (description "While aiming at simplicity and ease of use, gedit is a
4743powerful general purpose text editor.")
4744 (license license:gpl2+)))
b7179363
SB
4745
4746(define-public zenity
4747 (package
4748 (name "zenity")
380cb96e 4749 (version "3.24.0")
b7179363
SB
4750 (source (origin
4751 (method url-fetch)
4752 (uri (string-append "mirror://gnome/sources/" name "/"
4753 (version-major+minor version) "/"
4754 name "-" version ".tar.xz"))
4755 (sha256
4756 (base32
380cb96e 4757 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4758 (build-system gnu-build-system)
4759 (native-inputs
b94a6ca0 4760 `(("gettext" ,gettext-minimal)
b7179363
SB
4761 ("itstool" ,itstool)
4762 ("pkg-config" ,pkg-config)))
4763 (inputs
4764 `(("libnotify" ,libnotify)
4765 ("webkitgtk" ,webkitgtk)))
4766 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 4767 (home-page "https://www.gnome.org")
b7179363
SB
4768 (description
4769 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4770to display dialog boxes from the commandline and shell scripts.")
4771 (license license:lgpl2.0+)))
60c3627c
SB
4772
4773(define-public mutter
4774 (package
4775 (name "mutter")
a51fc34c 4776 (version "3.24.4")
60c3627c 4777 (source (origin
86c44e72
KK
4778 (method url-fetch)
4779 (uri (string-append "mirror://gnome/sources/" name "/"
4780 (version-major+minor version) "/"
4781 name "-" version ".tar.xz"))
60c3627c
SB
4782 (sha256
4783 (base32
a51fc34c 4784 "1slspy5krbqfvnma72lvdnxjf8ag2cvxssa8bvi7y3xxy7xv603k"))))
86c44e72
KK
4785 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4786 ;; versions of cogl and clutter. As a result, many of the inputs,
4787 ;; propagated-inputs, and configure flags used in cogl and clutter are
4788 ;; needed here as well.
60c3627c
SB
4789 (build-system gnu-build-system)
4790 (arguments
4791 '(#:configure-flags
4792 ;; XXX: build fails with [-Werror]:
4793 ;; backends/meta-cursor-renderer.c:112:5: error:
4794 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4795 (list "--enable-compile-warnings=minimum"
4796
86c44e72 4797 "--enable-native-backend"
a88d5a0c
MW
4798
4799 ;; The following flags are needed for the bundled clutter
4800 "--enable-x11-backend=yes"
4801
d633f2f6
RH
4802 (string-append "--with-xwayland-path="
4803 (assoc-ref %build-inputs "xorg-server-xwayland")
4804 "/bin/Xwayland")
4805
a88d5a0c
MW
4806 ;; the remaining flags are needed for the bundled cogl
4807 "--enable-cogl-gst"
4808 (string-append "--with-gl-libname="
4809 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4810 "/lib/libGL.so"))
4811 #:phases
4812 (modify-phases %standard-phases
86c44e72
KK
4813 ;; Replace references to systemd libraries to elogind references.
4814 (add-before 'configure 'use-elogind
4815 (lambda _
4816 (substitute* (list "configure"
4817 "src/backends/native/meta-launcher.c"
4818 "src/core/main.c")
4819 (("systemd") "elogind"))
4820 #t)))))
60c3627c
SB
4821 (native-inputs
4822 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4823 ("gobject-introspection" ,gobject-introspection)
4824 ("intltool" ,intltool)
f23052a6
DC
4825 ("pkg-config" ,pkg-config)
4826 ;; For git build
4827 ("autoconf" ,autoconf)
4828 ("automake" ,automake)
4829 ("libtool" ,libtool)))
60c3627c 4830 (propagated-inputs
a88d5a0c
MW
4831 `(;; libmutter.pc refers to these:
4832 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4833 ("gtk+" ,gtk+)
4834 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4835 ("atk" ,atk)
4836 ("cairo" ,cairo)
4837 ("gdk-pixbuf" ,gdk-pixbuf)
4838 ("glib" ,glib)
60c3627c 4839 ("gtk+" ,gtk+)
a88d5a0c
MW
4840 ("json-glib" ,json-glib)
4841 ("libinput" ,libinput)
4842 ("libx11" ,libx11)
4843 ("libxcomposite" ,libxcomposite)
4844 ("libxdamage" ,libxdamage)
4845 ("libxext" ,libxext)
4846 ("libxfixes" ,libxfixes)
4847 ("libxkbcommon" ,libxkbcommon)
4848 ("libxrandr" ,libxrandr)
4849 ("mesa" ,mesa)
4850 ("pango" ,pango)
4851 ("udev" ,eudev)
a88d5a0c 4852 ("xinput" ,xinput)))
60c3627c 4853 (inputs
86c44e72
KK
4854 `(("elogind" ,elogind)
4855 ("gnome-desktop" ,gnome-desktop)
60c3627c 4856 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4857 ("libgudev" ,libgudev)
60c3627c
SB
4858 ("libice" ,libice)
4859 ("libsm" ,libsm)
60c3627c 4860 ("libxkbfile" ,libxkbfile)
a88d5a0c 4861 ("libxrandr" ,libxrandr)
86c44e72 4862 ("libxtst" ,libxtst)
60c3627c
SB
4863 ("startup-notification" ,startup-notification)
4864 ("upower-glib" ,upower)
4865 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 4866 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
4867 ("zenity" ,zenity)))
4868 (synopsis "Window and compositing manager")
f032d0be 4869 (home-page "https://www.gnome.org")
60c3627c
SB
4870 (description
4871 "Mutter is a window and compositing manager that displays and manages your
4872desktop via OpenGL. Mutter combines a sophisticated display engine using the
4873Clutter toolkit with solid window-management logic inherited from the Metacity
4874window manager.")
86c44e72 4875 (license license:gpl2+)))
685cee87
SB
4876
4877(define-public gnome-online-accounts
4878 (package
4879 (name "gnome-online-accounts")
ae8e71ee 4880 (version "3.26.2")
685cee87
SB
4881 (source (origin
4882 (method url-fetch)
4883 (uri (string-append "mirror://gnome/sources/" name "/"
4884 (version-major+minor version) "/"
4885 name "-" version ".tar.xz"))
4886 (sha256
4887 (base32
ae8e71ee 4888 "1l8p1ghknmkmjpnpl7jr53j66qbzpikickzbmrz0aczyhq6pdy29"))))
685cee87
SB
4889 (build-system glib-or-gtk-build-system)
4890 (native-inputs
4891 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4892 ("gobject-introspection" ,gobject-introspection)
4893 ("intltool" ,intltool)
4894 ("pkg-config" ,pkg-config)
4895 ("xsltproc" ,libxslt)))
4896 (propagated-inputs
4897 `(("glib" ,glib) ; required by goa-1.0.pc
4898 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4899 (inputs
4900 `(("docbook-xsl" ,docbook-xsl)
4901 ("json-glib" ,json-glib)
4902 ("libsecret" ,libsecret)
4903 ("rest" ,rest)
685cee87
SB
4904 ("webkitgtk" ,webkitgtk)))
4905 (synopsis "Single sign-on framework for GNOME")
4906 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4907 (description
4908 "GNOME Online Accounts provides interfaces so that applications and
4909libraries in GNOME can access the user's online accounts. It has providers for
4910Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4911Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4912 (license license:lgpl2.0+)))
df217748
SB
4913
4914(define-public evolution-data-server
4915 (package
4916 (name "evolution-data-server")
891199c6 4917 (version "3.28.1")
df217748
SB
4918 (source (origin
4919 (method url-fetch)
4920 (uri (string-append "mirror://gnome/sources/" name "/"
4921 (version-major+minor version) "/"
4922 name "-" version ".tar.xz"))
4923 (sha256
4924 (base32
891199c6 4925 "12b9lfgwd57rzn9394xrbvl9ym5aqldpz9v7c9a421dsv8dgq13b"))))
743aebd7 4926 (build-system cmake-build-system)
df217748 4927 (arguments
743aebd7 4928 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4929 #:tests? #f
4930 #:configure-flags
ac033c7b
MB
4931 (let* ((lib (string-append (assoc-ref %outputs "out")
4932 "/lib"))
4933 (runpaths (map (lambda (s) (string-append
4934 lib "/evolution-data-server/" s))
4935 '("addressbook-backends" "calendar-backends"
4936 "camel-providers" "credential-modules"
4937 "registry-modules"))))
4938 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4939 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4940 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4941 "-DENABLE_VALA_BINDINGS=ON"
4942 ;; FIXME: Building against ICU 60 requires C++11 or higher. Remove
c97f2f70
MW
4943 ;; "-std=gnu++11" when our default compiler is >= GCC6.
4944 ;; FIXME: Temporarily use "-DU_USING_ICU_NAMESPACE=1" until
4945 ;; evolution-data-server has been updated to qualify ICU types
4946 ;; explicitly, as required by ICU 61 and later. See:
4947 ;; <https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild>
4948 "-DCMAKE_CXX_FLAGS=-std=gnu++11 -DU_USING_ICU_NAMESPACE=1"
ac033c7b
MB
4949 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
4950 (string-append lib "/evolution-data-server;")
4951 (string-join runpaths ";"))
4952 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
4953 #:phases
4954 (modify-phases %standard-phases
743aebd7 4955 (add-after 'unpack 'patch-paths
df217748
SB
4956 (lambda _
4957 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4958 (("/bin/rm") (which "rm")))
ac033c7b
MB
4959 #t))
4960 (add-before 'configure 'dont-override-rpath
4961 (lambda _
4962 (substitute* "CMakeLists.txt"
4963 ;; CMakeLists.txt hard-codes runpath to just the libdir.
4964 ;; Remove it so the configure flag is respected.
4965 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
4966 #t)))))
df217748
SB
4967 (native-inputs
4968 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4969 ("gobject-introspection" ,gobject-introspection)
4970 ("gperf" ,gperf)
4971 ("intltool" ,intltool)
4972 ("pkg-config" ,pkg-config)
a73c1cf8 4973 ("vala" ,vala)
743aebd7 4974 ("python" ,python-wrapper)))
df217748
SB
4975 (propagated-inputs
4976 ;; These are all in the Requires field of .pc files.
4977 `(("gtk+" ,gtk+)
4978 ("libical" ,libical)
4979 ("libsecret" ,libsecret)
4980 ("libsoup" ,libsoup)
4981 ("nss" ,nss)
4982 ("sqlite" ,sqlite)))
4983 (inputs
4984 `(("bdb" ,bdb)
4985 ("gcr" ,gcr)
4986 ("gnome-online-accounts" ,gnome-online-accounts)
891199c6 4987 ("json-glib" ,json-glib)
743aebd7
MB
4988 ("libgweather" ,libgweather)
4989 ("mit-krb5" ,mit-krb5)
891199c6
MW
4990 ("openldap" ,openldap)
4991 ("webkitgtk" ,webkitgtk)))
df217748
SB
4992 (synopsis "Store address books and calendars")
4993 (home-page "https://wiki.gnome.org/Apps/Evolution")
4994 (description
4995 "This package provides a unified backend for programs that work with
4996contacts, tasks, and calendar information. It was originally developed for
4997Evolution (hence the name), but is now used by other packages as well.")
4998 (license license:lgpl2.0)))
bd7dfafa
SB
4999
5000(define-public caribou
5001 (package
5002 (name "caribou")
fe964bb5 5003 (version "0.4.21")
bd7dfafa
SB
5004 (source (origin
5005 (method url-fetch)
5006 (uri (string-append "mirror://gnome/sources/" name "/"
5007 (version-major+minor version) "/"
5008 name "-" version ".tar.xz"))
5009 (sha256
5010 (base32
fe964bb5 5011 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
5012 (build-system glib-or-gtk-build-system)
5013 (arguments
5014 '(#:phases
5015 (modify-phases %standard-phases
5016 (add-before
5017 'build 'pre-build
5018 (lambda* (#:key outputs #:allow-other-keys)
5019 (let ((out (assoc-ref outputs "out")))
5020 ;; Use absolute shared library path in Caribou-1.0.typelib.
5021 (substitute* "libcaribou/Makefile"
5022 (("--shared-library=libcaribou.so")
5023 (string-append "--shared-library="
5024 out "/lib/libcaribou.so")))
5025 #t)))
5026 (add-after 'install 'wrap-programs
5027 (lambda* (#:key outputs #:allow-other-keys)
5028 (let* ((out (assoc-ref outputs "out"))
5029 (python-path (getenv "PYTHONPATH"))
5030 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5031 (for-each
5032 (lambda (prog)
5033 (wrap-program prog
5034 `("PYTHONPATH" ":" prefix (,python-path))
5035 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5036 (list (string-append out "/bin/caribou-preferences")
5037 (string-append out "/libexec/antler-keyboard"))))
5038 #t)))))
5039 (native-inputs
5040 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5041 ("gobject-introspection" ,gobject-introspection)
5042 ("intltool" ,intltool)
5043 ("pkg-config" ,pkg-config)
5044 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
5045 ("vala" ,vala)
5046 ("xsltproc" ,libxslt)))
5047 (propagated-inputs
5048 ;; caribou-1.0.pc refers to all these.
5049 `(("libgee" ,libgee)
5050 ("libxklavier" ,libxklavier)
5051 ("libxtst" ,libxtst)
5052 ("gtk+" ,gtk+)))
5053 (inputs
5054 `(("clutter" ,clutter)
5055 ("dconf" ,dconf)
5056 ("gtk+-2" ,gtk+-2)
5057 ("python-pygobject" ,python2-pygobject)))
5058 (synopsis "Text entry and UI navigation application")
5059 (home-page "https://wiki.gnome.org/Projects/Caribou")
5060 (description
5061 "Caribou is an input assistive technology intended for switch and pointer
5062users.")
5063 (license license:lgpl2.1)))
ba5dd105 5064
ba5dd105
SB
5065(define-public network-manager
5066 (package
5067 (name "network-manager")
40a17c3b 5068 (version "1.8.4")
ba5dd105
SB
5069 (source (origin
5070 (method url-fetch)
5071 (uri (string-append "mirror://gnome/sources/NetworkManager/"
5072 (version-major+minor version) "/"
5073 "NetworkManager-" version ".tar.xz"))
5074 (sha256
5075 (base32
40a17c3b 5076 "04lj081a5cdkhcnj1xs77chhy08d2h0648kmj1csxp46cfrjwpk2"))
fd070f35
CM
5077 (snippet
5078 '(begin
5079 (use-modules (guix build utils))
5080 (substitute* "configure"
5081 ;; Replace libsystemd-login with libelogind.
5082 (("libsystemd-login") "libelogind"))
5083 (substitute* "src/devices/wwan/nm-modem-manager.c"
5084 (("systemd") "elogind"))
5085 (substitute* "src/nm-session-monitor.c"
5086 (("systemd") "elogind"))
5087 (substitute* "./src/nm-logging.c"
6cbee49d
MW
5088 (("systemd") "elogind"))
5089 #t))))
ba5dd105
SB
5090 (build-system gnu-build-system)
5091 (outputs '("out"
5092 "doc")) ; 8 MiB of gtk-doc HTML
5093 (arguments
5094 '(#:configure-flags
5095 (let ((out (assoc-ref %outputs "out"))
5096 (doc (assoc-ref %outputs "doc"))
5097 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
5098 "/sbin/dhclient")))
fd070f35
CM
5099 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
5100 "--with-consolekit=no"
5101 "--with-crypto=gnutls"
ba5dd105
SB
5102 "--disable-config-plugin-ibft"
5103 "--sysconfdir=/etc"
5104 "--localstatedir=/var"
5105 (string-append "--with-udev-dir="
5106 out "/lib/udev")
5107 (string-append "--with-dbus-sys-dir="
5108 out "/etc/dbus-1/system.d")
5109 (string-append "--with-html-dir="
5110 doc "/share/gtk-doc/html")
5111 (string-append "--with-dhclient=" dhclient)))
5112 #:phases
5113 (modify-phases %standard-phases
b4f59d87
AW
5114 (add-before 'configure 'pre-configure
5115 (lambda _
5116 ;; These tests try to test aspects of network-manager's
5117 ;; functionality within restricted containers, but they don't
5118 ;; cope with being already in the Guix build jail as that jail
5119 ;; lacks some features that they would like to proxy over (like
5120 ;; a /sys mount).
d04687dc
HG
5121 (substitute* '("Makefile.in")
5122 (("src/platform/tests/test-address-linux") " ")
5123 (("src/platform/tests/test-cleanup-linux") " ")
5124 (("src/platform/tests/test-link-linux") " ")
5125 (("src/platform/tests/test-route-linux") " ")
5126 (("src/devices/tests/test-arping") " ")
5127 (("src/devices/tests/test-lldp") " ")
5128 (("src/tests/test-route-manager-linux") " "))
b4f59d87 5129 #t))
ba5dd105
SB
5130 (add-before 'check 'pre-check
5131 (lambda _
5132 ;; For the missing /etc/machine-id.
5133 (setenv "DBUS_FATAL_WARNINGS" "0")
5134 #t))
5135 (replace 'install
5136 (lambda _
5137 (zero? (system* "make"
5138 "sysconfdir=/tmp"
142bdcbc
SB
5139 "rundir=/tmp"
5140 "statedir=/tmp"
d04687dc 5141 "nmstatedir=/tmp/nm"
ba5dd105 5142 "install")))))))
b93502d6
DC
5143 (propagated-inputs
5144 `(("glib" ,glib)))
ba5dd105
SB
5145 (native-inputs
5146 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
5147 ("gobject-introspection" ,gobject-introspection)
d04687dc 5148 ("docbook-xsl" ,docbook-xsl)
ba5dd105 5149 ("intltool" ,intltool)
d04687dc
HG
5150 ("libxslt" ,libxslt)
5151 ("libxml2" ,libxml2)
ba5dd105
SB
5152 ("pkg-config" ,pkg-config)
5153 ;; For testing.
5154 ("python" ,python-wrapper)
5155 ("python-dbus" ,python-dbus)
5156 ("python-pygobject" ,python-pygobject)))
5157 (inputs
856ca567
KK
5158 `(("curl" ,curl)
5159 ("cyrus-sasl" ,cyrus-sasl)
5160 ("dbus-glib" ,dbus-glib)
ba5dd105 5161 ("dnsmasq" ,dnsmasq)
856ca567 5162 ("eudev" ,eudev)
ba5dd105
SB
5163 ("gnutls" ,gnutls)
5164 ("iptables" ,iptables)
5165 ("isc-dhcp" ,isc-dhcp)
d04687dc 5166 ("jansson" ,jansson)
ba5dd105
SB
5167 ("libgcrypt" ,libgcrypt)
5168 ("libgudev" ,libgudev)
5169 ("libndp" ,libndp)
5170 ("libnl" ,libnl)
5171 ("libsoup" ,libsoup)
142bdcbc 5172 ("modem-manager" ,modem-manager)
c27e02bf 5173 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
5174 ("polkit" ,polkit)
5175 ("ppp" ,ppp)
5176 ("readline" ,readline)
fd070f35
CM
5177 ("util-linux" ,util-linux)
5178 ("elogind" ,elogind)))
ba5dd105 5179 (synopsis "Network connection manager")
f032d0be 5180 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
5181 (description
5182 "NetworkManager is a system network service that manages your network
5183devices and connections, attempting to keep active network connectivity when
5184available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
5185devices, and provides VPN integration with a variety of different VPN
5186services.")
29d2f451
LC
5187 (license license:gpl2+)
5188 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 5189
f2b96b3a
LC
5190(define-public network-manager-openvpn
5191 (package
5192 (name "network-manager-openvpn")
3d9637a9 5193 (version "1.8.0")
f2b96b3a
LC
5194 (source (origin
5195 (method url-fetch)
5196 (uri (string-append
5197 "mirror://gnome/sources/NetworkManager-openvpn/"
5198 (version-major+minor version)
5199 "/NetworkManager-openvpn-" version ".tar.xz"))
5200 (sha256
5201 (base32
3d9637a9 5202 "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn"))))
f2b96b3a
LC
5203 (build-system gnu-build-system)
5204 (arguments
5205 '(#:configure-flags '("--enable-absolute-paths")))
5206 (native-inputs
5207 `(("pkg-config" ,pkg-config)
5208 ("intltool" ,intltool)))
5209 (inputs
5210 `(("gtk+" ,gtk+)
5211 ("openvpn" ,openvpn)
5212 ("network-manager" ,network-manager)
5213 ("network-manager-applet" ,network-manager-applet) ;for libnma
5214 ("libsecret" ,libsecret)))
5215 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5216 (synopsis "OpenVPN plug-in for NetworkManager")
5217 (description
5218 "This extension of NetworkManager allows it to take care of connections
5219to virtual private networks (VPNs) via OpenVPN.")
5220 (license license:gpl2+)
5221 (properties `((upstream-name . "NetworkManager-openvpn")))))
5222
e5e1df4d
DC
5223(define-public mobile-broadband-provider-info
5224 (package
5225 (name "mobile-broadband-provider-info")
22345a8e 5226 (version "20170310")
e5e1df4d
DC
5227 (source (origin
5228 (method url-fetch)
5229 (uri (string-append
5230 "mirror://gnome/sources/"
5231 "mobile-broadband-provider-info/" version "/"
5232 "mobile-broadband-provider-info-" version ".tar.xz"))
5233 (sha256
5234 (base32
22345a8e 5235 "0fxm11x8k9hxjg8l5inaldfmmjnwkay3ibjv899jra03bv4h6kql"))))
e5e1df4d
DC
5236 (build-system gnu-build-system)
5237 (arguments
5238 `(#:tests? #f)) ; No tests
5239 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5240 (synopsis "Database of broadband connection configuration")
5241 (description "Database of broadband connection configuration.")
5242 (license license:public-domain)))
5243
4d62a9d3
SB
5244(define-public network-manager-applet
5245 (package
5246 (name "network-manager-applet")
40a17c3b 5247 (version "1.8.4")
4d62a9d3
SB
5248 (source (origin
5249 (method url-fetch)
5250 (uri (string-append "mirror://gnome/sources/" name "/"
5251 (version-major+minor version) "/"
5252 name "-" version ".tar.xz"))
5253 (sha256
5254 (base32
40a17c3b 5255 "0ag3pvjp58ykrzsjfbdxi0j5xd2i796jk7nns67zy03xwg9i0l0h"))))
4d62a9d3 5256 (build-system glib-or-gtk-build-system)
240cee8a 5257 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
5258 (native-inputs
5259 `(("intltool" ,intltool)
5260 ("gobject-introspection" ,gobject-introspection)
5261 ("pkg-config" ,pkg-config)))
5262 (propagated-inputs
5263 ;; libnm-gtk.pc refers to all these.
5264 `(("dbus-glib" ,dbus-glib)
5265 ("gtk+" ,gtk+)
5266 ("network-manager" ,network-manager)))
5267 (inputs
5268 `(("iso-codes" ,iso-codes)
5269 ("libgudev" ,libgudev)
5270 ("libnotify" ,libnotify)
2116bfb3 5271 ("libsecret" ,libsecret)
240cee8a
KK
5272 ("libselinux" ,libselinux)
5273 ("jansson" ,jansson) ; for team support
5274 ("modem-manager" ,modem-manager)))
4d62a9d3 5275 (synopsis "Applet for managing network connections")
f032d0be 5276 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
5277 (description
5278 "This package contains a systray applet for NetworkManager. It displays
5279the available networks and allows users to easily switch between them.")
5280 (license license:gpl2+)))
56196594
RW
5281
5282(define-public libxml++
5283 (package
5284 (name "libxml++")
8344a85e 5285 (version "3.0.1")
56196594
RW
5286 (source (origin
5287 (method url-fetch)
5288 (uri (string-append "mirror://gnome/sources/" name "/"
5289 (version-major+minor version) "/"
5290 name "-" version ".tar.xz"))
5291 (sha256
5292 (base32
8344a85e 5293 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5294 (build-system gnu-build-system)
5295 ;; libxml++-3.0.pc refers to all these.
5296 (propagated-inputs
5297 `(("libxml2" ,libxml2)
5298 ("glibmm" ,glibmm)))
5299 (native-inputs
5300 `(("perl" ,perl)
5301 ("pkg-config" ,pkg-config)))
5302 (home-page "http://libxmlplusplus.sourceforge.net/")
5303 (synopsis "C++ wrapper for XML parser library libxml2")
5304 (description
5305 "This package provides a C++ wrapper for the XML parser library
5306libxml2.")
5307 (license license:lgpl2.1+)))
df12f04a 5308
b61d9627
AW
5309(define-public libxml++-2
5310 (package
5311 (inherit libxml++)
5312 (name "libxml++")
5313 (version "2.40.1")
5314 (source (origin
5315 (method url-fetch)
5316 (uri (string-append "mirror://gnome/sources/" name "/"
5317 (version-major+minor version) "/"
5318 name "-" version ".tar.xz"))
5319 (sha256
5320 (base32
5321 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5322
df12f04a
SB
5323(define-public gdm
5324 (package
5325 (name "gdm")
0438f1d8 5326 (version "3.26.2.1")
df12f04a
SB
5327 (source (origin
5328 (method url-fetch)
5329 (uri (string-append "mirror://gnome/sources/" name "/"
5330 (version-major+minor version) "/"
5331 name "-" version ".tar.xz"))
feccc810 5332 (patches (search-patches "gdm-CVE-2018-14424.patch"))
df12f04a
SB
5333 (sha256
5334 (base32
0438f1d8 5335 "0mxdal6hh345xk2xqmw5192jgpprkbcv1d4bwmnl4arcc00cpp8p"))))
957dbc0a 5336 (build-system glib-or-gtk-build-system)
df12f04a
SB
5337 (arguments
5338 '(#:configure-flags
af37e6bb 5339 `("--without-plymouth"
957dbc0a 5340 "--disable-systemd-journal"
51bc8357
TS
5341
5342 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
5343 ;; instead of having to replace it (i.e., stopping the mingetty
5344 ;; service for TTY 1 before starting GDM).
5345 "--with-initial-vt=7"
5346
5347 ;; By default, GDM expects distributions to install a custom Xsession
5348 ;; script. It provides a generic one if --enable-gdm-xsession is set.
5349 "--enable-gdm-xsession"
5350
89c86562
TS
5351 ;; Use '/etc/environment' for locale settings instead of the
5352 ;; systemd-specific '/etc/locale.conf'.
5353 "--with-lang-file=/etc/environment"
5354
af37e6bb
AW
5355 "--localstatedir=/var"
5356 ,(string-append "--with-default-path="
5357 (string-join '("/run/setuid-programs"
5358 "/run/current-system/profile/bin"
5359 "/run/current-system/profile/sbin")
957dbc0a
AW
5360 ":"))
5361 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
5362 ;; XDG_DATA_DIRS so that it finds its schemas.
5363 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
5364 #:phases
5365 (modify-phases %standard-phases
5366 (add-before
5367 'configure 'pre-configure
5368 (lambda _
5369 ;; We don't have <systemd/sd-daemon.h>.
5370 (substitute* '("common/gdm-log.c"
5371 "daemon/gdm-server.c"
5372 "daemon/gdm-session-worker.c"
5373 "daemon/gdm-session-worker-job.c")
5374 (("#include <systemd/sd-daemon\\.h>") ""))
5375 ;; Use elogind for sd-login.
5376 (substitute* '("common/gdm-common.c"
5377 "daemon/gdm-manager.c"
5378 "libgdm/gdm-user-switching.c")
5379 (("#include <systemd/sd-login\\.h>")
5380 "#include <elogind/sd-login.h>"))
957dbc0a
AW
5381 ;; Check for elogind.
5382 (substitute* '("configure")
5383 (("libsystemd")
5384 "libelogind"))
af37e6bb
AW
5385 ;; Look for system-installed sessions in
5386 ;; /run/current-system/profile/share.
5387 (substitute* '("libgdm/gdm-sessions.c"
5388 "daemon/gdm-session.c"
5389 "daemon/gdm-display.c"
5390 "daemon/gdm-launch-environment.c")
5391 (("DATADIR \"/x")
5392 "\"/run/current-system/profile/share/x")
5393 (("DATADIR \"/wayland")
5394 "\"/run/current-system/profile/share/wayland")
5395 (("DATADIR \"/gnome")
5396 "\"/run/current-system/profile/share/gnome"))
e0e6756f
AW
5397 (substitute* '("daemon/gdm-session.c")
5398 (("set_up_session_environment \\(self\\);")
5399 (string-append
5400 "set_up_session_environment (self);\n"
5401 ;; Propagate GDM_X_SERVER environment variable (which is set
5402 ;; by the GDM service, as it's a function of what X modules
5403 ;; the user decides to have available) down to worker
5404 ;; processes.
5405 "gdm_session_set_environment_variable (self, \"GDM_X_SERVER\",\n"
5406 " g_getenv (\"GDM_X_SERVER\"));\n"
5407 ;; FIXME: Really glib should be declaring XDG_CONFIG_DIRS as a
5408 ;; variable, but it doesn't do that right now. Anyway
5409 ;; /run/current-system/profile/share/gnome-session/sessions/gnome.desktop
5410 ;; requires that a number of .desktop files be present, and
5411 ;; these special .desktop files are in $XDG_CONFIG_DIRS (which
5412 ;; defaults to /etc/xdg if it's not set). Here we need to
5413 ;; provide a value such that the GNOME session's requirements
5414 ;; are met (provided GNOME is installed of course).
5415 "gdm_session_set_environment_variable (self, \"XDG_CONFIG_DIRS\",\n"
5416 " \"/run/current-system/profile/etc/xdg\");\n"
92deb5cc
TS
5417 ;; The session bus (which GDM will initialize from the this
5418 ;; session environment) needs to know where to find the system
5419 ;; service files.
5420 "gdm_session_set_environment_variable (self, \"XDG_DATA_DIRS\",\n"
5421 " \"/run/current-system/profile/share\");\n"
e0e6756f
AW
5422 )))
5423 ;; Look for custom GDM conf in /run/current-system.
950d8e5d 5424 (substitute* '("common/gdm-settings-desktop-backend.c")
e0e6756f 5425 (("GDM_CUSTOM_CONF")
950d8e5d 5426 "\"/run/current-system/etc/gdm/custom.conf\""))
e0e6756f
AW
5427 ;; Use service-supplied path to X.
5428 (substitute* '("daemon/gdm-server.c")
5429 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
5430 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
5431 (substitute* '("daemon/gdm-x-session.c")
5432 (("X_SERVER")
5433 "g_getenv (\"GDM_X_SERVER\")"))
df12f04a
SB
5434 #t)))))
5435 (native-inputs
5436 `(("dconf" ,dconf)
5437 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5438 ("gobject-introspection" ,gobject-introspection)
5439 ("intltool" ,intltool)
5440 ("itstool" ,itstool)
5441 ("pkg-config" ,pkg-config)
5442 ("xmllint" ,libxml2)))
5443 (inputs
5444 `(("accountsservice" ,accountsservice)
5445 ("check" ,check) ; for testing
5446 ("elogind" ,elogind)
5447 ("gtk+" ,gtk+)
5448 ("iso-codes" ,iso-codes)
5449 ("libcanberra" ,libcanberra)
5450 ("linux-pam" ,linux-pam)))
5451 (synopsis "Display manager for GNOME")
f032d0be 5452 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
5453 (description
5454 "GNOME Display Manager is a system service that is responsible for
5455providing graphical log-ins and managing local and remote displays.")
5456 (license license:gpl2+)))
8e1dd04f
SB
5457
5458(define-public libgtop
5459 (package
5460 (name "libgtop")
4f80158d 5461 (version "2.38.0")
8e1dd04f
SB
5462 (source (origin
5463 (method url-fetch)
5464 (uri (string-append "mirror://gnome/sources/" name "/"
5465 (version-major+minor version) "/"
5466 name "-" version ".tar.xz"))
5467 (sha256
5468 (base32
4f80158d 5469 "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g"))))
8e1dd04f
SB
5470 (build-system gnu-build-system)
5471 (native-inputs
5472 `(("gobject-introspection" ,gobject-introspection)
5473 ("intltool" ,intltool)
5474 ("perl" ,perl)
5475 ("pkg-config" ,pkg-config)))
5476 (propagated-inputs
5477 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5478 (synopsis "Portable system access library")
5479 (home-page "https://www.gnome.org/")
5480 (description
5481 "LibGTop is a library to get system specific data such as CPU and memory
5482usage and information about running processes.")
5483 (license license:gpl2+)))
b96c4260
SB
5484
5485(define-public gnome-bluetooth
5486 (package
5487 (name "gnome-bluetooth")
f8cb2fbf 5488 (version "3.20.1")
b96c4260
SB
5489 (source (origin
5490 (method url-fetch)
5491 (uri (string-append "mirror://gnome/sources/" name "/"
5492 (version-major+minor version) "/"
5493 name "-" version ".tar.xz"))
5494 (sha256
5495 (base32
f8cb2fbf 5496 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
5497 (build-system glib-or-gtk-build-system)
5498 (native-inputs
5499 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5500 ("gobject-introspection" ,gobject-introspection)
5501 ("intltool" ,intltool)
5502 ("pkg-config" ,pkg-config)
5503 ("xmllint" ,libxml2)))
5504 (propagated-inputs
5505 ;; gnome-bluetooth-1.0.pc refers to all these.
5506 `(("gtk+" ,gtk+)
5507 ("udev" ,eudev)))
5508 (inputs
5509 `(("libcanberra" ,libcanberra)
5510 ("libnotify" ,libnotify)))
5511 (synopsis "GNOME Bluetooth subsystem")
5512 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5513 (description
5514 "This package contains tools for managing and manipulating Bluetooth
5515devices using the GNOME desktop.")
5516 (license license:lgpl2.1+)))
b645146f
SB
5517
5518(define-public gnome-control-center
5519 (package
5520 (name "gnome-control-center")
cd5db771 5521 (version "3.24.3")
b645146f
SB
5522 (source (origin
5523 (method url-fetch)
5524 (uri (string-append "mirror://gnome/sources/" name "/"
5525 (version-major+minor version) "/"
5526 name "-" version ".tar.xz"))
5527 (sha256
5528 (base32
cd5db771 5529 "18ncjqjj93a39sla2zjr9i6pw59yh87p4jla899lmvi2qajd5923"))))
b645146f
SB
5530 (build-system glib-or-gtk-build-system)
5531 (arguments
5532 '(#:phases
5533 (modify-phases %standard-phases
5534 (add-before 'configure 'patch-paths
5535 (lambda* (#:key inputs #:allow-other-keys)
5536 (let ((libc (assoc-ref inputs "libc"))
5537 (tzdata (assoc-ref inputs "tzdata")))
5538 (substitute* "panels/datetime/tz.h"
5539 (("/usr/share/zoneinfo/zone.tab")
5540 (string-append tzdata "/share/zoneinfo/zone.tab")))
5541 (substitute* "panels/datetime/test-endianess.c"
5542 (("/usr/share/locale")
5543 (string-append libc "/share/locale")))
5544 #t))))))
5545 (native-inputs
5546 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5547 ("intltool" ,intltool)
5548 ("pkg-config" ,pkg-config)
5549 ("xsltproc" ,libxslt)))
5550 (inputs
5551 `(("accountsservice" ,accountsservice)
5552 ("clutter-gtk" ,clutter-gtk)
5553 ("colord-gtk" ,colord-gtk)
5554 ("cups" ,cups)
5555 ("dconf" ,dconf)
5556 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5557 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5558 ("gnome-bluetooth" ,gnome-bluetooth)
5559 ("gnome-desktop" ,gnome-desktop)
5560 ("gnome-online-accounts" ,gnome-online-accounts)
5561 ("gnome-settings-daemon" ,gnome-settings-daemon)
5562 ("grilo" ,grilo)
5563 ("ibus" ,ibus)
5564 ("libcanberra" ,libcanberra)
5565 ("libgudev" ,libgudev)
5566 ("libgtop" ,libgtop)
5567 ("libpwquality" ,libpwquality)
5568 ("libsoup" ,libsoup)
5569 ("libxml2" ,libxml2)
5570 ("libwacom" ,libwacom)
5571 ("mesa" ,mesa)
5572 ("mit-krb5" ,mit-krb5)
5573 ("modem-manager" ,modem-manager)
5574 ("network-manager-applet" ,network-manager-applet)
5575 ("polkit" ,polkit)
5576 ("pulseaudio" ,pulseaudio)
5577 ("smbclient" ,samba)
5578 ("tzdata" ,tzdata)
5579 ("upower" ,upower)))
5580 (synopsis "Utilities to configure the GNOME desktop")
5581 (home-page "https://www.gnome.org/")
5582 (description
5583 "This package contains configuration applets for the GNOME desktop,
5584allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5585properties, sound setup, desktop theme and background, user interface
5586properties, screen resolution, and other GNOME parameters.")
5587 (license license:gpl2+)))
a4df5756
SB
5588
5589(define-public gnome-shell
5590 (package
5591 (name "gnome-shell")
1f9c2351 5592 (version "3.24.3")
a4df5756
SB
5593 (source (origin
5594 (method url-fetch)
5595 (uri (string-append "mirror://gnome/sources/" name "/"
5596 (version-major+minor version) "/"
5597 name "-" version ".tar.xz"))
5598 (sha256
5599 (base32
1f9c2351 5600 "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
a4df5756
SB
5601 (build-system glib-or-gtk-build-system)
5602 (arguments
5603 '(#:phases
5604 (modify-phases %standard-phases
5605 (replace 'install
5606 (lambda* (#:key outputs #:allow-other-keys)
5607 (let* ((out (assoc-ref outputs "out"))
5608 (keysdir (string-append
5609 out "/share/gnome-control-center/keybindings")))
5610 (zero? (system* "make"
5611 (string-append "keysdir=" keysdir)
5612 "install")))))
5613 (add-after
5614 'install 'wrap-programs
5615 (lambda* (#:key outputs #:allow-other-keys)
5616 (let ((out (assoc-ref outputs "out"))
5617 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5618 (python-path (getenv "PYTHONPATH")))
5619 (wrap-program (string-append out "/bin/gnome-shell")
5620 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5621 (for-each
5622 (lambda (prog)
5623 (wrap-program (string-append out "/bin/" prog)
5624 `("PYTHONPATH" ":" prefix (,python-path))
5625 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5626 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5627 #t))))))
5628 (native-inputs
5629 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5630 ("gobject-introspection" ,gobject-introspection)
5631 ("intltool" ,intltool)
5632 ("pkg-config" ,pkg-config)
5633 ("python" ,python)
5634 ("xsltproc" ,libxslt)))
5635 (inputs
5636 `(("accountsservice" ,accountsservice)
5637 ("caribou" ,caribou)
5638 ("docbook-xsl" ,docbook-xsl)
5639 ("evolution-data-server" ,evolution-data-server)
5640 ("gcr" ,gcr)
5641 ("gdm" ,gdm)
5642 ("gjs" ,gjs)
5643 ("gnome-bluetooth" ,gnome-bluetooth)
5644 ("gnome-control-center" ,gnome-control-center)
5645 ("gnome-desktop" ,gnome-desktop)
5646 ("gnome-settings-daemon" ,gnome-settings-daemon)
5647 ("gst-plugins-base" ,gst-plugins-base)
5648 ("ibus" ,ibus)
5649 ("libcanberra" ,libcanberra)
5650 ("libcroco" ,libcroco)
5651 ("libgweather" ,libgweather)
5652 ("libsoup" ,libsoup)
5653 ("mesa-headers" ,mesa-headers)
5654 ("mutter" ,mutter)
5655 ("network-manager-applet" ,network-manager-applet)
5656 ("polkit" ,polkit)
5657 ("pulseaudio" ,pulseaudio)
5658 ("python-pygobject" ,python-pygobject)
5659 ("startup-notification" ,startup-notification)
5660 ("telepathy-logger" ,telepathy-logger)
5661 ("upower" ,upower)
30e760f0
MB
5662 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5663 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5664 ("librsvg" ,librsvg)
5665 ("geoclue" ,geoclue)
a4df5756
SB
5666 ;; XXX: required by libgjs.la.
5667 ("readline" ,readline)))
5668 (synopsis "Desktop shell for GNOME")
5669 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5670 (description
5671 "GNOME Shell provides core user interface functions for the GNOME desktop,
5672like switching to windows and launching applications.")
5673 (license license:gpl2+)))
c3f29bc9
RS
5674
5675(define-public gtk-vnc
5676 (package
5677 (name "gtk-vnc")
2f17e939 5678 (version "0.7.1")
c3f29bc9
RS
5679 (source
5680 (origin
5681 (method url-fetch)
5682 (uri (string-append "mirror://gnome/sources/" name "/"
5683 (version-major+minor version) "/"
5684 name "-" version ".tar.xz"))
5685 (sha256
5686 (base32
2f17e939 5687 "1cdaywj5lqnl5b22qzd7k7lmacsnmk8b8rc4drk6gvqmcrlsljzk"))))
c3f29bc9
RS
5688 (build-system gnu-build-system)
5689 (arguments
5690 '(#:configure-flags '("--with-gtk=3.0")))
5691 (propagated-inputs
5692 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5693 (inputs
5694 `(("cyrus-sasl" ,cyrus-sasl)
5695 ("gnutls" ,gnutls)
5696 ("libgcrypt" ,libgcrypt)
5697 ("pulseaudio" ,pulseaudio)))
5698 (native-inputs
5699 `(("glib:bin" ,glib "bin")
5700 ("gobject-introspection" ,gobject-introspection)
5701 ("intltool" ,intltool)
5702 ("pkg-config" ,pkg-config)
2f17e939 5703 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
5704 ("vala" ,vala)))
5705 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5706 (synopsis "VNC viewer widget for GTK+")
5707 (description
5708 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5709applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5710GTK-VNC implements client side RFB protocol and authentication extensions such
5711as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5712 (license license:lgpl2.1+)))
8b877545 5713
dc69fe18
MW
5714(define-public gnome-autoar
5715 (package
5716 (name "gnome-autoar")
c7da8510 5717 (version "0.2.3")
dc69fe18
MW
5718 (source (origin
5719 (method url-fetch)
5720 (uri (string-append "mirror://gnome/sources/" name "/"
5721 (version-major+minor version) "/"
5722 name "-" version ".tar.xz"))
5723 (sha256
5724 (base32
c7da8510 5725 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
5726 (build-system glib-or-gtk-build-system)
5727 (native-inputs
5728 `(("gnome-common" ,gnome-common)
5729 ("gobject-introspection" ,gobject-introspection)
5730 ("pkg-config" ,pkg-config)))
5731 (propagated-inputs
5732 `(("libarchive" ,libarchive))) ; XXX document why
5733 (inputs
5734 `(("gtk+" ,gtk+)
5735 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5736 (synopsis "Archives integration support for GNOME")
5737 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5738 (description
5739 "GNOME Autoar is a library which makes creating and extracting archives
5740easy, safe, and automatic.")
5741 (license license:lgpl2.1+)))
5742
b64e217f
MW
5743(define-public tracker
5744 (package
5745 (name "tracker")
8fc5cdc6 5746 (version "1.12.3")
b64e217f
MW
5747 (source (origin
5748 (method url-fetch)
5749 (uri (string-append "mirror://gnome/sources/" name "/"
5750 (version-major+minor version) "/"
5751 name "-" version ".tar.xz"))
5752 (sha256
5753 (base32
8fc5cdc6 5754 "1mpq418lzba7fad0w0m3bnxvz3khf461b5zya8zmq5n1g0w99ki3"))))
b64e217f
MW
5755 (build-system glib-or-gtk-build-system)
5756 (native-inputs
5757 `(("gnome-common" ,gnome-common)
5758 ("gobject-introspection" ,gobject-introspection)
5759 ("intltool" ,intltool)
5760 ("pkg-config" ,pkg-config)
5761 ("vala" ,vala)))
5762 (inputs
5763 `(("gtk+" ,gtk+)
5764 ("dbus" ,dbus)
5765 ("gstreamer" ,gstreamer)
5766 ("gst-plugins-base" ,gst-plugins-base)
76611ce7 5767 ("sqlite" ,sqlite-with-fts5)
b64e217f
MW
5768 ("nettle" ,nettle) ; XXX why is this needed?
5769 ("poppler" ,poppler)
5770 ("libgsf" ,libgsf)
5771 ("libexif" ,libexif)
5772 ("libpng" ,libpng)
5773 ("libtiff" ,libtiff)
5774 ("libvorbis" ,libvorbis)
5775 ("flac" ,flac)
5776 ("totem-pl-parser" ,totem-pl-parser)
5777 ("zlib" ,zlib)
5778 ("exempi" ,exempi)
5779 ("libxml2" ,libxml2)
5780 ("upower" ,upower)
b64e217f
MW
5781 ("libunistring" ,libunistring)
5782 ("giflib" ,giflib)
0ef48cd9 5783 ("json-glib" ,json-glib)
b64e217f
MW
5784 ("openjpeg" ,openjpeg-1)
5785 ("libosinfo" ,libosinfo)
5786 ("libcue" ,libcue)
5787 ("libseccomp" ,libseccomp)
0ef48cd9 5788 ("libsoup" ,libsoup)
b64e217f
MW
5789 ("libuuid" ,util-linux)))
5790 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5791 (synopsis "Metadata database, indexer and search tool")
5792 (home-page "https://wiki.gnome.org/Projects/Tracker")
5793 (description
5794 "Tracker is an advanced framework for first class objects with associated
5795metadata and tags. It provides a one stop solution for all metadata, tags,
5796shared object databases, search tools and indexing.")
5797 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5798 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5799 (license (list license:gpl2+
5800 license:lgpl2.1+
5801 license:lgpl2.0+))))
5802
8b877545
RS
5803(define-public nautilus
5804 (package
5805 (name "nautilus")
35e2d0cf 5806 (version "3.26.2")
8b877545
RS
5807 (source (origin
5808 (method url-fetch)
5809 (uri (string-append "mirror://gnome/sources/" name "/"
5810 (version-major+minor version) "/"
5811 name "-" version ".tar.xz"))
5812 (sha256
5813 (base32
35e2d0cf
R
5814 "1d0l4vgcjqj4671hb6s2a56baqlasbxn3wl6vfrpdsk5qq299jbr"))))
5815 (build-system meson-build-system)
8b877545 5816 (arguments
35e2d0cf 5817 '(#:glib-or-gtk? #t
8b877545
RS
5818 ;; XXX: FAIL: check-nautilus
5819 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5820 #:tests? #f))
5821 (native-inputs
35e2d0cf
R
5822 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5823 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5824 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
5825 ("gobject-introspection" ,gobject-introspection)
5826 ("intltool" ,intltool)
5827 ("pkg-config" ,pkg-config)))
8b877545 5828 (inputs
8b877545 5829 `(("dconf" ,dconf)
dd05e731 5830 ("gvfs" ,gvfs)
8b877545
RS
5831 ("exempi" ,exempi)
5832 ("gnome-desktop" ,gnome-desktop)
09d88905 5833 ("gnome-autoar" ,gnome-autoar)
35e2d0cf
R
5834 ("libselinux" ,libselinux)
5835 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
09d88905 5836 ("tracker" ,tracker)
ce6027bf
SB
5837 ;; XXX: gtk+ is required by libnautilus-extension.pc
5838 ;;
5839 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5840 ;; package. See:
5841 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5842 ("gtk+" ,gtk+)
8b877545
RS
5843 ("libexif" ,libexif)
5844 ("libxml2" ,libxml2)))
5845 (synopsis "File manager for GNOME")
5846 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5847 (description
5848 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5849design and behaviour, giving the user a simple way to navigate and manage its
5850files.")
5851 (license license:gpl2+)))
3c697ffd
JR
5852
5853(define-public baobab
5854 (package
5855 (name "baobab")
d233d373 5856 (version "3.28.0")
3c697ffd
JR
5857 (source (origin
5858 (method url-fetch)
5859 (uri (string-append
5860 "mirror://gnome/sources/" name "/"
5861 (version-major+minor version) "/"
5862 name "-" version ".tar.xz"))
5863 (sha256
5864 (base32
d233d373
RJ
5865 "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk"))))
5866 (build-system meson-build-system)
5867 (arguments
5868 '(#:glib-or-gtk? #t))
3c697ffd
JR
5869 (native-inputs
5870 `(("intltool" ,intltool)
5871 ("pkg-config" ,pkg-config)
d233d373
RJ
5872 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5873 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
5874 ("itstool" ,itstool)
5875 ("xmllint" ,libxml2)
5876 ("glib" ,glib "bin")
5877 ("vala" ,vala)))
5878 (inputs
5879 `(("gtk+" ,gtk+)))
5880 (synopsis "Disk usage analyzer for GNOME")
5881 (description
5882 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5883usage in the GNOME desktop environment. It can easily scan device volumes or
5884a specific user-requested directory branch (local or remote). Once the scan
5885is complete it provides a graphical representation of each selected folder.")
5886 (home-page "https://wiki.gnome.org/Apps/Baobab")
5887 (license license:gpl2+)))
dc050251 5888
fdba447c
RS
5889(define-public gnome-backgrounds
5890 (package
5891 (name "gnome-backgrounds")
9ca381f0 5892 (version "3.28.0")
fdba447c
RS
5893 (source
5894 (origin
5895 (method url-fetch)
5896 (uri (string-append "mirror://gnome/sources/" name "/"
5897 (version-major+minor version) "/"
5898 name "-" version ".tar.xz"))
5899 (sha256
5900 (base32
9ca381f0
RW
5901 "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj"))))
5902 (build-system meson-build-system)
fdba447c
RS
5903 (native-inputs
5904 `(("intltool" ,intltool)))
5905 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5906 (synopsis "Background images for the GNOME desktop")
5907 (description
5908 "GNOME backgrounds package contains a collection of graphics files which
5909can be used as backgrounds in the GNOME Desktop environment. Additionally,
5910the package creates the proper framework and directory structure so that you
5911can add your own files to the collection.")
5912 (license (list license:gpl2+
5913 license:cc-by2.0
5914 license:cc-by-sa2.0
5915 license:cc-by-sa3.0))))
5916
b784b1a9
RS
5917(define-public gnome-screenshot
5918 (package
5919 (name "gnome-screenshot")
efa355bc 5920 (version "3.22.0")
b784b1a9
RS
5921 (source
5922 (origin
5923 (method url-fetch)
5924 (uri (string-append "mirror://gnome/sources/" name "/"
5925 (version-major+minor version) "/"
5926 name "-" version ".tar.xz"))
5927 (sha256
5928 (base32
efa355bc 5929 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5930 (build-system glib-or-gtk-build-system)
5931 (native-inputs
5932 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5933 ("intltool" ,intltool)
5934 ("pkg-config" ,pkg-config)))
5935 (inputs
5936 `(("gtk+" ,gtk+)
5937 ("libcanberra" ,libcanberra)
5938 ("libx11" ,libx11)
5939 ("libxext" ,libxext)))
5940 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5941 (synopsis "Take pictures of your screen")
5942 (description
5943 "GNOME Screenshot is a utility used for taking screenshots of the entire
5944screen, a window or a user defined area of the screen, with optional
5945beautifying border effects.")
5946 (license license:gpl2+)))
5947
66d59111
RS
5948(define-public dconf-editor
5949 (package
5950 (name "dconf-editor")
92c93927 5951 (version "3.26.2")
66d59111
RS
5952 (source
5953 (origin
5954 (method url-fetch)
5955 (uri (string-append "mirror://gnome/sources/" name "/"
5956 (version-major+minor version) "/"
5957 name "-" version ".tar.xz"))
5958 (sha256
5959 (base32
92c93927 5960 "1lcarg8igsqpq4iv5834mf9kz4cmfhfw11bwy3x7v7f497z57d18"))))
66d59111 5961 (build-system glib-or-gtk-build-system)
d25c1836
SB
5962 (arguments
5963 '(#:phases
5964 (modify-phases %standard-phases
5965 (add-before 'install 'skip-gtk-update-icon-cache
5966 (lambda _
5967 ;; Don't create 'icon-theme.cache'.
5968 (substitute* "editor/Makefile"
5969 (("gtk-update-icon-cache") "true"))
5970 #t)))))
66d59111
RS
5971 (native-inputs
5972 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5973 ("intltool" ,intltool)
5974 ("pkg-config" ,pkg-config)))
5975 (inputs
5976 `(("dconf" ,dconf)
5977 ("gtk+" ,gtk+)
5978 ("libxml2" ,libxml2)))
5979 (home-page "https://git.gnome.org/browse/dconf-editor")
5980 (synopsis "Graphical editor for GNOME's dconf configuration system")
5981 (description
5982 "Dconf-editor is a graphical tool for browsing and editing the dconf
5983configuration system for GNOME. It allows users to configure desktop
5984software that do not provide their own configuration interface.")
5985 (license license:lgpl2.1+)))
5986
96d36f38
AW
5987(define-public gnome-default-applications
5988 (package
5989 (name "gnome-default-applications")
5990 (version "0")
5991 (build-system trivial-build-system)
5992 (source #f)
5993 (propagated-inputs
8ad4f0aa
LC
5994 `(("nautilus" ,nautilus)
5995 ("evince" ,evince)))
96d36f38
AW
5996 (arguments
5997 `(#:modules ((guix build utils))
5998 #:builder
5999 (begin
6000 (use-modules (guix build utils))
6001 (let* ((out (assoc-ref %outputs "out"))
6002 (apps (string-append out "/share/applications")))
6003 (mkdir-p apps)
6004 (call-with-output-file (string-append apps "/defaults.list")
6005 (lambda (port)
6006 (format port "[Default Applications]\n")
8ad4f0aa
LC
6007 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
6008 (format port "application/pdf=evince.desktop\n")
6009 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
6010 #t))))
6011 (synopsis "Default MIME type associations for the GNOME desktop")
6012 (description
6013 "Given many installed packages which might handle a given MIME type, a
6014user running the GNOME desktop probably has some preferences: for example,
6015that folders be opened by default by the Nautilus file manager, not the Baobab
6016disk usage analyzer. This package establishes that set of default MIME type
6017associations for GNOME.")
6018 (license license:gpl3+)
6019 (home-page #f)))
6020
dc050251
SB
6021(define-public gnome
6022 (package
6023 (name "gnome")
6024 (version (package-version gnome-shell))
6025 (source #f)
6026 (build-system trivial-build-system)
e3cfef22 6027 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251
SB
6028 (propagated-inputs
6029 ;; TODO: Add more packages according to:
6030 ;; <https://packages.debian.org/jessie/gnome-core>.
6031 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 6032 ("baobab" ,baobab)
0bd3597b 6033 ("font-cantarell" ,font-cantarell)
a9dbefdc 6034 ("font-dejavu" ,font-dejavu)
dc050251
SB
6035 ("at-spi2-core" ,at-spi2-core)
6036 ("dbus" ,dbus)
6037 ("dconf" ,dconf)
72360453 6038 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
6039 ("eog" ,eog)
6040 ("epiphany" ,epiphany)
6041 ("evince" ,evince)
71d9b980 6042 ("file-roller" ,file-roller)
dc050251
SB
6043 ("gedit" ,gedit)
6044 ("glib-networking" ,glib-networking)
05f651c4 6045 ("gnome-backgrounds" ,gnome-backgrounds)
63ad9b80
AW
6046 ("gnome-bluetooth" ,gnome-bluetooth)
6047 ("gnome-calculator" ,gnome-calculator)
dc050251 6048 ("gnome-control-center" ,gnome-control-center)
63ad9b80 6049 ("gnome-disk-utility" ,gnome-disk-utility)
96d36f38 6050 ("gnome-default-applications" ,gnome-default-applications)
dc050251 6051 ("gnome-keyring" ,gnome-keyring)
63ad9b80 6052 ("gnome-online-accounts" ,gnome-online-accounts)
dc050251
SB
6053 ("gnome-session" ,gnome-session)
6054 ("gnome-settings-daemon" ,gnome-settings-daemon)
6055 ("gnome-shell" ,gnome-shell)
63ad9b80 6056 ("gnome-system-monitor" ,gnome-system-monitor)
dc050251
SB
6057 ("gnome-terminal" ,gnome-terminal)
6058 ("gnome-themes-standard" ,gnome-themes-standard)
2999dcd5
AW
6059 ("gst-plugins-base" ,gst-plugins-base)
6060 ("gst-plugins-good" ,gst-plugins-good)
63ad9b80 6061 ("gucharmap" ,gucharmap)
05f651c4 6062 ("gvfs" ,gvfs)
dc050251
SB
6063 ("hicolor-icon-theme" ,hicolor-icon-theme)
6064 ("nautilus" ,nautilus)
69308043 6065 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
6066 ("pulseaudio" ,pulseaudio)
6067 ("shared-mime-info" ,shared-mime-info)
6068 ("totem" ,totem)
c20cd0d2 6069 ("xdg-user-dirs" ,xdg-user-dirs)
dc050251
SB
6070 ("yelp" ,yelp)
6071 ("zenity" ,zenity)))
fe4e698d 6072 (synopsis "The GNU desktop environment")
dc050251
SB
6073 (home-page "https://www.gnome.org/")
6074 (description
fe4e698d
LC
6075 "GNOME is the graphical desktop for GNU. It includes a wide variety of
6076applications for browsing the web, editing text and images, creating
6077documents and diagrams, playing media, scanning, and much more.")
dc050251 6078 (license license:gpl2+)))
4a526711
DT
6079
6080(define-public byzanz
6081 ;; The last stable release of Byzanz was in 2011, but there have been many
6082 ;; useful commits made to the Byzanz repository since then that it would be
6083 ;; silly to use such an old release.
6084 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
6085 (package
6086 (name "byzanz")
6087 (version (string-append "0.2-1." (string-take commit 7)))
6088 (source (origin
6089 (method git-fetch)
6090 (uri (git-reference
5f13bf09 6091 (url "https://git.gnome.org/browse/byzanz")
4a526711 6092 (commit commit)))
5a6527e4 6093 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
6094 (sha256
6095 (base32
6096 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
6097 (build-system glib-or-gtk-build-system)
6098 (arguments
6099 '(#:phases
6100 (modify-phases %standard-phases
189be331 6101 (replace 'bootstrap
4a526711
DT
6102 (lambda _
6103 ;; The build system cleverly detects that we're not building from
6104 ;; a release tarball and turns on -Werror for GCC.
6105 ;; Unsurprisingly, there is a warning during compilation that
6106 ;; causes the build to fail unnecessarily, so we remove the flag.
6107 (substitute* '("configure.ac")
6108 (("-Werror") ""))
6109 ;; The autogen.sh script in gnome-common will run ./configure
6110 ;; by default, which is problematic because source shebangs
6111 ;; have not yet been patched.
6112 (setenv "NOCONFIGURE" "t")
6113 (zero? (system* "sh" "autogen.sh")))))))
6114 (native-inputs
6115 `(("autoconf" ,autoconf)
6116 ("automake" ,automake)
6117 ("gnome-common" ,gnome-common)
6118 ("intltool" ,intltool)
6119 ("libtool" ,libtool)
6120 ("pkg-config" ,pkg-config)
6121 ("which" ,which)))
6122 (inputs
6123 `(("glib" ,glib)
6124 ("gstreamer" ,gstreamer)
6125 ("gst-plugins-base" ,gst-plugins-base)
6126 ("gtk+" ,gtk+)))
6127 (synopsis "Desktop recording program")
6128 (description "Byzanz is a simple desktop recording program with a
6129command-line interface. It can record part or all of an X display for a
6130specified duration and save it as a GIF encoded animated image file.")
6131 (home-page "https://git.gnome.org/browse/byzanz")
6132 (license license:gpl2+))))
3a9a4c51 6133
0ec171ec
MS
6134(define-public gsound
6135 (package
6136 (name "gsound")
6137 (version "1.0.2")
6138 (source (origin
6139 (method url-fetch)
6140 (uri (string-append "mirror://gnome/sources/" name "/"
6141 (version-major+minor version) "/"
6142 name "-" version ".tar.xz"))
6143 (sha256
6144 (base32
6145 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
6146 (build-system glib-or-gtk-build-system)
6147 (native-inputs
6148 `(("pkg-config" ,pkg-config)
6149 ("gobject-introspection" ,gobject-introspection)
6150 ("vala" ,vala)))
6151 (inputs
6152 `(("glib" ,glib)
6153 ("libcanberra" ,libcanberra)))
6154 (home-page "https://wiki.gnome.org/Projects/GSound")
6155 (synopsis "GObject wrapper for libcanberra")
6156 (description
6157 "GSound is a small library for playing system sounds. It's designed to be
6158used via GObject Introspection, and is a thin wrapper around the libcanberra C
6159library.")
6160 (license license:lgpl2.1+)))
6161
3a9a4c51
RS
6162(define-public libzapojit
6163 (package
6164 (name "libzapojit")
6165 (version "0.0.3")
6166 (source (origin
6167 (method url-fetch)
6168 (uri (string-append "mirror://gnome/sources/" name "/"
6169 (version-major+minor version) "/"
6170 name "-" version ".tar.xz"))
6171 (sha256
6172 (base32
6173 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
6174 (build-system gnu-build-system)
6175 (native-inputs
6176 `(("gobject-introspection" ,gobject-introspection)
6177 ("intltool" ,intltool)
6178 ("pkg-config" ,pkg-config)))
6179 (inputs
6180 `(("gnome-online-accounts" ,gnome-online-accounts)
6181 ("json-glib" ,json-glib)
6182 ("rest" ,rest)))
6183 (home-page "https://wiki.gnome.org/Projects/Zapojit")
6184 (synopsis "Library for accessing SkyDrive and Hotmail")
6185 (description
6186 "Libzapojit is a GLib-based library for accessing online service APIs of
6187Microsoft SkyDrive and Hotmail, using their REST protocols.")
6188 (license license:lgpl2.1+)))
9365ee1c 6189
60e2a9ae
MS
6190(define-public gnome-clocks
6191 (package
6192 (name "gnome-clocks")
b39e6121 6193 (version "3.26.1")
60e2a9ae
MS
6194 (source (origin
6195 (method url-fetch)
6196 (uri (string-append "mirror://gnome/sources/" name "/"
6197 (version-major+minor version) "/"
6198 name "-" version ".tar.xz"))
6199 (sha256
6200 (base32
b39e6121 6201 "1xqirnf7xkiv5vj3ng4slpyh50ihn625vhdgskfzx83a3pgxin1b"))))
60e2a9ae
MS
6202 (build-system meson-build-system)
6203 (arguments
6204 '(#:glib-or-gtk? #t))
6205 (native-inputs
6206 `(("vala" ,vala)
6207 ("pkg-config" ,pkg-config)
6208 ("glib" ,glib "bin") ; for glib-compile-resources
6209 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6210 ("desktop-file-utils" ,desktop-file-utils)
6211 ("gettext" ,gettext-minimal)
6212 ("itstool" ,itstool)))
6213 (inputs
6214 `(("glib" ,glib)
6215 ("gtk+" ,gtk+)
6216 ("gsound" ,gsound)
6217 ("geoclue" ,geoclue)
6218 ("geocode-glib" ,geocode-glib)
6219 ("libgweather" ,libgweather)
6220 ("gnome-desktop" ,gnome-desktop)))
6221 (home-page "https://wiki.gnome.org/Apps/Clocks")
6222 (synopsis "GNOME's clock application")
6223 (description
6224 "GNOME Clocks is a simple clocks application designed to fit the GNOME
6225desktop. It supports world clock, stop watch, alarms, and count down timer.")
6226 (license license:gpl3+)))
6227
3c474897
KY
6228(define-public gnome-calendar
6229 (package
6230 (name "gnome-calendar")
4c8413cd 6231 (version "3.26.3")
3c474897
KY
6232 (source (origin
6233 (method url-fetch)
6234 (uri (string-append "mirror://gnome/sources/" name "/"
6235 (version-major+minor version) "/"
6236 name "-" version ".tar.xz"))
6237 (sha256
6238 (base32
4c8413cd 6239 "1clnfvvsaqw9vpxrs6qrxzmgpaw9x2nkjik2x2vwvm07pdvhddxn"))))
a49d3e37
MS
6240 (build-system meson-build-system)
6241 (arguments
6242 '(#:glib-or-gtk? #t
6243 ;; gnome-calendar has to be installed before the tests can be run
6244 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
6245 #:tests? #f))
3c474897 6246 (native-inputs
a49d3e37
MS
6247 `(("gettext" ,gettext-minimal)
6248 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
6249 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
6250 ("pkg-config" ,pkg-config)))
6251 (inputs
a49d3e37 6252 `(("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
6253 ("gnome-online-accounts" ,gnome-online-accounts)
6254 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
6255 (home-page "https://wiki.gnome.org/Apps/Calendar")
6256 (synopsis "GNOME's calendar application")
6257 (description
6258 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 6259desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
6260 (license license:gpl3+)))
6261
57b14665
MS
6262(define-public gnome-todo
6263 (package
6264 (name "gnome-todo")
52995941 6265 (version "3.26.2")
57b14665
MS
6266 (source (origin
6267 (method url-fetch)
6268 (uri (string-append "mirror://gnome/sources/" name "/"
6269 (version-major+minor version) "/"
6270 name "-" version ".tar.xz"))
5de561a7 6271 (patches (search-patches "gnome-todo-libical-compat.patch"))
57b14665
MS
6272 (sha256
6273 (base32
52995941 6274 "106xx1w18pxjmj5k0k2qjzi6b3c3kaz7b5kyrpknykibnr401ff9"))))
57b14665
MS
6275 (build-system meson-build-system)
6276 (arguments
6277 '(#:glib-or-gtk? #t
6278 #:phases (modify-phases %standard-phases
6279 (add-after
6280 'install 'wrap-gnome-todo
6281 (lambda* (#:key inputs outputs #:allow-other-keys)
6282 (let ((out (assoc-ref outputs "out"))
6283 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6284 (python-path (getenv "PYTHONPATH")))
6285 (wrap-program (string-append out "/bin/gnome-todo")
6286 ;; XXX: gi plugins are broken.
6287 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
6288 ;; For plugins.
6289 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6290 `("PYTHONPATH" ":" prefix (,python-path))))
6291 #t)))))
6292 (native-inputs
6293 `(("gettext" ,gettext-minimal)
6294 ("gobject-introspection" ,gobject-introspection)
6295 ("glib:bin" ,glib "bin") ; For glib-compile-resources
6296 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6297 ("pkg-config" ,pkg-config)))
6298 (inputs
6299 `(("rest" ,rest) ; For Todoist plugin
6300 ("json-glib" ,json-glib) ; For Todoist plugin
6301 ("libical" ,libical)
6302 ("libpeas" ,libpeas)
6303 ("python-pygobject" ,python-pygobject)
6304 ("evolution-data-server" ,evolution-data-server)
6305 ("gnome-online-accounts" ,gnome-online-accounts)
6306 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6307 (home-page "https://wiki.gnome.org/Apps/Todo")
6308 (synopsis "GNOME's ToDo Application")
6309 (description
6310 "GNOME To Do is a simplistic personal task manager designed to perfectly
6311fit the GNOME desktop.")
6312 (license license:gpl3+)))
6313
ab179eaf
SB
6314(define-public gnome-dictionary
6315 (package
6316 (name "gnome-dictionary")
cf81ddef 6317 (version "3.26.1")
ab179eaf
SB
6318 (source (origin
6319 (method url-fetch)
6320 (uri (string-append "mirror://gnome/sources/" name "/"
6321 (version-major+minor version) "/"
6322 name "-" version ".tar.xz"))
6323 (sha256
6324 (base32
cf81ddef
LC
6325 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
6326 (build-system meson-build-system)
2776b5d5
MB
6327 (arguments '(#:glib-or-gtk? #t
6328 #:phases (modify-phases %standard-phases
6329 (add-after 'unpack 'patch-install-script
6330 (lambda _
6331 ;; This script attempts to compile glib schemas
6332 ;; and create an empty MIME database. We do
6333 ;; that elsewhere, so prevent it from running.
6334 (substitute* "build-aux/post-install.sh"
6335 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
6336 #t)))))
ab179eaf
SB
6337 (native-inputs
6338 `(("glib:bin" ,glib "bin")
6339 ("gobject-introspection" ,gobject-introspection)
6340 ("intltool" ,intltool)
6341 ("itstool" ,itstool)
6342 ("pkg-config" ,pkg-config)
6343 ("xmllint" ,libxml2)))
6344 (inputs
6345 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6346 ("gtk+" ,gtk+)))
6347 (home-page "https://wiki.gnome.org/Apps/Dictionary")
6348 (synopsis "Look up words in dictionary sources")
6349 (description
6350 "GNOME Dictionary can look for the definition or translation of a word in
6351existing databases over the internet.")
6352 (license license:gpl3+)))
6353
9365ee1c
JN
6354(define-public gnome-tweak-tool
6355 (package
6356 (name "gnome-tweak-tool")
c7fc414e 6357 (version "3.26.4")
9365ee1c
JN
6358 (source (origin
6359 (method url-fetch)
6360 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
6361 (version-major+minor version) "/"
6362 "gnome-tweak-tool-" version ".tar.xz"))
6363 (patches (list
6364 (search-patch "gnome-tweak-tool-search-paths.patch")))
6365 (sha256
6366 (base32
c7fc414e 6367 "1pq5a0kzh1sz7s7ax5c7p6212k9d51nk5bfvjfyqn99cs928187x"))))
7ef335b0 6368 (build-system glib-or-gtk-build-system)
9365ee1c
JN
6369 (arguments
6370 `(#:configure-flags '("--localstatedir=/tmp"
6371 "--sysconfdir=/tmp")
6372 #:imported-modules ((guix build python-build-system)
7ef335b0 6373 ,@%glib-or-gtk-build-system-modules)
9365ee1c 6374 #:phases (modify-phases %standard-phases
c7fc414e
RH
6375 (delete 'configure)
6376 (replace 'build
6377 (lambda* (#:key outputs #:allow-other-keys)
6378 (invoke "meson" "build"
6379 "--prefix" (assoc-ref outputs "out"))))
6380 (replace 'check
6381 (lambda _ (invoke "ninja" "-C" "build" "test")))
6382 (replace 'install
6383 (lambda* (#:key outputs #:allow-other-keys)
6384 (invoke "ninja" "-C" "build" "install")))
9af6bce1
CB
6385 (add-after 'install 'wrap-program
6386 (lambda* (#:key outputs #:allow-other-keys)
6387 (let ((out (assoc-ref outputs "out"))
6388 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6389 (wrap-program (string-append out "/bin/gnome-tweak-tool")
6390 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6391 #t))
9365ee1c
JN
6392 (add-after 'install 'wrap
6393 (@@ (guix build python-build-system) wrap)))))
6394 (native-inputs
c7fc414e
RH
6395 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6396 ("intltool" ,intltool)
6397 ("meson" ,meson-for-build)
6398 ("ninja" ,ninja)
9365ee1c
JN
6399 ("pkg-config" ,pkg-config)))
6400 (inputs
c7fc414e
RH
6401 `(("gnome-desktop" ,gnome-desktop)
6402 ("gtk+" ,gtk+)
9365ee1c
JN
6403 ("gobject-introspection" ,gobject-introspection)
6404 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
6405 ("libnotify" ,libnotify)
6406 ("libsoup" ,libsoup)
6407 ("nautilus" ,nautilus)
6408 ("python" ,python)
6409 ("python-pygobject" ,python-pygobject)))
9365ee1c
JN
6410 (synopsis "Customize advanced GNOME 3 options")
6411 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
6412 (description
6413 "GNOME Tweak Tool allows adjusting advanced configuration settings in
6414GNOME 3. This includes things like the fonts used in user interface elements,
6415alternative user interface themes, changes in window management behavior,
6416GNOME Shell appearance and extension, etc.")
6417 (license license:gpl3+)))
813f814a 6418
32ac717c
DT
6419(define-public gnome-shell-extensions
6420 (package
6421 (name "gnome-shell-extensions")
9c2d0a1a 6422 (version "3.24.3")
32ac717c
DT
6423 (source (origin
6424 (method url-fetch)
6425 (uri (string-append "mirror://gnome/sources/" name "/"
6426 (version-major+minor version) "/"
6427 name "-" version ".tar.xz"))
6428 (sha256
6429 (base32
9c2d0a1a 6430 "0y8anpp9ymp0lxn15w63ra6zxxf8nvbl48xqkvqdjzida73fyz9w"))))
32ac717c
DT
6431 (build-system gnu-build-system)
6432 (arguments
6433 '(#:configure-flags '("--enable-extensions=all")))
6434 (native-inputs
6435 `(("intltool" ,intltool)
6436 ("pkg-config" ,pkg-config)))
6437 (propagated-inputs
6438 `(("glib" ,glib)
6439 ("glib" ,glib "bin")))
6440 (synopsis "Extensions for GNOME Shell")
6441 (description "GNOME Shell extensions modify and extend GNOME Shell
6442functionality and behavior.")
6443 (home-page "https://extensions.gnome.org/")
6444 (license license:gpl3+)))
6445
813f814a
DT
6446(define-public arc-theme
6447 (package
6448 (name "arc-theme")
a18f8eaf 6449 (version "20181022")
813f814a 6450 (source (origin
a18f8eaf
BH
6451 (method git-fetch)
6452 (uri (git-reference
6453 (url "https://github.com/NicoHood/arc-theme.git")
6454 (commit version)))
6455 (file-name (git-file-name name version))
813f814a
DT
6456 (sha256
6457 (base32
a18f8eaf 6458 "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
813f814a 6459 (build-system gnu-build-system)
d88884fa
EF
6460 (arguments
6461 '(#:phases
6462 (modify-phases %standard-phases
6463 ;; autogen.sh calls configure at the end of the script.
6464 (replace 'bootstrap
6465 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
6466 (native-inputs
6467 `(("autoconf" ,autoconf)
6468 ("automake" ,automake)
a18f8eaf
BH
6469 ("glib" ,glib "bin") ; for glib-compile-resources
6470 ("gnome-shell" ,gnome-shell)
6471 ("gtk+" ,gtk+)
6472 ("inkscape" ,inkscape)
6473 ("optipng" ,optipng)
6474 ("pkg-config" ,pkg-config)
6475 ("sassc" ,sassc)))
813f814a
DT
6476 (synopsis "A flat GTK+ theme with transparent elements")
6477 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
64782, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
6479like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
6480 (home-page "https://github.com/horst3180/arc-theme")
6481 ;; No "or later" language found.
a18f8eaf 6482 (license license:gpl3+)))
9987c57c 6483
d935e6a1 6484(define-public faba-icon-theme
9987c57c 6485 (package
d935e6a1 6486 (name "faba-icon-theme")
2eee7ee3 6487 (version "4.3")
d935e6a1
BT
6488 (source
6489 (origin
6490 (method url-fetch)
6491 (uri (string-append "https://github.com/moka-project/"
6492 name "/archive/v" version ".tar.gz"))
6493 (file-name (string-append name "-" version ".tar.gz"))
6494 (sha256
6495 (base32
2eee7ee3 6496 "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68"))))
f6a9b345 6497 (build-system meson-build-system)
9987c57c 6498 (arguments
82da291a 6499 `(#:phases
9987c57c 6500 (modify-phases %standard-phases
82da291a 6501 (add-before 'configure 'disable-post-install
9987c57c 6502 (lambda _
82da291a
JL
6503 (substitute* "meson.build"
6504 (("meson.add_install_script.*") "")))))))
9987c57c
DT
6505 (native-inputs
6506 `(("autoconf" ,autoconf)
6507 ("automake" ,automake)))
d935e6a1
BT
6508 (synopsis "Faba icon theme")
6509 (description
6510 "Faba is a minimal icon set used as a basis for other themes such as
6511Moka")
6512 (home-page "https://snwh.org/moka")
6513 (license (list license:lgpl3+
6514 license:cc-by-sa4.0))))
6515
9987c57c
DT
6516(define-public moka-icon-theme
6517 (package
8b0e4177 6518 (inherit faba-icon-theme)
9987c57c 6519 (name "moka-icon-theme")
105a3625 6520 (version "5.4.0")
9987c57c
DT
6521 (source (origin
6522 (method url-fetch)
6523 (uri (string-append "https://github.com/moka-project"
6524 "/moka-icon-theme/archive/v"
6525 version ".tar.gz"))
6526 (file-name (string-append name "-" version ".tar.gz"))
6527 (sha256
6528 (base32
105a3625 6529 "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk"))))
550281fb
BT
6530 (propagated-inputs
6531 ;; Moka is based on Faba by using it as a fallback icon set instead of
6532 ;; bundling it, so we need to add it as a propagated input.
6533 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
6534 (synopsis "Moka icon theme")
6535 (description "Moka is a stylized desktop icon set, designed to be clear,
6536simple and consistent.")
fedde43b
BT
6537 (license (list license:gpl3+
6538 license:cc-by-sa4.0))))
6fd8f8d6
DT
6539
6540(define-public arc-icon-theme
6541 (package
6542 (name "arc-icon-theme")
c4180240 6543 (version "20161122")
6fd8f8d6
DT
6544 (source (origin
6545 (method url-fetch)
6546 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6547 "/archive/" version ".tar.gz"))
6548 (file-name (string-append name "-" version ".tar.gz"))
6549 (sha256
6550 (base32
c4180240 6551 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6 6552 (build-system gnu-build-system)
9e1ede95
JL
6553 (arguments
6554 `(#:phases
6555 (modify-phases %standard-phases
6556 (add-after 'unpack 'disable-configure-during-bootstrap
6557 (lambda _
6558 (substitute* "autogen.sh"
6559 (("^\"\\$srcdir/configure\".*") ""))
6560 #t)))))
6fd8f8d6
DT
6561 (native-inputs
6562 `(("autoconf" ,autoconf)
6563 ("automake" ,automake)))
6564 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6565 (propagated-inputs
6566 `(("moka-icon-theme" ,moka-icon-theme)))
6567 (synopsis "Arc icon theme")
6568 (description "The Arc icon theme provides a set of icons matching the
6569style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6570the Moka icon theme.")
6571 (home-page "https://github.com/horst3180/arc-icon-theme")
6572 (license license:gpl3+)))
6064a4e8
LF
6573
6574(define-public folks
6575 (package
6576 (name "folks")
6577 (version "0.11.2")
6578 (source (origin
6579 (method url-fetch)
6580 (uri (string-append
6581 "mirror://gnome/sources/" name "/"
6582 (version-major+minor version) "/"
6583 name "-" version ".tar.xz"))
6584 (sha256
6585 (base32
6586 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
6587 (build-system glib-or-gtk-build-system)
6588 (inputs
6589 `(("bdb" ,bdb)
6590 ("dbus-glib" ,dbus-glib)
6591 ("evolution-data-server" ,evolution-data-server)
6592 ("glib" ,glib)
6593 ("libgee" ,libgee)
6594 ("telepathy-glib" ,telepathy-glib)))
6595 (native-inputs
6596 `(("gobject-introspection" ,gobject-introspection)
6597 ("intltool" ,intltool)
6598 ("pkg-config" ,pkg-config)
6599 ("vala" ,vala)))
6600 (synopsis "Library to aggregate data about people")
6601 (description "Libfolks is a library that aggregates information about people
6602from multiple sources (e.g., Telepathy connection managers for IM contacts,
6603Evolution Data Server for local contacts, libsocialweb for web service contacts,
6604etc.) to create metacontacts. It's written in Vala, which generates C code when
6605compiled.")
6606 (home-page "https://wiki.gnome.org/Projects/Folks")
6607 (license license:lgpl2.1+)))
01ea778f
LF
6608
6609(define-public gfbgraph
6610 (package
6611 (name "gfbgraph")
6612 (version "0.2.3")
6613 (source (origin
6614 (method url-fetch)
6615 (uri (string-append
6616 "mirror://gnome/sources/" name "/"
6617 (version-major+minor version) "/"
6618 name "-" version ".tar.xz"))
6619 (sha256
6620 (base32
6621 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6622 (build-system glib-or-gtk-build-system)
6623 (arguments
6624 `(#:tests? #f ; Tests appear to require the network.
6625 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6626 #:configure-flags '("--disable-gtk-doc"
6627 "--disable-static"
6628 "--enable-introspection")))
6629 (native-inputs
6630 `(("pkg-config" ,pkg-config)
6631 ("gobject-introspection" ,gobject-introspection)))
6632 (inputs
6633 `(("json-glib" ,json-glib)
6634 ("gnome-online-accounts" ,gnome-online-accounts)
6635 ("rest" ,rest)))
6636 (synopsis "GLib/GObject wrapper for the Facebook API")
6637 (description "This library allows you to use the Facebook API from
6638GLib/GObject code.")
6639 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6640 (license license:lgpl2.1+)))
3920868c 6641
6642(define-public libgnomekbd
6643 (package
6644 (name "libgnomekbd")
47b93ae5 6645 (version "3.22.0.1")
3920868c 6646 (source (origin
6647 (method url-fetch)
6648 (uri (string-append "mirror://gnome/sources/" name "/"
6649 (version-major+minor version) "/"
6650 name "-" version ".tar.xz"))
6651 (sha256
6652 (base32
47b93ae5 6653 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 6654 (build-system gnu-build-system)
6655 (native-inputs
6656 `(("pkg-config" ,pkg-config)
6657 ("glib" ,glib "bin")
6658 ("intltool" ,intltool)))
6659 (propagated-inputs
6660 ;; Referred to in .h files and .pc.
6661 `(("glib" ,glib)
6662 ("gtk+" ,gtk+)
6663 ("libxklavier" ,libxklavier)))
6664 (home-page "https://www.gnome.org")
6665 (synopsis "GNOME keyboard configuration library")
6666 (description
6667 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6668environment, which can notably display keyboard layouts.")
6669 (license license:lgpl2.0+)))
85327d0d 6670
6671;;; This package is no longer maintained:
6672;;; https://wiki.gnome.org/Attic/LibUnique
6673;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6674;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6675(define-public libunique
6676 (package
6677 (name "libunique")
6678 (version "3.0.2")
6679 (source (origin
6680 (method url-fetch)
6681 (uri (string-append "mirror://gnome/sources/" name "/"
6682 (version-major+minor version) "/"
6683 name "-" version ".tar.xz"))
6684 (sha256
6685 (base32
6686 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6687 (build-system glib-or-gtk-build-system)
6688 (arguments
6689 `(#:configure-flags '("--disable-static"
6690 "--disable-dbus" ; use gdbus
6691 "--enable-introspection")))
6692 (native-inputs
6693 `(("pkg-config" ,pkg-config)
6694 ("gobject-introspection" ,gobject-introspection)
6695 ("glib:bin" ,glib "bin")
6696 ("gtk-doc" ,gtk-doc)))
6697 (propagated-inputs
6698 ;; Referred to in .h files and .pc.
6699 `(("gtk+" ,gtk+)))
6700 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6701 (synopsis "Library for writing single instance applications")
6702 (description
6703 "Libunique is a library for writing single instance applications. If you
6704launch a single instance application twice, the second instance will either just
6705quit or will send a message to the running instance. Libunique makes it easy to
6706write this kind of application, by providing a base class, taking care of all
6707the IPC machinery needed to send messages to a running instance, and also
6708handling the startup notification side.")
6709 (license license:lgpl2.1+)))
54021cd8
RS
6710
6711(define-public gnome-calculator
6712 (package
6713 (name "gnome-calculator")
31d9e454 6714 (version "3.26.0")
54021cd8
RS
6715 (source
6716 (origin
6717 (method url-fetch)
6718 (uri (string-append "mirror://gnome/sources/" name "/"
6719 (version-major+minor version) "/"
6720 name "-" version ".tar.xz"))
6721 (sha256
6722 (base32
31d9e454 6723 "1iv3b3mvqxm17r5gv15dyq6gz08w0ljhzgbf22xnnfnpzhvmn8b2"))))
54021cd8
RS
6724 (build-system glib-or-gtk-build-system)
6725 (native-inputs
6726 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6727 ("intltool" ,intltool)
6728 ("itstool" ,itstool)
6729 ("pkg-config" ,pkg-config)))
6730 (inputs
6731 `(("gtksourceview" ,gtksourceview)
6732 ("libsoup" ,libsoup)
2c2da7ec 6733 ("mpc" ,mpc)
54021cd8
RS
6734 ("mpfr" ,mpfr)))
6735 (home-page "https://wiki.gnome.org/Apps/Calculator")
6736 (synopsis "Desktop calculator")
6737 (description
6738 "Calculator is an application that solves mathematical equations and
6739is suitable as a default application in a Desktop environment.")
6740 (license license:gpl3)))
0bd69759
RS
6741
6742(define-public xpad
6743 (package
6744 (name "xpad")
c85626bb 6745 (version "5.1.0")
0bd69759
RS
6746 (source
6747 (origin
6748 (method url-fetch)
08fda9c6
R
6749 (uri (string-append "https://launchpad.net/xpad/trunk/"
6750 version "/+download/"
0bd69759
RS
6751 name "-" version ".tar.bz2"))
6752 (sha256
6753 (base32
c85626bb 6754 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
6755 (build-system gnu-build-system)
6756 (native-inputs
08fda9c6
R
6757 `(("autoconf" ,autoconf)
6758 ("automake" ,automake)
6759 ("gtk+:bin" ,gtk+ "bin")
6760 ("intltool" ,intltool)
0bd69759
RS
6761 ("pkg-config" ,pkg-config)))
6762 (inputs
08fda9c6 6763 `(("gtksourceview" ,gtksourceview)
0bd69759
RS
6764 ("libsm" ,libsm)))
6765 (home-page "https://wiki.gnome.org/Apps/Xpad")
6766 (synopsis "Virtual sticky note")
6767 (description
6768 "Xpad is a sticky note that strives to be simple, fault tolerant,
6769and customizable. Xpad consists of independent pad windows, each is
6770basically a text box in which notes can be written.")
6771 (license license:gpl3+)))
3ad7dce1
RS
6772
6773(define-public gucharmap
6774 (package
6775 (name "gucharmap")
6776 (version "3.18.0")
6777 (source
6778 (origin
6779 (method url-fetch)
6780 (uri (string-append "mirror://gnome/sources/" name "/"
6781 (version-major+minor version) "/"
6782 name "-" version ".tar.xz"))
6783 (sha256
6784 (base32
6785 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
aa29f8fb 6786 (build-system glib-or-gtk-build-system)
3ad7dce1
RS
6787 (native-inputs
6788 `(("desktop-file-utils" ,desktop-file-utils)
6789 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6790 ("gobject-introspection" ,gobject-introspection)
6791 ("intltool" ,intltool)
6792 ("itstool" ,itstool)
6793 ("pkg-config" ,pkg-config)))
6794 (inputs
6795 `(("gtk+" ,gtk+)
6796 ("xmllint" ,libxml2)))
6797 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6798 (synopsis "Unicode character picker and font browser")
6799 (description
6800 "This program allows you to browse through all the available Unicode
6801characters and categories for the installed fonts, and to examine their
6802detailed properties. It is an easy way to find the character you might
6803only know by its Unicode name or code point.")
6804 (license license:gpl3+)))
04ce840a
RS
6805
6806(define-public bluefish
6807 (package
6808 (name "bluefish")
ea8afaf3 6809 (version "2.2.10")
04ce840a
RS
6810 (source
6811 (origin
6812 (method url-fetch)
6813 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6814 name "-" version ".tar.gz"))
6815 (sha256
6816 (base32
ea8afaf3 6817 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
6818 (build-system gnu-build-system)
6819 (native-inputs
6820 `(("desktop-file-utils" ,desktop-file-utils)
6821 ("intltool" ,intltool)
6822 ("pkg-config" ,pkg-config)))
6823 (inputs
6824 `(("enchant" ,enchant)
6825 ("gtk+" ,gtk+)
6826 ("python" ,python-2)
6827 ("xmllint" ,libxml2)
6828 ("gucharmap" ,gucharmap)))
6829 (home-page "http://bluefish.openoffice.nl")
6830 (synopsis "Web development studio")
6831 (description
6832 "Bluefish is an editor targeted towards programmers and web developers,
6833with many options to write web sites, scripts and other code.
6834Bluefish supports many programming and markup languages.")
6835 (license license:gpl3+)))
1f6a73ee
RS
6836
6837(define-public gnome-system-monitor
6838 (package
6839 (name "gnome-system-monitor")
a5a22d7b 6840 (version "3.26.0")
1f6a73ee
RS
6841 (source
6842 (origin
6843 (method url-fetch)
6844 (uri (string-append "mirror://gnome/sources/" name "/"
6845 (version-major+minor version) "/"
6846 name "-" version ".tar.xz"))
6847 (sha256
6848 (base32
a5a22d7b 6849 "1cz6s0cvagj422f9dc231nvg8jsfkva5s81skpq4q5jyrb1ahj7q"))))
1f6a73ee
RS
6850 (build-system glib-or-gtk-build-system)
6851 (native-inputs
6852 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6853 ("intltool" ,intltool)
6854 ("itstool" ,itstool)
6855 ("libgtop" ,libgtop)
6856 ("pkg-config" ,pkg-config)))
6857 (inputs
6858 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6859 ("gtk+" ,gtk+)
6860 ("gtkmm" ,gtkmm)
6861 ("librsvg" ,librsvg)
6862 ("libxml2" ,libxml2)))
6863 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6864 (synopsis "Process viewer and system resource monitor for GNOME")
6865 (description
6866 "GNOME System Monitor is a GNOME process viewer and system monitor with
6867an attractive, easy-to-use interface. It has features, such as a tree view
6868for process dependencies, icons for processes, the ability to hide processes,
6869graphical time histories of CPU/memory/swap usage and the ability to
6870kill/reinice processes.")
6871 (license license:gpl2+)))
3e00ac47
SB
6872
6873(define-public python-pyatspi
6874 (package
6875 (name "python-pyatspi")
6876 (version "2.24.0")
6877 (source (origin
6878 (method url-fetch)
6879 (uri (string-append
6880 "mirror://gnome/sources/pyatspi/"
6881 (version-major+minor version)
6882 "/pyatspi-" version ".tar.xz"))
6883 (sha256
6884 (base32
6885 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6886 (build-system gnu-build-system)
6887 (native-inputs
6888 `(("pkg-config" ,pkg-config)))
6889 (inputs
6890 `(("python" ,python)
6891 ("python-pygobject" ,python-pygobject)))
6892 (synopsis "Python client bindings for D-Bus AT-SPI")
6893 (home-page "https://wiki.linuxfoundation.org/accessibility\
6894/atk/at-spi/at-spi_on_d-bus")
6895 (description
6896 "This package includes a python client library for the AT-SPI D-Bus
6897accessibility infrastructure.")
6898 (license license:lgpl2.0)
6899 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6900
6901(define-public orca
6902 (package
6903 (name "orca")
f51ea1cd 6904 (version "3.26.0")
53201c0d
SB
6905 (source (origin
6906 (method url-fetch)
6907 (uri (string-append
6908 "mirror://gnome/sources/" name "/"
6909 (version-major+minor version) "/"
6910 name "-" version ".tar.xz"))
6911 (sha256
6912 (base32
f51ea1cd 6913 "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7"))))
53201c0d
SB
6914 (build-system glib-or-gtk-build-system)
6915 (arguments
6916 '(#:phases
6917 (modify-phases %standard-phases
6918 (add-before 'configure 'qualify-xkbcomp
6919 (lambda* (#:key inputs #:allow-other-keys)
6920 (let ((xkbcomp (string-append
6921 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6922 (substitute* "src/orca/orca.py"
6923 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6924 #t))
6925 (add-after 'install 'wrap-orca
6926 (lambda* (#:key outputs #:allow-other-keys)
6927 (let* ((out (assoc-ref outputs "out"))
6928 (prog (string-append out "/bin/orca")))
6929 (wrap-program prog
6930 `("GI_TYPELIB_PATH" ":" prefix
6931 (,(getenv "GI_TYPELIB_PATH")))
6932 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6933 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6934 `("PYTHONPATH" ":" prefix
6935 (,(getenv "PYTHONPATH")))))
6936 #t)))))
6937 (native-inputs
6938 `(("intltool" ,intltool)
6939 ("itstool" ,itstool)
6940 ("pkg-config" ,pkg-config)
6941 ("xmllint" ,libxml2)))
6942 (inputs
6943 `(("at-spi2-atk" ,at-spi2-atk)
6944 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6945 ("gstreamer" ,gstreamer)
6946 ("gst-plugins-base" ,gst-plugins-base)
6947 ("gst-plugins-good" ,gst-plugins-good)
6948 ("gtk+" ,gtk+)
6949 ("python" ,python)
6950 ("python-pygobject" ,python-pygobject)
6951 ("python-pyatspi" ,python-pyatspi)
6952 ("python-speechd" ,speech-dispatcher)
6953 ("xkbcomp" ,xkbcomp)))
6954 (synopsis
6955 "Screen reader for individuals who are blind or visually impaired")
6956 (home-page "https://wiki.gnome.org/Projects/Orca")
6957 (description
6958 "Orca is a screen reader that provides access to the graphical desktop
6959via speech and refreshable braille. Orca works with applications and toolkits
6960that support the Assistive Technology Service Provider Interface (AT-SPI).")
6961 (license license:lgpl2.1+)))
411ba511
LC
6962
6963(define-public gspell
6964 (package
6965 (name "gspell")
9b1bb757 6966 (version "1.8.1")
411ba511
LC
6967 (source (origin
6968 (method url-fetch)
6969 (uri (string-append "mirror://gnome/sources/" name "/"
6970 (version-major+minor version) "/"
6971 name "-" version ".tar.xz"))
6972 (sha256
6973 (base32
9b1bb757 6974 "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1"))
411ba511
LC
6975 (patches (search-patches "gspell-dash-test.patch"))))
6976 (build-system glib-or-gtk-build-system)
6977 (arguments
6978 '(#:phases
6979 (modify-phases %standard-phases
6980 (add-before 'check 'pre-check
6981 (lambda* (#:key inputs #:allow-other-keys)
6982 ;; Tests require a running X server.
6983 (system "Xvfb :1 &")
6984 (setenv "DISPLAY" ":1")
6985
6986 ;; For the missing /etc/machine-id.
6987 (setenv "DBUS_FATAL_WARNINGS" "0")
6988
6989 ;; Allow Enchant and its Aspell backend to find the en_US
6990 ;; dictionary.
6991 (setenv "ASPELL_DICT_DIR"
6992 (string-append (assoc-ref inputs "aspell-dict-en")
6993 "/lib/aspell"))
6994 #t)))))
6995 (inputs
eccd35be 6996 `(("gtk+" ,gtk+)
a801ae4c
TGR
6997 ("glib" ,glib)
6998 ("iso-codes" ,iso-codes)))
411ba511
LC
6999 (native-inputs
7000 `(("glib" ,glib "bin")
7001 ("pkg-config" ,pkg-config)
7002 ("xmllint" ,libxml2)
7003
7004 ;; For tests.
a801ae4c
TGR
7005 ("aspell-dict-en" ,aspell-dict-en)
7006 ("xorg-server" ,xorg-server)))
eccd35be 7007 (propagated-inputs
9b1bb757 7008 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
7009 (home-page "https://wiki.gnome.org/Projects/gspell")
7010 (synopsis "GNOME's alternative spell checker")
7011 (description
7012 "gspell provides a flexible API to add spell-checking to a GTK+
7013application. It provides a GObject API, spell-checking to text entries and
7014text views, and buttons to choose the language.")
7015 (license license:gpl2+)))
d1d739fa
CM
7016
7017(define-public gnome-planner
7018 (package
7019 (name "gnome-planner")
7020 (version "0.14.6")
7021 (source (origin
7022 (method url-fetch)
7023 (uri (string-append "mirror://gnome/sources/planner/"
7024 (version-major+minor version) "/planner-"
7025 version ".tar.xz"))
7026 (sha256
7027 (base32
7028 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
7029 (build-system glib-or-gtk-build-system)
7030 (arguments
7031 ;; Disable the Python bindings because the Planner program functions
7032 ;; without them, and (as of 2017-06-13) we have not packaged all of
7033 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
7034 `(#:configure-flags
7035 (list "--disable-python"
7036 ,@(if (string=? "aarch64-linux" (%current-system))
7037 '("--build=aarch64-unknown-linux-gnu")
7038 '()))))
d1d739fa
CM
7039 (inputs
7040 `(("libgnomecanvas" ,libgnomecanvas)
7041 ("libgnomeui" ,libgnomeui)
7042 ("libglade" ,libglade)
7043 ("gnome-vfs" ,gnome-vfs)
7044 ("gconf" ,gconf)
7045 ("libxml2" ,libxml2)
7046 ("libxslt" ,libxslt)
7047 ("gtk+" ,gtk+)
7048 ("glib" ,glib)))
7049 (native-inputs
7050 `(("intltool" ,intltool)
7051 ("scrollkeeper" ,scrollkeeper)
7052 ("pkg-config" ,pkg-config)))
7053 (home-page "https://wiki.gnome.org/Apps/Planner")
7054 (synopsis "Project management software for the GNOME desktop")
7055 (description
7056 "GNOME Planner is a project management tool based on the Work Breakdown
7057Structure (WBS). Its goal is to enable you to easily plan projects. Based on
7058the resources, tasks, and constraints that you define, Planner generates
7059various views into a project. For example, Planner can show a Gantt chart of
7060the project. It can show a detailed summary of tasks including their
7061duration, cost, and current progress. It can also show a report of resource
7062utilization that highlights under-utilized and over-utilized resources. These
7063views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 7064 (license license:gpl2+)))
64fce637
RS
7065
7066(define-public lollypop
7067 (package
7068 (name "lollypop")
b98eace8 7069 (version "0.9.521")
64fce637
RS
7070 (source
7071 (origin
7072 (method url-fetch)
b98eace8
CB
7073 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
7074 "e4df2ed75c5ed71d64afcc668e579b2a/"
64fce637
RS
7075 name "-" version ".tar.xz"))
7076 (sha256
7077 (base32
b98eace8 7078 "0knsqh24siyw98vmiq6b1hzq4y4cazs9f1hq1js9c96hqqj9rvdx"))))
aa498fc0 7079 (build-system meson-build-system)
64fce637
RS
7080 (arguments
7081 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
7082 ,@%meson-build-system-modules)
7083 #:glib-or-gtk? #t
5fc9b6c1
EF
7084 #:tests? #f ; no test suite
7085 #:phases
7086 (modify-phases %standard-phases
5fc9b6c1
EF
7087 (add-after 'install 'wrap-program
7088 (lambda* (#:key outputs #:allow-other-keys)
7089 (let ((out (assoc-ref outputs "out"))
7090 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7091 (wrap-program (string-append out "/bin/lollypop")
7092 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7093 #t))
7094 (add-after 'install 'wrap
7095 (@@ (guix build python-build-system) wrap)))))
64fce637
RS
7096 (native-inputs
7097 `(("intltool" ,intltool)
7098 ("itstool" ,itstool)
aa498fc0
TD
7099 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7100 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
7101 ("pkg-config" ,pkg-config)))
7102 (inputs
7103 `(("gobject-introspection" ,gobject-introspection)
5fc9b6c1 7104 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
7105 ("libnotify" ,libnotify)
7106 ("libsecret" ,libsecret)
7107 ("libsoup" ,libsoup)
7108 ("python" ,python)
7109 ("python-beautifulsoup4" ,python-beautifulsoup4)
7110 ("python-gst" ,python-gst)
7111 ("python-pycairo" ,python-pycairo)
7112 ("python-pygobject" ,python-pygobject)
7113 ("python-pylast" ,python-pylast)
7114 ("totem-pl-parser" ,totem-pl-parser)
7115 ("webkitgtk" ,webkitgtk)))
7116 (propagated-inputs
7117 `(;; gst-plugins-base is required to start Lollypop,
7118 ;; the others are required to play streaming.
64fce637
RS
7119 ("gst-plugins-good" ,gst-plugins-good)
7120 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 7121 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
7122 (synopsis "GNOME music playing application")
7123 (description
7124 "Lollypop is a music player designed to play well with GNOME desktop.
7125Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
7126from artists and tracks from the web. It also fetches cover artworks
7127automatically and it can stream songs from online music services and charts.")
7128 (license license:gpl3+)))
d831d49d
AW
7129
7130(define-public gnome-video-effects
7131 (package
7132 (name "gnome-video-effects")
7133 (version "0.4.3")
7134 (source (origin
7135 (method url-fetch)
7136 (uri (string-append "mirror://gnome/sources/" name "/"
7137 (version-major+minor version) "/" name "-"
7138 version ".tar.xz"))
7139 (sha256
7140 (base32
7141 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
7142 (build-system glib-or-gtk-build-system)
7143 (arguments
7144 `(#:out-of-source? #f))
7145 (native-inputs
7146 `(("glib:bin" ,glib "bin")
7147 ("intltool" ,intltool)
7148 ("gettext" ,gettext-minimal)
7149 ("pkg-config" ,pkg-config)))
7150 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
7151 (synopsis "Video effects for Cheese and other GNOME applications")
7152 (description
7153 "A collection of GStreamer video filters and effects to be used in
7154photo-booth-like software, such as Cheese.")
7155 (license license:gpl2+)))
3511c780
AW
7156
7157(define-public cheese
7158 (package
7159 (name "cheese")
4b3480d6 7160 (version "3.28.0")
3511c780
AW
7161 (source (origin
7162 (method url-fetch)
7163 (uri (string-append "mirror://gnome/sources/" name "/"
7164 (version-major+minor version) "/" name "-"
7165 version ".tar.xz"))
7166 (sha256
7167 (base32
4b3480d6 7168 "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw"))))
3511c780
AW
7169 (arguments
7170 ;; Tests require GDK.
7171 `(#:tests? #f
7172 #:phases
7173 (modify-phases %standard-phases
7174 (add-before 'install 'skip-gtk-update-icon-cache
7175 (lambda _
7176 ;; Don't create 'icon-theme.cache'
7177 (substitute* "Makefile"
7178 (("gtk-update-icon-cache") (which "true")))
7179 #t))
7180 (add-after 'install 'wrap-cheese
7181 (lambda* (#:key inputs outputs #:allow-other-keys)
7182 (let ((out (assoc-ref outputs "out"))
7183 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7184 (wrap-program (string-append out "/bin/cheese")
7185 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7186 #t)))))
7187 (build-system glib-or-gtk-build-system)
7188 (native-inputs
7189 `(("glib:bin" ,glib "bin")
7190 ("intltool" ,intltool)
7191 ("itstool" ,itstool)
7192 ("libxml2" ,libxml2)
7193 ("pkg-config" ,pkg-config)
7194 ("vala" ,vala)))
7195 (propagated-inputs
7196 `(("gnome-video-effects" ,gnome-video-effects)))
7197 (inputs
7198 `(("clutter" ,clutter)
7199 ("clutter-gst" ,clutter-gst)
7200 ("clutter-gtk" ,clutter-gtk)
7201 ("gdk-pixbuf" ,gdk-pixbuf)
7202 ("glib" ,glib)
7203 ("gnome-desktop" ,gnome-desktop)
7204 ("gobject-introspection" ,gobject-introspection)
7205 ("gstreamer" ,gstreamer)
7206 ("gst-plugins-base" ,gst-plugins-base)
7207 ("gst-plugins-bad" ,gst-plugins-bad)
7208 ("gtk+" ,gtk+)
7209 ("libcanberra" ,libcanberra)
7210 ("libx11" ,libx11)
7211 ("libxtst" ,libxtst)))
7212 (home-page "https://wiki.gnome.org/Apps/Cheese")
7213 (synopsis "Webcam photo booth software for GNOME")
7214 (description
7215 "Cheese uses your webcam to take photos and videos. Cheese can also
7216apply fancy special effects and lets you share the fun with others.")
7217 (license license:gpl2+)))
3c5dbd2b 7218
7219(define-public sound-juicer
7220 (package
7221 (name "sound-juicer")
7222 (version "3.24.0")
7223 (source
7224 (origin
7225 (method url-fetch)
7226 (uri (string-append "mirror://gnome/sources/" name "/"
7227 (version-major+minor version) "/"
7228 name "-" version ".tar.xz"))
7229 (sha256
7230 (base32
7231 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
7232 (build-system glib-or-gtk-build-system)
7233 (native-inputs
7234 `(("desktop-file-utils" ,desktop-file-utils)
7235 ("intltool" ,intltool)
7236 ("itstool" ,itstool)
7237 ("pkg-config" ,pkg-config)
7238 ("xmllint" ,libxml2)))
7239 (inputs
7240 `(("gtk+" ,gtk+)
7241 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7242 ("gstreamer" ,gstreamer)
7243 ("gst-plugins-base" ,gst-plugins-base)
7244 ("gst-plugins-good" ,gst-plugins-good)
7245 ("iso-codes" ,iso-codes)
7246 ("libbrasero-media3" ,brasero)
7247 ("libcanberra" ,libcanberra)
7248 ("libdiscid" ,libdiscid)
7249 ("libmusicbrainz" ,libmusicbrainz)
7250 ("neon" ,neon)))
7251 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
7252 (synopsis "Audio music cd ripper")
7253 (description "Sound Juicer extracts audio from compact discs and convert it
7254into audio files that a personal computer or digital audio player can play.
7255It supports ripping to any audio codec supported by a GStreamer plugin, such as
7256mp3, Ogg Vorbis and FLAC")
7257 (license license:gpl2+)))
4e3fdeb7 7258
0d3f1708
CB
7259(define-public soundconverter
7260 (package
7261 (name "soundconverter")
7262 (version "3.0.0")
7263 (source
7264 (origin
7265 (method url-fetch)
7266 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
7267 version "/+download/"
7268 "soundconverter-" version ".tar.xz"))
7269
7270 (sha256
7271 (base32
7272 "1wrxf5py54xplrf97qp24pzbis0cvax5c6k0c7vr3z3ry8r7gd7c"))
7273 (patches
7274 (search-patches
7275 "soundconverter-remove-gconf-dependency.patch"))))
7276 (build-system glib-or-gtk-build-system)
7277 (arguments
7278 `(#:imported-modules ((guix build python-build-system)
7279 (guix build glib-or-gtk-build-system)
7280 ,@%gnu-build-system-modules)
7281
7282 #:modules ((guix build glib-or-gtk-build-system)
7283 (guix build utils)
7284 ((guix build gnu-build-system) #:prefix gnu:)
7285 ((guix build python-build-system) #:prefix python:))
7286
7287 #:phases
7288 (modify-phases %standard-phases
7289 (add-after 'unpack 'fix-POTFILES.in
7290 (lambda _
7291 (substitute* "po/POTFILES.in"
7292 ;; This file doesn't exist, so without removing it, the 'check
7293 ;; phase fails for the po directory
7294 (("soundconverter/gconfstore\\.py") ""))))
7295 (add-after 'install 'wrap-soundconverter-for-python
7296 (assoc-ref python:%standard-phases 'wrap))
7297 (add-after 'install 'wrap-soundconverter
7298 (lambda* (#:key inputs outputs #:allow-other-keys)
7299 (let ((out (assoc-ref outputs "out"))
7300 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7301 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7302 (wrap-program (string-append out "/bin/soundconverter")
7303 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7304 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7305 #t)))))
7306 (native-inputs
7307 `(("intltool" ,intltool)
7308 ("pkg-config" ,pkg-config)
7309 ("glib:bin" ,glib "bin")))
7310 (inputs
7311 `(("gtk+" ,gtk+)
7312 ("python" ,python)
7313 ("python-pygobject" ,python-pygobject)
7314 ("gstreamer" ,gstreamer)
7315 ("gst-plugins-base" ,gst-plugins-base)))
7316 (home-page "http://soundconverter.org/")
7317 (synopsis "Convert between audio formats with a graphical interface")
7318 (description
7319 "SoundConverter supports converting between many audio formats including
7320Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
7321configurable file renaming. ")
7322 (license license:gpl3)))
7323
4e3fdeb7 7324(define-public workrave
1302837f 7325 (let ((commit "v1_10_21"))
4e3fdeb7
JL
7326 (package
7327 (name "workrave")
7328 (version (string-map (match-lambda
7329 (#\_ #\.)
7330 (chr chr))
7331 (string-drop commit 1)))
7332 (source (origin
7333 (method git-fetch)
7334 (uri (git-reference
7335 (url "https://github.com/rcaelers/workrave.git")
7336 (commit commit)))
1302837f 7337 (file-name (git-file-name name version))
4e3fdeb7
JL
7338 (sha256
7339 (base32
1302837f 7340 "150qca8c552fakjlzkgarsxgp87l1xcwn19svqsa9d0cygqxjgia"))))
4e3fdeb7 7341 (build-system glib-or-gtk-build-system)
4e3fdeb7
JL
7342 (propagated-inputs `(("glib" ,glib)
7343 ("gtk+" ,gtk+)
7344 ("gdk-pixbuf" ,gdk-pixbuf)
7345 ("gtkmm" ,gtkmm)
7346 ("glibmm" ,glibmm)
7347 ("libx11" ,libx11)
7348 ("libxtst" ,libxtst)
7349 ("dconf" ,dconf)
7350 ("libice" ,libice)))
de99ba7e 7351 (inputs `(("libsm" ,libsm)
4e3fdeb7
JL
7352 ("python-cheetah" ,python2-cheetah)))
7353 (native-inputs `(("glib" ,glib "bin")
7354 ("pkg-config" ,pkg-config)
7355 ("gettext" ,gnu-gettext)
7356 ("autoconf" ,autoconf)
7357 ("autoconf-archive" , autoconf-archive)
7358 ("automake" ,automake)
7359 ("libtool" ,libtool)
7360 ("intltool" ,intltool)
7361 ("libxscrnsaver" ,libxscrnsaver)
7362 ("gobject-introspection" ,gobject-introspection)
7363 ("python2" ,python-2)))
7364 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
cc00249b
TGR
7365 (description
7366 "Workrave is a program that assists in the recovery and prevention of
7367repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
7368micro-pauses and rest breaks, and restricts you to your daily limit.")
4e3fdeb7
JL
7369 (home-page "http://www.workrave.org")
7370 (license license:gpl3+))))
312afa7d
LC
7371
7372(define-public ghex
7373 (package
7374 (name "ghex")
7375 (version "3.18.3")
7376 (source (origin
7377 (method url-fetch)
7378 (uri (string-append "mirror://gnome/sources/" name "/"
7379 (version-major+minor version) "/"
7380 name "-" version ".tar.xz"))
7381 (sha256
7382 (base32
7383 "1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66"))))
7384 (build-system glib-or-gtk-build-system)
7385 (native-inputs
7386 `(("pkg-config" ,pkg-config)
7387 ("gnome-common" ,gnome-common)
7388 ("which" ,which)
7389 ("intltool" ,intltool)
7390 ("yelp-tools" ,yelp-tools)
7391 ("desktop-file-utils" ,desktop-file-utils))) ;for 'desktop-file-validate'
7392 (inputs
7393 `(("atk" ,atk)
7394 ("gtk" ,gtk+)))
7395 (synopsis "GNOME hexadecimal editor")
7396 (description "The GHex program can view and edit files in two ways:
7397hexadecimal or ASCII. It is useful for editing binary files in general.")
7398 (home-page "https://wiki.gnome.org/Apps/Ghex")
7399 (license license:gpl2)))