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