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