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