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