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