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