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