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