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