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