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