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