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