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