gnu: libgnome-games-support: Update to 1.4.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")
dd7a2446 3585 (version "1.4.1")
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
dd7a2446 3593 "1j7lfcnc29lgn8ppn13wkn9w2y1n3lsapagwp91zh3bf0h2h4hv1"))))
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")
61fb581f 3964 (version "3.28.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
61fb581f
RW
3972 "1gasrfqi7qrzdq1idh29r0n6ikkqjb6pbp7a8k5krfz5hkhyfin0"))))
3973 (build-system meson-build-system)
f70d8383
DH
3974 (arguments
3975 `(#:phases
3976 (modify-phases %standard-phases
61fb581f
RW
3977 (add-after 'install 'wrap-eog
3978 (lambda* (#:key outputs #:allow-other-keys)
3979 (let ((out (assoc-ref outputs "out"))
3980 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3981 (wrap-program (string-append out "/bin/eog")
3982 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3983 #t)))))
f70d8383
DH
3984 (propagated-inputs
3985 `(("dconf" ,dconf)))
3986 (native-inputs
3987 `(("intltool" ,intltool)
b3546174 3988 ("itstool" ,itstool)
f70d8383 3989 ("glib" ,glib "bin")
61fb581f 3990 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
f70d8383 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")
b78f5118 4060 (version "232")
41af5e7b
SB
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
b78f5118 4067 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 4068 (build-system gnu-build-system)
b78f5118
RW
4069 (arguments
4070 '(#:configure-flags
4071 ;; umockdev depends on libgudev.
4072 (list "--disable-umockdev")))
41af5e7b
SB
4073 (native-inputs
4074 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4075 ("gobject-introspection" ,gobject-introspection)
4076 ("pkg-config" ,pkg-config)))
4077 (propagated-inputs
4078 `(("glib" ,glib))) ; required by gudev-1.0.pc
4079 (inputs
4080 `(("udev" ,eudev)))
4081 (home-page "https://wiki.gnome.org/Projects/libgudev")
4082 (synopsis "GObject bindings for libudev")
4083 (description
4084 "This library provides GObject bindings for libudev. It was originally
4085part of udev-extras, then udev, then systemd. It's now a project on its own.")
4086 (license license:lgpl2.1+)))
3dc8828f
SB
4087
4088(define-public gvfs
4089 (package
4090 (name "gvfs")
8e8fefb6 4091 (version "1.32.1")
3dc8828f
SB
4092 (source (origin
4093 (method url-fetch)
4094 (uri (string-append "mirror://gnome/sources/" name "/"
4095 (version-major+minor version) "/"
4096 name "-" version ".tar.xz"))
4097 (sha256
4098 (base32
8e8fefb6 4099 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
4100 (build-system gnu-build-system)
4101 (arguments
4102 '(#:tests? #f)) ; XXX: requiring `pidof'
4103 (native-inputs
4104 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4105 ("intltool" ,intltool)
4106 ("pkg-config" ,pkg-config)
4107 ("xsltproc" ,libxslt)))
4108 (inputs
4109 `(("avahi" ,avahi)
4110 ("docbook-xml" ,docbook-xml-4.2)
4111 ("docbook-xsl" ,docbook-xsl)
4112 ("dbus" ,dbus)
4113 ("fuse" ,fuse)
24a78aa6 4114 ("gcr" ,gcr)
3dc8828f
SB
4115 ("glib" ,glib)
4116 ("libarchive" ,libarchive)
4117 ("libbluray" ,libbluray)
8852ca24 4118 ("libcap" ,libcap)
3dc8828f
SB
4119 ("libcdio-paranoia" ,libcdio-paranoia)
4120 ("libgcrypt" ,libgcrypt)
4121 ("libgphoto2" ,libgphoto2)
4122 ("libgudev" ,libgudev)
4123 ("libmtp" ,libmtp)
4124 ("libsecret" ,libsecret)
4125 ("libsmbclient" ,samba)
4126 ("libsoup" ,libsoup)
4127 ("libxml2" ,libxml2)
4128 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 4129 ("polkit" ,polkit)
3dc8828f
SB
4130 ("udisks" ,udisks)))
4131 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 4132 (synopsis "Userspace virtual file system for GIO")
3dc8828f 4133 (description
8f65585b 4134 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
4135abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
4136to all applications using the GIO API. It also supports exposing the GVFS
4137mounts to non-GIO applications using FUSE.
4138
4139GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
4140DAV, and others.")
4141 (license license:lgpl2.0+)))
7c88b6bd
AW
4142
4143(define-public gusb
4144 (package
4145 (name "gusb")
536b3274 4146 (version "0.3.0")
7c88b6bd
AW
4147 (source (origin
4148 (method url-fetch)
4149 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
536b3274 4150 version ".tar.gz"))
7c88b6bd
AW
4151 (sha256
4152 (base32
536b3274
MB
4153 "1wa9787ww7s1kl9jml6kiyrjgimlgagq4jmgdj7xcpsx83w10qxk"))))
4154 (build-system meson-build-system)
7c88b6bd 4155 (native-inputs
536b3274 4156 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
4157 ("pkg-config" ,pkg-config)
4158 ("vala" ,vala)
7c88b6bd
AW
4159 ("gtk-doc" ,gtk-doc)))
4160 (propagated-inputs
4161 ;; Both of these are required by gusb.pc.
4162 `(("glib" ,glib)
4163 ("libusb" ,libusb)))
4164 (arguments
536b3274 4165 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 4166 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 4167 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
4168 (description
4169 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
4170asynchronous control, bulk and interrupt transfers with proper cancellation
4171and integration into a mainloop. This makes it easy to integrate low level
4172USB transfers with your high-level application or system daemon.")
4173 (license license:lgpl2.1+)))
0abe1d86
AW
4174
4175(define-public simple-scan
4176 (package
4177 (name "simple-scan")
baca5333 4178 (version "3.24.1")
0abe1d86
AW
4179 (source (origin
4180 (method url-fetch)
4181 (uri (string-append "https://launchpad.net/simple-scan/"
4182 (version-major+minor version) "/"
4183 version "/+download/simple-scan-"
4184 version ".tar.xz"))
4185 (sha256
4186 (base32
baca5333 4187 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
4188 (build-system glib-or-gtk-build-system)
4189 (inputs
4190 `(("gtk" ,gtk+)
4191 ("zlib" ,zlib)
4192 ("cairo" ,cairo)
4193 ("gdk-pixbuf" ,gdk-pixbuf)
4194 ("gusb" ,gusb)
4c928743 4195 ("libsane" ,sane-backends)))
0abe1d86 4196 (native-inputs
b94a6ca0 4197 `(("gettext" ,gettext-minimal)
0abe1d86
AW
4198 ("itstool" ,itstool)
4199 ("colord" ,colord)
4200 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
4201 ("pkg-config" ,pkg-config)
bcb354ad
SB
4202 ("vala" ,vala)
4203 ("xmllint" ,libxml2)))
fb9ca511
TGR
4204 (arguments
4205 '(#:configure-flags '("--disable-packagekit")
4206 #:phases
4207 (modify-phases %standard-phases
4208 (add-after 'unpack 'clean
4209 (lambda _
4210 ;; Remove a left-over reference to PackageKit.
4211
4212 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
4213
4214 ;; There are some generated C files erroneously
4215 ;; included in the source distribution, and this
4216 ;; one breaks the build by referring to a
4217 ;; non-existent header (packagekit.h)
4218 (delete-file "src/ui.c"))))))
0abe1d86
AW
4219 (home-page "https://launchpad.net/simple-scan")
4220 (synopsis "Document and image scanner")
4221 (description "Simple Scan is an easy-to-use application, designed to let
4222users connect their scanner and quickly have the image/document in an
4223appropriate format. Simple Scan is basically a frontend for SANE - which is
4224the same backend as XSANE uses. This means that all existing scanners will
4225work and the interface is well tested.")
4226 (license license:gpl3+)))
7549f984 4227
ab466d79
RW
4228(define-public eolie
4229 (package
4230 (name "eolie")
d74656ea 4231 (version "0.9.52")
ab466d79
RW
4232 (source (origin
4233 (method url-fetch)
00014781 4234 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
d74656ea 4235 "uploads/d95bf72958276c80dfaca8cce0e4e92c/"
00014781 4236 "eolie-" version ".tar.xz"))
ab466d79
RW
4237 (sha256
4238 (base32
d74656ea 4239 "1s3b0rkm8sxmhzzi624snzqvz61i1rja5wxyzw6jg2kcdjcylwln"))))
00014781 4240 (build-system meson-build-system)
ab466d79 4241 (arguments
00014781
RW
4242 `(#:glib-or-gtk? #t
4243 #:phases
ab466d79
RW
4244 (modify-phases %standard-phases
4245 (add-after 'wrap 'wrap-more
4246 (lambda* (#:key inputs outputs #:allow-other-keys)
4247 (let* ((out (assoc-ref outputs "out"))
4248 ;; These libraries must be on LD_LIBRARY_PATH.
4249 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
4250 "atk" "gtk+" "gsettings-desktop-schemas"
84b33436 4251 "gcc:lib" ; needed b/c webkitgtk is built with gcc-7
ab466d79
RW
4252 "gobject-introspection"))
4253 (path (string-join
4254 (map (lambda (lib)
4255 (string-append (assoc-ref inputs lib) "/lib"))
4256 libs)
4257 ":")))
4258 (wrap-program (string-append out "/bin/eolie")
4259 `("LD_LIBRARY_PATH" ":" prefix (,path))
4260 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
4261 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
4262 #t)))))
4263 (native-inputs
84b33436
MW
4264 `(("gcc:lib" ,gcc-7 "lib") ; needed because webkitgtk is built with gcc-7
4265 ("intltool" ,intltool)
ab466d79 4266 ("itstool" ,itstool)
d95f1041 4267 ("pkg-config" ,pkg-config)
d95f1041 4268 ("python" ,python)
00014781 4269 ("glib:bin" ,glib "bin")
d95f1041 4270 ("gtk+" ,gtk+ "bin")))
ab466d79
RW
4271 (inputs
4272 `(("gobject-introspection" ,gobject-introspection)
4273 ("glib-networking" ,glib-networking)
4274 ("cairo" ,cairo)
4275 ("gtk+" ,gtk+)
4276 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4277 ("python" ,python-wrapper)
d72f76df 4278 ("python-dateutil" ,python-dateutil)
00014781 4279 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
4280 ("python-pygobject" ,python-pygobject)
4281 ("python-pycairo" ,python-pycairo)
00014781 4282 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
4283 ("libsecret" ,libsecret)
4284 ("gtkspell3" ,gtkspell3)
4285 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
84b33436 4286 ("webkitgtk" ,webkitgtk-2.22)))
166b2c97 4287 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
4288 (synopsis "Web browser for GNOME")
4289 (description
4290 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4291a secret password store, an adblocker, and a modern UI.")
4292 (license license:gpl3+)))
4293
7549f984
SB
4294(define-public epiphany
4295 (package
4296 (name "epiphany")
0e4d4d98 4297 (version "3.28.3.1")
7549f984
SB
4298 (source (origin
4299 (method url-fetch)
4300 (uri (string-append "mirror://gnome/sources/" name "/"
4301 (version-major+minor version) "/"
4302 name "-" version ".tar.xz"))
4303 (sha256
4304 (base32
0e4d4d98 4305 "1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9"))))
fc5c5b92
R
4306
4307 (build-system meson-build-system)
7549f984
SB
4308 (arguments
4309 ;; FIXME: tests run under Xvfb, but fail with:
4310 ;; /src/bookmarks/ephy-bookmarks/create:
4311 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4312 ;; subsystem
4313 ;; FAIL
6f48d9db 4314 '(#:tests? #f
e19f9c24
LF
4315 #:glib-or-gtk? #t
4316 #:configure-flags
4317 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
4318 (list (string-append "-Dc_link_args=-Wl,-rpath="
4319 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
4320 (propagated-inputs
4321 `(("dconf" ,dconf)))
7549f984 4322 (native-inputs
fc5c5b92 4323 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
480d39a6 4324 ("gcc" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
fc5c5b92
R
4325 ("glib:bin" ,glib "bin") ; for glib-mkenums
4326 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
4327 ("intltool" ,intltool)
7549f984 4328 ("itstool" ,itstool)
bcb354ad
SB
4329 ("pkg-config" ,pkg-config)
4330 ("xmllint" ,libxml2)))
7549f984
SB
4331 (inputs
4332 `(("avahi" ,avahi)
4333 ("gcr" ,gcr)
fc5c5b92 4334 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
4335 ("glib-networking" ,glib-networking)
4336 ("gnome-desktop" ,gnome-desktop)
4337 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4338 ("json-glib" ,json-glib)
7549f984
SB
4339 ("iso-codes" ,iso-codes)
4340 ("libnotify" ,libnotify)
4341 ("libsecret" ,libsecret)
7549f984 4342 ("libxslt" ,libxslt)
fc5c5b92 4343 ("nettle" ,nettle) ; for hogweed
7549f984 4344 ("sqlite" ,sqlite)
480d39a6 4345 ("webkitgtk" ,webkitgtk-2.22)))
7549f984
SB
4346 (home-page "https://wiki.gnome.org/Apps/Web")
4347 (synopsis "GNOME web browser")
4348 (description
4349 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4350principles are simplicity and standards compliance.")
4351 (license license:gpl2+)))
a3856b2c
SB
4352
4353(define-public d-feet
4354 (package
4355 (name "d-feet")
7d04b13c 4356 (version "0.3.11")
a3856b2c
SB
4357 (source (origin
4358 (method url-fetch)
4359 (uri (string-append "mirror://gnome/sources/" name "/"
4360 (version-major+minor version) "/"
4361 name "-" version ".tar.xz"))
4362 (sha256
4363 (base32
7d04b13c 4364 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
4365 (build-system glib-or-gtk-build-system)
4366 (arguments
4367 '(#:out-of-source? #f ; tests need to run in the source directory.
4368 #:phases
4369 (modify-phases %standard-phases
4370 (add-before
4371 'check 'pre-check
86aff791 4372 (lambda _
a3856b2c
SB
4373 ;; The test suite requires a running X server.
4374 (system "Xvfb :1 &")
4375 (setenv "DISPLAY" ":1")
4376 ;; Don't fail on missing '/etc/machine-id'.
4377 (setenv "DBUS_FATAL_WARNINGS" "0")
4378 ;; tests.py and window.py don't meet E402:
4379 ;; E402 module level import not at top of file
4380 (substitute* "src/tests/Makefile"
86aff791
MW
4381 (("--ignore=E123") "--ignore=E123,E402"))
4382 #t))
a3856b2c
SB
4383 (add-after
4384 'install 'wrap-program
4385 (lambda* (#:key outputs #:allow-other-keys)
4386 (let ((prog (string-append (assoc-ref outputs "out")
4387 "/bin/d-feet")))
4388 (wrap-program prog
4389 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4390 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4391 #t))))))
a3856b2c
SB
4392 (native-inputs
4393 `(("intltool" ,intltool)
4394 ("itstool" ,itstool)
4395 ("pkg-config" ,pkg-config)
4396 ("python-pep8" ,python-pep8)
4397 ("xmllint" ,libxml2)
4398 ("xorg-server" ,xorg-server)))
4399 (inputs
4400 `(("gobject-introspection" ,gobject-introspection)
4401 ("gtk+" ,gtk+)
4402 ("python" ,python-wrapper)
4403 ("python-pygobject" ,python-pygobject)))
4404 (home-page "https://wiki.gnome.org/Apps/DFeet")
4405 (synopsis "D-Bus debugger")
4406 (description
4407 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4408of running programs and invoke methods on those interfaces.")
4409 (license license:gpl2+)))
c3b97bd9
SB
4410
4411(define-public yelp-xsl
4412 (package
4413 (name "yelp-xsl")
7c213900 4414 (version "3.28.0")
c3b97bd9
SB
4415 (source (origin
4416 (method url-fetch)
4417 (uri (string-append "mirror://gnome/sources/" name "/"
4418 (version-major+minor version) "/"
4419 name "-" version ".tar.xz"))
4420 (sha256
4421 (base32
7c213900 4422 "14rznm1qpsnmkwksnkd5j7zplakl01kvrcw0fdmd5gdc65xz9kcc"))))
c3b97bd9
SB
4423 (build-system gnu-build-system)
4424 (native-inputs
4425 `(("intltool" ,intltool)
4426 ("itstool" ,itstool)
4427 ("xmllint" ,libxml2)))
4428 (home-page "https://wiki.gnome.org/Apps/Yelp")
4429 (synopsis "XSL stylesheets for Yelp")
4430 (description
4431 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4432to format Docbook and Mallard documents.")
4433 (license license:gpl2+)))
de3d612a
SB
4434
4435(define-public yelp
4436 (package
4437 (name "yelp")
ef7f084f 4438 (version "3.28.1")
de3d612a
SB
4439 (source (origin
4440 (method url-fetch)
4441 (uri (string-append "mirror://gnome/sources/" name "/"
4442 (version-major+minor version) "/"
4443 name "-" version ".tar.xz"))
4444 (sha256
4445 (base32
ef7f084f 4446 "033w5qnhm495pnvscnb3k2dagzgq4fsnzcrh0k2rgr10mw2mv2p8"))))
de3d612a
SB
4447 (build-system glib-or-gtk-build-system)
4448 (native-inputs
4449 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4450 ("intltool" ,intltool)
4451 ("itstool" ,itstool)
4452 ("pkg-config" ,pkg-config)))
4453 (propagated-inputs
4454 `(("dconf" ,dconf)))
4455 (inputs
ad1b7d8b
SB
4456 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4457 ("libxslt" ,libxslt)
de3d612a 4458 ("sqlite" ,sqlite)
4c28ca1d
SB
4459 ("webkitgtk" ,webkitgtk)
4460 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4461 (home-page "https://wiki.gnome.org/Apps/Yelp")
4462 (synopsis "GNOME help browser")
4463 (description
4464 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4465man, info, and HTML documents. It can locate documents according to the
4466freedesktop.org help system specification.")
4467 (license license:gpl2+)))
122d0d10
SB
4468
4469(define-public yelp-tools
4470 (package
4471 (name "yelp-tools")
2089bca5 4472 (version "3.28.0")
122d0d10
SB
4473 (source (origin
4474 (method url-fetch)
4475 (uri (string-append "mirror://gnome/sources/" name "/"
4476 (version-major+minor version) "/"
4477 name "-" version ".tar.xz"))
4478 (sha256
4479 (base32
2089bca5 4480 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
4481 (build-system gnu-build-system)
4482 (native-inputs
4483 `(("pkg-config" ,pkg-config)))
4484 (propagated-inputs
4485 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4486 `(("itstool" ,itstool)
4487 ("xmllint" ,libxml2)
4488 ("xsltproc" ,libxslt)))
4489 (inputs
4490 `(("yelp-xsl" ,yelp-xsl)))
4491 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4492 (synopsis "Yelp documentation tools")
4493 (description
4494 "Yelp-tools is a collection of scripts and build utilities to help create,
4495manage, and publish documentation for Yelp and the web. Most of the heavy
4496lifting is done by packages like yelp-xsl and itstool. This package just
4497wraps things up in a developer-friendly way.")
4498 (license license:gpl2+)))
af8f9f23
RW
4499
4500(define-public libgee
4501 (package
4502 (name "libgee")
b1be07cf 4503 (version "0.20.1")
af8f9f23
RW
4504 (source (origin
4505 (method url-fetch)
4506 (uri (string-append "mirror://gnome/sources/" name "/"
4507 (version-major+minor version) "/"
4508 name "-" version ".tar.xz"))
4509 (sha256
4510 (base32
b1be07cf 4511 "0c26x8gi3ivmhlbqcmiag4jwrkvcy28ld24j55nqr3jikb904a5v"))))
af8f9f23
RW
4512 (build-system gnu-build-system)
4513 (arguments
4514 `(#:phases
4515 (modify-phases %standard-phases
4516 (add-after 'unpack 'fix-introspection-install-dir
4517 (lambda* (#:key outputs #:allow-other-keys)
4518 (let ((out (assoc-ref outputs "out")))
4519 (substitute* "gee/Makefile.in"
4520 (("@INTROSPECTION_GIRDIR@")
4521 (string-append out "/share/gir-1.0/"))
4522 (("@INTROSPECTION_TYPELIBDIR@")
4523 (string-append out "/lib/girepository-1.0/")))))))))
4524 (native-inputs
4525 `(("glib" ,glib "bin")
4526 ("pkg-config" ,pkg-config)))
4527 (inputs
4528 `(("glib" ,glib)
4529 ("gobject-introspection" ,gobject-introspection)))
4530 (home-page "https://wiki.gnome.org/Projects/Libgee")
4531 (synopsis "GObject collection library")
4532 (description
4533 "Libgee is a utility library providing GObject-based interfaces and
4534classes for commonly used data structures.")
4535 (license license:lgpl2.1+)))
b0f9c4b8
RW
4536
4537(define-public gexiv2
4538 (package
4539 (name "gexiv2")
adf0b482 4540 (version "0.10.10")
b0f9c4b8
RW
4541 (source (origin
4542 (method url-fetch)
4543 (uri (string-append "mirror://gnome/sources/" name "/"
4544 (version-major+minor version) "/"
4545 name "-" version ".tar.xz"))
4546 (sha256
4547 (base32
adf0b482 4548 "1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx"))))
51c482e4 4549 (build-system meson-build-system)
b0f9c4b8
RW
4550 (native-inputs
4551 `(("glib" ,glib "bin")
4552 ("pkg-config" ,pkg-config)))
4553 (propagated-inputs
4554 ;; Listed in "Requires" section of gexiv2.pc
4555 `(("exiv2" ,exiv2)))
4556 (inputs
4557 `(("glib" ,glib)
4558 ("gobject-introspection" ,gobject-introspection)))
4559 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4560 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4561 (description
4562 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4563allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4564metadata in photo and video files of various formats.")
4565 (license license:gpl2+)))
fed5a689
RW
4566
4567(define-public shotwell
4568 (package
4569 (name "shotwell")
e266043e 4570 (version "0.28.4")
fed5a689
RW
4571 (source (origin
4572 (method url-fetch)
4573 (uri (string-append "mirror://gnome/sources/" name "/"
4574 (version-major+minor version) "/"
4575 name "-" version ".tar.xz"))
4576 (sha256
4577 (base32
e266043e 4578 "03k7n2kmzqn11kf3733w7m6xjh2b5q9xr84za2hli11fjymzaxm9"))))
fed5a689 4579 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4580 (propagated-inputs
4581 `(("dconf" ,dconf)))
fed5a689
RW
4582 (native-inputs
4583 `(("pkg-config" ,pkg-config)
f819c21d 4584 ("itstool" ,itstool)
b94a6ca0 4585 ("gettext" ,gettext-minimal)
77e9c993 4586 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4587 ("itstool" ,itstool)
4588 ("vala" ,vala)))
fed5a689 4589 (inputs
735b8db6
TGR
4590 `(("glib:bin" ,glib "bin")
4591 ("gstreamer" ,gstreamer)
fed5a689 4592 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4593 ("libgdata" ,libgdata)
fed5a689
RW
4594 ("libgee" ,libgee)
4595 ("gexiv2" ,gexiv2)
4596 ("libraw" ,libraw)
4597 ("json-glib" ,json-glib)
7108425c 4598 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4599 ("sqlite" ,sqlite)
4600 ("libsoup" ,libsoup)
4601 ("libxml2" ,libxml2)
fed5a689 4602 ("libgudev" ,libgudev)
522fc32e
LF
4603 ("libgphoto2" ,libgphoto2)
4604 ("gcr" ,gcr)))
fed5a689
RW
4605 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4606 (synopsis "Photo manager for GNOME 3")
4607 (description
4608 "Shotwell is a digital photo manager designed for the GNOME desktop
4609environment. It allows you to import photos from disk or camera, organize
4610them by keywords and events, view them in full-window or fullscreen mode, and
4611share them with others via social networking and more.")
4612 (license license:lgpl2.1+)))
293ff8b2
DT
4613
4614(define-public file-roller
4615 (package
4616 (name "file-roller")
0a500745 4617 (version "3.28.0")
293ff8b2
DT
4618 (source (origin
4619 (method url-fetch)
4620 (uri (string-append "mirror://gnome/sources/" name "/"
4621 (version-major+minor version) "/"
4622 name "-" version ".tar.xz"))
4623 (sha256
4624 (base32
0a500745
RW
4625 "15pn2m80x45bzibig4zrqybnbr0n1f9wpqx7f2p6difldns3jwf1"))))
4626 (build-system meson-build-system)
293ff8b2 4627 (native-inputs
0a500745
RW
4628 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
4629 ("intltool" ,intltool)
4630 ("pkg-config" ,pkg-config)
4631 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
4632 ("glib:bin" ,glib "bin")))
293ff8b2
DT
4633 ;; TODO: Add libnautilus.
4634 (inputs
4635 `(("gtk+" ,gtk+)
4636 ("gdk-pixbuf" ,gdk-pixbuf)
4637 ("json-glib" ,json-glib)
4638 ("libarchive" ,libarchive)
4639 ("libnotify" ,libnotify)
4640 ("nettle" ,nettle)
4641 ("itstool" ,itstool)
4642 ("libxml2" ,libxml2)))
4643 (synopsis "Graphical archive manager for GNOME")
4644 (description "File Roller is an archive manager for the GNOME desktop
4645environment that allows users to view, unpack, and create compressed archives
4646such as gzip tarballs.")
4647 (home-page "http://fileroller.sourceforge.net/")
4648 (license license:gpl2+)))
7ce49365
SB
4649
4650(define-public gnome-session
4651 (package
4652 (name "gnome-session")
17cf06c3 4653 (version "3.24.1")
7ce49365
SB
4654 (source (origin
4655 (method url-fetch)
4656 (uri (string-append "mirror://gnome/sources/" name "/"
4657 (version-major+minor version) "/"
4658 name "-" version ".tar.xz"))
4659 (sha256
4660 (base32
17cf06c3 4661 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4662 (arguments
4663 '(#:phases
4664 (modify-phases %standard-phases
4665 (add-before 'configure 'pre-configure
4666 (lambda* (#:key outputs #:allow-other-keys)
4667 ;; Use elogind instead of systemd.
4668 (substitute* "configure"
4669 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4670 "libelogind")
4671 (("systemd") "elogind"))
4672 (substitute* "gnome-session/gsm-systemd.c"
4673 (("#include <systemd/sd-login.h>")
4674 "#include <elogind/sd-login.h>"))
4675 ;; Remove uses of the systemd journal.
4676 (substitute* "gnome-session/main.c"
4677 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4678 (substitute* "gnome-session/gsm-manager.c"
4679 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4680 (substitute* "gnome-session/gsm-autostart-app.c"
4681 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4682 #t))
4683 (add-after 'install 'wrap-gnome-session
4684 (lambda* (#:key inputs outputs #:allow-other-keys)
4685 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4686 (let ((glib (assoc-ref inputs "glib:bin"))
4687 (out (assoc-ref outputs "out")))
4688 (wrap-program (string-append out "/bin/gnome-session")
4689 `("PATH" ":" prefix (,(string-append glib "/bin"))))
1d7bff4b
TS
4690 #t)))
4691 (add-after 'install 'add-absolute-paths-to-desktop-files
4692 (lambda* (#:key outputs #:allow-other-keys)
4693 (let* ((out (assoc-ref outputs "out")))
4694 (substitute* (map (lambda (x)
4695 (string-append out "/share/xsessions/" x))
4696 '("gnome.desktop" "gnome-xorg.desktop"))
4697 (("gnome-session") (string-append out "/bin/gnome-session")))
a0d7baaf 4698 #t))))
6cbc8d57 4699
2914af3c
AW
4700 #:configure-flags
4701 '("--enable-elogind")))
ba3cb5ab 4702 (build-system glib-or-gtk-build-system)
7ce49365
SB
4703 (native-inputs
4704 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4705 ("pkg-config" ,pkg-config)
4706 ("intltool" ,intltool)
4707 ("xsltproc" ,libxslt)))
4708 (inputs
2914af3c
AW
4709 `(("elogind" ,elogind)
4710 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4711 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4712 ("gtk+" ,gtk+)
4713 ("json-glib" ,json-glib)
4714 ("libsm" ,libsm)
4715 ("libxcomposite" ,libxcomposite)
4716 ("libxtst" ,libxtst)
4717 ("mesa" ,mesa)
4718 ("upower" ,upower)
4719 ("xtrans" ,xtrans)))
4720 (synopsis "Session manager for GNOME")
4721 (description
4722 "This package contains the GNOME session manager, as well as a
4723configuration program to choose applications starting on login.")
4724 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4725 (license license:gpl2+)))
f47ba77e
SB
4726
4727(define-public gjs
4728 (package
4729 (name "gjs")
9d086c07 4730 (version "1.48.6")
f47ba77e
SB
4731 (source (origin
4732 (method url-fetch)
4733 (uri (string-append "mirror://gnome/sources/" name "/"
4734 (version-major+minor version) "/"
4735 name "-" version ".tar.xz"))
4736 (sha256
4737 (base32
9d086c07 4738 "04nkig077r7xq55dxg9v46w8i7p8zkkdyja92yv81grq9fx6apz8"))))
f47ba77e
SB
4739 (build-system gnu-build-system)
4740 (arguments
4741 '(#:phases
4742 (modify-phases %standard-phases
4743 (add-before
4744 'check 'pre-check
4745 (lambda _
fc119619
MW
4746 ;; The test suite requires a running X server.
4747 (system "Xvfb :1 &")
4748 (setenv "DISPLAY" ":1")
4749
f47ba77e
SB
4750 ;; For the missing /etc/machine-id.
4751 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4752
144f94d0
KK
4753 ;; Our mozjs-38 package does not compile the required Intl API
4754 ;; support for these failing tests.
4755 (substitute* "installed-tests/js/testLocale.js"
4756 ((".*toBeDefined.*") "")
4757 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4758 #t)))))
4759 (native-inputs
8a831c6f 4760 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
4761 ("pkg-config" ,pkg-config)
4762 ("xmllint" ,libxml2)
4763 ;; For testing
4764 ("dbus-launch" ,dbus)
4765 ("uuidgen" ,util-linux)
4766 ("xvfb" ,xorg-server)))
4767 (propagated-inputs
4768 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4769 `(("cairo" ,cairo)
4770 ("gobject-introspection" ,gobject-introspection)
4771 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4772 (inputs
4773 `(("gtk+" ,gtk+)
4774 ("readline" ,readline)))
4775 (synopsis "Javascript bindings for GNOME")
f032d0be 4776 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
4777 (description
4778 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4779javascript engine and the GObject introspection framework.")
4780 (license license:gpl2+)))
329d731b
DH
4781
4782(define-public gedit
4783 (package
4784 (name "gedit")
6a29c8d3 4785 (version "3.28.1")
329d731b
DH
4786 (source (origin
4787 (method url-fetch)
4788 (uri (string-append "mirror://gnome/sources/" name "/"
4789 (version-major+minor version) "/"
4790 name "-" version ".tar.xz"))
4791 (sha256
4792 (base32
6a29c8d3 4793 "0791r07d3ixmmfk68lvhp3d5i4vnlrnx10csxwgpfqyfb04vwx7i"))))
329d731b
DH
4794 (build-system glib-or-gtk-build-system)
4795 (arguments
0d2df50c 4796 `(#:phases
329d731b
DH
4797 (modify-phases %standard-phases
4798 (add-after
4799 'install 'wrap-gedit
4800 (lambda* (#:key inputs outputs #:allow-other-keys)
4801 (let ((out (assoc-ref outputs "out"))
4802 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4803 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4804 (python-path (getenv "PYTHONPATH")))
329d731b 4805 (wrap-program (string-append out "/bin/gedit")
afc25242 4806 ;; For plugins.
329d731b 4807 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4808 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4809 ;; For language-specs.
4810 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4811 "/share")))))
4812 #t)))))
4813 (propagated-inputs
4814 `(("dconf" ,dconf)))
4815 (native-inputs
4816 `(("intltool" ,intltool)
b3546174 4817 ("itstool" ,itstool)
329d731b
DH
4818 ("gobject-introspection" ,gobject-introspection)
4819 ("pkg-config" ,pkg-config)))
4820 (inputs
4821 `(("glib" ,glib)
0d2df50c 4822 ("gspell" ,gspell)
329d731b 4823 ("gtk+" ,gtk+)
b54c2289 4824 ("gtksourceview" ,gtksourceview-3)
329d731b
DH
4825 ("libpeas" ,libpeas)
4826 ("libxml2" ,libxml2)
329d731b
DH
4827 ("iso-codes" ,iso-codes)
4828 ("python-pygobject" ,python-pygobject)
4829 ("python" ,python)
4830 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4831 ("libx11" ,libx11)
4832 ("vala" ,vala)
4833 ("adwaita-icon-theme" ,adwaita-icon-theme)
4834 ("libsoup" ,libsoup)
4835 ("gnome-desktop" ,gnome-desktop)))
4836 (home-page "https://wiki.gnome.org/Apps/Gedit")
4837 (synopsis "GNOME text editor")
4838 (description "While aiming at simplicity and ease of use, gedit is a
4839powerful general purpose text editor.")
4840 (license license:gpl2+)))
b7179363
SB
4841
4842(define-public zenity
4843 (package
4844 (name "zenity")
380cb96e 4845 (version "3.24.0")
b7179363
SB
4846 (source (origin
4847 (method url-fetch)
4848 (uri (string-append "mirror://gnome/sources/" name "/"
4849 (version-major+minor version) "/"
4850 name "-" version ".tar.xz"))
4851 (sha256
4852 (base32
380cb96e 4853 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4854 (build-system gnu-build-system)
4855 (native-inputs
b94a6ca0 4856 `(("gettext" ,gettext-minimal)
b7179363
SB
4857 ("itstool" ,itstool)
4858 ("pkg-config" ,pkg-config)))
4859 (inputs
4860 `(("libnotify" ,libnotify)
4861 ("webkitgtk" ,webkitgtk)))
4862 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 4863 (home-page "https://www.gnome.org")
b7179363
SB
4864 (description
4865 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4866to display dialog boxes from the commandline and shell scripts.")
4867 (license license:lgpl2.0+)))
60c3627c
SB
4868
4869(define-public mutter
4870 (package
4871 (name "mutter")
a51fc34c 4872 (version "3.24.4")
60c3627c 4873 (source (origin
86c44e72
KK
4874 (method url-fetch)
4875 (uri (string-append "mirror://gnome/sources/" name "/"
4876 (version-major+minor version) "/"
4877 name "-" version ".tar.xz"))
60c3627c
SB
4878 (sha256
4879 (base32
a51fc34c 4880 "1slspy5krbqfvnma72lvdnxjf8ag2cvxssa8bvi7y3xxy7xv603k"))))
86c44e72
KK
4881 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4882 ;; versions of cogl and clutter. As a result, many of the inputs,
4883 ;; propagated-inputs, and configure flags used in cogl and clutter are
4884 ;; needed here as well.
60c3627c
SB
4885 (build-system gnu-build-system)
4886 (arguments
4887 '(#:configure-flags
4888 ;; XXX: build fails with [-Werror]:
4889 ;; backends/meta-cursor-renderer.c:112:5: error:
4890 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4891 (list "--enable-compile-warnings=minimum"
4892
86c44e72 4893 "--enable-native-backend"
a88d5a0c
MW
4894
4895 ;; The following flags are needed for the bundled clutter
4896 "--enable-x11-backend=yes"
4897
d633f2f6
RH
4898 (string-append "--with-xwayland-path="
4899 (assoc-ref %build-inputs "xorg-server-xwayland")
4900 "/bin/Xwayland")
4901
a88d5a0c
MW
4902 ;; the remaining flags are needed for the bundled cogl
4903 "--enable-cogl-gst"
4904 (string-append "--with-gl-libname="
4905 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4906 "/lib/libGL.so"))
4907 #:phases
4908 (modify-phases %standard-phases
86c44e72
KK
4909 ;; Replace references to systemd libraries to elogind references.
4910 (add-before 'configure 'use-elogind
4911 (lambda _
4912 (substitute* (list "configure"
4913 "src/backends/native/meta-launcher.c"
4914 "src/core/main.c")
4915 (("systemd") "elogind"))
4916 #t)))))
60c3627c
SB
4917 (native-inputs
4918 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4919 ("gobject-introspection" ,gobject-introspection)
4920 ("intltool" ,intltool)
f23052a6
DC
4921 ("pkg-config" ,pkg-config)
4922 ;; For git build
4923 ("autoconf" ,autoconf)
4924 ("automake" ,automake)
4925 ("libtool" ,libtool)))
60c3627c 4926 (propagated-inputs
a88d5a0c
MW
4927 `(;; libmutter.pc refers to these:
4928 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4929 ("gtk+" ,gtk+)
4930 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4931 ("atk" ,atk)
4932 ("cairo" ,cairo)
4933 ("gdk-pixbuf" ,gdk-pixbuf)
4934 ("glib" ,glib)
60c3627c 4935 ("gtk+" ,gtk+)
a88d5a0c
MW
4936 ("json-glib" ,json-glib)
4937 ("libinput" ,libinput)
4938 ("libx11" ,libx11)
4939 ("libxcomposite" ,libxcomposite)
4940 ("libxdamage" ,libxdamage)
4941 ("libxext" ,libxext)
4942 ("libxfixes" ,libxfixes)
4943 ("libxkbcommon" ,libxkbcommon)
4944 ("libxrandr" ,libxrandr)
4945 ("mesa" ,mesa)
4946 ("pango" ,pango)
4947 ("udev" ,eudev)
a88d5a0c 4948 ("xinput" ,xinput)))
60c3627c 4949 (inputs
86c44e72
KK
4950 `(("elogind" ,elogind)
4951 ("gnome-desktop" ,gnome-desktop)
60c3627c 4952 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4953 ("libgudev" ,libgudev)
60c3627c
SB
4954 ("libice" ,libice)
4955 ("libsm" ,libsm)
60c3627c 4956 ("libxkbfile" ,libxkbfile)
a88d5a0c 4957 ("libxrandr" ,libxrandr)
86c44e72 4958 ("libxtst" ,libxtst)
60c3627c
SB
4959 ("startup-notification" ,startup-notification)
4960 ("upower-glib" ,upower)
4961 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 4962 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
4963 ("zenity" ,zenity)))
4964 (synopsis "Window and compositing manager")
f032d0be 4965 (home-page "https://www.gnome.org")
60c3627c
SB
4966 (description
4967 "Mutter is a window and compositing manager that displays and manages your
4968desktop via OpenGL. Mutter combines a sophisticated display engine using the
4969Clutter toolkit with solid window-management logic inherited from the Metacity
4970window manager.")
86c44e72 4971 (license license:gpl2+)))
685cee87
SB
4972
4973(define-public gnome-online-accounts
4974 (package
4975 (name "gnome-online-accounts")
ae8e71ee 4976 (version "3.26.2")
685cee87
SB
4977 (source (origin
4978 (method url-fetch)
4979 (uri (string-append "mirror://gnome/sources/" name "/"
4980 (version-major+minor version) "/"
4981 name "-" version ".tar.xz"))
4982 (sha256
4983 (base32
ae8e71ee 4984 "1l8p1ghknmkmjpnpl7jr53j66qbzpikickzbmrz0aczyhq6pdy29"))))
685cee87
SB
4985 (build-system glib-or-gtk-build-system)
4986 (native-inputs
4987 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4988 ("gobject-introspection" ,gobject-introspection)
4989 ("intltool" ,intltool)
4990 ("pkg-config" ,pkg-config)
4991 ("xsltproc" ,libxslt)))
4992 (propagated-inputs
4993 `(("glib" ,glib) ; required by goa-1.0.pc
4994 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4995 (inputs
4996 `(("docbook-xsl" ,docbook-xsl)
4997 ("json-glib" ,json-glib)
4998 ("libsecret" ,libsecret)
4999 ("rest" ,rest)
685cee87
SB
5000 ("webkitgtk" ,webkitgtk)))
5001 (synopsis "Single sign-on framework for GNOME")
5002 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
5003 (description
5004 "GNOME Online Accounts provides interfaces so that applications and
5005libraries in GNOME can access the user's online accounts. It has providers for
5006Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
5007Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
5008 (license license:lgpl2.0+)))
df217748
SB
5009
5010(define-public evolution-data-server
5011 (package
5012 (name "evolution-data-server")
891199c6 5013 (version "3.28.1")
df217748
SB
5014 (source (origin
5015 (method url-fetch)
5016 (uri (string-append "mirror://gnome/sources/" name "/"
5017 (version-major+minor version) "/"
5018 name "-" version ".tar.xz"))
5019 (sha256
5020 (base32
891199c6 5021 "12b9lfgwd57rzn9394xrbvl9ym5aqldpz9v7c9a421dsv8dgq13b"))))
743aebd7 5022 (build-system cmake-build-system)
df217748 5023 (arguments
743aebd7 5024 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
5025 #:tests? #f
5026 #:configure-flags
ac033c7b
MB
5027 (let* ((lib (string-append (assoc-ref %outputs "out")
5028 "/lib"))
5029 (runpaths (map (lambda (s) (string-append
5030 lib "/evolution-data-server/" s))
5031 '("addressbook-backends" "calendar-backends"
5032 "camel-providers" "credential-modules"
5033 "registry-modules"))))
5034 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
5035 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
5036 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
5037 "-DENABLE_VALA_BINDINGS=ON"
5038 ;; FIXME: Building against ICU 60 requires C++11 or higher. Remove
c97f2f70
MW
5039 ;; "-std=gnu++11" when our default compiler is >= GCC6.
5040 ;; FIXME: Temporarily use "-DU_USING_ICU_NAMESPACE=1" until
5041 ;; evolution-data-server has been updated to qualify ICU types
5042 ;; explicitly, as required by ICU 61 and later. See:
5043 ;; <https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild>
5044 "-DCMAKE_CXX_FLAGS=-std=gnu++11 -DU_USING_ICU_NAMESPACE=1"
ac033c7b
MB
5045 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
5046 (string-append lib "/evolution-data-server;")
5047 (string-join runpaths ";"))
5048 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
5049 #:phases
5050 (modify-phases %standard-phases
743aebd7 5051 (add-after 'unpack 'patch-paths
df217748
SB
5052 (lambda _
5053 (substitute* "tests/test-server-utils/e-test-server-utils.c"
5054 (("/bin/rm") (which "rm")))
ac033c7b
MB
5055 #t))
5056 (add-before 'configure 'dont-override-rpath
5057 (lambda _
5058 (substitute* "CMakeLists.txt"
5059 ;; CMakeLists.txt hard-codes runpath to just the libdir.
5060 ;; Remove it so the configure flag is respected.
5061 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
5062 #t)))))
df217748
SB
5063 (native-inputs
5064 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5065 ("gobject-introspection" ,gobject-introspection)
5066 ("gperf" ,gperf)
5067 ("intltool" ,intltool)
5068 ("pkg-config" ,pkg-config)
a73c1cf8 5069 ("vala" ,vala)
743aebd7 5070 ("python" ,python-wrapper)))
df217748
SB
5071 (propagated-inputs
5072 ;; These are all in the Requires field of .pc files.
5073 `(("gtk+" ,gtk+)
5074 ("libical" ,libical)
5075 ("libsecret" ,libsecret)
5076 ("libsoup" ,libsoup)
5077 ("nss" ,nss)
5078 ("sqlite" ,sqlite)))
5079 (inputs
5080 `(("bdb" ,bdb)
5081 ("gcr" ,gcr)
5082 ("gnome-online-accounts" ,gnome-online-accounts)
891199c6 5083 ("json-glib" ,json-glib)
743aebd7
MB
5084 ("libgweather" ,libgweather)
5085 ("mit-krb5" ,mit-krb5)
891199c6
MW
5086 ("openldap" ,openldap)
5087 ("webkitgtk" ,webkitgtk)))
df217748
SB
5088 (synopsis "Store address books and calendars")
5089 (home-page "https://wiki.gnome.org/Apps/Evolution")
5090 (description
5091 "This package provides a unified backend for programs that work with
5092contacts, tasks, and calendar information. It was originally developed for
5093Evolution (hence the name), but is now used by other packages as well.")
5094 (license license:lgpl2.0)))
bd7dfafa
SB
5095
5096(define-public caribou
5097 (package
5098 (name "caribou")
fe964bb5 5099 (version "0.4.21")
bd7dfafa
SB
5100 (source (origin
5101 (method url-fetch)
5102 (uri (string-append "mirror://gnome/sources/" name "/"
5103 (version-major+minor version) "/"
5104 name "-" version ".tar.xz"))
5105 (sha256
5106 (base32
fe964bb5 5107 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
5108 (build-system glib-or-gtk-build-system)
5109 (arguments
5110 '(#:phases
5111 (modify-phases %standard-phases
5112 (add-before
5113 'build 'pre-build
5114 (lambda* (#:key outputs #:allow-other-keys)
5115 (let ((out (assoc-ref outputs "out")))
5116 ;; Use absolute shared library path in Caribou-1.0.typelib.
5117 (substitute* "libcaribou/Makefile"
5118 (("--shared-library=libcaribou.so")
5119 (string-append "--shared-library="
5120 out "/lib/libcaribou.so")))
5121 #t)))
5122 (add-after 'install 'wrap-programs
5123 (lambda* (#:key outputs #:allow-other-keys)
5124 (let* ((out (assoc-ref outputs "out"))
5125 (python-path (getenv "PYTHONPATH"))
5126 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5127 (for-each
5128 (lambda (prog)
5129 (wrap-program prog
5130 `("PYTHONPATH" ":" prefix (,python-path))
5131 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5132 (list (string-append out "/bin/caribou-preferences")
5133 (string-append out "/libexec/antler-keyboard"))))
5134 #t)))))
5135 (native-inputs
5136 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5137 ("gobject-introspection" ,gobject-introspection)
5138 ("intltool" ,intltool)
5139 ("pkg-config" ,pkg-config)
5140 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
5141 ("vala" ,vala)
5142 ("xsltproc" ,libxslt)))
5143 (propagated-inputs
5144 ;; caribou-1.0.pc refers to all these.
5145 `(("libgee" ,libgee)
5146 ("libxklavier" ,libxklavier)
5147 ("libxtst" ,libxtst)
5148 ("gtk+" ,gtk+)))
5149 (inputs
5150 `(("clutter" ,clutter)
5151 ("dconf" ,dconf)
5152 ("gtk+-2" ,gtk+-2)
5153 ("python-pygobject" ,python2-pygobject)))
5154 (synopsis "Text entry and UI navigation application")
5155 (home-page "https://wiki.gnome.org/Projects/Caribou")
5156 (description
5157 "Caribou is an input assistive technology intended for switch and pointer
5158users.")
5159 (license license:lgpl2.1)))
ba5dd105 5160
ba5dd105
SB
5161(define-public network-manager
5162 (package
5163 (name "network-manager")
40a17c3b 5164 (version "1.8.4")
ba5dd105
SB
5165 (source (origin
5166 (method url-fetch)
5167 (uri (string-append "mirror://gnome/sources/NetworkManager/"
5168 (version-major+minor version) "/"
5169 "NetworkManager-" version ".tar.xz"))
5170 (sha256
5171 (base32
40a17c3b 5172 "04lj081a5cdkhcnj1xs77chhy08d2h0648kmj1csxp46cfrjwpk2"))
fd070f35
CM
5173 (snippet
5174 '(begin
5175 (use-modules (guix build utils))
5176 (substitute* "configure"
5177 ;; Replace libsystemd-login with libelogind.
5178 (("libsystemd-login") "libelogind"))
5179 (substitute* "src/devices/wwan/nm-modem-manager.c"
5180 (("systemd") "elogind"))
5181 (substitute* "src/nm-session-monitor.c"
5182 (("systemd") "elogind"))
5183 (substitute* "./src/nm-logging.c"
6cbee49d
MW
5184 (("systemd") "elogind"))
5185 #t))))
ba5dd105
SB
5186 (build-system gnu-build-system)
5187 (outputs '("out"
5188 "doc")) ; 8 MiB of gtk-doc HTML
5189 (arguments
5190 '(#:configure-flags
5191 (let ((out (assoc-ref %outputs "out"))
5192 (doc (assoc-ref %outputs "doc"))
5193 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
5194 "/sbin/dhclient")))
fd070f35
CM
5195 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
5196 "--with-consolekit=no"
5197 "--with-crypto=gnutls"
ba5dd105
SB
5198 "--disable-config-plugin-ibft"
5199 "--sysconfdir=/etc"
5200 "--localstatedir=/var"
5201 (string-append "--with-udev-dir="
5202 out "/lib/udev")
5203 (string-append "--with-dbus-sys-dir="
5204 out "/etc/dbus-1/system.d")
5205 (string-append "--with-html-dir="
5206 doc "/share/gtk-doc/html")
5207 (string-append "--with-dhclient=" dhclient)))
5208 #:phases
5209 (modify-phases %standard-phases
b4f59d87
AW
5210 (add-before 'configure 'pre-configure
5211 (lambda _
5212 ;; These tests try to test aspects of network-manager's
5213 ;; functionality within restricted containers, but they don't
5214 ;; cope with being already in the Guix build jail as that jail
5215 ;; lacks some features that they would like to proxy over (like
5216 ;; a /sys mount).
d04687dc
HG
5217 (substitute* '("Makefile.in")
5218 (("src/platform/tests/test-address-linux") " ")
5219 (("src/platform/tests/test-cleanup-linux") " ")
5220 (("src/platform/tests/test-link-linux") " ")
5221 (("src/platform/tests/test-route-linux") " ")
5222 (("src/devices/tests/test-arping") " ")
5223 (("src/devices/tests/test-lldp") " ")
5224 (("src/tests/test-route-manager-linux") " "))
b4f59d87 5225 #t))
ba5dd105
SB
5226 (add-before 'check 'pre-check
5227 (lambda _
5228 ;; For the missing /etc/machine-id.
5229 (setenv "DBUS_FATAL_WARNINGS" "0")
5230 #t))
5231 (replace 'install
5232 (lambda _
5233 (zero? (system* "make"
5234 "sysconfdir=/tmp"
142bdcbc
SB
5235 "rundir=/tmp"
5236 "statedir=/tmp"
d04687dc 5237 "nmstatedir=/tmp/nm"
ba5dd105 5238 "install")))))))
b93502d6
DC
5239 (propagated-inputs
5240 `(("glib" ,glib)))
ba5dd105
SB
5241 (native-inputs
5242 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
5243 ("gobject-introspection" ,gobject-introspection)
d04687dc 5244 ("docbook-xsl" ,docbook-xsl)
ba5dd105 5245 ("intltool" ,intltool)
d04687dc
HG
5246 ("libxslt" ,libxslt)
5247 ("libxml2" ,libxml2)
ba5dd105
SB
5248 ("pkg-config" ,pkg-config)
5249 ;; For testing.
5250 ("python" ,python-wrapper)
5251 ("python-dbus" ,python-dbus)
5252 ("python-pygobject" ,python-pygobject)))
5253 (inputs
856ca567
KK
5254 `(("curl" ,curl)
5255 ("cyrus-sasl" ,cyrus-sasl)
5256 ("dbus-glib" ,dbus-glib)
ba5dd105 5257 ("dnsmasq" ,dnsmasq)
856ca567 5258 ("eudev" ,eudev)
ba5dd105
SB
5259 ("gnutls" ,gnutls)
5260 ("iptables" ,iptables)
5261 ("isc-dhcp" ,isc-dhcp)
d04687dc 5262 ("jansson" ,jansson)
ba5dd105
SB
5263 ("libgcrypt" ,libgcrypt)
5264 ("libgudev" ,libgudev)
5265 ("libndp" ,libndp)
5266 ("libnl" ,libnl)
5267 ("libsoup" ,libsoup)
142bdcbc 5268 ("modem-manager" ,modem-manager)
c27e02bf 5269 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
5270 ("polkit" ,polkit)
5271 ("ppp" ,ppp)
5272 ("readline" ,readline)
fd070f35
CM
5273 ("util-linux" ,util-linux)
5274 ("elogind" ,elogind)))
ba5dd105 5275 (synopsis "Network connection manager")
f032d0be 5276 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
5277 (description
5278 "NetworkManager is a system network service that manages your network
5279devices and connections, attempting to keep active network connectivity when
5280available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
5281devices, and provides VPN integration with a variety of different VPN
5282services.")
29d2f451
LC
5283 (license license:gpl2+)
5284 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 5285
f2b96b3a
LC
5286(define-public network-manager-openvpn
5287 (package
5288 (name "network-manager-openvpn")
3d9637a9 5289 (version "1.8.0")
f2b96b3a
LC
5290 (source (origin
5291 (method url-fetch)
5292 (uri (string-append
5293 "mirror://gnome/sources/NetworkManager-openvpn/"
5294 (version-major+minor version)
5295 "/NetworkManager-openvpn-" version ".tar.xz"))
5296 (sha256
5297 (base32
3d9637a9 5298 "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn"))))
f2b96b3a
LC
5299 (build-system gnu-build-system)
5300 (arguments
5301 '(#:configure-flags '("--enable-absolute-paths")))
5302 (native-inputs
5303 `(("pkg-config" ,pkg-config)
5304 ("intltool" ,intltool)))
5305 (inputs
5306 `(("gtk+" ,gtk+)
5307 ("openvpn" ,openvpn)
5308 ("network-manager" ,network-manager)
5309 ("network-manager-applet" ,network-manager-applet) ;for libnma
5310 ("libsecret" ,libsecret)))
5311 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5312 (synopsis "OpenVPN plug-in for NetworkManager")
5313 (description
5314 "This extension of NetworkManager allows it to take care of connections
5315to virtual private networks (VPNs) via OpenVPN.")
5316 (license license:gpl2+)
5317 (properties `((upstream-name . "NetworkManager-openvpn")))))
5318
e5e1df4d
DC
5319(define-public mobile-broadband-provider-info
5320 (package
5321 (name "mobile-broadband-provider-info")
22345a8e 5322 (version "20170310")
e5e1df4d
DC
5323 (source (origin
5324 (method url-fetch)
5325 (uri (string-append
5326 "mirror://gnome/sources/"
5327 "mobile-broadband-provider-info/" version "/"
5328 "mobile-broadband-provider-info-" version ".tar.xz"))
5329 (sha256
5330 (base32
22345a8e 5331 "0fxm11x8k9hxjg8l5inaldfmmjnwkay3ibjv899jra03bv4h6kql"))))
e5e1df4d
DC
5332 (build-system gnu-build-system)
5333 (arguments
5334 `(#:tests? #f)) ; No tests
5335 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5336 (synopsis "Database of broadband connection configuration")
5337 (description "Database of broadband connection configuration.")
5338 (license license:public-domain)))
5339
4d62a9d3
SB
5340(define-public network-manager-applet
5341 (package
5342 (name "network-manager-applet")
40a17c3b 5343 (version "1.8.4")
4d62a9d3
SB
5344 (source (origin
5345 (method url-fetch)
5346 (uri (string-append "mirror://gnome/sources/" name "/"
5347 (version-major+minor version) "/"
5348 name "-" version ".tar.xz"))
5349 (sha256
5350 (base32
40a17c3b 5351 "0ag3pvjp58ykrzsjfbdxi0j5xd2i796jk7nns67zy03xwg9i0l0h"))))
4d62a9d3 5352 (build-system glib-or-gtk-build-system)
240cee8a 5353 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
5354 (native-inputs
5355 `(("intltool" ,intltool)
5356 ("gobject-introspection" ,gobject-introspection)
5357 ("pkg-config" ,pkg-config)))
5358 (propagated-inputs
5359 ;; libnm-gtk.pc refers to all these.
5360 `(("dbus-glib" ,dbus-glib)
5361 ("gtk+" ,gtk+)
5362 ("network-manager" ,network-manager)))
5363 (inputs
5364 `(("iso-codes" ,iso-codes)
5365 ("libgudev" ,libgudev)
5366 ("libnotify" ,libnotify)
2116bfb3 5367 ("libsecret" ,libsecret)
240cee8a
KK
5368 ("libselinux" ,libselinux)
5369 ("jansson" ,jansson) ; for team support
5370 ("modem-manager" ,modem-manager)))
4d62a9d3 5371 (synopsis "Applet for managing network connections")
f032d0be 5372 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
5373 (description
5374 "This package contains a systray applet for NetworkManager. It displays
5375the available networks and allows users to easily switch between them.")
5376 (license license:gpl2+)))
56196594
RW
5377
5378(define-public libxml++
5379 (package
5380 (name "libxml++")
8344a85e 5381 (version "3.0.1")
56196594
RW
5382 (source (origin
5383 (method url-fetch)
5384 (uri (string-append "mirror://gnome/sources/" name "/"
5385 (version-major+minor version) "/"
5386 name "-" version ".tar.xz"))
5387 (sha256
5388 (base32
8344a85e 5389 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5390 (build-system gnu-build-system)
5391 ;; libxml++-3.0.pc refers to all these.
5392 (propagated-inputs
5393 `(("libxml2" ,libxml2)
5394 ("glibmm" ,glibmm)))
5395 (native-inputs
5396 `(("perl" ,perl)
5397 ("pkg-config" ,pkg-config)))
5398 (home-page "http://libxmlplusplus.sourceforge.net/")
5399 (synopsis "C++ wrapper for XML parser library libxml2")
5400 (description
5401 "This package provides a C++ wrapper for the XML parser library
5402libxml2.")
5403 (license license:lgpl2.1+)))
df12f04a 5404
b61d9627
AW
5405(define-public libxml++-2
5406 (package
5407 (inherit libxml++)
5408 (name "libxml++")
5409 (version "2.40.1")
5410 (source (origin
5411 (method url-fetch)
5412 (uri (string-append "mirror://gnome/sources/" name "/"
5413 (version-major+minor version) "/"
5414 name "-" version ".tar.xz"))
5415 (sha256
5416 (base32
5417 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5418
df12f04a
SB
5419(define-public gdm
5420 (package
5421 (name "gdm")
0438f1d8 5422 (version "3.26.2.1")
df12f04a
SB
5423 (source (origin
5424 (method url-fetch)
5425 (uri (string-append "mirror://gnome/sources/" name "/"
5426 (version-major+minor version) "/"
5427 name "-" version ".tar.xz"))
feccc810 5428 (patches (search-patches "gdm-CVE-2018-14424.patch"))
df12f04a
SB
5429 (sha256
5430 (base32
0438f1d8 5431 "0mxdal6hh345xk2xqmw5192jgpprkbcv1d4bwmnl4arcc00cpp8p"))))
957dbc0a 5432 (build-system glib-or-gtk-build-system)
df12f04a
SB
5433 (arguments
5434 '(#:configure-flags
af37e6bb 5435 `("--without-plymouth"
957dbc0a 5436 "--disable-systemd-journal"
51bc8357
TS
5437
5438 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
5439 ;; instead of having to replace it (i.e., stopping the mingetty
5440 ;; service for TTY 1 before starting GDM).
5441 "--with-initial-vt=7"
5442
89c86562
TS
5443 ;; Use '/etc/environment' for locale settings instead of the
5444 ;; systemd-specific '/etc/locale.conf'.
5445 "--with-lang-file=/etc/environment"
5446
af37e6bb
AW
5447 "--localstatedir=/var"
5448 ,(string-append "--with-default-path="
5449 (string-join '("/run/setuid-programs"
5450 "/run/current-system/profile/bin"
5451 "/run/current-system/profile/sbin")
957dbc0a
AW
5452 ":"))
5453 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
5454 ;; XDG_DATA_DIRS so that it finds its schemas.
5455 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
5456 #:phases
5457 (modify-phases %standard-phases
5458 (add-before
5459 'configure 'pre-configure
def6d6b6 5460 (lambda* (#:key inputs #:allow-other-keys)
df12f04a
SB
5461 ;; We don't have <systemd/sd-daemon.h>.
5462 (substitute* '("common/gdm-log.c"
5463 "daemon/gdm-server.c"
5464 "daemon/gdm-session-worker.c"
5465 "daemon/gdm-session-worker-job.c")
5466 (("#include <systemd/sd-daemon\\.h>") ""))
5467 ;; Use elogind for sd-login.
5468 (substitute* '("common/gdm-common.c"
5469 "daemon/gdm-manager.c"
5470 "libgdm/gdm-user-switching.c")
5471 (("#include <systemd/sd-login\\.h>")
5472 "#include <elogind/sd-login.h>"))
957dbc0a
AW
5473 ;; Check for elogind.
5474 (substitute* '("configure")
5475 (("libsystemd")
5476 "libelogind"))
af37e6bb
AW
5477 ;; Look for system-installed sessions in
5478 ;; /run/current-system/profile/share.
5479 (substitute* '("libgdm/gdm-sessions.c"
5480 "daemon/gdm-session.c"
5481 "daemon/gdm-display.c"
5482 "daemon/gdm-launch-environment.c")
5483 (("DATADIR \"/x")
5484 "\"/run/current-system/profile/share/x")
5485 (("DATADIR \"/wayland")
5486 "\"/run/current-system/profile/share/wayland")
5487 (("DATADIR \"/gnome")
5488 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 5489 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 5490 "GDM_DBUS_DAEMON"
c9ff92b5 5491 "GDM_X_SERVER"
41fa9f18 5492 "GDM_X_SESSION"
c9ff92b5
TS
5493 ;; XXX: Remove this once GNOME Shell is
5494 ;; a dependency of GDM.
5495 "XDG_DATA_DIRS")))
5496 (substitute* "daemon/gdm-session.c"
5497 (("set_up_session_environment \\(self\\);")
5498 (apply string-append
5499 "set_up_session_environment (self);\n"
5500 (map (lambda (name)
5501 (string-append
5502 "gdm_session_set_environment_variable "
5503 "(self, \"" name "\","
5504 "g_getenv (\"" name "\"));\n"))
5505 propagate)))))
e0e6756f 5506 ;; Look for custom GDM conf in /run/current-system.
950d8e5d 5507 (substitute* '("common/gdm-settings-desktop-backend.c")
e0e6756f 5508 (("GDM_CUSTOM_CONF")
e57c2adb
TS
5509 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
5510 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
5511 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
5512 ;; Use service-supplied path to X.
5513 (substitute* '("daemon/gdm-server.c")
5514 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
5515 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
5516 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
5517 (("\"dbus-daemon\"")
5518 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 5519 (("X_SERVER")
41fa9f18
TS
5520 "g_getenv (\"GDM_X_SERVER\")")
5521 (("GDMCONFDIR \"/Xsession\"")
5522 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
5523 ;; Use an absolute path for GNOME Session.
5524 (substitute* "daemon/gdm-launch-environment.c"
5525 (("\"gnome-session\"")
5526 (string-append "\"" (assoc-ref inputs "gnome-session")
5527 "/bin/gnome-session\"")))
69544798
TS
5528 #t))
5529 ;; GDM needs GNOME Session to run these applications. We link
5530 ;; their autostart files in `share/gdm/greeter/autostart'
5531 ;; because GDM explicitly tells GNOME Session to look there.
5532 ;;
5533 ;; XXX: GNOME Shell should be linked here too, but currently
5534 ;; GNOME Shell depends on GDM.
5535 (add-after 'install 'link-autostart-files
5536 (lambda* (#:key inputs outputs #:allow-other-keys)
5537 (let* ((out (assoc-ref outputs "out"))
5538 (autostart (string-append out "/share/gdm/"
5539 "greeter/autostart"))
5540 (settings (assoc-ref inputs "gnome-settings-daemon")))
5541 (mkdir-p autostart)
5542 (with-directory-excursion autostart
5543 (for-each (lambda (desktop)
5544 (symlink desktop (basename desktop)))
5545 (find-files (string-append settings "/etc/xdg"))))
5546 #t))))))
df12f04a
SB
5547 (native-inputs
5548 `(("dconf" ,dconf)
5549 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5550 ("gobject-introspection" ,gobject-introspection)
5551 ("intltool" ,intltool)
5552 ("itstool" ,itstool)
5553 ("pkg-config" ,pkg-config)
5554 ("xmllint" ,libxml2)))
5555 (inputs
5556 `(("accountsservice" ,accountsservice)
5557 ("check" ,check) ; for testing
5558 ("elogind" ,elogind)
def6d6b6 5559 ("gnome-session" ,gnome-session)
69544798 5560 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
5561 ("gtk+" ,gtk+)
5562 ("iso-codes" ,iso-codes)
5563 ("libcanberra" ,libcanberra)
5564 ("linux-pam" ,linux-pam)))
5565 (synopsis "Display manager for GNOME")
f032d0be 5566 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
5567 (description
5568 "GNOME Display Manager is a system service that is responsible for
5569providing graphical log-ins and managing local and remote displays.")
5570 (license license:gpl2+)))
8e1dd04f
SB
5571
5572(define-public libgtop
5573 (package
5574 (name "libgtop")
4f80158d 5575 (version "2.38.0")
8e1dd04f
SB
5576 (source (origin
5577 (method url-fetch)
5578 (uri (string-append "mirror://gnome/sources/" name "/"
5579 (version-major+minor version) "/"
5580 name "-" version ".tar.xz"))
5581 (sha256
5582 (base32
4f80158d 5583 "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g"))))
8e1dd04f
SB
5584 (build-system gnu-build-system)
5585 (native-inputs
5586 `(("gobject-introspection" ,gobject-introspection)
5587 ("intltool" ,intltool)
5588 ("perl" ,perl)
5589 ("pkg-config" ,pkg-config)))
5590 (propagated-inputs
5591 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5592 (synopsis "Portable system access library")
5593 (home-page "https://www.gnome.org/")
5594 (description
5595 "LibGTop is a library to get system specific data such as CPU and memory
5596usage and information about running processes.")
5597 (license license:gpl2+)))
b96c4260
SB
5598
5599(define-public gnome-bluetooth
5600 (package
5601 (name "gnome-bluetooth")
f8cb2fbf 5602 (version "3.20.1")
b96c4260
SB
5603 (source (origin
5604 (method url-fetch)
5605 (uri (string-append "mirror://gnome/sources/" name "/"
5606 (version-major+minor version) "/"
5607 name "-" version ".tar.xz"))
5608 (sha256
5609 (base32
f8cb2fbf 5610 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
5611 (build-system glib-or-gtk-build-system)
5612 (native-inputs
5613 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5614 ("gobject-introspection" ,gobject-introspection)
5615 ("intltool" ,intltool)
5616 ("pkg-config" ,pkg-config)
5617 ("xmllint" ,libxml2)))
5618 (propagated-inputs
5619 ;; gnome-bluetooth-1.0.pc refers to all these.
5620 `(("gtk+" ,gtk+)
5621 ("udev" ,eudev)))
5622 (inputs
5623 `(("libcanberra" ,libcanberra)
5624 ("libnotify" ,libnotify)))
5625 (synopsis "GNOME Bluetooth subsystem")
5626 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5627 (description
5628 "This package contains tools for managing and manipulating Bluetooth
5629devices using the GNOME desktop.")
5630 (license license:lgpl2.1+)))
b645146f
SB
5631
5632(define-public gnome-control-center
5633 (package
5634 (name "gnome-control-center")
cd5db771 5635 (version "3.24.3")
b645146f
SB
5636 (source (origin
5637 (method url-fetch)
5638 (uri (string-append "mirror://gnome/sources/" name "/"
5639 (version-major+minor version) "/"
5640 name "-" version ".tar.xz"))
5641 (sha256
5642 (base32
cd5db771 5643 "18ncjqjj93a39sla2zjr9i6pw59yh87p4jla899lmvi2qajd5923"))))
b645146f
SB
5644 (build-system glib-or-gtk-build-system)
5645 (arguments
5646 '(#:phases
5647 (modify-phases %standard-phases
5648 (add-before 'configure 'patch-paths
5649 (lambda* (#:key inputs #:allow-other-keys)
5650 (let ((libc (assoc-ref inputs "libc"))
5651 (tzdata (assoc-ref inputs "tzdata")))
5652 (substitute* "panels/datetime/tz.h"
5653 (("/usr/share/zoneinfo/zone.tab")
5654 (string-append tzdata "/share/zoneinfo/zone.tab")))
5655 (substitute* "panels/datetime/test-endianess.c"
5656 (("/usr/share/locale")
5657 (string-append libc "/share/locale")))
5658 #t))))))
5659 (native-inputs
5660 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5661 ("intltool" ,intltool)
5662 ("pkg-config" ,pkg-config)
5663 ("xsltproc" ,libxslt)))
5664 (inputs
5665 `(("accountsservice" ,accountsservice)
5666 ("clutter-gtk" ,clutter-gtk)
5667 ("colord-gtk" ,colord-gtk)
5668 ("cups" ,cups)
5669 ("dconf" ,dconf)
5670 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5671 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5672 ("gnome-bluetooth" ,gnome-bluetooth)
5673 ("gnome-desktop" ,gnome-desktop)
5674 ("gnome-online-accounts" ,gnome-online-accounts)
5675 ("gnome-settings-daemon" ,gnome-settings-daemon)
5676 ("grilo" ,grilo)
5677 ("ibus" ,ibus)
5678 ("libcanberra" ,libcanberra)
5679 ("libgudev" ,libgudev)
5680 ("libgtop" ,libgtop)
5681 ("libpwquality" ,libpwquality)
5682 ("libsoup" ,libsoup)
5683 ("libxml2" ,libxml2)
5684 ("libwacom" ,libwacom)
5685 ("mesa" ,mesa)
5686 ("mit-krb5" ,mit-krb5)
5687 ("modem-manager" ,modem-manager)
5688 ("network-manager-applet" ,network-manager-applet)
5689 ("polkit" ,polkit)
5690 ("pulseaudio" ,pulseaudio)
5691 ("smbclient" ,samba)
5692 ("tzdata" ,tzdata)
5693 ("upower" ,upower)))
5694 (synopsis "Utilities to configure the GNOME desktop")
5695 (home-page "https://www.gnome.org/")
5696 (description
5697 "This package contains configuration applets for the GNOME desktop,
5698allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5699properties, sound setup, desktop theme and background, user interface
5700properties, screen resolution, and other GNOME parameters.")
5701 (license license:gpl2+)))
a4df5756
SB
5702
5703(define-public gnome-shell
5704 (package
5705 (name "gnome-shell")
1f9c2351 5706 (version "3.24.3")
a4df5756
SB
5707 (source (origin
5708 (method url-fetch)
5709 (uri (string-append "mirror://gnome/sources/" name "/"
5710 (version-major+minor version) "/"
5711 name "-" version ".tar.xz"))
5712 (sha256
5713 (base32
a76d0f03
LC
5714 "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))
5715 (patches (search-patches "gnome-shell-theme.patch"))
5716 (modules '((guix build utils)))
5717 (snippet
5718 #~(begin
5719 ;; CSS files have to be regenerated from the .scss source
5720 ;; that 'gnome-shell-theme.patch' modifies.
5721 (for-each delete-file
5722 (find-files "data/theme"
5723 "^gnome-shell.*\\.css$"))
5724
5725 ;; Copy images for use on the GDM log-in screen.
5726 (copy-file #$(file-append %artwork-repository
5727 "/slim/0.x/background.png")
5728 "data/theme/guix-background.png")
5729 (invoke #+(file-append inkscape "/bin/inkscape")
5730 "--export-png=data/theme/guix-logo.png"
5731 #$(file-append %artwork-repository
5732 "/logo/Guix-horizontal-white.svg"))
5733 #t))))
a4df5756
SB
5734 (build-system glib-or-gtk-build-system)
5735 (arguments
5736 '(#:phases
5737 (modify-phases %standard-phases
a76d0f03
LC
5738 (add-before 'build 'rebuild-css
5739 (lambda _
5740 ;; Rebuild the CSS files from the .scss files that our patch
5741 ;; modifies.
5742 (invoke "make" "-C" "data"
5743 "theme/gnome-shell.css"
5744 "theme/gnome-shell-high-contrast.css")))
a4df5756
SB
5745 (replace 'install
5746 (lambda* (#:key outputs #:allow-other-keys)
5747 (let* ((out (assoc-ref outputs "out"))
5748 (keysdir (string-append
5749 out "/share/gnome-control-center/keybindings")))
5750 (zero? (system* "make"
5751 (string-append "keysdir=" keysdir)
5752 "install")))))
5753 (add-after
5754 'install 'wrap-programs
5755 (lambda* (#:key outputs #:allow-other-keys)
5756 (let ((out (assoc-ref outputs "out"))
5757 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5758 (python-path (getenv "PYTHONPATH")))
5759 (wrap-program (string-append out "/bin/gnome-shell")
5760 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5761 (for-each
5762 (lambda (prog)
5763 (wrap-program (string-append out "/bin/" prog)
5764 `("PYTHONPATH" ":" prefix (,python-path))
5765 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5766 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5767 #t))))))
5768 (native-inputs
5769 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5770 ("gobject-introspection" ,gobject-introspection)
5771 ("intltool" ,intltool)
5772 ("pkg-config" ,pkg-config)
5773 ("python" ,python)
a76d0f03
LC
5774 ("xsltproc" ,libxslt)
5775 ("ruby-sass" ,ruby-sass)))
a4df5756
SB
5776 (inputs
5777 `(("accountsservice" ,accountsservice)
5778 ("caribou" ,caribou)
5779 ("docbook-xsl" ,docbook-xsl)
5780 ("evolution-data-server" ,evolution-data-server)
5781 ("gcr" ,gcr)
5782 ("gdm" ,gdm)
5783 ("gjs" ,gjs)
5784 ("gnome-bluetooth" ,gnome-bluetooth)
5785 ("gnome-control-center" ,gnome-control-center)
5786 ("gnome-desktop" ,gnome-desktop)
5787 ("gnome-settings-daemon" ,gnome-settings-daemon)
5788 ("gst-plugins-base" ,gst-plugins-base)
5789 ("ibus" ,ibus)
5790 ("libcanberra" ,libcanberra)
5791 ("libcroco" ,libcroco)
5792 ("libgweather" ,libgweather)
5793 ("libsoup" ,libsoup)
5794 ("mesa-headers" ,mesa-headers)
5795 ("mutter" ,mutter)
5796 ("network-manager-applet" ,network-manager-applet)
5797 ("polkit" ,polkit)
5798 ("pulseaudio" ,pulseaudio)
5799 ("python-pygobject" ,python-pygobject)
5800 ("startup-notification" ,startup-notification)
5801 ("telepathy-logger" ,telepathy-logger)
5802 ("upower" ,upower)
30e760f0
MB
5803 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5804 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5805 ("librsvg" ,librsvg)
5806 ("geoclue" ,geoclue)
a4df5756
SB
5807 ;; XXX: required by libgjs.la.
5808 ("readline" ,readline)))
5809 (synopsis "Desktop shell for GNOME")
5810 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5811 (description
5812 "GNOME Shell provides core user interface functions for the GNOME desktop,
5813like switching to windows and launching applications.")
5814 (license license:gpl2+)))
c3f29bc9
RS
5815
5816(define-public gtk-vnc
5817 (package
5818 (name "gtk-vnc")
965ff023 5819 (version "0.9.0")
c3f29bc9
RS
5820 (source
5821 (origin
5822 (method url-fetch)
5823 (uri (string-append "mirror://gnome/sources/" name "/"
5824 (version-major+minor version) "/"
5825 name "-" version ".tar.xz"))
5826 (sha256
5827 (base32
965ff023 5828 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
5829 (build-system gnu-build-system)
5830 (arguments
5831 '(#:configure-flags '("--with-gtk=3.0")))
5832 (propagated-inputs
5833 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5834 (inputs
5835 `(("cyrus-sasl" ,cyrus-sasl)
5836 ("gnutls" ,gnutls)
5837 ("libgcrypt" ,libgcrypt)
5838 ("pulseaudio" ,pulseaudio)))
5839 (native-inputs
5840 `(("glib:bin" ,glib "bin")
5841 ("gobject-introspection" ,gobject-introspection)
5842 ("intltool" ,intltool)
5843 ("pkg-config" ,pkg-config)
2f17e939 5844 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
5845 ("vala" ,vala)))
5846 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5847 (synopsis "VNC viewer widget for GTK+")
5848 (description
5849 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5850applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5851GTK-VNC implements client side RFB protocol and authentication extensions such
5852as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5853 (license license:lgpl2.1+)))
8b877545 5854
dc69fe18
MW
5855(define-public gnome-autoar
5856 (package
5857 (name "gnome-autoar")
c7da8510 5858 (version "0.2.3")
dc69fe18
MW
5859 (source (origin
5860 (method url-fetch)
5861 (uri (string-append "mirror://gnome/sources/" name "/"
5862 (version-major+minor version) "/"
5863 name "-" version ".tar.xz"))
5864 (sha256
5865 (base32
c7da8510 5866 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
5867 (build-system glib-or-gtk-build-system)
5868 (native-inputs
5869 `(("gnome-common" ,gnome-common)
5870 ("gobject-introspection" ,gobject-introspection)
5871 ("pkg-config" ,pkg-config)))
5872 (propagated-inputs
5873 `(("libarchive" ,libarchive))) ; XXX document why
5874 (inputs
5875 `(("gtk+" ,gtk+)
5876 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5877 (synopsis "Archives integration support for GNOME")
5878 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5879 (description
5880 "GNOME Autoar is a library which makes creating and extracting archives
5881easy, safe, and automatic.")
5882 (license license:lgpl2.1+)))
5883
b64e217f
MW
5884(define-public tracker
5885 (package
5886 (name "tracker")
8fc5cdc6 5887 (version "1.12.3")
b64e217f
MW
5888 (source (origin
5889 (method url-fetch)
5890 (uri (string-append "mirror://gnome/sources/" name "/"
5891 (version-major+minor version) "/"
5892 name "-" version ".tar.xz"))
5893 (sha256
5894 (base32
8fc5cdc6 5895 "1mpq418lzba7fad0w0m3bnxvz3khf461b5zya8zmq5n1g0w99ki3"))))
b64e217f
MW
5896 (build-system glib-or-gtk-build-system)
5897 (native-inputs
5898 `(("gnome-common" ,gnome-common)
5899 ("gobject-introspection" ,gobject-introspection)
5900 ("intltool" ,intltool)
5901 ("pkg-config" ,pkg-config)
5902 ("vala" ,vala)))
5903 (inputs
5904 `(("gtk+" ,gtk+)
5905 ("dbus" ,dbus)
5906 ("gstreamer" ,gstreamer)
5907 ("gst-plugins-base" ,gst-plugins-base)
44ed6284 5908 ("sqlite" ,sqlite)
b64e217f
MW
5909 ("nettle" ,nettle) ; XXX why is this needed?
5910 ("poppler" ,poppler)
5911 ("libgsf" ,libgsf)
5912 ("libexif" ,libexif)
5913 ("libpng" ,libpng)
5914 ("libtiff" ,libtiff)
5915 ("libvorbis" ,libvorbis)
5916 ("flac" ,flac)
5917 ("totem-pl-parser" ,totem-pl-parser)
5918 ("zlib" ,zlib)
5919 ("exempi" ,exempi)
5920 ("libxml2" ,libxml2)
5921 ("upower" ,upower)
b64e217f
MW
5922 ("libunistring" ,libunistring)
5923 ("giflib" ,giflib)
0ef48cd9 5924 ("json-glib" ,json-glib)
b64e217f
MW
5925 ("openjpeg" ,openjpeg-1)
5926 ("libosinfo" ,libosinfo)
5927 ("libcue" ,libcue)
5928 ("libseccomp" ,libseccomp)
0ef48cd9 5929 ("libsoup" ,libsoup)
b64e217f
MW
5930 ("libuuid" ,util-linux)))
5931 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5932 (synopsis "Metadata database, indexer and search tool")
5933 (home-page "https://wiki.gnome.org/Projects/Tracker")
5934 (description
5935 "Tracker is an advanced framework for first class objects with associated
5936metadata and tags. It provides a one stop solution for all metadata, tags,
5937shared object databases, search tools and indexing.")
5938 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5939 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5940 (license (list license:gpl2+
5941 license:lgpl2.1+
5942 license:lgpl2.0+))))
5943
8b877545
RS
5944(define-public nautilus
5945 (package
5946 (name "nautilus")
35e2d0cf 5947 (version "3.26.2")
8b877545
RS
5948 (source (origin
5949 (method url-fetch)
5950 (uri (string-append "mirror://gnome/sources/" name "/"
5951 (version-major+minor version) "/"
5952 name "-" version ".tar.xz"))
5953 (sha256
5954 (base32
35e2d0cf
R
5955 "1d0l4vgcjqj4671hb6s2a56baqlasbxn3wl6vfrpdsk5qq299jbr"))))
5956 (build-system meson-build-system)
8b877545 5957 (arguments
35e2d0cf 5958 '(#:glib-or-gtk? #t
8b877545
RS
5959 ;; XXX: FAIL: check-nautilus
5960 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5961 #:tests? #f))
5962 (native-inputs
35e2d0cf
R
5963 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5964 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5965 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
5966 ("gobject-introspection" ,gobject-introspection)
5967 ("intltool" ,intltool)
5968 ("pkg-config" ,pkg-config)))
8b877545 5969 (inputs
8b877545 5970 `(("dconf" ,dconf)
dd05e731 5971 ("gvfs" ,gvfs)
8b877545
RS
5972 ("exempi" ,exempi)
5973 ("gnome-desktop" ,gnome-desktop)
09d88905 5974 ("gnome-autoar" ,gnome-autoar)
35e2d0cf
R
5975 ("libselinux" ,libselinux)
5976 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
09d88905 5977 ("tracker" ,tracker)
ce6027bf
SB
5978 ;; XXX: gtk+ is required by libnautilus-extension.pc
5979 ;;
5980 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5981 ;; package. See:
5982 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5983 ("gtk+" ,gtk+)
8b877545
RS
5984 ("libexif" ,libexif)
5985 ("libxml2" ,libxml2)))
5986 (synopsis "File manager for GNOME")
5987 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5988 (description
5989 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5990design and behaviour, giving the user a simple way to navigate and manage its
5991files.")
5992 (license license:gpl2+)))
3c697ffd
JR
5993
5994(define-public baobab
5995 (package
5996 (name "baobab")
d233d373 5997 (version "3.28.0")
3c697ffd
JR
5998 (source (origin
5999 (method url-fetch)
6000 (uri (string-append
6001 "mirror://gnome/sources/" name "/"
6002 (version-major+minor version) "/"
6003 name "-" version ".tar.xz"))
6004 (sha256
6005 (base32
d233d373
RJ
6006 "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk"))))
6007 (build-system meson-build-system)
6008 (arguments
6009 '(#:glib-or-gtk? #t))
3c697ffd
JR
6010 (native-inputs
6011 `(("intltool" ,intltool)
6012 ("pkg-config" ,pkg-config)
d233d373
RJ
6013 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6014 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
6015 ("itstool" ,itstool)
6016 ("xmllint" ,libxml2)
6017 ("glib" ,glib "bin")
6018 ("vala" ,vala)))
6019 (inputs
6020 `(("gtk+" ,gtk+)))
6021 (synopsis "Disk usage analyzer for GNOME")
6022 (description
6023 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
6024usage in the GNOME desktop environment. It can easily scan device volumes or
6025a specific user-requested directory branch (local or remote). Once the scan
6026is complete it provides a graphical representation of each selected folder.")
6027 (home-page "https://wiki.gnome.org/Apps/Baobab")
6028 (license license:gpl2+)))
dc050251 6029
fdba447c
RS
6030(define-public gnome-backgrounds
6031 (package
6032 (name "gnome-backgrounds")
9ca381f0 6033 (version "3.28.0")
fdba447c
RS
6034 (source
6035 (origin
6036 (method url-fetch)
6037 (uri (string-append "mirror://gnome/sources/" name "/"
6038 (version-major+minor version) "/"
6039 name "-" version ".tar.xz"))
6040 (sha256
6041 (base32
9ca381f0
RW
6042 "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj"))))
6043 (build-system meson-build-system)
fdba447c
RS
6044 (native-inputs
6045 `(("intltool" ,intltool)))
6046 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
6047 (synopsis "Background images for the GNOME desktop")
6048 (description
6049 "GNOME backgrounds package contains a collection of graphics files which
6050can be used as backgrounds in the GNOME Desktop environment. Additionally,
6051the package creates the proper framework and directory structure so that you
6052can add your own files to the collection.")
6053 (license (list license:gpl2+
6054 license:cc-by2.0
6055 license:cc-by-sa2.0
6056 license:cc-by-sa3.0))))
6057
b784b1a9
RS
6058(define-public gnome-screenshot
6059 (package
6060 (name "gnome-screenshot")
efa355bc 6061 (version "3.22.0")
b784b1a9
RS
6062 (source
6063 (origin
6064 (method url-fetch)
6065 (uri (string-append "mirror://gnome/sources/" name "/"
6066 (version-major+minor version) "/"
6067 name "-" version ".tar.xz"))
6068 (sha256
6069 (base32
efa355bc 6070 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
6071 (build-system glib-or-gtk-build-system)
6072 (native-inputs
6073 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6074 ("intltool" ,intltool)
6075 ("pkg-config" ,pkg-config)))
6076 (inputs
6077 `(("gtk+" ,gtk+)
6078 ("libcanberra" ,libcanberra)
6079 ("libx11" ,libx11)
6080 ("libxext" ,libxext)))
6081 (home-page "https://git.gnome.org/browse/gnome-screenshot")
6082 (synopsis "Take pictures of your screen")
6083 (description
6084 "GNOME Screenshot is a utility used for taking screenshots of the entire
6085screen, a window or a user defined area of the screen, with optional
6086beautifying border effects.")
6087 (license license:gpl2+)))
6088
66d59111
RS
6089(define-public dconf-editor
6090 (package
6091 (name "dconf-editor")
92c93927 6092 (version "3.26.2")
66d59111
RS
6093 (source
6094 (origin
6095 (method url-fetch)
6096 (uri (string-append "mirror://gnome/sources/" name "/"
6097 (version-major+minor version) "/"
6098 name "-" version ".tar.xz"))
6099 (sha256
6100 (base32
92c93927 6101 "1lcarg8igsqpq4iv5834mf9kz4cmfhfw11bwy3x7v7f497z57d18"))))
66d59111 6102 (build-system glib-or-gtk-build-system)
d25c1836
SB
6103 (arguments
6104 '(#:phases
6105 (modify-phases %standard-phases
6106 (add-before 'install 'skip-gtk-update-icon-cache
6107 (lambda _
6108 ;; Don't create 'icon-theme.cache'.
6109 (substitute* "editor/Makefile"
6110 (("gtk-update-icon-cache") "true"))
6111 #t)))))
66d59111
RS
6112 (native-inputs
6113 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6114 ("intltool" ,intltool)
6115 ("pkg-config" ,pkg-config)))
6116 (inputs
6117 `(("dconf" ,dconf)
6118 ("gtk+" ,gtk+)
6119 ("libxml2" ,libxml2)))
6120 (home-page "https://git.gnome.org/browse/dconf-editor")
6121 (synopsis "Graphical editor for GNOME's dconf configuration system")
6122 (description
6123 "Dconf-editor is a graphical tool for browsing and editing the dconf
6124configuration system for GNOME. It allows users to configure desktop
6125software that do not provide their own configuration interface.")
6126 (license license:lgpl2.1+)))
6127
96d36f38
AW
6128(define-public gnome-default-applications
6129 (package
6130 (name "gnome-default-applications")
6131 (version "0")
6132 (build-system trivial-build-system)
6133 (source #f)
6134 (propagated-inputs
8ad4f0aa
LC
6135 `(("nautilus" ,nautilus)
6136 ("evince" ,evince)))
96d36f38
AW
6137 (arguments
6138 `(#:modules ((guix build utils))
6139 #:builder
6140 (begin
6141 (use-modules (guix build utils))
6142 (let* ((out (assoc-ref %outputs "out"))
6143 (apps (string-append out "/share/applications")))
6144 (mkdir-p apps)
6145 (call-with-output-file (string-append apps "/defaults.list")
6146 (lambda (port)
6147 (format port "[Default Applications]\n")
8ad4f0aa
LC
6148 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
6149 (format port "application/pdf=evince.desktop\n")
6150 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
6151 #t))))
6152 (synopsis "Default MIME type associations for the GNOME desktop")
6153 (description
6154 "Given many installed packages which might handle a given MIME type, a
6155user running the GNOME desktop probably has some preferences: for example,
6156that folders be opened by default by the Nautilus file manager, not the Baobab
6157disk usage analyzer. This package establishes that set of default MIME type
6158associations for GNOME.")
6159 (license license:gpl3+)
6160 (home-page #f)))
6161
dc050251
SB
6162(define-public gnome
6163 (package
6164 (name "gnome")
6165 (version (package-version gnome-shell))
6166 (source #f)
6167 (build-system trivial-build-system)
e3cfef22 6168 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251
SB
6169 (propagated-inputs
6170 ;; TODO: Add more packages according to:
6171 ;; <https://packages.debian.org/jessie/gnome-core>.
6172 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 6173 ("baobab" ,baobab)
0bd3597b 6174 ("font-cantarell" ,font-cantarell)
a9dbefdc 6175 ("font-dejavu" ,font-dejavu)
dc050251
SB
6176 ("at-spi2-core" ,at-spi2-core)
6177 ("dbus" ,dbus)
6178 ("dconf" ,dconf)
72360453 6179 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
6180 ("eog" ,eog)
6181 ("epiphany" ,epiphany)
6182 ("evince" ,evince)
71d9b980 6183 ("file-roller" ,file-roller)
dc050251
SB
6184 ("gedit" ,gedit)
6185 ("glib-networking" ,glib-networking)
05f651c4 6186 ("gnome-backgrounds" ,gnome-backgrounds)
63ad9b80
AW
6187 ("gnome-bluetooth" ,gnome-bluetooth)
6188 ("gnome-calculator" ,gnome-calculator)
dc050251 6189 ("gnome-control-center" ,gnome-control-center)
63ad9b80 6190 ("gnome-disk-utility" ,gnome-disk-utility)
96d36f38 6191 ("gnome-default-applications" ,gnome-default-applications)
dc050251 6192 ("gnome-keyring" ,gnome-keyring)
63ad9b80 6193 ("gnome-online-accounts" ,gnome-online-accounts)
dc050251
SB
6194 ("gnome-session" ,gnome-session)
6195 ("gnome-settings-daemon" ,gnome-settings-daemon)
6196 ("gnome-shell" ,gnome-shell)
63ad9b80 6197 ("gnome-system-monitor" ,gnome-system-monitor)
dc050251
SB
6198 ("gnome-terminal" ,gnome-terminal)
6199 ("gnome-themes-standard" ,gnome-themes-standard)
2999dcd5
AW
6200 ("gst-plugins-base" ,gst-plugins-base)
6201 ("gst-plugins-good" ,gst-plugins-good)
63ad9b80 6202 ("gucharmap" ,gucharmap)
05f651c4 6203 ("gvfs" ,gvfs)
dc050251
SB
6204 ("hicolor-icon-theme" ,hicolor-icon-theme)
6205 ("nautilus" ,nautilus)
69308043 6206 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
6207 ("pulseaudio" ,pulseaudio)
6208 ("shared-mime-info" ,shared-mime-info)
f6f4370f 6209 ("system-config-printer" ,system-config-printer)
dc050251 6210 ("totem" ,totem)
c20cd0d2 6211 ("xdg-user-dirs" ,xdg-user-dirs)
dc050251
SB
6212 ("yelp" ,yelp)
6213 ("zenity" ,zenity)))
fe4e698d 6214 (synopsis "The GNU desktop environment")
dc050251
SB
6215 (home-page "https://www.gnome.org/")
6216 (description
fe4e698d
LC
6217 "GNOME is the graphical desktop for GNU. It includes a wide variety of
6218applications for browsing the web, editing text and images, creating
6219documents and diagrams, playing media, scanning, and much more.")
dc050251 6220 (license license:gpl2+)))
4a526711
DT
6221
6222(define-public byzanz
6223 ;; The last stable release of Byzanz was in 2011, but there have been many
6224 ;; useful commits made to the Byzanz repository since then that it would be
6225 ;; silly to use such an old release.
6226 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
6227 (package
6228 (name "byzanz")
6229 (version (string-append "0.2-1." (string-take commit 7)))
6230 (source (origin
6231 (method git-fetch)
6232 (uri (git-reference
5f13bf09 6233 (url "https://git.gnome.org/browse/byzanz")
4a526711 6234 (commit commit)))
5a6527e4 6235 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
6236 (sha256
6237 (base32
6238 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
6239 (build-system glib-or-gtk-build-system)
6240 (arguments
6241 '(#:phases
6242 (modify-phases %standard-phases
189be331 6243 (replace 'bootstrap
4a526711
DT
6244 (lambda _
6245 ;; The build system cleverly detects that we're not building from
6246 ;; a release tarball and turns on -Werror for GCC.
6247 ;; Unsurprisingly, there is a warning during compilation that
6248 ;; causes the build to fail unnecessarily, so we remove the flag.
6249 (substitute* '("configure.ac")
6250 (("-Werror") ""))
6251 ;; The autogen.sh script in gnome-common will run ./configure
6252 ;; by default, which is problematic because source shebangs
6253 ;; have not yet been patched.
6254 (setenv "NOCONFIGURE" "t")
6255 (zero? (system* "sh" "autogen.sh")))))))
6256 (native-inputs
6257 `(("autoconf" ,autoconf)
6258 ("automake" ,automake)
6259 ("gnome-common" ,gnome-common)
6260 ("intltool" ,intltool)
6261 ("libtool" ,libtool)
6262 ("pkg-config" ,pkg-config)
6263 ("which" ,which)))
6264 (inputs
6265 `(("glib" ,glib)
6266 ("gstreamer" ,gstreamer)
6267 ("gst-plugins-base" ,gst-plugins-base)
6268 ("gtk+" ,gtk+)))
6269 (synopsis "Desktop recording program")
6270 (description "Byzanz is a simple desktop recording program with a
6271command-line interface. It can record part or all of an X display for a
6272specified duration and save it as a GIF encoded animated image file.")
6273 (home-page "https://git.gnome.org/browse/byzanz")
6274 (license license:gpl2+))))
3a9a4c51 6275
0ec171ec
MS
6276(define-public gsound
6277 (package
6278 (name "gsound")
6279 (version "1.0.2")
6280 (source (origin
6281 (method url-fetch)
6282 (uri (string-append "mirror://gnome/sources/" name "/"
6283 (version-major+minor version) "/"
6284 name "-" version ".tar.xz"))
6285 (sha256
6286 (base32
6287 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
6288 (build-system glib-or-gtk-build-system)
6289 (native-inputs
6290 `(("pkg-config" ,pkg-config)
6291 ("gobject-introspection" ,gobject-introspection)
6292 ("vala" ,vala)))
6293 (inputs
6294 `(("glib" ,glib)
6295 ("libcanberra" ,libcanberra)))
6296 (home-page "https://wiki.gnome.org/Projects/GSound")
6297 (synopsis "GObject wrapper for libcanberra")
6298 (description
6299 "GSound is a small library for playing system sounds. It's designed to be
6300used via GObject Introspection, and is a thin wrapper around the libcanberra C
6301library.")
6302 (license license:lgpl2.1+)))
6303
3a9a4c51
RS
6304(define-public libzapojit
6305 (package
6306 (name "libzapojit")
6307 (version "0.0.3")
6308 (source (origin
6309 (method url-fetch)
6310 (uri (string-append "mirror://gnome/sources/" name "/"
6311 (version-major+minor version) "/"
6312 name "-" version ".tar.xz"))
6313 (sha256
6314 (base32
6315 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
6316 (build-system gnu-build-system)
6317 (native-inputs
6318 `(("gobject-introspection" ,gobject-introspection)
6319 ("intltool" ,intltool)
6320 ("pkg-config" ,pkg-config)))
6321 (inputs
6322 `(("gnome-online-accounts" ,gnome-online-accounts)
6323 ("json-glib" ,json-glib)
6324 ("rest" ,rest)))
6325 (home-page "https://wiki.gnome.org/Projects/Zapojit")
6326 (synopsis "Library for accessing SkyDrive and Hotmail")
6327 (description
6328 "Libzapojit is a GLib-based library for accessing online service APIs of
6329Microsoft SkyDrive and Hotmail, using their REST protocols.")
6330 (license license:lgpl2.1+)))
9365ee1c 6331
60e2a9ae
MS
6332(define-public gnome-clocks
6333 (package
6334 (name "gnome-clocks")
b39e6121 6335 (version "3.26.1")
60e2a9ae
MS
6336 (source (origin
6337 (method url-fetch)
6338 (uri (string-append "mirror://gnome/sources/" name "/"
6339 (version-major+minor version) "/"
6340 name "-" version ".tar.xz"))
6341 (sha256
6342 (base32
b39e6121 6343 "1xqirnf7xkiv5vj3ng4slpyh50ihn625vhdgskfzx83a3pgxin1b"))))
60e2a9ae
MS
6344 (build-system meson-build-system)
6345 (arguments
6346 '(#:glib-or-gtk? #t))
6347 (native-inputs
6348 `(("vala" ,vala)
6349 ("pkg-config" ,pkg-config)
6350 ("glib" ,glib "bin") ; for glib-compile-resources
6351 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6352 ("desktop-file-utils" ,desktop-file-utils)
6353 ("gettext" ,gettext-minimal)
6354 ("itstool" ,itstool)))
6355 (inputs
6356 `(("glib" ,glib)
6357 ("gtk+" ,gtk+)
6358 ("gsound" ,gsound)
6359 ("geoclue" ,geoclue)
6360 ("geocode-glib" ,geocode-glib)
6361 ("libgweather" ,libgweather)
6362 ("gnome-desktop" ,gnome-desktop)))
6363 (home-page "https://wiki.gnome.org/Apps/Clocks")
6364 (synopsis "GNOME's clock application")
6365 (description
6366 "GNOME Clocks is a simple clocks application designed to fit the GNOME
6367desktop. It supports world clock, stop watch, alarms, and count down timer.")
6368 (license license:gpl3+)))
6369
3c474897
KY
6370(define-public gnome-calendar
6371 (package
6372 (name "gnome-calendar")
4c8413cd 6373 (version "3.26.3")
3c474897
KY
6374 (source (origin
6375 (method url-fetch)
6376 (uri (string-append "mirror://gnome/sources/" name "/"
6377 (version-major+minor version) "/"
6378 name "-" version ".tar.xz"))
6379 (sha256
6380 (base32
4c8413cd 6381 "1clnfvvsaqw9vpxrs6qrxzmgpaw9x2nkjik2x2vwvm07pdvhddxn"))))
a49d3e37
MS
6382 (build-system meson-build-system)
6383 (arguments
6384 '(#:glib-or-gtk? #t
6385 ;; gnome-calendar has to be installed before the tests can be run
6386 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
6387 #:tests? #f))
3c474897 6388 (native-inputs
a49d3e37
MS
6389 `(("gettext" ,gettext-minimal)
6390 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
6391 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
6392 ("pkg-config" ,pkg-config)))
6393 (inputs
a49d3e37 6394 `(("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
6395 ("gnome-online-accounts" ,gnome-online-accounts)
6396 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
6397 (home-page "https://wiki.gnome.org/Apps/Calendar")
6398 (synopsis "GNOME's calendar application")
6399 (description
6400 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 6401desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
6402 (license license:gpl3+)))
6403
57b14665
MS
6404(define-public gnome-todo
6405 (package
6406 (name "gnome-todo")
52995941 6407 (version "3.26.2")
57b14665
MS
6408 (source (origin
6409 (method url-fetch)
6410 (uri (string-append "mirror://gnome/sources/" name "/"
6411 (version-major+minor version) "/"
6412 name "-" version ".tar.xz"))
5de561a7 6413 (patches (search-patches "gnome-todo-libical-compat.patch"))
57b14665
MS
6414 (sha256
6415 (base32
52995941 6416 "106xx1w18pxjmj5k0k2qjzi6b3c3kaz7b5kyrpknykibnr401ff9"))))
57b14665
MS
6417 (build-system meson-build-system)
6418 (arguments
6419 '(#:glib-or-gtk? #t
6420 #:phases (modify-phases %standard-phases
6421 (add-after
6422 'install 'wrap-gnome-todo
6423 (lambda* (#:key inputs outputs #:allow-other-keys)
6424 (let ((out (assoc-ref outputs "out"))
6425 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6426 (python-path (getenv "PYTHONPATH")))
6427 (wrap-program (string-append out "/bin/gnome-todo")
6428 ;; XXX: gi plugins are broken.
6429 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
6430 ;; For plugins.
6431 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6432 `("PYTHONPATH" ":" prefix (,python-path))))
6433 #t)))))
6434 (native-inputs
6435 `(("gettext" ,gettext-minimal)
6436 ("gobject-introspection" ,gobject-introspection)
6437 ("glib:bin" ,glib "bin") ; For glib-compile-resources
6438 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6439 ("pkg-config" ,pkg-config)))
6440 (inputs
6441 `(("rest" ,rest) ; For Todoist plugin
6442 ("json-glib" ,json-glib) ; For Todoist plugin
6443 ("libical" ,libical)
6444 ("libpeas" ,libpeas)
6445 ("python-pygobject" ,python-pygobject)
6446 ("evolution-data-server" ,evolution-data-server)
6447 ("gnome-online-accounts" ,gnome-online-accounts)
6448 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6449 (home-page "https://wiki.gnome.org/Apps/Todo")
6450 (synopsis "GNOME's ToDo Application")
6451 (description
6452 "GNOME To Do is a simplistic personal task manager designed to perfectly
6453fit the GNOME desktop.")
6454 (license license:gpl3+)))
6455
ab179eaf
SB
6456(define-public gnome-dictionary
6457 (package
6458 (name "gnome-dictionary")
cf81ddef 6459 (version "3.26.1")
ab179eaf
SB
6460 (source (origin
6461 (method url-fetch)
6462 (uri (string-append "mirror://gnome/sources/" name "/"
6463 (version-major+minor version) "/"
6464 name "-" version ".tar.xz"))
6465 (sha256
6466 (base32
cf81ddef
LC
6467 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
6468 (build-system meson-build-system)
2776b5d5
MB
6469 (arguments '(#:glib-or-gtk? #t
6470 #:phases (modify-phases %standard-phases
6471 (add-after 'unpack 'patch-install-script
6472 (lambda _
6473 ;; This script attempts to compile glib schemas
6474 ;; and create an empty MIME database. We do
6475 ;; that elsewhere, so prevent it from running.
6476 (substitute* "build-aux/post-install.sh"
6477 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
6478 #t)))))
ab179eaf
SB
6479 (native-inputs
6480 `(("glib:bin" ,glib "bin")
6481 ("gobject-introspection" ,gobject-introspection)
6482 ("intltool" ,intltool)
6483 ("itstool" ,itstool)
6484 ("pkg-config" ,pkg-config)
6485 ("xmllint" ,libxml2)))
6486 (inputs
6487 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6488 ("gtk+" ,gtk+)))
6489 (home-page "https://wiki.gnome.org/Apps/Dictionary")
6490 (synopsis "Look up words in dictionary sources")
6491 (description
6492 "GNOME Dictionary can look for the definition or translation of a word in
6493existing databases over the internet.")
6494 (license license:gpl3+)))
6495
9365ee1c
JN
6496(define-public gnome-tweak-tool
6497 (package
6498 (name "gnome-tweak-tool")
c7fc414e 6499 (version "3.26.4")
9365ee1c
JN
6500 (source (origin
6501 (method url-fetch)
6502 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
6503 (version-major+minor version) "/"
6504 "gnome-tweak-tool-" version ".tar.xz"))
6505 (patches (list
6506 (search-patch "gnome-tweak-tool-search-paths.patch")))
6507 (sha256
6508 (base32
c7fc414e 6509 "1pq5a0kzh1sz7s7ax5c7p6212k9d51nk5bfvjfyqn99cs928187x"))))
7ef335b0 6510 (build-system glib-or-gtk-build-system)
9365ee1c
JN
6511 (arguments
6512 `(#:configure-flags '("--localstatedir=/tmp"
6513 "--sysconfdir=/tmp")
6514 #:imported-modules ((guix build python-build-system)
7ef335b0 6515 ,@%glib-or-gtk-build-system-modules)
9365ee1c 6516 #:phases (modify-phases %standard-phases
c7fc414e
RH
6517 (delete 'configure)
6518 (replace 'build
6519 (lambda* (#:key outputs #:allow-other-keys)
6520 (invoke "meson" "build"
6521 "--prefix" (assoc-ref outputs "out"))))
6522 (replace 'check
6523 (lambda _ (invoke "ninja" "-C" "build" "test")))
6524 (replace 'install
6525 (lambda* (#:key outputs #:allow-other-keys)
6526 (invoke "ninja" "-C" "build" "install")))
9af6bce1
CB
6527 (add-after 'install 'wrap-program
6528 (lambda* (#:key outputs #:allow-other-keys)
6529 (let ((out (assoc-ref outputs "out"))
6530 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6531 (wrap-program (string-append out "/bin/gnome-tweak-tool")
6532 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6533 #t))
9365ee1c
JN
6534 (add-after 'install 'wrap
6535 (@@ (guix build python-build-system) wrap)))))
6536 (native-inputs
c7fc414e
RH
6537 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6538 ("intltool" ,intltool)
6539 ("meson" ,meson-for-build)
6540 ("ninja" ,ninja)
9365ee1c
JN
6541 ("pkg-config" ,pkg-config)))
6542 (inputs
c7fc414e
RH
6543 `(("gnome-desktop" ,gnome-desktop)
6544 ("gtk+" ,gtk+)
9365ee1c
JN
6545 ("gobject-introspection" ,gobject-introspection)
6546 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
6547 ("libnotify" ,libnotify)
6548 ("libsoup" ,libsoup)
6549 ("nautilus" ,nautilus)
6550 ("python" ,python)
6551 ("python-pygobject" ,python-pygobject)))
9365ee1c
JN
6552 (synopsis "Customize advanced GNOME 3 options")
6553 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
6554 (description
6555 "GNOME Tweak Tool allows adjusting advanced configuration settings in
6556GNOME 3. This includes things like the fonts used in user interface elements,
6557alternative user interface themes, changes in window management behavior,
6558GNOME Shell appearance and extension, etc.")
6559 (license license:gpl3+)))
813f814a 6560
32ac717c
DT
6561(define-public gnome-shell-extensions
6562 (package
6563 (name "gnome-shell-extensions")
9c2d0a1a 6564 (version "3.24.3")
32ac717c
DT
6565 (source (origin
6566 (method url-fetch)
6567 (uri (string-append "mirror://gnome/sources/" name "/"
6568 (version-major+minor version) "/"
6569 name "-" version ".tar.xz"))
6570 (sha256
6571 (base32
9c2d0a1a 6572 "0y8anpp9ymp0lxn15w63ra6zxxf8nvbl48xqkvqdjzida73fyz9w"))))
32ac717c
DT
6573 (build-system gnu-build-system)
6574 (arguments
6575 '(#:configure-flags '("--enable-extensions=all")))
6576 (native-inputs
6577 `(("intltool" ,intltool)
6578 ("pkg-config" ,pkg-config)))
6579 (propagated-inputs
6580 `(("glib" ,glib)
6581 ("glib" ,glib "bin")))
6582 (synopsis "Extensions for GNOME Shell")
6583 (description "GNOME Shell extensions modify and extend GNOME Shell
6584functionality and behavior.")
6585 (home-page "https://extensions.gnome.org/")
6586 (license license:gpl3+)))
6587
813f814a
DT
6588(define-public arc-theme
6589 (package
6590 (name "arc-theme")
a18f8eaf 6591 (version "20181022")
813f814a 6592 (source (origin
a18f8eaf
BH
6593 (method git-fetch)
6594 (uri (git-reference
6595 (url "https://github.com/NicoHood/arc-theme.git")
6596 (commit version)))
6597 (file-name (git-file-name name version))
813f814a
DT
6598 (sha256
6599 (base32
a18f8eaf 6600 "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
813f814a 6601 (build-system gnu-build-system)
d88884fa
EF
6602 (arguments
6603 '(#:phases
6604 (modify-phases %standard-phases
6605 ;; autogen.sh calls configure at the end of the script.
6606 (replace 'bootstrap
6607 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
6608 (native-inputs
6609 `(("autoconf" ,autoconf)
6610 ("automake" ,automake)
a18f8eaf
BH
6611 ("glib" ,glib "bin") ; for glib-compile-resources
6612 ("gnome-shell" ,gnome-shell)
6613 ("gtk+" ,gtk+)
6614 ("inkscape" ,inkscape)
6615 ("optipng" ,optipng)
6616 ("pkg-config" ,pkg-config)
6617 ("sassc" ,sassc)))
813f814a
DT
6618 (synopsis "A flat GTK+ theme with transparent elements")
6619 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
66202, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
6621like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
6622 (home-page "https://github.com/horst3180/arc-theme")
6623 ;; No "or later" language found.
a18f8eaf 6624 (license license:gpl3+)))
9987c57c 6625
d935e6a1 6626(define-public faba-icon-theme
9987c57c 6627 (package
d935e6a1 6628 (name "faba-icon-theme")
2eee7ee3 6629 (version "4.3")
d935e6a1
BT
6630 (source
6631 (origin
6632 (method url-fetch)
6633 (uri (string-append "https://github.com/moka-project/"
6634 name "/archive/v" version ".tar.gz"))
6635 (file-name (string-append name "-" version ".tar.gz"))
6636 (sha256
6637 (base32
2eee7ee3 6638 "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68"))))
f6a9b345 6639 (build-system meson-build-system)
9987c57c 6640 (arguments
82da291a 6641 `(#:phases
9987c57c 6642 (modify-phases %standard-phases
82da291a 6643 (add-before 'configure 'disable-post-install
9987c57c 6644 (lambda _
82da291a
JL
6645 (substitute* "meson.build"
6646 (("meson.add_install_script.*") "")))))))
9987c57c
DT
6647 (native-inputs
6648 `(("autoconf" ,autoconf)
6649 ("automake" ,automake)))
d935e6a1
BT
6650 (synopsis "Faba icon theme")
6651 (description
6652 "Faba is a minimal icon set used as a basis for other themes such as
6653Moka")
6654 (home-page "https://snwh.org/moka")
6655 (license (list license:lgpl3+
6656 license:cc-by-sa4.0))))
6657
9987c57c
DT
6658(define-public moka-icon-theme
6659 (package
8b0e4177 6660 (inherit faba-icon-theme)
9987c57c 6661 (name "moka-icon-theme")
105a3625 6662 (version "5.4.0")
9987c57c
DT
6663 (source (origin
6664 (method url-fetch)
6665 (uri (string-append "https://github.com/moka-project"
6666 "/moka-icon-theme/archive/v"
6667 version ".tar.gz"))
6668 (file-name (string-append name "-" version ".tar.gz"))
6669 (sha256
6670 (base32
105a3625 6671 "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk"))))
550281fb
BT
6672 (propagated-inputs
6673 ;; Moka is based on Faba by using it as a fallback icon set instead of
6674 ;; bundling it, so we need to add it as a propagated input.
6675 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
6676 (synopsis "Moka icon theme")
6677 (description "Moka is a stylized desktop icon set, designed to be clear,
6678simple and consistent.")
fedde43b
BT
6679 (license (list license:gpl3+
6680 license:cc-by-sa4.0))))
6fd8f8d6
DT
6681
6682(define-public arc-icon-theme
6683 (package
6684 (name "arc-icon-theme")
c4180240 6685 (version "20161122")
6fd8f8d6
DT
6686 (source (origin
6687 (method url-fetch)
6688 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6689 "/archive/" version ".tar.gz"))
6690 (file-name (string-append name "-" version ".tar.gz"))
6691 (sha256
6692 (base32
c4180240 6693 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6 6694 (build-system gnu-build-system)
9e1ede95
JL
6695 (arguments
6696 `(#:phases
6697 (modify-phases %standard-phases
6698 (add-after 'unpack 'disable-configure-during-bootstrap
6699 (lambda _
6700 (substitute* "autogen.sh"
6701 (("^\"\\$srcdir/configure\".*") ""))
6702 #t)))))
6fd8f8d6
DT
6703 (native-inputs
6704 `(("autoconf" ,autoconf)
6705 ("automake" ,automake)))
6706 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6707 (propagated-inputs
6708 `(("moka-icon-theme" ,moka-icon-theme)))
6709 (synopsis "Arc icon theme")
6710 (description "The Arc icon theme provides a set of icons matching the
6711style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6712the Moka icon theme.")
6713 (home-page "https://github.com/horst3180/arc-icon-theme")
6714 (license license:gpl3+)))
6064a4e8
LF
6715
6716(define-public folks
6717 (package
6718 (name "folks")
d23495fa 6719 (version "0.11.4")
6064a4e8
LF
6720 (source (origin
6721 (method url-fetch)
6722 (uri (string-append
e5f4796e 6723 "mirror://gnome/sources/folks/"
6064a4e8 6724 (version-major+minor version) "/"
e5f4796e 6725 "folks-" version ".tar.xz"))
6064a4e8
LF
6726 (sha256
6727 (base32
d23495fa 6728 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
6729 (build-system glib-or-gtk-build-system)
6730 (inputs
6731 `(("bdb" ,bdb)
6732 ("dbus-glib" ,dbus-glib)
6733 ("evolution-data-server" ,evolution-data-server)
6734 ("glib" ,glib)
6735 ("libgee" ,libgee)
6736 ("telepathy-glib" ,telepathy-glib)))
6737 (native-inputs
6738 `(("gobject-introspection" ,gobject-introspection)
6739 ("intltool" ,intltool)
6740 ("pkg-config" ,pkg-config)
6741 ("vala" ,vala)))
6742 (synopsis "Library to aggregate data about people")
6743 (description "Libfolks is a library that aggregates information about people
6744from multiple sources (e.g., Telepathy connection managers for IM contacts,
6745Evolution Data Server for local contacts, libsocialweb for web service contacts,
6746etc.) to create metacontacts. It's written in Vala, which generates C code when
6747compiled.")
6748 (home-page "https://wiki.gnome.org/Projects/Folks")
6749 (license license:lgpl2.1+)))
01ea778f
LF
6750
6751(define-public gfbgraph
6752 (package
6753 (name "gfbgraph")
6754 (version "0.2.3")
6755 (source (origin
6756 (method url-fetch)
6757 (uri (string-append
6758 "mirror://gnome/sources/" name "/"
6759 (version-major+minor version) "/"
6760 name "-" version ".tar.xz"))
6761 (sha256
6762 (base32
6763 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6764 (build-system glib-or-gtk-build-system)
6765 (arguments
6766 `(#:tests? #f ; Tests appear to require the network.
6767 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6768 #:configure-flags '("--disable-gtk-doc"
6769 "--disable-static"
6770 "--enable-introspection")))
6771 (native-inputs
6772 `(("pkg-config" ,pkg-config)
6773 ("gobject-introspection" ,gobject-introspection)))
6774 (inputs
6775 `(("json-glib" ,json-glib)
6776 ("gnome-online-accounts" ,gnome-online-accounts)
6777 ("rest" ,rest)))
6778 (synopsis "GLib/GObject wrapper for the Facebook API")
6779 (description "This library allows you to use the Facebook API from
6780GLib/GObject code.")
6781 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6782 (license license:lgpl2.1+)))
3920868c 6783
6784(define-public libgnomekbd
6785 (package
6786 (name "libgnomekbd")
47b93ae5 6787 (version "3.22.0.1")
3920868c 6788 (source (origin
6789 (method url-fetch)
6790 (uri (string-append "mirror://gnome/sources/" name "/"
6791 (version-major+minor version) "/"
6792 name "-" version ".tar.xz"))
6793 (sha256
6794 (base32
47b93ae5 6795 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 6796 (build-system gnu-build-system)
6797 (native-inputs
6798 `(("pkg-config" ,pkg-config)
6799 ("glib" ,glib "bin")
6800 ("intltool" ,intltool)))
6801 (propagated-inputs
6802 ;; Referred to in .h files and .pc.
6803 `(("glib" ,glib)
6804 ("gtk+" ,gtk+)
6805 ("libxklavier" ,libxklavier)))
6806 (home-page "https://www.gnome.org")
6807 (synopsis "GNOME keyboard configuration library")
6808 (description
6809 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6810environment, which can notably display keyboard layouts.")
6811 (license license:lgpl2.0+)))
85327d0d 6812
6813;;; This package is no longer maintained:
6814;;; https://wiki.gnome.org/Attic/LibUnique
6815;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6816;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6817(define-public libunique
6818 (package
6819 (name "libunique")
6820 (version "3.0.2")
6821 (source (origin
6822 (method url-fetch)
6823 (uri (string-append "mirror://gnome/sources/" name "/"
6824 (version-major+minor version) "/"
6825 name "-" version ".tar.xz"))
6826 (sha256
6827 (base32
6828 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6829 (build-system glib-or-gtk-build-system)
6830 (arguments
6831 `(#:configure-flags '("--disable-static"
6832 "--disable-dbus" ; use gdbus
6833 "--enable-introspection")))
6834 (native-inputs
6835 `(("pkg-config" ,pkg-config)
6836 ("gobject-introspection" ,gobject-introspection)
6837 ("glib:bin" ,glib "bin")
6838 ("gtk-doc" ,gtk-doc)))
6839 (propagated-inputs
6840 ;; Referred to in .h files and .pc.
6841 `(("gtk+" ,gtk+)))
6842 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6843 (synopsis "Library for writing single instance applications")
6844 (description
6845 "Libunique is a library for writing single instance applications. If you
6846launch a single instance application twice, the second instance will either just
6847quit or will send a message to the running instance. Libunique makes it easy to
6848write this kind of application, by providing a base class, taking care of all
6849the IPC machinery needed to send messages to a running instance, and also
6850handling the startup notification side.")
6851 (license license:lgpl2.1+)))
54021cd8
RS
6852
6853(define-public gnome-calculator
6854 (package
6855 (name "gnome-calculator")
31d9e454 6856 (version "3.26.0")
54021cd8
RS
6857 (source
6858 (origin
6859 (method url-fetch)
6860 (uri (string-append "mirror://gnome/sources/" name "/"
6861 (version-major+minor version) "/"
6862 name "-" version ".tar.xz"))
6863 (sha256
6864 (base32
31d9e454 6865 "1iv3b3mvqxm17r5gv15dyq6gz08w0ljhzgbf22xnnfnpzhvmn8b2"))))
54021cd8
RS
6866 (build-system glib-or-gtk-build-system)
6867 (native-inputs
6868 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6869 ("intltool" ,intltool)
6870 ("itstool" ,itstool)
6871 ("pkg-config" ,pkg-config)))
6872 (inputs
6873 `(("gtksourceview" ,gtksourceview)
6874 ("libsoup" ,libsoup)
2c2da7ec 6875 ("mpc" ,mpc)
54021cd8
RS
6876 ("mpfr" ,mpfr)))
6877 (home-page "https://wiki.gnome.org/Apps/Calculator")
6878 (synopsis "Desktop calculator")
6879 (description
6880 "Calculator is an application that solves mathematical equations and
6881is suitable as a default application in a Desktop environment.")
6882 (license license:gpl3)))
0bd69759
RS
6883
6884(define-public xpad
6885 (package
6886 (name "xpad")
c85626bb 6887 (version "5.1.0")
0bd69759
RS
6888 (source
6889 (origin
6890 (method url-fetch)
08fda9c6
R
6891 (uri (string-append "https://launchpad.net/xpad/trunk/"
6892 version "/+download/"
0bd69759
RS
6893 name "-" version ".tar.bz2"))
6894 (sha256
6895 (base32
c85626bb 6896 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
6897 (build-system gnu-build-system)
6898 (native-inputs
08fda9c6
R
6899 `(("autoconf" ,autoconf)
6900 ("automake" ,automake)
6901 ("gtk+:bin" ,gtk+ "bin")
6902 ("intltool" ,intltool)
0bd69759
RS
6903 ("pkg-config" ,pkg-config)))
6904 (inputs
08fda9c6 6905 `(("gtksourceview" ,gtksourceview)
0bd69759
RS
6906 ("libsm" ,libsm)))
6907 (home-page "https://wiki.gnome.org/Apps/Xpad")
6908 (synopsis "Virtual sticky note")
6909 (description
6910 "Xpad is a sticky note that strives to be simple, fault tolerant,
6911and customizable. Xpad consists of independent pad windows, each is
6912basically a text box in which notes can be written.")
6913 (license license:gpl3+)))
3ad7dce1
RS
6914
6915(define-public gucharmap
6916 (package
6917 (name "gucharmap")
6918 (version "3.18.0")
6919 (source
6920 (origin
6921 (method url-fetch)
6922 (uri (string-append "mirror://gnome/sources/" name "/"
6923 (version-major+minor version) "/"
6924 name "-" version ".tar.xz"))
6925 (sha256
6926 (base32
6927 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
aa29f8fb 6928 (build-system glib-or-gtk-build-system)
3ad7dce1
RS
6929 (native-inputs
6930 `(("desktop-file-utils" ,desktop-file-utils)
6931 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6932 ("gobject-introspection" ,gobject-introspection)
6933 ("intltool" ,intltool)
6934 ("itstool" ,itstool)
6935 ("pkg-config" ,pkg-config)))
6936 (inputs
6937 `(("gtk+" ,gtk+)
6938 ("xmllint" ,libxml2)))
6939 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6940 (synopsis "Unicode character picker and font browser")
6941 (description
6942 "This program allows you to browse through all the available Unicode
6943characters and categories for the installed fonts, and to examine their
6944detailed properties. It is an easy way to find the character you might
6945only know by its Unicode name or code point.")
6946 (license license:gpl3+)))
04ce840a
RS
6947
6948(define-public bluefish
6949 (package
6950 (name "bluefish")
ea8afaf3 6951 (version "2.2.10")
04ce840a
RS
6952 (source
6953 (origin
6954 (method url-fetch)
6955 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6956 name "-" version ".tar.gz"))
6957 (sha256
6958 (base32
ea8afaf3 6959 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
6960 (build-system gnu-build-system)
6961 (native-inputs
6962 `(("desktop-file-utils" ,desktop-file-utils)
6963 ("intltool" ,intltool)
6964 ("pkg-config" ,pkg-config)))
6965 (inputs
6966 `(("enchant" ,enchant)
6967 ("gtk+" ,gtk+)
6968 ("python" ,python-2)
6969 ("xmllint" ,libxml2)
6970 ("gucharmap" ,gucharmap)))
6971 (home-page "http://bluefish.openoffice.nl")
6972 (synopsis "Web development studio")
6973 (description
6974 "Bluefish is an editor targeted towards programmers and web developers,
6975with many options to write web sites, scripts and other code.
6976Bluefish supports many programming and markup languages.")
6977 (license license:gpl3+)))
1f6a73ee
RS
6978
6979(define-public gnome-system-monitor
6980 (package
6981 (name "gnome-system-monitor")
a5a22d7b 6982 (version "3.26.0")
1f6a73ee
RS
6983 (source
6984 (origin
6985 (method url-fetch)
6986 (uri (string-append "mirror://gnome/sources/" name "/"
6987 (version-major+minor version) "/"
6988 name "-" version ".tar.xz"))
6989 (sha256
6990 (base32
a5a22d7b 6991 "1cz6s0cvagj422f9dc231nvg8jsfkva5s81skpq4q5jyrb1ahj7q"))))
1f6a73ee
RS
6992 (build-system glib-or-gtk-build-system)
6993 (native-inputs
6994 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6995 ("intltool" ,intltool)
6996 ("itstool" ,itstool)
6997 ("libgtop" ,libgtop)
6998 ("pkg-config" ,pkg-config)))
6999 (inputs
7000 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
7001 ("gtk+" ,gtk+)
7002 ("gtkmm" ,gtkmm)
7003 ("librsvg" ,librsvg)
7004 ("libxml2" ,libxml2)))
7005 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
7006 (synopsis "Process viewer and system resource monitor for GNOME")
7007 (description
7008 "GNOME System Monitor is a GNOME process viewer and system monitor with
7009an attractive, easy-to-use interface. It has features, such as a tree view
7010for process dependencies, icons for processes, the ability to hide processes,
7011graphical time histories of CPU/memory/swap usage and the ability to
7012kill/reinice processes.")
7013 (license license:gpl2+)))
3e00ac47
SB
7014
7015(define-public python-pyatspi
7016 (package
7017 (name "python-pyatspi")
7018 (version "2.24.0")
7019 (source (origin
7020 (method url-fetch)
7021 (uri (string-append
7022 "mirror://gnome/sources/pyatspi/"
7023 (version-major+minor version)
7024 "/pyatspi-" version ".tar.xz"))
7025 (sha256
7026 (base32
7027 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
7028 (build-system gnu-build-system)
7029 (native-inputs
7030 `(("pkg-config" ,pkg-config)))
7031 (inputs
7032 `(("python" ,python)
7033 ("python-pygobject" ,python-pygobject)))
7034 (synopsis "Python client bindings for D-Bus AT-SPI")
7035 (home-page "https://wiki.linuxfoundation.org/accessibility\
7036/atk/at-spi/at-spi_on_d-bus")
7037 (description
7038 "This package includes a python client library for the AT-SPI D-Bus
7039accessibility infrastructure.")
7040 (license license:lgpl2.0)
7041 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
7042
7043(define-public orca
7044 (package
7045 (name "orca")
f51ea1cd 7046 (version "3.26.0")
53201c0d
SB
7047 (source (origin
7048 (method url-fetch)
7049 (uri (string-append
7050 "mirror://gnome/sources/" name "/"
7051 (version-major+minor version) "/"
7052 name "-" version ".tar.xz"))
7053 (sha256
7054 (base32
f51ea1cd 7055 "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7"))))
53201c0d
SB
7056 (build-system glib-or-gtk-build-system)
7057 (arguments
7058 '(#:phases
7059 (modify-phases %standard-phases
7060 (add-before 'configure 'qualify-xkbcomp
7061 (lambda* (#:key inputs #:allow-other-keys)
7062 (let ((xkbcomp (string-append
7063 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
7064 (substitute* "src/orca/orca.py"
7065 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
7066 #t))
7067 (add-after 'install 'wrap-orca
7068 (lambda* (#:key outputs #:allow-other-keys)
7069 (let* ((out (assoc-ref outputs "out"))
7070 (prog (string-append out "/bin/orca")))
7071 (wrap-program prog
7072 `("GI_TYPELIB_PATH" ":" prefix
7073 (,(getenv "GI_TYPELIB_PATH")))
7074 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
7075 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
7076 `("PYTHONPATH" ":" prefix
7077 (,(getenv "PYTHONPATH")))))
7078 #t)))))
7079 (native-inputs
7080 `(("intltool" ,intltool)
7081 ("itstool" ,itstool)
7082 ("pkg-config" ,pkg-config)
7083 ("xmllint" ,libxml2)))
7084 (inputs
7085 `(("at-spi2-atk" ,at-spi2-atk)
7086 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7087 ("gstreamer" ,gstreamer)
7088 ("gst-plugins-base" ,gst-plugins-base)
7089 ("gst-plugins-good" ,gst-plugins-good)
7090 ("gtk+" ,gtk+)
7091 ("python" ,python)
7092 ("python-pygobject" ,python-pygobject)
7093 ("python-pyatspi" ,python-pyatspi)
7094 ("python-speechd" ,speech-dispatcher)
7095 ("xkbcomp" ,xkbcomp)))
7096 (synopsis
7097 "Screen reader for individuals who are blind or visually impaired")
7098 (home-page "https://wiki.gnome.org/Projects/Orca")
7099 (description
7100 "Orca is a screen reader that provides access to the graphical desktop
7101via speech and refreshable braille. Orca works with applications and toolkits
7102that support the Assistive Technology Service Provider Interface (AT-SPI).")
7103 (license license:lgpl2.1+)))
411ba511
LC
7104
7105(define-public gspell
7106 (package
7107 (name "gspell")
9b1bb757 7108 (version "1.8.1")
411ba511
LC
7109 (source (origin
7110 (method url-fetch)
7111 (uri (string-append "mirror://gnome/sources/" name "/"
7112 (version-major+minor version) "/"
7113 name "-" version ".tar.xz"))
7114 (sha256
7115 (base32
9b1bb757 7116 "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1"))
411ba511
LC
7117 (patches (search-patches "gspell-dash-test.patch"))))
7118 (build-system glib-or-gtk-build-system)
7119 (arguments
7120 '(#:phases
7121 (modify-phases %standard-phases
7122 (add-before 'check 'pre-check
7123 (lambda* (#:key inputs #:allow-other-keys)
7124 ;; Tests require a running X server.
7125 (system "Xvfb :1 &")
7126 (setenv "DISPLAY" ":1")
7127
7128 ;; For the missing /etc/machine-id.
7129 (setenv "DBUS_FATAL_WARNINGS" "0")
7130
7131 ;; Allow Enchant and its Aspell backend to find the en_US
7132 ;; dictionary.
7133 (setenv "ASPELL_DICT_DIR"
7134 (string-append (assoc-ref inputs "aspell-dict-en")
7135 "/lib/aspell"))
7136 #t)))))
7137 (inputs
eccd35be 7138 `(("gtk+" ,gtk+)
a801ae4c
TGR
7139 ("glib" ,glib)
7140 ("iso-codes" ,iso-codes)))
411ba511
LC
7141 (native-inputs
7142 `(("glib" ,glib "bin")
7143 ("pkg-config" ,pkg-config)
7144 ("xmllint" ,libxml2)
7145
7146 ;; For tests.
a801ae4c
TGR
7147 ("aspell-dict-en" ,aspell-dict-en)
7148 ("xorg-server" ,xorg-server)))
eccd35be 7149 (propagated-inputs
9b1bb757 7150 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
7151 (home-page "https://wiki.gnome.org/Projects/gspell")
7152 (synopsis "GNOME's alternative spell checker")
7153 (description
7154 "gspell provides a flexible API to add spell-checking to a GTK+
7155application. It provides a GObject API, spell-checking to text entries and
7156text views, and buttons to choose the language.")
7157 (license license:gpl2+)))
d1d739fa
CM
7158
7159(define-public gnome-planner
7160 (package
7161 (name "gnome-planner")
7162 (version "0.14.6")
7163 (source (origin
7164 (method url-fetch)
7165 (uri (string-append "mirror://gnome/sources/planner/"
7166 (version-major+minor version) "/planner-"
7167 version ".tar.xz"))
7168 (sha256
7169 (base32
7170 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
7171 (build-system glib-or-gtk-build-system)
7172 (arguments
7173 ;; Disable the Python bindings because the Planner program functions
7174 ;; without them, and (as of 2017-06-13) we have not packaged all of
7175 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
7176 `(#:configure-flags
7177 (list "--disable-python"
7178 ,@(if (string=? "aarch64-linux" (%current-system))
7179 '("--build=aarch64-unknown-linux-gnu")
7180 '()))))
d1d739fa
CM
7181 (inputs
7182 `(("libgnomecanvas" ,libgnomecanvas)
7183 ("libgnomeui" ,libgnomeui)
7184 ("libglade" ,libglade)
7185 ("gnome-vfs" ,gnome-vfs)
7186 ("gconf" ,gconf)
7187 ("libxml2" ,libxml2)
7188 ("libxslt" ,libxslt)
7189 ("gtk+" ,gtk+)
7190 ("glib" ,glib)))
7191 (native-inputs
7192 `(("intltool" ,intltool)
7193 ("scrollkeeper" ,scrollkeeper)
7194 ("pkg-config" ,pkg-config)))
7195 (home-page "https://wiki.gnome.org/Apps/Planner")
7196 (synopsis "Project management software for the GNOME desktop")
7197 (description
7198 "GNOME Planner is a project management tool based on the Work Breakdown
7199Structure (WBS). Its goal is to enable you to easily plan projects. Based on
7200the resources, tasks, and constraints that you define, Planner generates
7201various views into a project. For example, Planner can show a Gantt chart of
7202the project. It can show a detailed summary of tasks including their
7203duration, cost, and current progress. It can also show a report of resource
7204utilization that highlights under-utilized and over-utilized resources. These
7205views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 7206 (license license:gpl2+)))
64fce637
RS
7207
7208(define-public lollypop
7209 (package
7210 (name "lollypop")
b98eace8 7211 (version "0.9.521")
64fce637
RS
7212 (source
7213 (origin
7214 (method url-fetch)
b98eace8
CB
7215 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
7216 "e4df2ed75c5ed71d64afcc668e579b2a/"
64fce637
RS
7217 name "-" version ".tar.xz"))
7218 (sha256
7219 (base32
b98eace8 7220 "0knsqh24siyw98vmiq6b1hzq4y4cazs9f1hq1js9c96hqqj9rvdx"))))
aa498fc0 7221 (build-system meson-build-system)
64fce637
RS
7222 (arguments
7223 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
7224 ,@%meson-build-system-modules)
7225 #:glib-or-gtk? #t
5fc9b6c1
EF
7226 #:tests? #f ; no test suite
7227 #:phases
7228 (modify-phases %standard-phases
5fc9b6c1
EF
7229 (add-after 'install 'wrap-program
7230 (lambda* (#:key outputs #:allow-other-keys)
7231 (let ((out (assoc-ref outputs "out"))
7232 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7233 (wrap-program (string-append out "/bin/lollypop")
7234 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7235 #t))
7236 (add-after 'install 'wrap
7237 (@@ (guix build python-build-system) wrap)))))
64fce637
RS
7238 (native-inputs
7239 `(("intltool" ,intltool)
7240 ("itstool" ,itstool)
aa498fc0
TD
7241 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7242 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
7243 ("pkg-config" ,pkg-config)))
7244 (inputs
7245 `(("gobject-introspection" ,gobject-introspection)
5fc9b6c1 7246 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
7247 ("libnotify" ,libnotify)
7248 ("libsecret" ,libsecret)
7249 ("libsoup" ,libsoup)
7250 ("python" ,python)
7251 ("python-beautifulsoup4" ,python-beautifulsoup4)
7252 ("python-gst" ,python-gst)
7253 ("python-pycairo" ,python-pycairo)
7254 ("python-pygobject" ,python-pygobject)
7255 ("python-pylast" ,python-pylast)
7256 ("totem-pl-parser" ,totem-pl-parser)
7257 ("webkitgtk" ,webkitgtk)))
7258 (propagated-inputs
7259 `(;; gst-plugins-base is required to start Lollypop,
7260 ;; the others are required to play streaming.
64fce637
RS
7261 ("gst-plugins-good" ,gst-plugins-good)
7262 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 7263 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
7264 (synopsis "GNOME music playing application")
7265 (description
7266 "Lollypop is a music player designed to play well with GNOME desktop.
7267Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
7268from artists and tracks from the web. It also fetches cover artworks
7269automatically and it can stream songs from online music services and charts.")
7270 (license license:gpl3+)))
d831d49d
AW
7271
7272(define-public gnome-video-effects
7273 (package
7274 (name "gnome-video-effects")
7275 (version "0.4.3")
7276 (source (origin
7277 (method url-fetch)
7278 (uri (string-append "mirror://gnome/sources/" name "/"
7279 (version-major+minor version) "/" name "-"
7280 version ".tar.xz"))
7281 (sha256
7282 (base32
7283 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
7284 (build-system glib-or-gtk-build-system)
7285 (arguments
7286 `(#:out-of-source? #f))
7287 (native-inputs
7288 `(("glib:bin" ,glib "bin")
7289 ("intltool" ,intltool)
7290 ("gettext" ,gettext-minimal)
7291 ("pkg-config" ,pkg-config)))
7292 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
7293 (synopsis "Video effects for Cheese and other GNOME applications")
7294 (description
7295 "A collection of GStreamer video filters and effects to be used in
7296photo-booth-like software, such as Cheese.")
7297 (license license:gpl2+)))
3511c780
AW
7298
7299(define-public cheese
7300 (package
7301 (name "cheese")
4b3480d6 7302 (version "3.28.0")
3511c780
AW
7303 (source (origin
7304 (method url-fetch)
7305 (uri (string-append "mirror://gnome/sources/" name "/"
7306 (version-major+minor version) "/" name "-"
7307 version ".tar.xz"))
7308 (sha256
7309 (base32
4b3480d6 7310 "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw"))))
3511c780
AW
7311 (arguments
7312 ;; Tests require GDK.
7313 `(#:tests? #f
7314 #:phases
7315 (modify-phases %standard-phases
7316 (add-before 'install 'skip-gtk-update-icon-cache
7317 (lambda _
7318 ;; Don't create 'icon-theme.cache'
7319 (substitute* "Makefile"
7320 (("gtk-update-icon-cache") (which "true")))
7321 #t))
7322 (add-after 'install 'wrap-cheese
7323 (lambda* (#:key inputs outputs #:allow-other-keys)
7324 (let ((out (assoc-ref outputs "out"))
7325 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7326 (wrap-program (string-append out "/bin/cheese")
7327 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7328 #t)))))
7329 (build-system glib-or-gtk-build-system)
7330 (native-inputs
7331 `(("glib:bin" ,glib "bin")
7332 ("intltool" ,intltool)
7333 ("itstool" ,itstool)
7334 ("libxml2" ,libxml2)
7335 ("pkg-config" ,pkg-config)
7336 ("vala" ,vala)))
7337 (propagated-inputs
7338 `(("gnome-video-effects" ,gnome-video-effects)))
7339 (inputs
7340 `(("clutter" ,clutter)
7341 ("clutter-gst" ,clutter-gst)
7342 ("clutter-gtk" ,clutter-gtk)
7343 ("gdk-pixbuf" ,gdk-pixbuf)
7344 ("glib" ,glib)
7345 ("gnome-desktop" ,gnome-desktop)
7346 ("gobject-introspection" ,gobject-introspection)
7347 ("gstreamer" ,gstreamer)
7348 ("gst-plugins-base" ,gst-plugins-base)
7349 ("gst-plugins-bad" ,gst-plugins-bad)
7350 ("gtk+" ,gtk+)
7351 ("libcanberra" ,libcanberra)
7352 ("libx11" ,libx11)
7353 ("libxtst" ,libxtst)))
7354 (home-page "https://wiki.gnome.org/Apps/Cheese")
7355 (synopsis "Webcam photo booth software for GNOME")
7356 (description
7357 "Cheese uses your webcam to take photos and videos. Cheese can also
7358apply fancy special effects and lets you share the fun with others.")
7359 (license license:gpl2+)))
3c5dbd2b 7360
7361(define-public sound-juicer
7362 (package
7363 (name "sound-juicer")
7364 (version "3.24.0")
7365 (source
7366 (origin
7367 (method url-fetch)
7368 (uri (string-append "mirror://gnome/sources/" name "/"
7369 (version-major+minor version) "/"
7370 name "-" version ".tar.xz"))
7371 (sha256
7372 (base32
7373 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
7374 (build-system glib-or-gtk-build-system)
7375 (native-inputs
7376 `(("desktop-file-utils" ,desktop-file-utils)
7377 ("intltool" ,intltool)
7378 ("itstool" ,itstool)
7379 ("pkg-config" ,pkg-config)
7380 ("xmllint" ,libxml2)))
7381 (inputs
7382 `(("gtk+" ,gtk+)
7383 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7384 ("gstreamer" ,gstreamer)
7385 ("gst-plugins-base" ,gst-plugins-base)
7386 ("gst-plugins-good" ,gst-plugins-good)
7387 ("iso-codes" ,iso-codes)
7388 ("libbrasero-media3" ,brasero)
7389 ("libcanberra" ,libcanberra)
7390 ("libdiscid" ,libdiscid)
7391 ("libmusicbrainz" ,libmusicbrainz)
7392 ("neon" ,neon)))
7393 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
7394 (synopsis "Audio music cd ripper")
7395 (description "Sound Juicer extracts audio from compact discs and convert it
7396into audio files that a personal computer or digital audio player can play.
7397It supports ripping to any audio codec supported by a GStreamer plugin, such as
7398mp3, Ogg Vorbis and FLAC")
7399 (license license:gpl2+)))
4e3fdeb7 7400
0d3f1708
CB
7401(define-public soundconverter
7402 (package
7403 (name "soundconverter")
fa75a213 7404 (version "3.0.1")
0d3f1708
CB
7405 (source
7406 (origin
7407 (method url-fetch)
7408 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
7409 version "/+download/"
7410 "soundconverter-" version ".tar.xz"))
7411
7412 (sha256
fa75a213 7413 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
7414 (patches
7415 (search-patches
7416 "soundconverter-remove-gconf-dependency.patch"))))
7417 (build-system glib-or-gtk-build-system)
7418 (arguments
7419 `(#:imported-modules ((guix build python-build-system)
7420 (guix build glib-or-gtk-build-system)
7421 ,@%gnu-build-system-modules)
7422
7423 #:modules ((guix build glib-or-gtk-build-system)
7424 (guix build utils)
7425 ((guix build gnu-build-system) #:prefix gnu:)
7426 ((guix build python-build-system) #:prefix python:))
7427
7428 #:phases
7429 (modify-phases %standard-phases
0d3f1708
CB
7430 (add-after 'install 'wrap-soundconverter-for-python
7431 (assoc-ref python:%standard-phases 'wrap))
7432 (add-after 'install 'wrap-soundconverter
7433 (lambda* (#:key inputs outputs #:allow-other-keys)
7434 (let ((out (assoc-ref outputs "out"))
7435 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7436 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7437 (wrap-program (string-append out "/bin/soundconverter")
7438 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7439 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7440 #t)))))
7441 (native-inputs
7442 `(("intltool" ,intltool)
7443 ("pkg-config" ,pkg-config)
7444 ("glib:bin" ,glib "bin")))
7445 (inputs
7446 `(("gtk+" ,gtk+)
7447 ("python" ,python)
7448 ("python-pygobject" ,python-pygobject)
7449 ("gstreamer" ,gstreamer)
7450 ("gst-plugins-base" ,gst-plugins-base)))
7451 (home-page "http://soundconverter.org/")
7452 (synopsis "Convert between audio formats with a graphical interface")
7453 (description
7454 "SoundConverter supports converting between many audio formats including
7455Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
7456configurable file renaming. ")
7457 (license license:gpl3)))
7458
4e3fdeb7 7459(define-public workrave
89f2d736
TGR
7460 (package
7461 (name "workrave")
c2e50474 7462 (version "1.10.23")
89f2d736
TGR
7463 (source
7464 (origin
7465 (method git-fetch)
7466 (uri (git-reference
7467 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
7468 (commit (string-append "v" (string-map
7469 (match-lambda (#\. #\_) (chr chr))
7470 version)))))
89f2d736
TGR
7471 (file-name (git-file-name name version))
7472 (sha256
c2e50474 7473 (base32 "1qhlwfhwk5agv4904d6bsf83k9k89q7bms6agg967vsca4905vcw"))))
89f2d736
TGR
7474 (build-system glib-or-gtk-build-system)
7475 (propagated-inputs `(("glib" ,glib)
7476 ("gtk+" ,gtk+)
7477 ("gdk-pixbuf" ,gdk-pixbuf)
7478 ("gtkmm" ,gtkmm)
7479 ("glibmm" ,glibmm)
7480 ("libx11" ,libx11)
7481 ("libxtst" ,libxtst)
7482 ("dconf" ,dconf)
7483 ("libice" ,libice)))
7484 (inputs `(("libsm" ,libsm)
7485 ("python-cheetah" ,python2-cheetah)))
7486 (native-inputs `(("glib" ,glib "bin")
7487 ("pkg-config" ,pkg-config)
7488 ("gettext" ,gnu-gettext)
7489 ("autoconf" ,autoconf)
7490 ("autoconf-archive" , autoconf-archive)
7491 ("automake" ,automake)
7492 ("libtool" ,libtool)
7493 ("intltool" ,intltool)
7494 ("libxscrnsaver" ,libxscrnsaver)
7495 ("gobject-introspection" ,gobject-introspection)
7496 ("python2" ,python-2)))
7497 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
7498 (description
7499 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
7500repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
7501micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
7502 (home-page "http://www.workrave.org")
7503 (license license:gpl3+)))
312afa7d
LC
7504
7505(define-public ghex
7506 (package
7507 (name "ghex")
7508 (version "3.18.3")
7509 (source (origin
7510 (method url-fetch)
2fbab848 7511 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 7512 (version-major+minor version) "/"
2fbab848 7513 "ghex-" version ".tar.xz"))
312afa7d
LC
7514 (sha256
7515 (base32
7516 "1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66"))))
7517 (build-system glib-or-gtk-build-system)
7518 (native-inputs
7519 `(("pkg-config" ,pkg-config)
7520 ("gnome-common" ,gnome-common)
7521 ("which" ,which)
7522 ("intltool" ,intltool)
7523 ("yelp-tools" ,yelp-tools)
2fbab848 7524 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
7525 (inputs
7526 `(("atk" ,atk)
7527 ("gtk" ,gtk+)))
7528 (synopsis "GNOME hexadecimal editor")
7529 (description "The GHex program can view and edit files in two ways:
7530hexadecimal or ASCII. It is useful for editing binary files in general.")
7531 (home-page "https://wiki.gnome.org/Apps/Ghex")
7532 (license license:gpl2)))
4b2ed6c2
RW
7533
7534(define-public libdazzle
7535 (package
7536 (name "libdazzle")
7537 (version "3.28.5")
7538 (source (origin
7539 (method url-fetch)
687b4909 7540 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 7541 (version-major+minor version) "/"
687b4909 7542 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
7543 (sha256
7544 (base32
7545 "08qdwv2flywnh6kibkyv0pnm67pk8xlmjh4yqx6hf13hyhkxkqgg"))))
7546 (build-system meson-build-system)
7547 (arguments
7548 `(#:phases
7549 (modify-phases %standard-phases
7550 (add-after 'unpack 'disable-failing-test
7551 (lambda _
7552 ;; Disable failing test.
7553 (substitute* "tests/meson.build"
7554 (("test\\('test-application") "#"))
7555 #t))
7556 (add-before 'check 'pre-check
7557 (lambda _
7558 ;; Tests require a running X server.
7559 (system "Xvfb :1 &")
7560 (setenv "DISPLAY" ":1")
7561 #t)))))
7562 (native-inputs
687b4909 7563 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 7564 ("pkg-config" ,pkg-config)
687b4909 7565 ;; For tests.
4b2ed6c2
RW
7566 ("xorg-server" ,xorg-server)))
7567 (inputs
7568 `(("glib" ,glib)
7569 ("gobject-introspection" ,gobject-introspection)
7570 ("gtk+" ,gtk+)
7571 ("vala" ,vala)))
7572 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
7573 (synopsis "Companion library to GObject and Gtk+")
7574 (description "The libdazzle library is a companion library to GObject and
7575Gtk+. It provides various features that the authors wish were in the
7576underlying library but cannot for various reasons. In most cases, they are
7577wildly out of scope for those libraries. In other cases, they are not quite
7578generic enough to work for everyone.")
7579 (license license:gpl3+)))