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