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