gnu: r-fastseg: Update to 1.30.0.
[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")
9ec54965 3144 (version "0.99.8")
a1d5bb0e
AW
3145 (source (origin
3146 (method url-fetch)
9ec54965
MB
3147 (uri (string-append "https://gitlab.freedesktop.org/upower/upower/"
3148 "uploads/9125ab7ee96fdc4ecc68cfefb50c1cab/"
3149 "upower-" version ".tar.xz"))
a1d5bb0e
AW
3150 (sha256
3151 (base32
9ec54965 3152 "00lzr0vyxz5lvmgya48gdb2cdgmfdim4b34jlfdyqakk1i9sl8xv"))
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)))))
e0e6756f 5658 ;; Look for custom GDM conf in /run/current-system.
950d8e5d 5659 (substitute* '("common/gdm-settings-desktop-backend.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"))
5840 (tzdata (assoc-ref inputs "tzdata")))
5841 (substitute* "panels/datetime/tz.h"
5842 (("/usr/share/zoneinfo/zone.tab")
5843 (string-append tzdata "/share/zoneinfo/zone.tab")))
5844 (substitute* "panels/datetime/test-endianess.c"
5845 (("/usr/share/locale")
5846 (string-append libc "/share/locale")))
5847 #t))))))
5848 (native-inputs
5849 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 5850 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
5851 ("intltool" ,intltool)
5852 ("pkg-config" ,pkg-config)
5853 ("xsltproc" ,libxslt)))
5854 (inputs
5855 `(("accountsservice" ,accountsservice)
5856 ("clutter-gtk" ,clutter-gtk)
5857 ("colord-gtk" ,colord-gtk)
5858 ("cups" ,cups)
5859 ("dconf" ,dconf)
5860 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5861 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5862 ("gnome-bluetooth" ,gnome-bluetooth)
5863 ("gnome-desktop" ,gnome-desktop)
5864 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 5865 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
b645146f
SB
5866 ("gnome-settings-daemon" ,gnome-settings-daemon)
5867 ("grilo" ,grilo)
5868 ("ibus" ,ibus)
5869 ("libcanberra" ,libcanberra)
5870 ("libgudev" ,libgudev)
5871 ("libgtop" ,libgtop)
5872 ("libpwquality" ,libpwquality)
5873 ("libsoup" ,libsoup)
5874 ("libxml2" ,libxml2)
5875 ("libwacom" ,libwacom)
5876 ("mesa" ,mesa)
5877 ("mit-krb5" ,mit-krb5)
5878 ("modem-manager" ,modem-manager)
5879 ("network-manager-applet" ,network-manager-applet)
5880 ("polkit" ,polkit)
5881 ("pulseaudio" ,pulseaudio)
5882 ("smbclient" ,samba)
5883 ("tzdata" ,tzdata)
5884 ("upower" ,upower)))
5885 (synopsis "Utilities to configure the GNOME desktop")
5886 (home-page "https://www.gnome.org/")
5887 (description
5888 "This package contains configuration applets for the GNOME desktop,
5889allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5890properties, sound setup, desktop theme and background, user interface
5891properties, screen resolution, and other GNOME parameters.")
5892 (license license:gpl2+)))
a4df5756
SB
5893
5894(define-public gnome-shell
5895 (package
5896 (name "gnome-shell")
2b0c755d 5897 (version "3.28.2")
a4df5756
SB
5898 (source (origin
5899 (method url-fetch)
5900 (uri (string-append "mirror://gnome/sources/" name "/"
5901 (version-major+minor version) "/"
5902 name "-" version ".tar.xz"))
5903 (sha256
5904 (base32
2b0c755d 5905 "1b9n89ij2g5nqaqp7a13jnqcd8qa2v9p55rbi71al3xvqk091ri7"))
a76d0f03
LC
5906 (patches (search-patches "gnome-shell-theme.patch"))
5907 (modules '((guix build utils)))
5908 (snippet
5909 #~(begin
a76d0f03
LC
5910 ;; Copy images for use on the GDM log-in screen.
5911 (copy-file #$(file-append %artwork-repository
5912 "/slim/0.x/background.png")
5913 "data/theme/guix-background.png")
45fef894
LC
5914 (copy-file #$(file-append %artwork-repository
5915 "/logo/Guix-horizontal-white.svg")
5916 "data/theme/guix-logo.svg")
a76d0f03 5917 #t))))
2b0c755d 5918 (build-system meson-build-system)
a4df5756 5919 (arguments
08185081
MB
5920 `(#:glib-or-gtk? #t
5921 #:disallowed-references ((,glib "bin")
11e1df56
LC
5922 ,inkscape ,libxslt
5923 ,ruby-sass)
2b0c755d
RW
5924 #:configure-flags
5925 (list "-Dsystemd=false"
5926 ;; Otherwise, the RUNPATH will lack the final path component.
5927 (string-append "-Dc_link_args=-Wl,-rpath="
5928 (assoc-ref %outputs "out")
5929 "/lib/gnome-shell"))
11e1df56 5930
08185081 5931 #:modules ((guix build meson-build-system)
11e1df56
LC
5932 (guix build utils)
5933 (srfi srfi-1))
5934
5935 #:phases
a4df5756 5936 (modify-phases %standard-phases
2b0c755d 5937 (add-after 'unpack 'fix-keysdir
a4df5756
SB
5938 (lambda* (#:key outputs #:allow-other-keys)
5939 (let* ((out (assoc-ref outputs "out"))
5940 (keysdir (string-append
5941 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
5942 (substitute* "meson.build"
5943 (("keysdir =.*")
5944 (string-append "keysdir = '" keysdir "'\n")))
5945 #t)))
ebfe259f 5946 (add-before 'configure 'convert-logo-to-png
45fef894
LC
5947 (lambda* (#:key inputs #:allow-other-keys)
5948 ;; Convert the logo from SVG to PNG.
5949 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
5950 "data/theme/guix-logo.svg")))
ba00235a 5951 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
5952 (lambda* (#:key inputs #:allow-other-keys)
5953 (substitute* "js/misc/ibusManager.js"
5954 (("'ibus-daemon'")
5955 (string-append "'" (assoc-ref inputs "ibus")
5956 "/bin/ibus-daemon'")))
d6fda4d3
LC
5957 (substitute* "js/ui/status/keyboard.js"
5958 (("'gkbd-keyboard-display'")
5959 (string-append "'" (assoc-ref inputs "libgnomekbd")
5960 "/bin/gkbd-keyboard-display'")))
2472cdec 5961 #t))
2b0c755d
RW
5962 (add-before 'check 'pre-check
5963 (lambda* (#:key inputs #:allow-other-keys)
5964 ;; Tests require a running X server.
5965 (system "Xvfb :1 &")
5966 (setenv "DISPLAY" ":1")
5967 #t))
5968 (add-after 'install 'wrap-programs
5969 (lambda* (#:key inputs outputs #:allow-other-keys)
5970 (let ((out (assoc-ref outputs "out"))
5971 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5972 (python-path (getenv "PYTHONPATH")))
5973 (wrap-program (string-append out "/bin/gnome-shell")
5974 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5975 ;; FIXME: gnome-shell loads these libraries with unqualified
5976 ;; names only, so they need to be on LD_LIBRARY_PATH. The
5977 ;; alternative might be to patch gnome-shell.
5978 `("LD_LIBRARY_PATH" ":" prefix
5979 ,(map (lambda (pkg)
5980 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
5981 '("gdk-pixbuf"
5982 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
5983 (for-each
5984 (lambda (prog)
5985 (wrap-program (string-append out "/bin/" prog)
5986 `("PYTHONPATH" ":" prefix (,python-path))
5987 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5988 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 5989 #t)))
11e1df56
LC
5990 (replace 'glib-or-gtk-wrap
5991 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
5992 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
5993 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
5994 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
5995 ;; phase. Fix that since we don't need these.
5996 (wrap #:inputs (fold alist-delete inputs
5997 '("inkscape" "intltool" "glib:bin"))
5998 #:outputs outputs)))))))
a4df5756
SB
5999 (native-inputs
6000 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 6001 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 6002 ("gobject-introspection" ,gobject-introspection)
ebfe259f 6003 ("inkscape" ,inkscape)
a4df5756
SB
6004 ("intltool" ,intltool)
6005 ("pkg-config" ,pkg-config)
6006 ("python" ,python)
45fef894 6007 ("ruby-sass" ,ruby-sass)
2b0c755d 6008 ("sassc" ,sassc)
a76d0f03 6009 ("xsltproc" ,libxslt)
2b0c755d 6010 ;; For tests
0b4504f6 6011 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
6012 (inputs
6013 `(("accountsservice" ,accountsservice)
6014 ("caribou" ,caribou)
6015 ("docbook-xsl" ,docbook-xsl)
6016 ("evolution-data-server" ,evolution-data-server)
6017 ("gcr" ,gcr)
6018 ("gdm" ,gdm)
c5db31d4 6019 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
6020 ("gjs" ,gjs)
6021 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
6022 ("gnome-desktop" ,gnome-desktop)
6023 ("gnome-settings-daemon" ,gnome-settings-daemon)
6024 ("gst-plugins-base" ,gst-plugins-base)
6025 ("ibus" ,ibus)
6026 ("libcanberra" ,libcanberra)
6027 ("libcroco" ,libcroco)
d6fda4d3 6028 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
6029 ("libgweather" ,libgweather)
6030 ("libsoup" ,libsoup)
6031 ("mesa-headers" ,mesa-headers)
6032 ("mutter" ,mutter)
6033 ("network-manager-applet" ,network-manager-applet)
6034 ("polkit" ,polkit)
6035 ("pulseaudio" ,pulseaudio)
6036 ("python-pygobject" ,python-pygobject)
6037 ("startup-notification" ,startup-notification)
6038 ("telepathy-logger" ,telepathy-logger)
6039 ("upower" ,upower)
30e760f0
MB
6040 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
6041 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
6042 ("librsvg" ,librsvg)
2b0c755d 6043 ("geoclue" ,geoclue)))
a4df5756
SB
6044 (synopsis "Desktop shell for GNOME")
6045 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
6046 (description
6047 "GNOME Shell provides core user interface functions for the GNOME desktop,
6048like switching to windows and launching applications.")
6049 (license license:gpl2+)))
c3f29bc9
RS
6050
6051(define-public gtk-vnc
6052 (package
6053 (name "gtk-vnc")
965ff023 6054 (version "0.9.0")
c3f29bc9
RS
6055 (source
6056 (origin
6057 (method url-fetch)
6058 (uri (string-append "mirror://gnome/sources/" name "/"
6059 (version-major+minor version) "/"
6060 name "-" version ".tar.xz"))
6061 (sha256
6062 (base32
965ff023 6063 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
6064 (build-system gnu-build-system)
6065 (arguments
6066 '(#:configure-flags '("--with-gtk=3.0")))
6067 (propagated-inputs
6068 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
6069 (inputs
6070 `(("cyrus-sasl" ,cyrus-sasl)
6071 ("gnutls" ,gnutls)
6072 ("libgcrypt" ,libgcrypt)
6073 ("pulseaudio" ,pulseaudio)))
6074 (native-inputs
6075 `(("glib:bin" ,glib "bin")
6076 ("gobject-introspection" ,gobject-introspection)
6077 ("intltool" ,intltool)
6078 ("pkg-config" ,pkg-config)
2f17e939 6079 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
6080 ("vala" ,vala)))
6081 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
6082 (synopsis "VNC viewer widget for GTK+")
6083 (description
6084 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
6085applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
6086GTK-VNC implements client side RFB protocol and authentication extensions such
6087as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
6088 (license license:lgpl2.1+)))
8b877545 6089
dc69fe18
MW
6090(define-public gnome-autoar
6091 (package
6092 (name "gnome-autoar")
c7da8510 6093 (version "0.2.3")
dc69fe18
MW
6094 (source (origin
6095 (method url-fetch)
6096 (uri (string-append "mirror://gnome/sources/" name "/"
6097 (version-major+minor version) "/"
6098 name "-" version ".tar.xz"))
6099 (sha256
6100 (base32
c7da8510 6101 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
6102 (build-system glib-or-gtk-build-system)
6103 (native-inputs
6104 `(("gnome-common" ,gnome-common)
6105 ("gobject-introspection" ,gobject-introspection)
6106 ("pkg-config" ,pkg-config)))
6107 (propagated-inputs
6108 `(("libarchive" ,libarchive))) ; XXX document why
6109 (inputs
6110 `(("gtk+" ,gtk+)
6111 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
6112 (synopsis "Archives integration support for GNOME")
6113 (home-page "https://git.gnome.org/browse/gnome-autoar/")
6114 (description
6115 "GNOME Autoar is a library which makes creating and extracting archives
6116easy, safe, and automatic.")
6117 (license license:lgpl2.1+)))
6118
b64e217f
MW
6119(define-public tracker
6120 (package
6121 (name "tracker")
c8bdf589 6122 (version "2.0.4")
b64e217f
MW
6123 (source (origin
6124 (method url-fetch)
6125 (uri (string-append "mirror://gnome/sources/" name "/"
6126 (version-major+minor version) "/"
6127 name "-" version ".tar.xz"))
6128 (sha256
6129 (base32
c8bdf589 6130 "1mfc5lv820kr7ssi7hldn25gmshh65k19kh478qjsnb64sshsbyf"))))
b64e217f 6131 (build-system glib-or-gtk-build-system)
c8bdf589
RW
6132 (arguments
6133 `(#:phases
6134 (modify-phases %standard-phases
6135 (add-after 'unpack 'disable-broken-tests
6136 (lambda _
6137 ;; FIXME: Most of these fail with GLib-GIO-FATAL-ERROR: Settings
6138 ;; schema 'org.freedesktop.Tracker.FTS' is not installed.
6139 (substitute* "tests/libtracker-miner/Makefile.in"
6140 (("tracker-file-notifier-test\\$\\(EXEEXT\\)") "")
6141 (("tracker-miner-fs-test\\$\\(EXEEXT\\)") "")
6142 (("tracker-monitor-test\\$\\(EXEEXT\\)") ""))
6143 (substitute* "tests/libtracker-fts/Makefile.in"
6144 (("tracker-fts-test\\$\\(EXEEXT\\)") ""))
6145 (substitute* "tests/libtracker-data/Makefile.in"
6146 (("tracker-ontology\\$\\(EXEEXT\\)") "")
6147 (("tracker-ontology-change\\$\\(EXEEXT\\)") "")
6148 (("tracker-backup\\$\\(EXEEXT\\)") "")
6149 (("tracker-sparql-blank\\$\\(EXEEXT\\)") "")
6150 (("tracker-sparql\\$\\(EXEEXT\\)") ""))
6151 ;; These fail because the SPARQL backend could not be loaded.
6152 ;; That's because /etc/machine-id is missing, but
6153 ;; DBUS_FATAL_WARNINGS does not help here.
6154 (substitute* "tests/libtracker-sparql/Makefile.in"
6155 (("tracker-gb-737023-test\\$\\(EXEEXT\\)") "")
6156 (("tracker-sparql-test\\$\\(EXEEXT\\)") ""))
6157 (substitute* "tests/tracker-steroids/Makefile.in"
6158 (("tracker-test\\$\\(EXEEXT\\)") ""))
6159 #t))
6160 ;; Two tests fail if LANG is not set.
6161 (add-before 'check 'pre-check
6162 (lambda _
6163 (setenv "LANG" "en_US.UTF-8")
6164 ;; For the missing /etc/machine-id.
6165 (setenv "DBUS_FATAL_WARNINGS" "0")
6166 #t)))))
b64e217f
MW
6167 (native-inputs
6168 `(("gnome-common" ,gnome-common)
6169 ("gobject-introspection" ,gobject-introspection)
6170 ("intltool" ,intltool)
6171 ("pkg-config" ,pkg-config)
6172 ("vala" ,vala)))
6173 (inputs
6174 `(("gtk+" ,gtk+)
6175 ("dbus" ,dbus)
6176 ("gstreamer" ,gstreamer)
6177 ("gst-plugins-base" ,gst-plugins-base)
44ed6284 6178 ("sqlite" ,sqlite)
b64e217f 6179 ("nettle" ,nettle) ; XXX why is this needed?
c8bdf589 6180 ("python" ,python)
b64e217f
MW
6181 ("poppler" ,poppler)
6182 ("libgsf" ,libgsf)
6183 ("libexif" ,libexif)
6184 ("libpng" ,libpng)
6185 ("libtiff" ,libtiff)
6186 ("libvorbis" ,libvorbis)
6187 ("flac" ,flac)
6188 ("totem-pl-parser" ,totem-pl-parser)
6189 ("zlib" ,zlib)
6190 ("exempi" ,exempi)
6191 ("libxml2" ,libxml2)
6192 ("upower" ,upower)
b64e217f
MW
6193 ("libunistring" ,libunistring)
6194 ("giflib" ,giflib)
0ef48cd9 6195 ("json-glib" ,json-glib)
b64e217f
MW
6196 ("openjpeg" ,openjpeg-1)
6197 ("libosinfo" ,libosinfo)
6198 ("libcue" ,libcue)
6199 ("libseccomp" ,libseccomp)
0ef48cd9 6200 ("libsoup" ,libsoup)
b64e217f 6201 ("libuuid" ,util-linux)))
b64e217f
MW
6202 (synopsis "Metadata database, indexer and search tool")
6203 (home-page "https://wiki.gnome.org/Projects/Tracker")
6204 (description
6205 "Tracker is an advanced framework for first class objects with associated
6206metadata and tags. It provides a one stop solution for all metadata, tags,
6207shared object databases, search tools and indexing.")
6208 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
6209 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
6210 (license (list license:gpl2+
6211 license:lgpl2.1+
6212 license:lgpl2.0+))))
6213
8b877545
RS
6214(define-public nautilus
6215 (package
6216 (name "nautilus")
caf6c363 6217 (version "3.28.1")
8b877545
RS
6218 (source (origin
6219 (method url-fetch)
6220 (uri (string-append "mirror://gnome/sources/" name "/"
6221 (version-major+minor version) "/"
6222 name "-" version ".tar.xz"))
6223 (sha256
6224 (base32
caf6c363 6225 "19dhpa2ylrg8d5274lahy7xqr2p9z3jnq1h4qmsh95czkpy7is4w"))))
35e2d0cf 6226 (build-system meson-build-system)
8b877545 6227 (arguments
35e2d0cf 6228 '(#:glib-or-gtk? #t
8b877545
RS
6229 ;; XXX: FAIL: check-nautilus
6230 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
6231 #:tests? #f))
6232 (native-inputs
35e2d0cf
R
6233 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6234 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6235 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
6236 ("gobject-introspection" ,gobject-introspection)
6237 ("intltool" ,intltool)
6238 ("pkg-config" ,pkg-config)))
8b877545 6239 (inputs
8b877545 6240 `(("dconf" ,dconf)
caf6c363 6241 ("gexiv2" ,gexiv2)
dd05e731 6242 ("gvfs" ,gvfs)
8b877545
RS
6243 ("exempi" ,exempi)
6244 ("gnome-desktop" ,gnome-desktop)
09d88905 6245 ("gnome-autoar" ,gnome-autoar)
35e2d0cf
R
6246 ("libselinux" ,libselinux)
6247 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
09d88905 6248 ("tracker" ,tracker)
ce6027bf
SB
6249 ;; XXX: gtk+ is required by libnautilus-extension.pc
6250 ;;
6251 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
6252 ;; package. See:
6253 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
6254 ("gtk+" ,gtk+)
8b877545
RS
6255 ("libexif" ,libexif)
6256 ("libxml2" ,libxml2)))
6257 (synopsis "File manager for GNOME")
6258 (home-page "https://wiki.gnome.org/Apps/Nautilus")
6259 (description
6260 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
6261design and behaviour, giving the user a simple way to navigate and manage its
6262files.")
6263 (license license:gpl2+)))
3c697ffd
JR
6264
6265(define-public baobab
6266 (package
6267 (name "baobab")
d233d373 6268 (version "3.28.0")
3c697ffd
JR
6269 (source (origin
6270 (method url-fetch)
6271 (uri (string-append
6272 "mirror://gnome/sources/" name "/"
6273 (version-major+minor version) "/"
6274 name "-" version ".tar.xz"))
6275 (sha256
6276 (base32
d233d373
RJ
6277 "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk"))))
6278 (build-system meson-build-system)
6279 (arguments
6280 '(#:glib-or-gtk? #t))
3c697ffd
JR
6281 (native-inputs
6282 `(("intltool" ,intltool)
6283 ("pkg-config" ,pkg-config)
d233d373
RJ
6284 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6285 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
6286 ("itstool" ,itstool)
6287 ("xmllint" ,libxml2)
6288 ("glib" ,glib "bin")
6289 ("vala" ,vala)))
6290 (inputs
6291 `(("gtk+" ,gtk+)))
6292 (synopsis "Disk usage analyzer for GNOME")
6293 (description
6294 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
6295usage in the GNOME desktop environment. It can easily scan device volumes or
6296a specific user-requested directory branch (local or remote). Once the scan
6297is complete it provides a graphical representation of each selected folder.")
6298 (home-page "https://wiki.gnome.org/Apps/Baobab")
6299 (license license:gpl2+)))
dc050251 6300
fdba447c
RS
6301(define-public gnome-backgrounds
6302 (package
6303 (name "gnome-backgrounds")
9ca381f0 6304 (version "3.28.0")
fdba447c
RS
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "mirror://gnome/sources/" name "/"
6309 (version-major+minor version) "/"
6310 name "-" version ".tar.xz"))
6311 (sha256
6312 (base32
9ca381f0
RW
6313 "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj"))))
6314 (build-system meson-build-system)
fdba447c
RS
6315 (native-inputs
6316 `(("intltool" ,intltool)))
6317 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
6318 (synopsis "Background images for the GNOME desktop")
6319 (description
6320 "GNOME backgrounds package contains a collection of graphics files which
6321can be used as backgrounds in the GNOME Desktop environment. Additionally,
6322the package creates the proper framework and directory structure so that you
6323can add your own files to the collection.")
6324 (license (list license:gpl2+
6325 license:cc-by2.0
6326 license:cc-by-sa2.0
6327 license:cc-by-sa3.0))))
6328
b784b1a9
RS
6329(define-public gnome-screenshot
6330 (package
6331 (name "gnome-screenshot")
8356aefa 6332 (version "3.26.0")
b784b1a9
RS
6333 (source
6334 (origin
6335 (method url-fetch)
6336 (uri (string-append "mirror://gnome/sources/" name "/"
6337 (version-major+minor version) "/"
6338 name "-" version ".tar.xz"))
6339 (sha256
6340 (base32
8356aefa
RW
6341 "1fy8fjl29i3xhj8caik03d3za06x96xgkk8r4fwz88iqbmci3g0v"))))
6342 (build-system meson-build-system)
b784b1a9
RS
6343 (native-inputs
6344 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
6345 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6346 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 6347 ("intltool" ,intltool)
8356aefa 6348 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
6349 ("pkg-config" ,pkg-config)))
6350 (inputs
6351 `(("gtk+" ,gtk+)
6352 ("libcanberra" ,libcanberra)
6353 ("libx11" ,libx11)
6354 ("libxext" ,libxext)))
6355 (home-page "https://git.gnome.org/browse/gnome-screenshot")
6356 (synopsis "Take pictures of your screen")
6357 (description
6358 "GNOME Screenshot is a utility used for taking screenshots of the entire
6359screen, a window or a user defined area of the screen, with optional
6360beautifying border effects.")
6361 (license license:gpl2+)))
6362
66d59111
RS
6363(define-public dconf-editor
6364 (package
6365 (name "dconf-editor")
294ff39d 6366 (version "3.28.0")
66d59111
RS
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (string-append "mirror://gnome/sources/" name "/"
6371 (version-major+minor version) "/"
6372 name "-" version ".tar.xz"))
6373 (sha256
6374 (base32
294ff39d
RW
6375 "0nhcpwqrkmpxbhaf0cafvy6dlp6s7vhm5vknl4lgs3l24zc56ns5"))))
6376 (build-system meson-build-system)
66d59111
RS
6377 (native-inputs
6378 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 6379 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 6380 ("intltool" ,intltool)
294ff39d
RW
6381 ("pkg-config" ,pkg-config)
6382 ("vala" ,vala)))
66d59111
RS
6383 (inputs
6384 `(("dconf" ,dconf)
6385 ("gtk+" ,gtk+)
6386 ("libxml2" ,libxml2)))
6387 (home-page "https://git.gnome.org/browse/dconf-editor")
6388 (synopsis "Graphical editor for GNOME's dconf configuration system")
6389 (description
6390 "Dconf-editor is a graphical tool for browsing and editing the dconf
6391configuration system for GNOME. It allows users to configure desktop
6392software that do not provide their own configuration interface.")
6393 (license license:lgpl2.1+)))
6394
96d36f38
AW
6395(define-public gnome-default-applications
6396 (package
6397 (name "gnome-default-applications")
6398 (version "0")
6399 (build-system trivial-build-system)
6400 (source #f)
6401 (propagated-inputs
8ad4f0aa
LC
6402 `(("nautilus" ,nautilus)
6403 ("evince" ,evince)))
96d36f38
AW
6404 (arguments
6405 `(#:modules ((guix build utils))
6406 #:builder
6407 (begin
6408 (use-modules (guix build utils))
6409 (let* ((out (assoc-ref %outputs "out"))
6410 (apps (string-append out "/share/applications")))
6411 (mkdir-p apps)
6412 (call-with-output-file (string-append apps "/defaults.list")
6413 (lambda (port)
6414 (format port "[Default Applications]\n")
8ad4f0aa
LC
6415 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
6416 (format port "application/pdf=evince.desktop\n")
6417 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
6418 #t))))
6419 (synopsis "Default MIME type associations for the GNOME desktop")
6420 (description
6421 "Given many installed packages which might handle a given MIME type, a
6422user running the GNOME desktop probably has some preferences: for example,
6423that folders be opened by default by the Nautilus file manager, not the Baobab
6424disk usage analyzer. This package establishes that set of default MIME type
6425associations for GNOME.")
6426 (license license:gpl3+)
6427 (home-page #f)))
6428
dc050251
SB
6429(define-public gnome
6430 (package
6431 (name "gnome")
6432 (version (package-version gnome-shell))
6433 (source #f)
6434 (build-system trivial-build-system)
e3cfef22 6435 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251
SB
6436 (propagated-inputs
6437 ;; TODO: Add more packages according to:
6438 ;; <https://packages.debian.org/jessie/gnome-core>.
6439 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 6440 ("baobab" ,baobab)
0bd3597b 6441 ("font-cantarell" ,font-cantarell)
a9dbefdc 6442 ("font-dejavu" ,font-dejavu)
dc050251
SB
6443 ("at-spi2-core" ,at-spi2-core)
6444 ("dbus" ,dbus)
6445 ("dconf" ,dconf)
72360453 6446 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
6447 ("eog" ,eog)
6448 ("epiphany" ,epiphany)
6449 ("evince" ,evince)
71d9b980 6450 ("file-roller" ,file-roller)
dc050251
SB
6451 ("gedit" ,gedit)
6452 ("glib-networking" ,glib-networking)
05f651c4 6453 ("gnome-backgrounds" ,gnome-backgrounds)
63ad9b80
AW
6454 ("gnome-bluetooth" ,gnome-bluetooth)
6455 ("gnome-calculator" ,gnome-calculator)
dc050251 6456 ("gnome-control-center" ,gnome-control-center)
63ad9b80 6457 ("gnome-disk-utility" ,gnome-disk-utility)
96d36f38 6458 ("gnome-default-applications" ,gnome-default-applications)
dc050251 6459 ("gnome-keyring" ,gnome-keyring)
63ad9b80 6460 ("gnome-online-accounts" ,gnome-online-accounts)
dc050251
SB
6461 ("gnome-session" ,gnome-session)
6462 ("gnome-settings-daemon" ,gnome-settings-daemon)
6463 ("gnome-shell" ,gnome-shell)
63ad9b80 6464 ("gnome-system-monitor" ,gnome-system-monitor)
dc050251
SB
6465 ("gnome-terminal" ,gnome-terminal)
6466 ("gnome-themes-standard" ,gnome-themes-standard)
2999dcd5
AW
6467 ("gst-plugins-base" ,gst-plugins-base)
6468 ("gst-plugins-good" ,gst-plugins-good)
63ad9b80 6469 ("gucharmap" ,gucharmap)
05f651c4 6470 ("gvfs" ,gvfs)
dc050251
SB
6471 ("hicolor-icon-theme" ,hicolor-icon-theme)
6472 ("nautilus" ,nautilus)
69308043 6473 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
6474 ("pulseaudio" ,pulseaudio)
6475 ("shared-mime-info" ,shared-mime-info)
f6f4370f 6476 ("system-config-printer" ,system-config-printer)
dc050251 6477 ("totem" ,totem)
c20cd0d2 6478 ("xdg-user-dirs" ,xdg-user-dirs)
dc050251
SB
6479 ("yelp" ,yelp)
6480 ("zenity" ,zenity)))
fe4e698d 6481 (synopsis "The GNU desktop environment")
dc050251
SB
6482 (home-page "https://www.gnome.org/")
6483 (description
fe4e698d
LC
6484 "GNOME is the graphical desktop for GNU. It includes a wide variety of
6485applications for browsing the web, editing text and images, creating
6486documents and diagrams, playing media, scanning, and much more.")
dc050251 6487 (license license:gpl2+)))
4a526711
DT
6488
6489(define-public byzanz
6490 ;; The last stable release of Byzanz was in 2011, but there have been many
6491 ;; useful commits made to the Byzanz repository since then that it would be
6492 ;; silly to use such an old release.
6493 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
6494 (package
6495 (name "byzanz")
6496 (version (string-append "0.2-1." (string-take commit 7)))
6497 (source (origin
6498 (method git-fetch)
6499 (uri (git-reference
5f13bf09 6500 (url "https://git.gnome.org/browse/byzanz")
4a526711 6501 (commit commit)))
5a6527e4 6502 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
6503 (sha256
6504 (base32
6505 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
6506 (build-system glib-or-gtk-build-system)
6507 (arguments
6508 '(#:phases
6509 (modify-phases %standard-phases
189be331 6510 (replace 'bootstrap
4a526711
DT
6511 (lambda _
6512 ;; The build system cleverly detects that we're not building from
6513 ;; a release tarball and turns on -Werror for GCC.
6514 ;; Unsurprisingly, there is a warning during compilation that
6515 ;; causes the build to fail unnecessarily, so we remove the flag.
6516 (substitute* '("configure.ac")
6517 (("-Werror") ""))
6518 ;; The autogen.sh script in gnome-common will run ./configure
6519 ;; by default, which is problematic because source shebangs
6520 ;; have not yet been patched.
6521 (setenv "NOCONFIGURE" "t")
6522 (zero? (system* "sh" "autogen.sh")))))))
6523 (native-inputs
6524 `(("autoconf" ,autoconf)
6525 ("automake" ,automake)
6526 ("gnome-common" ,gnome-common)
6527 ("intltool" ,intltool)
6528 ("libtool" ,libtool)
6529 ("pkg-config" ,pkg-config)
6530 ("which" ,which)))
6531 (inputs
6532 `(("glib" ,glib)
6533 ("gstreamer" ,gstreamer)
6534 ("gst-plugins-base" ,gst-plugins-base)
6535 ("gtk+" ,gtk+)))
6536 (synopsis "Desktop recording program")
6537 (description "Byzanz is a simple desktop recording program with a
6538command-line interface. It can record part or all of an X display for a
6539specified duration and save it as a GIF encoded animated image file.")
6540 (home-page "https://git.gnome.org/browse/byzanz")
6541 (license license:gpl2+))))
3a9a4c51 6542
0ec171ec
MS
6543(define-public gsound
6544 (package
6545 (name "gsound")
6546 (version "1.0.2")
6547 (source (origin
6548 (method url-fetch)
6549 (uri (string-append "mirror://gnome/sources/" name "/"
6550 (version-major+minor version) "/"
6551 name "-" version ".tar.xz"))
6552 (sha256
6553 (base32
6554 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
6555 (build-system glib-or-gtk-build-system)
6556 (native-inputs
6557 `(("pkg-config" ,pkg-config)
6558 ("gobject-introspection" ,gobject-introspection)
6559 ("vala" ,vala)))
6560 (inputs
6561 `(("glib" ,glib)
6562 ("libcanberra" ,libcanberra)))
6563 (home-page "https://wiki.gnome.org/Projects/GSound")
6564 (synopsis "GObject wrapper for libcanberra")
6565 (description
6566 "GSound is a small library for playing system sounds. It's designed to be
6567used via GObject Introspection, and is a thin wrapper around the libcanberra C
6568library.")
6569 (license license:lgpl2.1+)))
6570
3a9a4c51
RS
6571(define-public libzapojit
6572 (package
6573 (name "libzapojit")
6574 (version "0.0.3")
6575 (source (origin
6576 (method url-fetch)
6577 (uri (string-append "mirror://gnome/sources/" name "/"
6578 (version-major+minor version) "/"
6579 name "-" version ".tar.xz"))
6580 (sha256
6581 (base32
6582 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
6583 (build-system gnu-build-system)
6584 (native-inputs
6585 `(("gobject-introspection" ,gobject-introspection)
6586 ("intltool" ,intltool)
6587 ("pkg-config" ,pkg-config)))
6588 (inputs
14c297fd 6589 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
6590 ("json-glib" ,json-glib)
6591 ("rest" ,rest)))
6592 (home-page "https://wiki.gnome.org/Projects/Zapojit")
6593 (synopsis "Library for accessing SkyDrive and Hotmail")
6594 (description
6595 "Libzapojit is a GLib-based library for accessing online service APIs of
6596Microsoft SkyDrive and Hotmail, using their REST protocols.")
6597 (license license:lgpl2.1+)))
9365ee1c 6598
60e2a9ae
MS
6599(define-public gnome-clocks
6600 (package
6601 (name "gnome-clocks")
80d1e4c0 6602 (version "3.28.0")
60e2a9ae
MS
6603 (source (origin
6604 (method url-fetch)
6605 (uri (string-append "mirror://gnome/sources/" name "/"
6606 (version-major+minor version) "/"
6607 name "-" version ".tar.xz"))
6608 (sha256
6609 (base32
80d1e4c0 6610 "1dd739vchb592mck1dia2hkywn4213cpramyqzgmlmwv8z80p3nl"))))
60e2a9ae
MS
6611 (build-system meson-build-system)
6612 (arguments
6613 '(#:glib-or-gtk? #t))
6614 (native-inputs
6615 `(("vala" ,vala)
6616 ("pkg-config" ,pkg-config)
6617 ("glib" ,glib "bin") ; for glib-compile-resources
6618 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6619 ("desktop-file-utils" ,desktop-file-utils)
6620 ("gettext" ,gettext-minimal)
6621 ("itstool" ,itstool)))
6622 (inputs
6623 `(("glib" ,glib)
6624 ("gtk+" ,gtk+)
6625 ("gsound" ,gsound)
6626 ("geoclue" ,geoclue)
6627 ("geocode-glib" ,geocode-glib)
6628 ("libgweather" ,libgweather)
6629 ("gnome-desktop" ,gnome-desktop)))
6630 (home-page "https://wiki.gnome.org/Apps/Clocks")
6631 (synopsis "GNOME's clock application")
6632 (description
6633 "GNOME Clocks is a simple clocks application designed to fit the GNOME
6634desktop. It supports world clock, stop watch, alarms, and count down timer.")
6635 (license license:gpl3+)))
6636
3c474897
KY
6637(define-public gnome-calendar
6638 (package
6639 (name "gnome-calendar")
a286b5eb 6640 (version "3.28.2")
3c474897
KY
6641 (source (origin
6642 (method url-fetch)
6643 (uri (string-append "mirror://gnome/sources/" name "/"
6644 (version-major+minor version) "/"
6645 name "-" version ".tar.xz"))
6646 (sha256
6647 (base32
a286b5eb 6648 "0x6wxngf8fkwgbl6x7rzp0srrb43rm55klpb2vfjk2hahpbjvxyw"))))
a49d3e37
MS
6649 (build-system meson-build-system)
6650 (arguments
6651 '(#:glib-or-gtk? #t
6652 ;; gnome-calendar has to be installed before the tests can be run
6653 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
6654 #:tests? #f))
3c474897 6655 (native-inputs
a49d3e37
MS
6656 `(("gettext" ,gettext-minimal)
6657 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
6658 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
6659 ("pkg-config" ,pkg-config)))
6660 (inputs
a49d3e37 6661 `(("evolution-data-server" ,evolution-data-server)
14c297fd 6662 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
da43d1cb 6663 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
a286b5eb 6664 ("libdazzle" ,libdazzle)
571fb008 6665 ("libedataserverui" ,evolution-data-server "libedataserverui")
a286b5eb
RW
6666 ("libgweather" ,libgweather)
6667 ("geoclue" ,geoclue)))
3c474897
KY
6668 (home-page "https://wiki.gnome.org/Apps/Calendar")
6669 (synopsis "GNOME's calendar application")
6670 (description
6671 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 6672desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
6673 (license license:gpl3+)))
6674
57b14665
MS
6675(define-public gnome-todo
6676 (package
6677 (name "gnome-todo")
9f3c6c88 6678 (version "3.28.1")
57b14665
MS
6679 (source (origin
6680 (method url-fetch)
6681 (uri (string-append "mirror://gnome/sources/" name "/"
6682 (version-major+minor version) "/"
6683 name "-" version ".tar.xz"))
6684 (sha256
6685 (base32
9f3c6c88 6686 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
6687 (build-system meson-build-system)
6688 (arguments
6689 '(#:glib-or-gtk? #t
6690 #:phases (modify-phases %standard-phases
6691 (add-after
6692 'install 'wrap-gnome-todo
6693 (lambda* (#:key inputs outputs #:allow-other-keys)
6694 (let ((out (assoc-ref outputs "out"))
6695 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6696 (python-path (getenv "PYTHONPATH")))
6697 (wrap-program (string-append out "/bin/gnome-todo")
6698 ;; XXX: gi plugins are broken.
6699 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
6700 ;; For plugins.
6701 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6702 `("PYTHONPATH" ":" prefix (,python-path))))
6703 #t)))))
6704 (native-inputs
6705 `(("gettext" ,gettext-minimal)
6706 ("gobject-introspection" ,gobject-introspection)
6707 ("glib:bin" ,glib "bin") ; For glib-compile-resources
6708 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6709 ("pkg-config" ,pkg-config)))
6710 (inputs
6711 `(("rest" ,rest) ; For Todoist plugin
6712 ("json-glib" ,json-glib) ; For Todoist plugin
da43d1cb 6713 ("libedataserverui" ,evolution-data-server "libedataserverui")
57b14665
MS
6714 ("libical" ,libical)
6715 ("libpeas" ,libpeas)
6716 ("python-pygobject" ,python-pygobject)
6717 ("evolution-data-server" ,evolution-data-server)
14c297fd 6718 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
6719 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6720 (home-page "https://wiki.gnome.org/Apps/Todo")
6721 (synopsis "GNOME's ToDo Application")
6722 (description
6723 "GNOME To Do is a simplistic personal task manager designed to perfectly
6724fit the GNOME desktop.")
6725 (license license:gpl3+)))
6726
ab179eaf
SB
6727(define-public gnome-dictionary
6728 (package
6729 (name "gnome-dictionary")
cf81ddef 6730 (version "3.26.1")
ab179eaf
SB
6731 (source (origin
6732 (method url-fetch)
6733 (uri (string-append "mirror://gnome/sources/" name "/"
6734 (version-major+minor version) "/"
6735 name "-" version ".tar.xz"))
6736 (sha256
6737 (base32
cf81ddef
LC
6738 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
6739 (build-system meson-build-system)
2776b5d5
MB
6740 (arguments '(#:glib-or-gtk? #t
6741 #:phases (modify-phases %standard-phases
6742 (add-after 'unpack 'patch-install-script
6743 (lambda _
6744 ;; This script attempts to compile glib schemas
6745 ;; and create an empty MIME database. We do
6746 ;; that elsewhere, so prevent it from running.
6747 (substitute* "build-aux/post-install.sh"
6748 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
6749 #t)))))
ab179eaf
SB
6750 (native-inputs
6751 `(("glib:bin" ,glib "bin")
6752 ("gobject-introspection" ,gobject-introspection)
6753 ("intltool" ,intltool)
6754 ("itstool" ,itstool)
6755 ("pkg-config" ,pkg-config)
6756 ("xmllint" ,libxml2)))
6757 (inputs
6758 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6759 ("gtk+" ,gtk+)))
6760 (home-page "https://wiki.gnome.org/Apps/Dictionary")
6761 (synopsis "Look up words in dictionary sources")
6762 (description
6763 "GNOME Dictionary can look for the definition or translation of a word in
6764existing databases over the internet.")
6765 (license license:gpl3+)))
6766
9365ee1c
JN
6767(define-public gnome-tweak-tool
6768 (package
6769 (name "gnome-tweak-tool")
c7fc414e 6770 (version "3.26.4")
9365ee1c
JN
6771 (source (origin
6772 (method url-fetch)
6773 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
6774 (version-major+minor version) "/"
6775 "gnome-tweak-tool-" version ".tar.xz"))
6776 (patches (list
6777 (search-patch "gnome-tweak-tool-search-paths.patch")))
6778 (sha256
6779 (base32
c7fc414e 6780 "1pq5a0kzh1sz7s7ax5c7p6212k9d51nk5bfvjfyqn99cs928187x"))))
7ef335b0 6781 (build-system glib-or-gtk-build-system)
9365ee1c
JN
6782 (arguments
6783 `(#:configure-flags '("--localstatedir=/tmp"
6784 "--sysconfdir=/tmp")
6785 #:imported-modules ((guix build python-build-system)
7ef335b0 6786 ,@%glib-or-gtk-build-system-modules)
9365ee1c 6787 #:phases (modify-phases %standard-phases
c7fc414e
RH
6788 (delete 'configure)
6789 (replace 'build
6790 (lambda* (#:key outputs #:allow-other-keys)
6791 (invoke "meson" "build"
6792 "--prefix" (assoc-ref outputs "out"))))
6793 (replace 'check
6794 (lambda _ (invoke "ninja" "-C" "build" "test")))
6795 (replace 'install
6796 (lambda* (#:key outputs #:allow-other-keys)
6797 (invoke "ninja" "-C" "build" "install")))
9af6bce1
CB
6798 (add-after 'install 'wrap-program
6799 (lambda* (#:key outputs #:allow-other-keys)
6800 (let ((out (assoc-ref outputs "out"))
6801 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6802 (wrap-program (string-append out "/bin/gnome-tweak-tool")
6803 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6804 #t))
9365ee1c
JN
6805 (add-after 'install 'wrap
6806 (@@ (guix build python-build-system) wrap)))))
6807 (native-inputs
c7fc414e
RH
6808 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6809 ("intltool" ,intltool)
6810 ("meson" ,meson-for-build)
6811 ("ninja" ,ninja)
9365ee1c
JN
6812 ("pkg-config" ,pkg-config)))
6813 (inputs
c7fc414e
RH
6814 `(("gnome-desktop" ,gnome-desktop)
6815 ("gtk+" ,gtk+)
9365ee1c
JN
6816 ("gobject-introspection" ,gobject-introspection)
6817 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
6818 ("libnotify" ,libnotify)
6819 ("libsoup" ,libsoup)
6820 ("nautilus" ,nautilus)
6821 ("python" ,python)
6822 ("python-pygobject" ,python-pygobject)))
9365ee1c
JN
6823 (synopsis "Customize advanced GNOME 3 options")
6824 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
6825 (description
6826 "GNOME Tweak Tool allows adjusting advanced configuration settings in
6827GNOME 3. This includes things like the fonts used in user interface elements,
6828alternative user interface themes, changes in window management behavior,
6829GNOME Shell appearance and extension, etc.")
6830 (license license:gpl3+)))
813f814a 6831
32ac717c
DT
6832(define-public gnome-shell-extensions
6833 (package
6834 (name "gnome-shell-extensions")
100f625b 6835 (version "3.28.1")
32ac717c
DT
6836 (source (origin
6837 (method url-fetch)
6838 (uri (string-append "mirror://gnome/sources/" name "/"
6839 (version-major+minor version) "/"
6840 name "-" version ".tar.xz"))
6841 (sha256
6842 (base32
100f625b
RW
6843 "0n4h8rdnq3knrvlg6inrl62a73h20dbhfgniwy18572jicrh5ip9"))))
6844 (build-system meson-build-system)
32ac717c 6845 (arguments
100f625b 6846 '(#:configure-flags '("-Dextension_set=all")))
32ac717c
DT
6847 (native-inputs
6848 `(("intltool" ,intltool)
6849 ("pkg-config" ,pkg-config)))
6850 (propagated-inputs
6851 `(("glib" ,glib)
6852 ("glib" ,glib "bin")))
6853 (synopsis "Extensions for GNOME Shell")
6854 (description "GNOME Shell extensions modify and extend GNOME Shell
6855functionality and behavior.")
6856 (home-page "https://extensions.gnome.org/")
6857 (license license:gpl3+)))
6858
813f814a
DT
6859(define-public arc-theme
6860 (package
6861 (name "arc-theme")
a18f8eaf 6862 (version "20181022")
813f814a 6863 (source (origin
a18f8eaf
BH
6864 (method git-fetch)
6865 (uri (git-reference
6866 (url "https://github.com/NicoHood/arc-theme.git")
6867 (commit version)))
6868 (file-name (git-file-name name version))
813f814a
DT
6869 (sha256
6870 (base32
a18f8eaf 6871 "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
813f814a 6872 (build-system gnu-build-system)
d88884fa
EF
6873 (arguments
6874 '(#:phases
6875 (modify-phases %standard-phases
6876 ;; autogen.sh calls configure at the end of the script.
6877 (replace 'bootstrap
6878 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
6879 (native-inputs
6880 `(("autoconf" ,autoconf)
6881 ("automake" ,automake)
a18f8eaf
BH
6882 ("glib" ,glib "bin") ; for glib-compile-resources
6883 ("gnome-shell" ,gnome-shell)
6884 ("gtk+" ,gtk+)
6885 ("inkscape" ,inkscape)
6886 ("optipng" ,optipng)
6887 ("pkg-config" ,pkg-config)
6888 ("sassc" ,sassc)))
813f814a
DT
6889 (synopsis "A flat GTK+ theme with transparent elements")
6890 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
68912, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
6892like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
6893 (home-page "https://github.com/horst3180/arc-theme")
6894 ;; No "or later" language found.
a18f8eaf 6895 (license license:gpl3+)))
9987c57c 6896
d935e6a1 6897(define-public faba-icon-theme
9987c57c 6898 (package
d935e6a1 6899 (name "faba-icon-theme")
2eee7ee3 6900 (version "4.3")
d935e6a1
BT
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append "https://github.com/moka-project/"
6905 name "/archive/v" version ".tar.gz"))
6906 (file-name (string-append name "-" version ".tar.gz"))
6907 (sha256
6908 (base32
2eee7ee3 6909 "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68"))))
f6a9b345 6910 (build-system meson-build-system)
9987c57c 6911 (arguments
82da291a 6912 `(#:phases
9987c57c 6913 (modify-phases %standard-phases
82da291a 6914 (add-before 'configure 'disable-post-install
9987c57c 6915 (lambda _
82da291a
JL
6916 (substitute* "meson.build"
6917 (("meson.add_install_script.*") "")))))))
9987c57c
DT
6918 (native-inputs
6919 `(("autoconf" ,autoconf)
6920 ("automake" ,automake)))
d935e6a1
BT
6921 (synopsis "Faba icon theme")
6922 (description
6923 "Faba is a minimal icon set used as a basis for other themes such as
6924Moka")
6925 (home-page "https://snwh.org/moka")
6926 (license (list license:lgpl3+
6927 license:cc-by-sa4.0))))
6928
9987c57c
DT
6929(define-public moka-icon-theme
6930 (package
8b0e4177 6931 (inherit faba-icon-theme)
9987c57c 6932 (name "moka-icon-theme")
105a3625 6933 (version "5.4.0")
9987c57c
DT
6934 (source (origin
6935 (method url-fetch)
6936 (uri (string-append "https://github.com/moka-project"
6937 "/moka-icon-theme/archive/v"
6938 version ".tar.gz"))
6939 (file-name (string-append name "-" version ".tar.gz"))
6940 (sha256
6941 (base32
105a3625 6942 "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk"))))
550281fb
BT
6943 (propagated-inputs
6944 ;; Moka is based on Faba by using it as a fallback icon set instead of
6945 ;; bundling it, so we need to add it as a propagated input.
6946 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
6947 (synopsis "Moka icon theme")
6948 (description "Moka is a stylized desktop icon set, designed to be clear,
6949simple and consistent.")
fedde43b
BT
6950 (license (list license:gpl3+
6951 license:cc-by-sa4.0))))
6fd8f8d6
DT
6952
6953(define-public arc-icon-theme
6954 (package
6955 (name "arc-icon-theme")
c4180240 6956 (version "20161122")
6fd8f8d6
DT
6957 (source (origin
6958 (method url-fetch)
6959 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6960 "/archive/" version ".tar.gz"))
6961 (file-name (string-append name "-" version ".tar.gz"))
6962 (sha256
6963 (base32
c4180240 6964 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6 6965 (build-system gnu-build-system)
9e1ede95
JL
6966 (arguments
6967 `(#:phases
6968 (modify-phases %standard-phases
6969 (add-after 'unpack 'disable-configure-during-bootstrap
6970 (lambda _
6971 (substitute* "autogen.sh"
6972 (("^\"\\$srcdir/configure\".*") ""))
6973 #t)))))
6fd8f8d6
DT
6974 (native-inputs
6975 `(("autoconf" ,autoconf)
6976 ("automake" ,automake)))
6977 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6978 (propagated-inputs
6979 `(("moka-icon-theme" ,moka-icon-theme)))
6980 (synopsis "Arc icon theme")
6981 (description "The Arc icon theme provides a set of icons matching the
6982style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6983the Moka icon theme.")
6984 (home-page "https://github.com/horst3180/arc-icon-theme")
6985 (license license:gpl3+)))
6064a4e8
LF
6986
6987(define-public folks
6988 (package
6989 (name "folks")
d23495fa 6990 (version "0.11.4")
6064a4e8
LF
6991 (source (origin
6992 (method url-fetch)
6993 (uri (string-append
e5f4796e 6994 "mirror://gnome/sources/folks/"
6064a4e8 6995 (version-major+minor version) "/"
e5f4796e 6996 "folks-" version ".tar.xz"))
6064a4e8
LF
6997 (sha256
6998 (base32
d23495fa 6999 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
7000 (build-system glib-or-gtk-build-system)
7001 (inputs
7002 `(("bdb" ,bdb)
7003 ("dbus-glib" ,dbus-glib)
7004 ("evolution-data-server" ,evolution-data-server)
7005 ("glib" ,glib)
7006 ("libgee" ,libgee)
7007 ("telepathy-glib" ,telepathy-glib)))
7008 (native-inputs
7009 `(("gobject-introspection" ,gobject-introspection)
7010 ("intltool" ,intltool)
7011 ("pkg-config" ,pkg-config)
7012 ("vala" ,vala)))
7013 (synopsis "Library to aggregate data about people")
7014 (description "Libfolks is a library that aggregates information about people
7015from multiple sources (e.g., Telepathy connection managers for IM contacts,
7016Evolution Data Server for local contacts, libsocialweb for web service contacts,
7017etc.) to create metacontacts. It's written in Vala, which generates C code when
7018compiled.")
7019 (home-page "https://wiki.gnome.org/Projects/Folks")
7020 (license license:lgpl2.1+)))
01ea778f
LF
7021
7022(define-public gfbgraph
7023 (package
7024 (name "gfbgraph")
7025 (version "0.2.3")
7026 (source (origin
7027 (method url-fetch)
7028 (uri (string-append
7029 "mirror://gnome/sources/" name "/"
7030 (version-major+minor version) "/"
7031 name "-" version ".tar.xz"))
7032 (sha256
7033 (base32
7034 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
7035 (build-system glib-or-gtk-build-system)
7036 (arguments
7037 `(#:tests? #f ; Tests appear to require the network.
7038 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
7039 #:configure-flags '("--disable-gtk-doc"
7040 "--disable-static"
7041 "--enable-introspection")))
7042 (native-inputs
7043 `(("pkg-config" ,pkg-config)
7044 ("gobject-introspection" ,gobject-introspection)))
7045 (inputs
7046 `(("json-glib" ,json-glib)
14c297fd 7047 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
7048 ("rest" ,rest)))
7049 (synopsis "GLib/GObject wrapper for the Facebook API")
7050 (description "This library allows you to use the Facebook API from
7051GLib/GObject code.")
7052 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
7053 (license license:lgpl2.1+)))
3920868c 7054
7055(define-public libgnomekbd
7056 (package
7057 (name "libgnomekbd")
4a3f6e02 7058 (version "3.26.0")
3920868c 7059 (source (origin
7060 (method url-fetch)
7061 (uri (string-append "mirror://gnome/sources/" name "/"
7062 (version-major+minor version) "/"
7063 name "-" version ".tar.xz"))
7064 (sha256
7065 (base32
4a3f6e02 7066 "0xc8jrc44x2h24v28wv36k70k7bwxy6p2vsvxvvia1n3ay642fza"))))
3920868c 7067 (build-system gnu-build-system)
7068 (native-inputs
7069 `(("pkg-config" ,pkg-config)
7070 ("glib" ,glib "bin")
7071 ("intltool" ,intltool)))
7072 (propagated-inputs
7073 ;; Referred to in .h files and .pc.
7074 `(("glib" ,glib)
7075 ("gtk+" ,gtk+)
7076 ("libxklavier" ,libxklavier)))
7077 (home-page "https://www.gnome.org")
7078 (synopsis "GNOME keyboard configuration library")
7079 (description
7080 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
7081environment, which can notably display keyboard layouts.")
7082 (license license:lgpl2.0+)))
85327d0d 7083
7084;;; This package is no longer maintained:
7085;;; https://wiki.gnome.org/Attic/LibUnique
7086;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
7087;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
7088(define-public libunique
7089 (package
7090 (name "libunique")
7091 (version "3.0.2")
7092 (source (origin
7093 (method url-fetch)
7094 (uri (string-append "mirror://gnome/sources/" name "/"
7095 (version-major+minor version) "/"
7096 name "-" version ".tar.xz"))
7097 (sha256
7098 (base32
7099 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
7100 (build-system glib-or-gtk-build-system)
7101 (arguments
7102 `(#:configure-flags '("--disable-static"
7103 "--disable-dbus" ; use gdbus
7104 "--enable-introspection")))
7105 (native-inputs
7106 `(("pkg-config" ,pkg-config)
7107 ("gobject-introspection" ,gobject-introspection)
7108 ("glib:bin" ,glib "bin")
7109 ("gtk-doc" ,gtk-doc)))
7110 (propagated-inputs
7111 ;; Referred to in .h files and .pc.
7112 `(("gtk+" ,gtk+)))
7113 (home-page "https://wiki.gnome.org/Attic/LibUnique")
7114 (synopsis "Library for writing single instance applications")
7115 (description
7116 "Libunique is a library for writing single instance applications. If you
7117launch a single instance application twice, the second instance will either just
7118quit or will send a message to the running instance. Libunique makes it easy to
7119write this kind of application, by providing a base class, taking care of all
7120the IPC machinery needed to send messages to a running instance, and also
7121handling the startup notification side.")
7122 (license license:lgpl2.1+)))
54021cd8
RS
7123
7124(define-public gnome-calculator
7125 (package
7126 (name "gnome-calculator")
112e9083 7127 (version "3.28.2")
54021cd8
RS
7128 (source
7129 (origin
7130 (method url-fetch)
7131 (uri (string-append "mirror://gnome/sources/" name "/"
7132 (version-major+minor version) "/"
7133 name "-" version ".tar.xz"))
7134 (sha256
7135 (base32
112e9083 7136 "0izsrqc9fm2lh25jr3nzi94p5hh2d3cklxqczbq16by85wr1xm5s"))))
54021cd8
RS
7137 (build-system glib-or-gtk-build-system)
7138 (native-inputs
7139 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
7140 ("intltool" ,intltool)
7141 ("itstool" ,itstool)
7142 ("pkg-config" ,pkg-config)))
7143 (inputs
112e9083
RW
7144 `(("glib" ,glib)
7145 ("gtksourceview" ,gtksourceview-3)
54021cd8 7146 ("libsoup" ,libsoup)
112e9083 7147 ("libxml2" ,libxml2)
2c2da7ec 7148 ("mpc" ,mpc)
54021cd8
RS
7149 ("mpfr" ,mpfr)))
7150 (home-page "https://wiki.gnome.org/Apps/Calculator")
7151 (synopsis "Desktop calculator")
7152 (description
7153 "Calculator is an application that solves mathematical equations and
7154is suitable as a default application in a Desktop environment.")
7155 (license license:gpl3)))
0bd69759
RS
7156
7157(define-public xpad
7158 (package
7159 (name "xpad")
c85626bb 7160 (version "5.1.0")
0bd69759
RS
7161 (source
7162 (origin
7163 (method url-fetch)
08fda9c6
R
7164 (uri (string-append "https://launchpad.net/xpad/trunk/"
7165 version "/+download/"
0bd69759
RS
7166 name "-" version ".tar.bz2"))
7167 (sha256
7168 (base32
c85626bb 7169 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
7170 (build-system gnu-build-system)
7171 (native-inputs
08fda9c6
R
7172 `(("autoconf" ,autoconf)
7173 ("automake" ,automake)
7174 ("gtk+:bin" ,gtk+ "bin")
7175 ("intltool" ,intltool)
0bd69759
RS
7176 ("pkg-config" ,pkg-config)))
7177 (inputs
08fda9c6 7178 `(("gtksourceview" ,gtksourceview)
0bd69759
RS
7179 ("libsm" ,libsm)))
7180 (home-page "https://wiki.gnome.org/Apps/Xpad")
7181 (synopsis "Virtual sticky note")
7182 (description
7183 "Xpad is a sticky note that strives to be simple, fault tolerant,
7184and customizable. Xpad consists of independent pad windows, each is
7185basically a text box in which notes can be written.")
7186 (license license:gpl3+)))
3ad7dce1
RS
7187
7188(define-public gucharmap
c60063ea
RW
7189 (let ((unicode-files
7190 '(("Blocks.txt"
7191 "19zf2kd198mcv1paa194c1zf36hay1irbxssi35yi2pd8ad69qas")
7192 ("DerivedAge.txt"
7193 "1h9p1g0wnh686l6cqar7cmky465vwc6vjzzn1s7v0i9zcjaqkr4h")
7194 ("NamesList.txt"
7195 "0gvpcyq852rnlqmx4y5i1by7bavvcw6rj40i54w48yc7xr3zmgd1")
7196 ("Scripts.txt"
7197 "0b9prz2hs6w61afqaplcxnv115f8yk4d5hn9dc5hks8nqpj28bnh")
7198 ("UnicodeData.txt"
7199 "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj")
7200 ("Unihan.zip"
7201 "199kz6laypkvc0ykms6d7bkb571jmpds39sv2p7kd5jjm1ij08q1"))))
7202 (package
7203 (name "gucharmap")
7204 (version "10.0.4")
7205 (source
7206 (origin
7207 (method url-fetch)
7208 (uri (string-append "mirror://gnome/sources/" name "/"
7209 (version-major+minor version) "/"
7210 name "-" version ".tar.xz"))
7211 (sha256
7212 (base32
7213 "00gh3lll6wykd2qg1lrj05a4wvscsypmrx7rpb6jsbvb4scnh9mv"))))
7214 (build-system glib-or-gtk-build-system)
7215 (arguments
7216 `(#:modules ((ice-9 match)
7217 (guix build glib-or-gtk-build-system)
7218 (guix build utils))
7219 #:configure-flags
7220 (list "--with-unicode-data=../unicode-data")
7221 #:phases
7222 (modify-phases %standard-phases
7223 (add-after 'unpack 'prepare-unicode-data
7224 (lambda* (#:key inputs #:allow-other-keys)
7225 (mkdir-p "../unicode-data")
7226 (with-directory-excursion "../unicode-data"
7227 (for-each (match-lambda
7228 ((file _)
7229 (install-file (assoc-ref inputs file) ".")))
7230 ',unicode-files))
7231 #t)))))
7232 (native-inputs
7233 `(("desktop-file-utils" ,desktop-file-utils)
7234 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
7235 ("gobject-introspection" ,gobject-introspection)
7236 ("intltool" ,intltool)
7237 ("itstool" ,itstool)
7238 ("pkg-config" ,pkg-config)
7239 ,@(map (match-lambda
7240 ((file hash)
7241 `(,file
7242 ,(origin
7243 (method url-fetch)
7244 (uri (string-append
7245 "http://www.unicode.org/Public/10.0.0/ucd/"
7246 file))
7247 (sha256 (base32 hash))))))
7248 unicode-files)
7249 ("unzip" ,unzip)))
7250 (inputs
7251 `(("gtk+" ,gtk+)
7252 ("xmllint" ,libxml2)))
7253 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
7254 (synopsis "Unicode character picker and font browser")
7255 (description
7256 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
7257characters and categories for the installed fonts, and to examine their
7258detailed properties. It is an easy way to find the character you might
7259only know by its Unicode name or code point.")
c60063ea 7260 (license license:gpl3+))))
04ce840a
RS
7261
7262(define-public bluefish
7263 (package
7264 (name "bluefish")
ea8afaf3 7265 (version "2.2.10")
04ce840a
RS
7266 (source
7267 (origin
7268 (method url-fetch)
7269 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
7270 name "-" version ".tar.gz"))
7271 (sha256
7272 (base32
ea8afaf3 7273 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
7274 (build-system gnu-build-system)
7275 (native-inputs
7276 `(("desktop-file-utils" ,desktop-file-utils)
7277 ("intltool" ,intltool)
7278 ("pkg-config" ,pkg-config)))
7279 (inputs
7280 `(("enchant" ,enchant)
7281 ("gtk+" ,gtk+)
7282 ("python" ,python-2)
7283 ("xmllint" ,libxml2)
7284 ("gucharmap" ,gucharmap)))
7285 (home-page "http://bluefish.openoffice.nl")
7286 (synopsis "Web development studio")
7287 (description
7288 "Bluefish is an editor targeted towards programmers and web developers,
7289with many options to write web sites, scripts and other code.
7290Bluefish supports many programming and markup languages.")
7291 (license license:gpl3+)))
1f6a73ee
RS
7292
7293(define-public gnome-system-monitor
7294 (package
7295 (name "gnome-system-monitor")
4985d9aa 7296 (version "3.28.2")
1f6a73ee
RS
7297 (source
7298 (origin
7299 (method url-fetch)
7300 (uri (string-append "mirror://gnome/sources/" name "/"
7301 (version-major+minor version) "/"
7302 name "-" version ".tar.xz"))
7303 (sha256
7304 (base32
4985d9aa 7305 "164in885dyfvna5yjzgdyrbrsskvh5wzxdmkjgb4mbh54lzqd1zb"))))
1f6a73ee
RS
7306 (build-system glib-or-gtk-build-system)
7307 (native-inputs
7308 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
7309 ("intltool" ,intltool)
7310 ("itstool" ,itstool)
7311 ("libgtop" ,libgtop)
4985d9aa 7312 ("polkit" ,polkit)
1f6a73ee
RS
7313 ("pkg-config" ,pkg-config)))
7314 (inputs
7315 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
7316 ("gtk+" ,gtk+)
7317 ("gtkmm" ,gtkmm)
7318 ("librsvg" ,librsvg)
4985d9aa
RW
7319 ("libxml2" ,libxml2)
7320 ("libwnck" ,libwnck)))
1f6a73ee
RS
7321 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
7322 (synopsis "Process viewer and system resource monitor for GNOME")
7323 (description
7324 "GNOME System Monitor is a GNOME process viewer and system monitor with
7325an attractive, easy-to-use interface. It has features, such as a tree view
7326for process dependencies, icons for processes, the ability to hide processes,
7327graphical time histories of CPU/memory/swap usage and the ability to
7328kill/reinice processes.")
7329 (license license:gpl2+)))
3e00ac47
SB
7330
7331(define-public python-pyatspi
7332 (package
7333 (name "python-pyatspi")
84548bd7 7334 (version "2.26.0")
3e00ac47
SB
7335 (source (origin
7336 (method url-fetch)
7337 (uri (string-append
7338 "mirror://gnome/sources/pyatspi/"
7339 (version-major+minor version)
7340 "/pyatspi-" version ".tar.xz"))
7341 (sha256
7342 (base32
84548bd7 7343 "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))))
3e00ac47
SB
7344 (build-system gnu-build-system)
7345 (native-inputs
7346 `(("pkg-config" ,pkg-config)))
7347 (inputs
7348 `(("python" ,python)
7349 ("python-pygobject" ,python-pygobject)))
7350 (synopsis "Python client bindings for D-Bus AT-SPI")
7351 (home-page "https://wiki.linuxfoundation.org/accessibility\
7352/atk/at-spi/at-spi_on_d-bus")
7353 (description
7354 "This package includes a python client library for the AT-SPI D-Bus
7355accessibility infrastructure.")
7356 (license license:lgpl2.0)
7357 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
7358
7359(define-public orca
7360 (package
7361 (name "orca")
870a4e70 7362 (version "3.28.1")
53201c0d
SB
7363 (source (origin
7364 (method url-fetch)
7365 (uri (string-append
7366 "mirror://gnome/sources/" name "/"
7367 (version-major+minor version) "/"
7368 name "-" version ".tar.xz"))
7369 (sha256
7370 (base32
870a4e70 7371 "04l5ccn7wf175gyq3blfpx0yh70ny06n161297jwc9idf951852g"))))
53201c0d
SB
7372 (build-system glib-or-gtk-build-system)
7373 (arguments
7374 '(#:phases
7375 (modify-phases %standard-phases
7376 (add-before 'configure 'qualify-xkbcomp
7377 (lambda* (#:key inputs #:allow-other-keys)
7378 (let ((xkbcomp (string-append
7379 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
7380 (substitute* "src/orca/orca.py"
7381 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
7382 #t))
7383 (add-after 'install 'wrap-orca
7384 (lambda* (#:key outputs #:allow-other-keys)
7385 (let* ((out (assoc-ref outputs "out"))
7386 (prog (string-append out "/bin/orca")))
7387 (wrap-program prog
7388 `("GI_TYPELIB_PATH" ":" prefix
7389 (,(getenv "GI_TYPELIB_PATH")))
7390 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
7391 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
7392 `("PYTHONPATH" ":" prefix
7393 (,(getenv "PYTHONPATH")))))
7394 #t)))))
7395 (native-inputs
7396 `(("intltool" ,intltool)
7397 ("itstool" ,itstool)
7398 ("pkg-config" ,pkg-config)
7399 ("xmllint" ,libxml2)))
7400 (inputs
7401 `(("at-spi2-atk" ,at-spi2-atk)
7402 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7403 ("gstreamer" ,gstreamer)
7404 ("gst-plugins-base" ,gst-plugins-base)
7405 ("gst-plugins-good" ,gst-plugins-good)
7406 ("gtk+" ,gtk+)
7407 ("python" ,python)
7408 ("python-pygobject" ,python-pygobject)
7409 ("python-pyatspi" ,python-pyatspi)
7410 ("python-speechd" ,speech-dispatcher)
7411 ("xkbcomp" ,xkbcomp)))
7412 (synopsis
7413 "Screen reader for individuals who are blind or visually impaired")
7414 (home-page "https://wiki.gnome.org/Projects/Orca")
7415 (description
7416 "Orca is a screen reader that provides access to the graphical desktop
7417via speech and refreshable braille. Orca works with applications and toolkits
7418that support the Assistive Technology Service Provider Interface (AT-SPI).")
7419 (license license:lgpl2.1+)))
411ba511
LC
7420
7421(define-public gspell
7422 (package
7423 (name "gspell")
9b1bb757 7424 (version "1.8.1")
411ba511
LC
7425 (source (origin
7426 (method url-fetch)
7427 (uri (string-append "mirror://gnome/sources/" name "/"
7428 (version-major+minor version) "/"
7429 name "-" version ".tar.xz"))
7430 (sha256
7431 (base32
9b1bb757 7432 "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1"))
411ba511
LC
7433 (patches (search-patches "gspell-dash-test.patch"))))
7434 (build-system glib-or-gtk-build-system)
7435 (arguments
7436 '(#:phases
7437 (modify-phases %standard-phases
7438 (add-before 'check 'pre-check
7439 (lambda* (#:key inputs #:allow-other-keys)
7440 ;; Tests require a running X server.
7441 (system "Xvfb :1 &")
7442 (setenv "DISPLAY" ":1")
7443
7444 ;; For the missing /etc/machine-id.
7445 (setenv "DBUS_FATAL_WARNINGS" "0")
7446
7447 ;; Allow Enchant and its Aspell backend to find the en_US
7448 ;; dictionary.
7449 (setenv "ASPELL_DICT_DIR"
7450 (string-append (assoc-ref inputs "aspell-dict-en")
7451 "/lib/aspell"))
7452 #t)))))
7453 (inputs
eccd35be 7454 `(("gtk+" ,gtk+)
a801ae4c
TGR
7455 ("glib" ,glib)
7456 ("iso-codes" ,iso-codes)))
411ba511
LC
7457 (native-inputs
7458 `(("glib" ,glib "bin")
7459 ("pkg-config" ,pkg-config)
7460 ("xmllint" ,libxml2)
7461
7462 ;; For tests.
a801ae4c
TGR
7463 ("aspell-dict-en" ,aspell-dict-en)
7464 ("xorg-server" ,xorg-server)))
eccd35be 7465 (propagated-inputs
9b1bb757 7466 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
7467 (home-page "https://wiki.gnome.org/Projects/gspell")
7468 (synopsis "GNOME's alternative spell checker")
7469 (description
7470 "gspell provides a flexible API to add spell-checking to a GTK+
7471application. It provides a GObject API, spell-checking to text entries and
7472text views, and buttons to choose the language.")
7473 (license license:gpl2+)))
d1d739fa
CM
7474
7475(define-public gnome-planner
7476 (package
7477 (name "gnome-planner")
7478 (version "0.14.6")
7479 (source (origin
7480 (method url-fetch)
7481 (uri (string-append "mirror://gnome/sources/planner/"
7482 (version-major+minor version) "/planner-"
7483 version ".tar.xz"))
7484 (sha256
7485 (base32
7486 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
7487 (build-system glib-or-gtk-build-system)
7488 (arguments
7489 ;; Disable the Python bindings because the Planner program functions
7490 ;; without them, and (as of 2017-06-13) we have not packaged all of
7491 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
7492 `(#:configure-flags
7493 (list "--disable-python"
7494 ,@(if (string=? "aarch64-linux" (%current-system))
7495 '("--build=aarch64-unknown-linux-gnu")
7496 '()))))
d1d739fa
CM
7497 (inputs
7498 `(("libgnomecanvas" ,libgnomecanvas)
7499 ("libgnomeui" ,libgnomeui)
7500 ("libglade" ,libglade)
7501 ("gnome-vfs" ,gnome-vfs)
7502 ("gconf" ,gconf)
7503 ("libxml2" ,libxml2)
7504 ("libxslt" ,libxslt)
7505 ("gtk+" ,gtk+)
7506 ("glib" ,glib)))
7507 (native-inputs
7508 `(("intltool" ,intltool)
7509 ("scrollkeeper" ,scrollkeeper)
7510 ("pkg-config" ,pkg-config)))
7511 (home-page "https://wiki.gnome.org/Apps/Planner")
7512 (synopsis "Project management software for the GNOME desktop")
7513 (description
7514 "GNOME Planner is a project management tool based on the Work Breakdown
7515Structure (WBS). Its goal is to enable you to easily plan projects. Based on
7516the resources, tasks, and constraints that you define, Planner generates
7517various views into a project. For example, Planner can show a Gantt chart of
7518the project. It can show a detailed summary of tasks including their
7519duration, cost, and current progress. It can also show a report of resource
7520utilization that highlights under-utilized and over-utilized resources. These
7521views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 7522 (license license:gpl2+)))
64fce637
RS
7523
7524(define-public lollypop
7525 (package
7526 (name "lollypop")
b98eace8 7527 (version "0.9.521")
64fce637
RS
7528 (source
7529 (origin
7530 (method url-fetch)
b98eace8
CB
7531 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
7532 "e4df2ed75c5ed71d64afcc668e579b2a/"
64fce637
RS
7533 name "-" version ".tar.xz"))
7534 (sha256
7535 (base32
b98eace8 7536 "0knsqh24siyw98vmiq6b1hzq4y4cazs9f1hq1js9c96hqqj9rvdx"))))
aa498fc0 7537 (build-system meson-build-system)
64fce637
RS
7538 (arguments
7539 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
7540 ,@%meson-build-system-modules)
7541 #:glib-or-gtk? #t
5fc9b6c1
EF
7542 #:tests? #f ; no test suite
7543 #:phases
7544 (modify-phases %standard-phases
5fc9b6c1
EF
7545 (add-after 'install 'wrap-program
7546 (lambda* (#:key outputs #:allow-other-keys)
7547 (let ((out (assoc-ref outputs "out"))
7548 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7549 (wrap-program (string-append out "/bin/lollypop")
7550 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7551 #t))
7552 (add-after 'install 'wrap
7553 (@@ (guix build python-build-system) wrap)))))
64fce637
RS
7554 (native-inputs
7555 `(("intltool" ,intltool)
7556 ("itstool" ,itstool)
aa498fc0
TD
7557 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7558 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
7559 ("pkg-config" ,pkg-config)))
7560 (inputs
7561 `(("gobject-introspection" ,gobject-introspection)
5fc9b6c1 7562 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
7563 ("libnotify" ,libnotify)
7564 ("libsecret" ,libsecret)
7565 ("libsoup" ,libsoup)
7566 ("python" ,python)
7567 ("python-beautifulsoup4" ,python-beautifulsoup4)
7568 ("python-gst" ,python-gst)
7569 ("python-pycairo" ,python-pycairo)
7570 ("python-pygobject" ,python-pygobject)
7571 ("python-pylast" ,python-pylast)
7572 ("totem-pl-parser" ,totem-pl-parser)
7573 ("webkitgtk" ,webkitgtk)))
7574 (propagated-inputs
7575 `(;; gst-plugins-base is required to start Lollypop,
7576 ;; the others are required to play streaming.
64fce637
RS
7577 ("gst-plugins-good" ,gst-plugins-good)
7578 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 7579 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
7580 (synopsis "GNOME music playing application")
7581 (description
7582 "Lollypop is a music player designed to play well with GNOME desktop.
7583Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
7584from artists and tracks from the web. It also fetches cover artworks
7585automatically and it can stream songs from online music services and charts.")
7586 (license license:gpl3+)))
d831d49d
AW
7587
7588(define-public gnome-video-effects
7589 (package
7590 (name "gnome-video-effects")
7591 (version "0.4.3")
7592 (source (origin
7593 (method url-fetch)
7594 (uri (string-append "mirror://gnome/sources/" name "/"
7595 (version-major+minor version) "/" name "-"
7596 version ".tar.xz"))
7597 (sha256
7598 (base32
7599 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
7600 (build-system glib-or-gtk-build-system)
7601 (arguments
7602 `(#:out-of-source? #f))
7603 (native-inputs
7604 `(("glib:bin" ,glib "bin")
7605 ("intltool" ,intltool)
7606 ("gettext" ,gettext-minimal)
7607 ("pkg-config" ,pkg-config)))
7608 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
7609 (synopsis "Video effects for Cheese and other GNOME applications")
7610 (description
7611 "A collection of GStreamer video filters and effects to be used in
7612photo-booth-like software, such as Cheese.")
7613 (license license:gpl2+)))
3511c780
AW
7614
7615(define-public cheese
7616 (package
7617 (name "cheese")
4b3480d6 7618 (version "3.28.0")
3511c780
AW
7619 (source (origin
7620 (method url-fetch)
7621 (uri (string-append "mirror://gnome/sources/" name "/"
7622 (version-major+minor version) "/" name "-"
7623 version ".tar.xz"))
7624 (sha256
7625 (base32
4b3480d6 7626 "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw"))))
3511c780
AW
7627 (arguments
7628 ;; Tests require GDK.
7629 `(#:tests? #f
7630 #:phases
7631 (modify-phases %standard-phases
7632 (add-before 'install 'skip-gtk-update-icon-cache
7633 (lambda _
7634 ;; Don't create 'icon-theme.cache'
7635 (substitute* "Makefile"
7636 (("gtk-update-icon-cache") (which "true")))
7637 #t))
7638 (add-after 'install 'wrap-cheese
7639 (lambda* (#:key inputs outputs #:allow-other-keys)
7640 (let ((out (assoc-ref outputs "out"))
7641 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7642 (wrap-program (string-append out "/bin/cheese")
7643 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7644 #t)))))
7645 (build-system glib-or-gtk-build-system)
7646 (native-inputs
7647 `(("glib:bin" ,glib "bin")
7648 ("intltool" ,intltool)
7649 ("itstool" ,itstool)
7650 ("libxml2" ,libxml2)
7651 ("pkg-config" ,pkg-config)
7652 ("vala" ,vala)))
7653 (propagated-inputs
6a19f03e
RW
7654 `(("gnome-video-effects" ,gnome-video-effects)
7655 ("clutter" ,clutter)
3511c780
AW
7656 ("clutter-gst" ,clutter-gst)
7657 ("clutter-gtk" ,clutter-gtk)
6a19f03e 7658 ("libcanberra" ,libcanberra)
3511c780
AW
7659 ("gdk-pixbuf" ,gdk-pixbuf)
7660 ("glib" ,glib)
6a19f03e
RW
7661 ("gstreamer" ,gstreamer)))
7662 (inputs
7663 `(("gnome-desktop" ,gnome-desktop)
3511c780 7664 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
7665 ("gst-plugins-base" ,gst-plugins-base)
7666 ("gst-plugins-bad" ,gst-plugins-bad)
7667 ("gtk+" ,gtk+)
3511c780
AW
7668 ("libx11" ,libx11)
7669 ("libxtst" ,libxtst)))
7670 (home-page "https://wiki.gnome.org/Apps/Cheese")
7671 (synopsis "Webcam photo booth software for GNOME")
7672 (description
7673 "Cheese uses your webcam to take photos and videos. Cheese can also
7674apply fancy special effects and lets you share the fun with others.")
7675 (license license:gpl2+)))
3c5dbd2b 7676
7677(define-public sound-juicer
7678 (package
7679 (name "sound-juicer")
7680 (version "3.24.0")
7681 (source
7682 (origin
7683 (method url-fetch)
7684 (uri (string-append "mirror://gnome/sources/" name "/"
7685 (version-major+minor version) "/"
7686 name "-" version ".tar.xz"))
7687 (sha256
7688 (base32
7689 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
7690 (build-system glib-or-gtk-build-system)
7691 (native-inputs
7692 `(("desktop-file-utils" ,desktop-file-utils)
7693 ("intltool" ,intltool)
7694 ("itstool" ,itstool)
7695 ("pkg-config" ,pkg-config)
7696 ("xmllint" ,libxml2)))
7697 (inputs
7698 `(("gtk+" ,gtk+)
7699 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7700 ("gstreamer" ,gstreamer)
7701 ("gst-plugins-base" ,gst-plugins-base)
7702 ("gst-plugins-good" ,gst-plugins-good)
7703 ("iso-codes" ,iso-codes)
7704 ("libbrasero-media3" ,brasero)
7705 ("libcanberra" ,libcanberra)
7706 ("libdiscid" ,libdiscid)
7707 ("libmusicbrainz" ,libmusicbrainz)
7708 ("neon" ,neon)))
7709 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
7710 (synopsis "Audio music cd ripper")
7711 (description "Sound Juicer extracts audio from compact discs and convert it
7712into audio files that a personal computer or digital audio player can play.
7713It supports ripping to any audio codec supported by a GStreamer plugin, such as
7714mp3, Ogg Vorbis and FLAC")
7715 (license license:gpl2+)))
4e3fdeb7 7716
0d3f1708
CB
7717(define-public soundconverter
7718 (package
7719 (name "soundconverter")
fa75a213 7720 (version "3.0.1")
0d3f1708
CB
7721 (source
7722 (origin
7723 (method url-fetch)
7724 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
7725 version "/+download/"
7726 "soundconverter-" version ".tar.xz"))
7727
7728 (sha256
fa75a213 7729 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
7730 (patches
7731 (search-patches
7732 "soundconverter-remove-gconf-dependency.patch"))))
7733 (build-system glib-or-gtk-build-system)
7734 (arguments
7735 `(#:imported-modules ((guix build python-build-system)
7736 (guix build glib-or-gtk-build-system)
7737 ,@%gnu-build-system-modules)
7738
7739 #:modules ((guix build glib-or-gtk-build-system)
7740 (guix build utils)
7741 ((guix build gnu-build-system) #:prefix gnu:)
7742 ((guix build python-build-system) #:prefix python:))
7743
7744 #:phases
7745 (modify-phases %standard-phases
0d3f1708
CB
7746 (add-after 'install 'wrap-soundconverter-for-python
7747 (assoc-ref python:%standard-phases 'wrap))
7748 (add-after 'install 'wrap-soundconverter
7749 (lambda* (#:key inputs outputs #:allow-other-keys)
7750 (let ((out (assoc-ref outputs "out"))
7751 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7752 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7753 (wrap-program (string-append out "/bin/soundconverter")
7754 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7755 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7756 #t)))))
7757 (native-inputs
7758 `(("intltool" ,intltool)
7759 ("pkg-config" ,pkg-config)
7760 ("glib:bin" ,glib "bin")))
7761 (inputs
7762 `(("gtk+" ,gtk+)
7763 ("python" ,python)
7764 ("python-pygobject" ,python-pygobject)
7765 ("gstreamer" ,gstreamer)
7766 ("gst-plugins-base" ,gst-plugins-base)))
7767 (home-page "http://soundconverter.org/")
7768 (synopsis "Convert between audio formats with a graphical interface")
7769 (description
7770 "SoundConverter supports converting between many audio formats including
7771Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
7772configurable file renaming. ")
7773 (license license:gpl3)))
7774
4e3fdeb7 7775(define-public workrave
89f2d736
TGR
7776 (package
7777 (name "workrave")
c2e50474 7778 (version "1.10.23")
89f2d736
TGR
7779 (source
7780 (origin
7781 (method git-fetch)
7782 (uri (git-reference
7783 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
7784 (commit (string-append "v" (string-map
7785 (match-lambda (#\. #\_) (chr chr))
7786 version)))))
89f2d736
TGR
7787 (file-name (git-file-name name version))
7788 (sha256
c2e50474 7789 (base32 "1qhlwfhwk5agv4904d6bsf83k9k89q7bms6agg967vsca4905vcw"))))
89f2d736
TGR
7790 (build-system glib-or-gtk-build-system)
7791 (propagated-inputs `(("glib" ,glib)
7792 ("gtk+" ,gtk+)
7793 ("gdk-pixbuf" ,gdk-pixbuf)
7794 ("gtkmm" ,gtkmm)
7795 ("glibmm" ,glibmm)
7796 ("libx11" ,libx11)
7797 ("libxtst" ,libxtst)
7798 ("dconf" ,dconf)
7799 ("libice" ,libice)))
7800 (inputs `(("libsm" ,libsm)
7801 ("python-cheetah" ,python2-cheetah)))
7802 (native-inputs `(("glib" ,glib "bin")
7803 ("pkg-config" ,pkg-config)
7804 ("gettext" ,gnu-gettext)
7805 ("autoconf" ,autoconf)
7806 ("autoconf-archive" , autoconf-archive)
7807 ("automake" ,automake)
7808 ("libtool" ,libtool)
7809 ("intltool" ,intltool)
7810 ("libxscrnsaver" ,libxscrnsaver)
7811 ("gobject-introspection" ,gobject-introspection)
7812 ("python2" ,python-2)))
7813 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
7814 (description
7815 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
7816repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
7817micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
7818 (home-page "http://www.workrave.org")
7819 (license license:gpl3+)))
312afa7d
LC
7820
7821(define-public ghex
7822 (package
7823 (name "ghex")
7824 (version "3.18.3")
7825 (source (origin
7826 (method url-fetch)
2fbab848 7827 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 7828 (version-major+minor version) "/"
2fbab848 7829 "ghex-" version ".tar.xz"))
312afa7d
LC
7830 (sha256
7831 (base32
7832 "1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66"))))
7833 (build-system glib-or-gtk-build-system)
7834 (native-inputs
7835 `(("pkg-config" ,pkg-config)
7836 ("gnome-common" ,gnome-common)
7837 ("which" ,which)
7838 ("intltool" ,intltool)
7839 ("yelp-tools" ,yelp-tools)
2fbab848 7840 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
7841 (inputs
7842 `(("atk" ,atk)
7843 ("gtk" ,gtk+)))
7844 (synopsis "GNOME hexadecimal editor")
7845 (description "The GHex program can view and edit files in two ways:
7846hexadecimal or ASCII. It is useful for editing binary files in general.")
7847 (home-page "https://wiki.gnome.org/Apps/Ghex")
7848 (license license:gpl2)))
4b2ed6c2
RW
7849
7850(define-public libdazzle
7851 (package
7852 (name "libdazzle")
7853 (version "3.28.5")
7854 (source (origin
7855 (method url-fetch)
687b4909 7856 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 7857 (version-major+minor version) "/"
687b4909 7858 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
7859 (sha256
7860 (base32
7861 "08qdwv2flywnh6kibkyv0pnm67pk8xlmjh4yqx6hf13hyhkxkqgg"))))
7862 (build-system meson-build-system)
7863 (arguments
7864 `(#:phases
7865 (modify-phases %standard-phases
7866 (add-after 'unpack 'disable-failing-test
7867 (lambda _
7868 ;; Disable failing test.
7869 (substitute* "tests/meson.build"
7870 (("test\\('test-application") "#"))
7871 #t))
7872 (add-before 'check 'pre-check
7873 (lambda _
7874 ;; Tests require a running X server.
7875 (system "Xvfb :1 &")
7876 (setenv "DISPLAY" ":1")
7877 #t)))))
7878 (native-inputs
687b4909 7879 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 7880 ("pkg-config" ,pkg-config)
687b4909 7881 ;; For tests.
4b2ed6c2
RW
7882 ("xorg-server" ,xorg-server)))
7883 (inputs
7884 `(("glib" ,glib)
7885 ("gobject-introspection" ,gobject-introspection)
7886 ("gtk+" ,gtk+)
7887 ("vala" ,vala)))
7888 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
7889 (synopsis "Companion library to GObject and Gtk+")
7890 (description "The libdazzle library is a companion library to GObject and
7891Gtk+. It provides various features that the authors wish were in the
7892underlying library but cannot for various reasons. In most cases, they are
7893wildly out of scope for those libraries. In other cases, they are not quite
7894generic enough to work for everyone.")
7895 (license license:gpl3+)))
7d3bb433
RW
7896
7897(define-public evolution
7898 (package
7899 (name "evolution")
7900 (version "3.28.1")
7901 (source (origin
7902 (method url-fetch)
7903 (uri (string-append "mirror://gnome/sources/evolution/"
7904 (version-major+minor version) "/"
7905 "evolution-" version ".tar.xz"))
7906 (sha256
7907 (base32
7908 "0sdv5lg2vlz5f4raymz9d8a5jq4j18vbqyigaip6508p3bjnfj8l"))))
7909 (build-system cmake-build-system)
7910 (arguments
7911 `(#:configure-flags
7912 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
7913 "-DENABLE_LIBCRYPTUI=OFF"))) ; libcryptui hasn't seen a release
7914 ; in four years and cannot be built.
7915 (native-inputs
7916 `(("glib" ,glib "bin") ; glib-mkenums
7917 ("pkg-config" ,pkg-config)
7918 ("intltool" ,intltool)
7919 ("itstool" ,itstool)))
7920 (inputs
7921 `(("enchant" ,enchant)
7922 ("evolution-data-server" ,evolution-data-server) ; must be the same version
7923 ("gcr" ,gcr)
7924 ("gnome-autoar" ,gnome-autoar)
7925 ("gnome-desktop" ,gnome-desktop)
7926 ("gtkspell3" ,gtkspell3)
7927 ("highlight" ,highlight)
7928 ("libcanberra" ,libcanberra)
da43d1cb 7929 ("libedataserverui" ,evolution-data-server "libedataserverui")
7d3bb433
RW
7930 ("libgweather" ,libgweather)
7931 ("libnotify" ,libnotify)
7932 ("libsoup" ,libsoup)
7933 ("nss" ,nss)
7934 ("openldap" ,openldap)
7935 ("webkitgtk" ,webkitgtk)
7936 ("ytnef" ,ytnef)))
7937 (home-page "https://gitlab.gnome.org/GNOME/evolution")
7938 (synopsis "Manage your email, contacts and schedule")
7939 (description "Evolution is a personal information management application
7940that provides integrated mail, calendaring and address book
7941functionality.")
7942 ;; See COPYING for details.
23dbe621 7943 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 7944 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 7945 license:lgpl2.1+)))) ; smime/lib/*