gnu: rhythmbox: Update to 3.4.4.
[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>
5dc6d5ce 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 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>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 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>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 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>
f2d56e39 37;;; Copyright © 2019, 2020 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>
4690e3a4 42;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
50e96d25 43;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
d36fa50f 45;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
63db190a 49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
995b7261
AE
50;;;
51;;; This file is part of GNU Guix.
52;;;
53;;; GNU Guix is free software; you can redistribute it and/or modify it
54;;; under the terms of the GNU General Public License as published by
55;;; the Free Software Foundation; either version 3 of the License, or (at
56;;; your option) any later version.
57;;;
58;;; GNU Guix is distributed in the hope that it will be useful, but
59;;; WITHOUT ANY WARRANTY; without even the implied warranty of
60;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61;;; GNU General Public License for more details.
62;;;
63;;; You should have received a copy of the GNU General Public License
64;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
65
66(define-module (gnu packages gnome)
ed19903d 67 #:use-module (gnu packages)
ba5dd105 68 #:use-module (gnu packages admin)
411ba511 69 #:use-module (gnu packages aspell)
75016d07 70 #:use-module (gnu packages autotools)
7b212526 71 #:use-module (gnu packages avahi)
b29909b4 72 #:use-module (gnu packages backup)
6a180f6f 73 #:use-module (gnu packages base)
1e33331c 74 #:use-module (gnu packages bash)
5698b8b8 75 #:use-module (gnu packages bison)
aa51d92c 76 #:use-module (gnu packages boost)
5fc9b6c1 77 #:use-module (gnu packages build-tools)
df217748 78 #:use-module (gnu packages calendar)
b29909b4 79 #:use-module (gnu packages cdrom)
df12f04a 80 #:use-module (gnu packages check)
d61a894b 81 #:use-module (gnu packages cmake)
b29909b4 82 #:use-module (gnu packages compression)
8f523eb9 83 #:use-module (gnu packages crates-io)
23a22af6 84 #:use-module (gnu packages cups)
6e1bb642 85 #:use-module (gnu packages curl)
c3f29bc9 86 #:use-module (gnu packages cyrus-sasl)
6e1bb642 87 #:use-module (gnu packages databases)
255d1bbe 88 #:use-module (gnu packages dbm)
c769cf9f 89 #:use-module (gnu packages djvu)
ba5dd105 90 #:use-module (gnu packages dns)
b4ce6300 91 #:use-module (gnu packages docbook)
b29909b4 92 #:use-module (gnu packages documentation)
329d731b 93 #:use-module (gnu packages enchant)
b29909b4
TGR
94 #:use-module (gnu packages flex)
95 #:use-module (gnu packages fonts)
e762d943 96 #:use-module (gnu packages file-systems)
a56be436 97 #:use-module (gnu packages fontutils)
b29909b4 98 #:use-module (gnu packages freedesktop)
dfc407f3 99 #:use-module (gnu packages game-development)
fed5a689 100 #:use-module (gnu packages gettext)
b29909b4
TGR
101 #:use-module (gnu packages ghostscript)
102 #:use-module (gnu packages gl)
995b7261 103 #:use-module (gnu packages glib)
c1354b90 104 #:use-module (gnu packages gnupg)
23a22af6 105 #:use-module (gnu packages gnuzilla)
8d8c6bff 106 #:use-module (gnu packages geo)
b29909b4
TGR
107 #:use-module (gnu packages gperf)
108 #:use-module (gnu packages graphviz)
85f5dc19 109 #:use-module (gnu packages gstreamer)
d9c1a22b 110 #:use-module (gnu packages gtk)
6b888eff 111 #:use-module (gnu packages guile)
b645146f 112 #:use-module (gnu packages ibus)
03be9874 113 #:use-module (gnu packages icu4c)
b29909b4
TGR
114 #:use-module (gnu packages image)
115 #:use-module (gnu packages imagemagick)
116 #:use-module (gnu packages inkscape)
9cc98f8a 117 #:use-module (gnu packages iso-codes)
b29909b4 118 #:use-module (gnu packages kerberos)
85f5dc19 119 #:use-module (gnu packages libcanberra)
b64e217f 120 #:use-module (gnu packages libunistring)
75016d07 121 #:use-module (gnu packages libusb)
b29909b4 122 #:use-module (gnu packages linux)
4e3fc547 123 #:use-module (gnu packages lirc)
7b212526 124 #:use-module (gnu packages lua)
b29909b4 125 #:use-module (gnu packages mail)
03be9874 126 #:use-module (gnu packages mp3)
b29909b4 127 #:use-module (gnu packages multiprecision)
64fce637 128 #:use-module (gnu packages music)
b29909b4
TGR
129 #:use-module (gnu packages ncurses)
130 #:use-module (gnu packages nettle)
ba5dd105 131 #:use-module (gnu packages networking)
5fc9b6c1 132 #:use-module (gnu packages ninja)
aff0cce9 133 #:use-module (gnu packages nss)
b29909b4 134 #:use-module (gnu packages openldap)
b645146f 135 #:use-module (gnu packages password-utils)
de1215e2 136 #:use-module (gnu packages pcre)
b29909b4 137 #:use-module (gnu packages pdf)
27477d2d 138 #:use-module (gnu packages perl)
f70d8383 139 #:use-module (gnu packages photo)
995b7261 140 #:use-module (gnu packages pkg-config)
b29909b4
TGR
141 #:use-module (gnu packages polkit)
142 #:use-module (gnu packages popt)
7d3bb433 143 #:use-module (gnu packages pretty-print)
23a22af6 144 #:use-module (gnu packages pulseaudio)
995b7261 145 #:use-module (gnu packages python)
00014781
RW
146 #:use-module (gnu packages python-crypto)
147 #:use-module (gnu packages python-web)
44d10b1f 148 #:use-module (gnu packages python-xyz)
cce0da5e 149 #:use-module (gnu packages rdesktop)
b29909b4 150 #:use-module (gnu packages readline)
a76d0f03 151 #:use-module (gnu packages ruby)
ec47c07d 152 #:use-module (gnu packages rust)
b29909b4 153 #:use-module (gnu packages samba)
75016d07 154 #:use-module (gnu packages scanner)
240cee8a 155 #:use-module (gnu packages selinux)
c27e02bf 156 #:use-module (gnu packages slang)
b29909b4
TGR
157 #:use-module (gnu packages speech)
158 #:use-module (gnu packages spice)
cd0322a3 159 #:use-module (gnu packages sqlite)
4a1bf090 160 #:use-module (gnu packages ssh)
8f9ac901 161 #:use-module (gnu packages tex)
33dc54b0 162 #:use-module (gnu packages time)
a7fd7b68 163 #:use-module (gnu packages tls)
3c5dbd2b 164 #:use-module (gnu packages version-control)
b29909b4 165 #:use-module (gnu packages video)
59132b80 166 #:use-module (gnu packages virtualization)
f2b96b3a 167 #:use-module (gnu packages vpn)
a18f8eaf 168 #:use-module (gnu packages web)
b29909b4
TGR
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
a76d0f03 174 #:use-module (gnu artwork)
8f523eb9 175 #:use-module (guix build-system cargo)
b29909b4
TGR
176 #:use-module (guix build-system cmake)
177 #:use-module (guix build-system glib-or-gtk)
178 #:use-module (guix build-system gnu)
179 #:use-module (guix build-system meson)
08be02be 180 #:use-module (guix build-system python)
b29909b4
TGR
181 #:use-module (guix build-system trivial)
182 #:use-module (guix download)
183 #:use-module (guix git-download)
184 #:use-module ((guix licenses) #:prefix license:)
185 #:use-module (guix packages)
186 #:use-module (guix utils)
a76d0f03 187 #:use-module (guix gexp)
8f523eb9
EF
188 #:use-module (guix monads)
189 #:use-module (guix store)
4e3fdeb7 190 #:use-module (ice-9 match)
c024ae36 191 #:use-module (srfi srfi-1))
85f5dc19
AE
192
193(define-public brasero
194 (package
195 (name "brasero")
e2bf423a 196 (version "3.12.2")
85f5dc19
AE
197 (source (origin
198 (method url-fetch)
d1df7554 199 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 200 (version-major+minor version) "/"
d1df7554 201 "brasero-" version ".tar.xz"))
85f5dc19
AE
202 (sha256
203 (base32
e2bf423a 204 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 205 (build-system glib-or-gtk-build-system)
e8627cd9
DH
206 (arguments
207 `(#:configure-flags (list
208 (string-append "--with-girdir="
209 (assoc-ref %outputs "out")
210 "/share/gir-1.0")
211 (string-append "--with-typelibdir="
212 (assoc-ref %outputs "out")
ce426deb
TD
213 "/lib/girepository-1.0"))
214 #:phases
215 (modify-phases %standard-phases
216 (add-before 'configure 'embed-growisofs
217 (lambda* (#:key inputs #:allow-other-keys)
218 (substitute* "plugins/growisofs/burn-growisofs.c"
219 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 220 #t)))))
85f5dc19
AE
221 (propagated-inputs
222 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
223 (native-inputs
224 `(("intltool" ,intltool)
ba549e17 225 ("itstool" ,itstool)
426adbe8 226 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 227 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 228 ("pkg-config" ,pkg-config)))
85f5dc19 229 (inputs
ce426deb
TD
230 `(("dvd+rw-tools" ,dvd+rw-tools)
231 ("glib" ,glib)
85f5dc19
AE
232 ("gnome-doc-utils" ,gnome-doc-utils)
233 ("gstreamer" ,gstreamer)
234 ("gst-plugins-base" ,gst-plugins-base)
235 ("gtk+" ,gtk+)
85f5dc19
AE
236 ("libcanberra" ,libcanberra)
237 ("libice" ,libice)
238 ("libnotify" ,libnotify)
239 ("libsm" ,libsm)
e8627cd9 240 ("libxml2" ,libxml2)
e8627cd9 241 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 242 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
243 (synopsis "CD/DVD burning tool for Gnome")
244 (description "Brasero is an application to burn CD/DVD for the Gnome
245Desktop. It is designed to be as simple as possible and has some unique
246features to enable users to create their discs easily and quickly.")
1dd26275 247 (license license:gpl2+)))
995b7261 248
29ae18db
RG
249(define-public gnome-color-manager
250 (package
251 (name "gnome-color-manager")
252 (version "3.32.0")
253 (source (origin
254 (method url-fetch)
255 (uri (string-append "mirror://gnome/sources/" name "/"
256 (version-major+minor version) "/"
257 name "-" version ".tar.xz"))
258 (sha256
259 (base32
260 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
261 (build-system meson-build-system)
262 (arguments
263 `(#:glib-or-gtk? #t
264 #:phases
265 (modify-phases %standard-phases
266 (add-before
267 'check 'pre-check
268 (lambda _
269 ;; Tests require a running X server.
270 (system "Xvfb :1 &")
271 (setenv "DISPLAY" ":1")
272 #t)))))
273 (native-inputs
274 `(("desktop-file-utils" ,desktop-file-utils)
275 ("gettext" ,gettext-minimal)
276 ("glib:bin" ,glib "bin")
277 ("gtk+:bin" ,gtk+ "bin")
278 ("itstool" ,itstool)
279 ("pkg-config" ,pkg-config)
280 ("xorg-server" ,xorg-server-for-tests)))
281 (inputs
282 `(("adwaita-icon-theme" ,adwaita-icon-theme)
283 ("appstream-glib" ,appstream-glib)
284 ("colord-gtk" ,colord-gtk)
285 ("exiv2" ,exiv2)
286 ("gnome-desktop" ,gnome-desktop)
287 ("libcanberra" ,libcanberra)
288 ("libexif" ,libexif)
289 ("libtiff" ,libtiff)
290 ("libxrandr" ,libxrandr)
291 ("libxtst" ,libxtst)
292 ("libxxf86vm" ,libxxf86vm)
293 ("vte" ,vte)
294 ("xorgproto" ,xorgproto)))
295 (synopsis "Color profile manager for the GNOME desktop")
296 (description "GNOME Color Manager is a session framework that makes
297it easy to manage, install and generate color profiles
298in the GNOME desktop.")
299 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 300 (license license:gpl2+)))
29ae18db 301
e05471a1
RG
302(define-public gnome-online-miners
303 (package
304 (name "gnome-online-miners")
305 (version "3.30.0")
306 (source (origin
307 (method url-fetch)
308 (uri (string-append "mirror://gnome/sources/" name "/"
309 (version-major+minor version) "/"
310 name "-" version ".tar.xz"))
311 (sha256
312 (base32
313 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
314 (build-system glib-or-gtk-build-system)
315 (native-inputs
316 `(("gettext" ,gettext-minimal)
317 ("glib:bin" ,glib "bin")
29ae18db 318 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
319 ("gtk+:bin" ,gtk+ "bin")
320 ("pkg-config" ,pkg-config)))
321 (inputs
322 `(("gnome-online-accounts" ,gnome-online-accounts)
323 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
324 ("grilo" ,grilo)
325 ("libgdata" ,libgdata)
326 ("libgfbgraph" ,gfbgraph)
327 ("libzapojit" ,libzapojit)
328 ("rest" ,rest)
329 ("tracker" ,tracker)))
330 (synopsis "Web Crawlers for GNOME")
331 (description "GNOME Online Miners provides a set of crawlers that
332go through your online content and index them locally in Tracker.
333It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
334 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 335 (license license:gpl2+)))
e05471a1 336
e2aed29c
RG
337(define-public gssdp
338 (package
339 (name "gssdp")
340 (version "1.2.2")
341 (source (origin
342 (method url-fetch)
343 (uri (string-append "mirror://gnome/sources/" name "/"
344 (version-major+minor version) "/"
345 name "-" version ".tar.xz"))
346 (sha256
347 (base32
348 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
349 (build-system meson-build-system)
350 (native-inputs
351 `(("gettext" ,gettext-minimal)
352 ("glib:bin" ,glib "bin")
353 ("gobject-introspection" ,gobject-introspection)
354 ("gtk-doc" ,gtk-doc)
355 ("pkg-config" ,pkg-config)
356 ("vala" ,vala)))
357 (inputs
358 `(("gtk+" ,gtk+)
359 ("libsoup" ,libsoup)))
360 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
361Protocol} for GNOME")
362 (description "This package provides a library to handle resource discovery
363and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
364a debugging tool, @command{gssdp-device-sniffer}.")
365 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
366 (license license:lgpl2.0+)))
367
291a85b2
RG
368(define-public gupnp
369 (package
370 (name "gupnp")
371 (version "1.2.2")
372 (source (origin
373 (method url-fetch)
374 (uri (string-append "mirror://gnome/sources/" name "/"
375 (version-major+minor version) "/"
376 name "-" version ".tar.xz"))
377 (sha256
378 (base32
379 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
380 (build-system meson-build-system)
381 (native-inputs
382 `(("gettext" ,gettext-minimal)
383 ("glib:bin" ,glib "bin")
384 ("gobject-introspection" ,gobject-introspection)
385 ("gtk-doc" ,gtk-doc)
386 ("pkg-config" ,pkg-config)
387 ("vala" ,vala)))
388 (inputs
389 `(("gssdp" ,gssdp)
390 ("gtk+" ,gtk+)
391 ("libsoup" ,libsoup)))
392 (synopsis "PnP API for GNOME")
393 (description "This package provides GUPnP, an object-oriented framework
394for creating UPnP devices and control points, written in C using
395@code{GObject} and @code{libsoup}.")
396 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
397 (license license:lgpl2.0+)))
398
747d7fe4
RG
399(define-public gupnp-dlna
400 (package
401 (name "gupnp-dlna")
402 (version "0.10.5")
403 (source (origin
404 (method url-fetch)
405 (uri (string-append "mirror://gnome/sources/" name "/"
406 (version-major+minor version) "/"
407 name "-" version ".tar.xz"))
408 (sha256
409 (base32
410 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
411 (build-system gnu-build-system)
412 (native-inputs
413 `(("gettext" ,gettext-minimal)
414 ("glib:bin" ,glib "bin")
415 ("gobject-introspection" ,gobject-introspection)
416 ("gtk-doc" ,gtk-doc)
417 ("libxml" ,libxml2)
418 ("pkg-config" ,pkg-config)
419 ("vala" ,vala)))
420 (inputs
421 `(("gstreamer" ,gstreamer)
422 ("gupnp" ,gupnp)))
423 (propagated-inputs
424 `(("gst-plugins-base" ,gst-plugins-base)
425 ("gst-plugins-good" ,gst-plugins-good)))
426 (synopsis "GUPnP DLNA for GNOME")
427 (description "This package provides a small utility library to
428support DLNA-related tasks such as media profile guessing, transcoding to a
429given profile, etc. DLNA is a subset of UPnP A/V.")
430 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
431 (license license:lgpl2.0+)))
432
1b4cb628
RG
433(define-public gupnp-av
434 (package
435 (name "gupnp-av")
436 (version "0.12.11")
437 (source (origin
438 (method url-fetch)
439 (uri (string-append "mirror://gnome/sources/" name "/"
440 (version-major+minor version) "/"
441 name "-" version ".tar.xz"))
442 (sha256
443 (base32
444 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
445 (build-system gnu-build-system)
446 (native-inputs
447 `(("gettext" ,gettext-minimal)
448 ("glib:bin" ,glib "bin")
449 ("gobject-introspection" ,gobject-introspection)
450 ("gtk-doc" ,gtk-doc)
451 ("libxml" ,libxml2)
452 ("pkg-config" ,pkg-config)))
453 (inputs
454 `(("gtk+" ,gtk+)
455 ("gupnp" ,gupnp)))
456 (synopsis "GUPnP A/V for GNOME")
457 (description "This package provides a small library for handling
458and implementation of UPnP A/V profiles.")
459 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
460 (license license:lgpl2.0+)))
461
02ebbca8
RG
462(define-public libmediaart
463 (package
464 (name "libmediaart")
465 (version "1.9.4")
466 (source (origin
467 (method url-fetch)
468 (uri (string-append "mirror://gnome/sources/" name "/"
469 (version-major+minor version) "/"
470 name "-" version ".tar.xz"))
471 (sha256
472 (base32
473 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
474 (build-system gnu-build-system)
475 (native-inputs
476 `(("glib:bin" ,glib "bin")
477 ("pkg-config" ,pkg-config)))
478 (inputs
479 `(("gdk-pixbuf" ,gdk-pixbuf)
480 ("gettext" ,gettext-minimal)
481 ("gobject-introspection" ,gobject-introspection)
482 ("gtk+:doc", gtk+ "doc")
483 ("vala" ,vala)))
484 (synopsis "Media art library for the GNOME desktop")
485 (description
486 "The libmediaart library is the foundation for media art caching,
487extraction, and lookup for applications on the desktop.")
488 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
489 (license license:lgpl2.1+)))
490
a26680eb
RG
491(define-public gnome-initial-setup
492 (package
493 (name "gnome-initial-setup")
494 (version "3.32.1")
495 (source (origin
496 (method url-fetch)
497 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
498 (version-major+minor version)
499 "/gnome-initial-setup-" version ".tar.xz"))
500 (sha256
501 (base32
502 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
503 (build-system meson-build-system)
504 (arguments
a65cc579
DM
505 '(#:configure-flags '(;; Enable camera support for user selfie.
506 "-Dcheese=auto"
507 "-Dsystemd=false")))
a26680eb
RG
508 (native-inputs
509 `(("gettext" ,gettext-minimal)
510 ("glib:bin" ,glib "bin")
511 ("gobject-introspection" ,gobject-introspection)
512 ("gtk+:bin" ,gtk+ "bin")
513 ("pkg-config" ,pkg-config)))
514 (inputs
515 `(("accountsservice" ,accountsservice)
516 ;("adwaita-icon-theme" ,adwaita-icon-theme)
517 ("gdm" ,gdm)
518 ("geoclue" ,geoclue)
519 ("gnome-desktop" ,gnome-desktop)
520 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
521 ("gnome-online-accounts" ,gnome-online-accounts)
522 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
523 ("gstreamer" ,gstreamer)
524 ("ibus" ,ibus)
525 ("json-glib" ,json-glib)
526 ("krb5" ,mit-krb5)
527 ("libgweather" ,libgweather)
528 ("libsecret" ,libsecret)
529 ("network-manager" ,network-manager)
530 ("network-manager-applet" ,network-manager-applet)
531 ("packagekit" ,packagekit)
532 ("polkit" ,polkit)
533 ("pwquality" ,libpwquality)
534 ("rest" ,rest)
535 ("upower" ,upower)
536 ("webkitgtk" ,webkitgtk)))
537 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
538 (description "This package provides a set-up wizard when a
539user logs into GNOME for the first time. It typically provides a
540tour of all gnome components and allows the user to set them up.")
a26680eb
RG
541 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
542 (license license:gpl2)))
543
b5f01392
RG
544(define-public gnome-user-share
545 (package
546 (name "gnome-user-share")
547 (version "3.33.1")
548 (source (origin
549 (method url-fetch)
550 (uri (string-append "mirror://gnome/sources/" name "/"
551 (version-major+minor version) "/"
552 name "-" version ".tar.xz"))
553 (sha256
554 (base32
555 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
556 (build-system meson-build-system)
557 (arguments
558 `(#:glib-or-gtk? #t
559 #:configure-flags
560 `("-Dsystemd=false"
561 ;; Enable nautilus extension for file sharing.
562 "-Dnautilus_extension=true")))
563 (native-inputs
564 `(("gettext" ,gettext-minimal)
565 ("glib:bin" ,glib "bin")
566 ("gobject-introspection" ,gobject-introspection)
567 ("gtk+:bin" ,gtk+ "bin")
568 ("pkg-config" ,pkg-config)
569 ("yelp-tools" ,yelp-tools)))
570 (inputs
571 `(("glib" ,glib)
572 ("gnome-bluetooth" ,gnome-bluetooth)
573 ("gtk+" ,gtk+)
574 ("libcanberra" ,libcanberra)
575 ("libnotify" ,libnotify)
576 ("nautilus" ,nautilus))) ; For nautilus extension.
577 (synopsis "File sharing for GNOME desktop")
578 (description "GNOME User Share is a small package that binds together
579various free software projects to bring easy to use user-level file
580sharing to the masses.")
581 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 582 (license license:gpl2+)))
b5f01392 583
04b201bb
RG
584(define-public sushi
585 (package
586 (name "sushi")
587 (version "3.32.1")
588 (source (origin
589 (method url-fetch)
590 (uri (string-append "mirror://gnome/sources/" name "/"
591 (version-major+minor version) "/"
592 name "-" version ".tar.xz"))
593 (sha256
594 (base32
595 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
596 (build-system meson-build-system)
597 (arguments
598 `(#:glib-or-gtk? #t
599 #:phases
600 (modify-phases %standard-phases
601 (add-after 'glib-or-gtk-wrap 'wrap-typelib
602 (lambda* (#:key outputs #:allow-other-keys)
603 (let ((prog (string-append (assoc-ref outputs "out")
604 "/bin/sushi")))
605 ;; Put existing typelibs before sushi's deps, so as to correctly
606 ;; infer gdk-pixbuf
607 (wrap-program prog
608 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
609 #t))))))
610 (native-inputs
611 `(("glib:bin" ,glib "bin")
612 ("gettext" ,gettext-minimal)
613 ("gobject-introspection" ,gobject-introspection)
614 ("pkg-config" ,pkg-config)))
615 (inputs
616 `(("clutter" ,clutter)
617 ("clutter-gst" ,clutter-gst)
618 ("clutter-gtk" ,clutter-gtk)
619 ("evince" ,evince) ; For file previewing.
620 ("freetype" ,freetype)
621 ("gdk-pixbuf" ,gdk-pixbuf)
622 ("gjs" ,gjs)
623 ("gst-plugins-base" ,gst-plugins-base)
624 ("gstreamer" ,gstreamer)
625 ("gtksourceview" ,gtksourceview-3)
626 ("harfbuzz" ,harfbuzz)
627 ("libepoxy" ,libepoxy)
628 ("libmusicbrainz" ,libmusicbrainz)
629 ("libxml2" ,libxml2)
630 ("neon" ,neon)
631 ("webkitgtk" ,webkitgtk)))
632 (synopsis "File previewer for the GNOME desktop")
633 (description "Sushi is a DBus-activated service that allows applications to
634preview files on the GNOME desktop.")
635 (home-page "https://gitlab.gnome.org/GNOME/sushi")
636 (license license:gpl2+)))
637
89af0902
RG
638(define-public rygel
639 (package
640 (name "rygel")
641 (version "0.38.3")
642 (source (origin
643 (method url-fetch)
644 (uri (string-append "mirror://gnome/sources/" name "/"
645 (version-major+minor version) "/"
646 name "-" version ".tar.xz"))
647 (sha256
648 (base32
649 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
650 (build-system gnu-build-system)
651 (native-inputs
652 `(("gettext" ,gettext-minimal)
653 ("gobject-introspection" ,gobject-introspection)
654 ("gtk-doc" ,gtk-doc)
655 ("pkg-config" ,pkg-config)
656 ("vala" ,vala)))
657 (inputs
658 `(("gdk-pixbuf" ,gdk-pixbuf)
659 ("gssdp" ,gssdp)
660 ("gstreamer" ,gstreamer)
661 ("gst-plugins-base" ,gst-plugins-base)
662 ("gtk+" ,gtk+)
663 ("gupnp" ,gupnp)
664 ("gupnp-av" ,gupnp-av)
665 ("gupnp-dlna" ,gupnp-dlna)
666 ("libgee" ,libgee)
667 ("libmediaart" ,libmediaart)
668 ("libsoup" ,libsoup)
669 ("libxslt" ,libxslt)
670 ("libunistring" ,libunistring)
671 ("tracker" ,tracker)))
672 (synopsis "Share audio, video, and pictures with other devices")
673 (description
674 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
675MediaRenderer}) for GNOME that allows you to easily share audio, video, and
676pictures, and to control a media player on your home network.
677
678Rygel achieves interoperability with other devices by trying to conform to the
679strict requirements of DLNA and by converting media on-the-fly to formats that
680client devices can handle.")
681 (home-page "https://wiki.gnome.org/Projects/Rygel")
682 (license (list
683 ;; For logo (data/icons/*).
684 license:cc-by-sa3.0
685 ;; For all others.
686 license:lgpl2.1+))))
687
47e87093
RG
688(define-public libnma
689 (package
690 (name "libnma")
691 (version "1.8.26")
692 (source (origin
693 (method url-fetch)
694 (uri (string-append "mirror://gnome/sources/" name "/"
695 (version-major+minor version) "/"
696 name "-" version ".tar.xz"))
697 (sha256
698 (base32
699 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
700 (build-system meson-build-system)
701 (arguments
702 `(#:glib-or-gtk? #t))
703 (native-inputs
704 `(("gettext" ,gettext-minimal)
705 ("glib:bin" ,glib "bin")
706 ("gtk-doc" ,gtk-doc)
707 ("gobject-introspection" ,gobject-introspection)
708 ("pkg-config" ,pkg-config)))
709 (inputs
710 `(("adwaita-icon-theme" ,adwaita-icon-theme)
711 ("gcr" ,gcr)
712 ("gtk+" ,gtk+)
713 ("iso-codes" ,iso-codes)
714 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
715 ("network-manager" ,network-manager)))
716 (synopsis "Network Manager's applet library")
717 (description "Libnma is an applet library for Network Manager. It was
718initially part of network-manager-applet and has now become a separate
719project.")
720 (home-page "https://gitlab.gnome.org/GNOME/libnma")
721
722 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
723 ;; "LGPL-2.1+".
724 (license license:gpl2+)))
725
30416265
RG
726(define-public gnome-menus
727 (package
728 (name "gnome-menus")
729 (version "3.32.0")
730 (source (origin
731 (method url-fetch)
732 (uri (string-append "mirror://gnome/sources/gnome-menus/"
733 (version-major+minor version) "/"
734 name "-" version ".tar.xz"))
735 (sha256
736 (base32
737 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
738 (build-system gnu-build-system)
739 (native-inputs
740 `(("gettext" ,gettext-minimal)
741 ("glib" ,glib)
742 ("pkg-config" ,pkg-config)))
743 (synopsis "Menu support for GNOME desktop")
744 (description "GNOME Menus contains the libgnome-menu library, the layout
745configuration files for the GNOME menu, as well as a simple menu editor.")
746 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 747 (license license:lgpl2.0+)))
30416265 748
d61a894b
CB
749(define-public deja-dup
750 (package
751 (name "deja-dup")
752 (version "34.3")
753 (source (origin
754 (method url-fetch)
755 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
756 (sha256
757 (base32
758 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
759 (patches
760 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
761 (build-system glib-or-gtk-build-system)
762 (arguments
763 `(#:modules ((guix build gnu-build-system)
764 ((guix build cmake-build-system) #:prefix cmake:)
765 (guix build glib-or-gtk-build-system)
766 (guix build utils))
767 #:imported-modules (,@%glib-or-gtk-build-system-modules
768 (guix build cmake-build-system))
769 #:test-target "test"
770 #:configure-flags (list (string-append
771 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
772 (string-append
773 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
774 #:phases
775 (modify-phases %standard-phases
776 (add-after 'unpack 'patch-lockfile-deletion
777 (lambda rest
778 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
779 (("/bin/rm")
780 (which "rm")))))
781 (replace 'configure
782 (assoc-ref cmake:%standard-phases 'configure))
783 (delete 'check) ;; Fails due to issues with DBus
784 (add-after 'install 'wrap-deja-dup
785 (lambda* (#:key inputs outputs #:allow-other-keys)
786 (let ((python (assoc-ref inputs "python"))
787 (python-path (getenv "PYTHONPATH"))
788 (duplicity (assoc-ref inputs "duplicity"))
789 (out (assoc-ref outputs "out")))
790 (for-each
791 (lambda (program)
792 (wrap-program program
793 `("PATH" ":" prefix (,(string-append python "/bin")
794 ,(string-append duplicity "/bin"))))
795 (wrap-program program
796 `("PYTHONPATH" ":" prefix (,python-path))))
797
798 (find-files (string-append out "/bin")))
799 #t))))))
800 (inputs
801 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
802 ("gobject-introspection" ,gobject-introspection)
803 ("duplicity" ,duplicity)
61506fe5 804 ("python" ,python-2)
d61a894b
CB
805 ("python-pygobject" ,python2-pygobject)
806 ("gtk+" ,gtk+)
807 ("libnotify" ,libnotify)
808 ("libpeas" ,libpeas)
809 ("libsecret" ,libsecret)
810 ("packagekit" ,packagekit)))
811 (native-inputs
812 `(("pkg-config" ,pkg-config)
813 ("vala" ,vala)
814 ("gettext" ,gettext-minimal)
815 ("itstool" ,itstool)
816 ("intltool" ,intltool)
c69959f0 817 ("cmake" ,cmake-minimal)))
d61a894b
CB
818 (home-page "https://launchpad.net/deja-dup")
819 (synopsis "Simple backup tool, for regular encrypted backups")
820 (description
821 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
822uses duplicity as the backend, which supports incremental backups and storage
823either on a local, or remote machine via a number of methods.")
824 (license license:gpl3+)))
825
823b77fb
RG
826(define-public gnome-user-docs
827 (package
828 (name "gnome-user-docs")
829 (version "3.32.3")
830 (source
831 (origin
832 (method url-fetch)
833 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
834 (version-major+minor version)
835 "/gnome-user-docs-" version ".tar.xz"))
836 (sha256
837 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
838 (build-system gnu-build-system)
839 (native-inputs
840 `(("gettext" ,gettext-minimal)
841 ("itstool" ,itstool)
842 ("pkg-config" ,pkg-config)
843 ("xmllint" ,libxml2)))
844 (synopsis "User documentation for the GNOME desktop")
845 (description
846 "The GNOME User Documentation explains how to use the GNOME desktop and its
847components. It covers usage and setup of the core GNOME programs by end-users
848and system administrators.")
849 (home-page "https://live.gnome.org/DocumentationProject")
850 (license license:cc-by3.0)))
851
be93299d
RG
852(define-public gnome-getting-started-docs
853 (package
854 (name "gnome-getting-started-docs")
855 (version "3.32.2")
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
860 (version-major+minor version)
861 "/gnome-getting-started-docs-" version ".tar.xz"))
862 (sha256
863 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
864 (build-system gnu-build-system)
865 (native-inputs
866 `(("gettext" ,gettext-minimal)
867 ("itstool" ,itstool)
868 ("pkg-config" ,pkg-config)
869 ("xmllint" ,libxml2)))
870 (synopsis "Help to get new users started with the GNOME desktop")
871 (description
872 "The GNOME Getting Started Documentation contains GNOME's intuitive
873\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
874
875It is normally used together with @command{gnome-initial-setup}, but is also
876useful as a tutorial and users' guide for new or less experienced users.")
877 (home-page "https://live.gnome.org/DocumentationProject")
878 (license license:cc-by-sa3.0)))
879
a56be436
RJ
880(define-public dia
881 ;; This version from GNOME's repository includes fixes for compiling with
882 ;; recent versions of the build tools. The latest activity on the
883 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
884 ;; fixes in 2016.
885 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
886 (package
887 (name "dia")
914c8cdf 888 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
889 (source (origin
890 (method git-fetch)
891 (uri (git-reference
914c8cdf 892 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 893 (commit commit)))
914c8cdf 894 (file-name (git-file-name name version))
a56be436
RJ
895 (sha256
896 (base32
897 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
898 (build-system gnu-build-system)
899 (inputs
a315afa3 900 `(("freetype" ,freetype)
a56be436
RJ
901 ("gdk-pixbuf" ,gdk-pixbuf)
902 ("gtk+" ,gtk+-2)
a315afa3 903 ("libart-lgpl" ,libart-lgpl)
a56be436 904 ("libxml2" ,libxml2)
a315afa3 905 ("pango" ,pango)))
a56be436 906 (native-inputs
a315afa3 907 `(("autoconf" ,autoconf)
a56be436 908 ("automake" ,automake)
a315afa3
EF
909 ("intltool" ,intltool)
910 ("glib" ,glib "bin")
a56be436
RJ
911 ("libtool" ,libtool)
912 ("perl" ,perl)
a315afa3 913 ("pkg-config" ,pkg-config)
a56be436
RJ
914 ("python-wrapper" ,python-wrapper)))
915 (arguments
916 `(#:phases
917 (modify-phases %standard-phases
4b3e91de 918 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 919 (lambda _
4b3e91de
EF
920 (setenv "NOCONFIGURE" "true")
921 #t)))))
a56be436
RJ
922 (home-page "https://wiki.gnome.org/Apps/Dia")
923 (synopsis "Diagram creation for GNOME")
924 (description "Dia can be used to draw different types of diagrams, and
925includes support for UML static structure diagrams (class diagrams), entity
926relationship modeling, and network diagrams. The program supports various file
927formats like PNG, SVG, PDF and EPS.")
928 (license license:gpl2+))))
929
d0b19e44
RW
930;; This is the unstable release, but it is required for the current stable
931;; release of gvfs (1.38.1).
adc5cb1b
KK
932(define-public libgdata
933 (package
934 (name "libgdata")
d0b19e44 935 (version "0.17.9")
adc5cb1b
KK
936 (source (origin
937 (method url-fetch)
938 (uri (string-append "mirror://gnome/sources/" name "/"
939 (version-major+minor version) "/"
940 name "-" version ".tar.xz"))
941 (sha256
942 (base32
d0b19e44 943 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
944 (build-system gnu-build-system)
945 (arguments
946 '(#:phases
947 (modify-phases %standard-phases
448052b7
TGR
948 (add-before 'check 'disable-failing-tests
949 (lambda _
950 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
951 ;; They have been removed in libgdata 0.17.6, so just do the same.
952 (substitute* "gdata/tests/Makefile"
953 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
954 #t)))))
955 (native-inputs
956 `(("glib:bin" ,glib "bin")
957 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
958 ("intltool" ,intltool)
959 ("pkg-config" ,pkg-config)
960 ("uhttpmock" ,uhttpmock)))
961 (inputs
962 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 963 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
964 (propagated-inputs
965 `(("gcr" ,gcr)
d0b19e44 966 ("glib" ,glib)
14c297fd 967 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 968 ("json-glib" ,json-glib)
adc5cb1b 969 ("liboauth" ,liboauth)
d0b19e44 970 ("libsoup" ,libsoup)
adc5cb1b
KK
971 ("libxml2" ,libxml2)))
972 (home-page "https://wiki.gnome.org/Projects/libgdata")
973 (synopsis "Library for accessing online service APIs")
974 (description
975 "libgdata is a GLib-based library for accessing online service APIs using
976the GData protocol — most notably, Google's services. It provides APIs to
977access the common Google services, and has full asynchronous support.")
978 (license license:lgpl2.1+)))
979
94e10cf4
KK
980(define-public libgxps
981 (package
982 (name "libgxps")
66470a5a 983 (version "0.3.1")
94e10cf4
KK
984 (source (origin
985 (method url-fetch)
7f10628c 986 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
987 (version-major+minor version) "/"
988 name "-" version ".tar.xz"))
989 (sha256
990 (base32
66470a5a 991 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 992 (build-system meson-build-system)
94e10cf4
KK
993 (native-inputs
994 `(("gobject-introspection" ,gobject-introspection)
995 ("pkg-config" ,pkg-config)))
996 (inputs
c8d62d93 997 `(("gtk+" ,gtk+)
b6b3e512 998 ("libjpeg" ,libjpeg-turbo)
94e10cf4 999 ("lcms" ,lcms)
0a6e9e13 1000 ("libtiff" ,libtiff)))
c8d62d93
MB
1001 (propagated-inputs
1002 ;; In Requires of libgxps.pc.
1003 `(("cairo" ,cairo)
1004 ("glib" ,glib)
1005 ("libarchive" ,libarchive)))
94e10cf4
KK
1006 (home-page "https://wiki.gnome.org/Projects/libgxps")
1007 (synopsis "GObject-based library for handling and rendering XPS documents")
1008 (description
1009 "libgxps is a GObject-based library for handling and rendering XPS
1010documents. This package also contains binaries that can convert XPS documents
1011to other formats.")
1012 (license license:lgpl2.1+)))
1013
4e09f57a
RG
1014(define-public gnome-characters
1015 (package
1016 (name "gnome-characters")
1017 (version "3.30.0")
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri (string-append "mirror://gnome/sources/"
1022 "gnome-characters/" (version-major+minor version)
1023 "/gnome-characters-" version ".tar.xz"))
1024 (sha256
1025 (base32
1026 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1027 (build-system meson-build-system)
5757c641 1028 (arguments
1029 `(#:glib-or-gtk? #t
1030 #:phases (modify-phases %standard-phases
1031 (add-after 'install 'wrap
1032 (lambda* (#:key outputs #:allow-other-keys)
1033 ;; GNOME Characters needs Typelib files from GTK and
1034 ;; gnome-desktop.
1035 (wrap-program (string-append (assoc-ref outputs "out")
1036 "/bin/gnome-characters")
1037 `("GI_TYPELIB_PATH" ":" prefix
1038 (,(getenv "GI_TYPELIB_PATH"))))
1039 #t)))))
4e09f57a
RG
1040 (native-inputs
1041 `(("gettext" ,gettext-minimal)
1042 ("glib:bin" ,glib "bin")
1043 ("gtk+:bin" ,gtk+ "bin")
1044 ("pkg-config" ,pkg-config)
1045 ("python" ,python-minimal)))
1046 (inputs
1047 `(("gjs" ,gjs)
1048 ("gtk+" ,gtk+)
5757c641 1049 ("libunistring" ,libunistring)
1050 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1051 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1052 (synopsis "Find and insert unusual characters")
1053 (description "Characters is a simple utility application to find
1054and insert unusual characters. It allows you to quickly find the
1055character you are looking for by searching for keywords.")
1056 (license license:bsd-3)))
1057
7aab13f1
ML
1058(define-public gnome-common
1059 (package
1060 (name "gnome-common")
af83490d 1061 (version "3.18.0")
7aab13f1
ML
1062 (source
1063 (origin
1064 (method url-fetch)
1065 (uri (string-append "mirror://gnome/sources/" name "/"
1066 (version-major+minor version) "/"
1067 name "-" version ".tar.xz"))
1068 (sha256
1069 (base32
af83490d 1070 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1071 (build-system gnu-build-system)
1072 (home-page "https://www.gnome.org/")
1073 (synopsis "Bootstrap GNOME modules built from Git")
1074 (description "gnome-common contains various files needed to bootstrap
1075GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1076can be used to configure a source directory checked out from Git and some
1077commonly used macros.")
1078 (license license:gpl2+)))
1079
4e868d22
RG
1080(define-public gnome-contacts
1081 (package
1082 (name "gnome-contacts")
6a6138b2 1083 (version "3.32.1")
4e868d22
RG
1084 (source (origin
1085 (method url-fetch)
1086 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1087 (version-major+minor version) "/"
1088 name "-" version ".tar.xz"))
1089 (sha256
1090 (base32
6a6138b2 1091 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1092 (build-system meson-build-system)
1093 (arguments
1094 `(#:phases
1095 (modify-phases %standard-phases
1096 (add-after 'unpack 'generate-vapis
1097 (lambda* (#:key inputs #:allow-other-keys)
1098 ;; To generate goa's missing .vapi file
1099 (define goa
1100 (assoc-ref inputs "gnome-online-accounts:lib"))
1101
1102 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1103 "--library=goa-1.0"
1104 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1105 #t)))))
1106 (native-inputs
1107 `(("glib:bin" ,glib "bin")
1108 ("gtk+:bin" ,gtk+ "bin")
1109 ("pkg-config" ,pkg-config)))
1110 (inputs
1111 `(("cheese" ,cheese)
1112 ("docbook-xml" ,docbook-xml)
1113 ("dockbook-xsl" ,docbook-xsl)
1114 ("evolution-data-server" ,evolution-data-server)
1115 ("gettext" ,gettext-minimal)
1116 ("gnome-desktop" ,gnome-desktop)
1117 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1118 ("gobject-introspection" ,gobject-introspection)
1119 ("gst-plugins-base" ,gst-plugins-base)
1120 ("gtk+" ,gtk+)
1121 ("libgee" ,libgee)
1122 ("libxslt" ,libxslt)
1123 ("telepathy-glib" ,telepathy-glib)
1124 ("vala" ,vala)))
1125 (propagated-inputs
1126 `(("folks", folks)
1127 ("telepathy-mission-control" ,telepathy-mission-control)))
1128 (synopsis "GNOME's integrated address book")
1129 (description
1130 "GNOME Contacts organizes your contact information from online and
1131offline sources, providing a centralized place for managing your contacts.")
1132 (home-page "https://wiki.gnome.org/Apps/Contacts")
1133 (license license:gpl2+)))
1134
9cc98f8a
CR
1135(define-public gnome-desktop
1136 (package
1137 (name "gnome-desktop")
e8a26caa 1138 (version "3.32.2")
9cc98f8a
CR
1139 (source
1140 (origin
1141 (method url-fetch)
b38e45d8
EB
1142 (uri (string-append "mirror://gnome/sources/" name "/"
1143 (version-major+minor version) "/"
9cc98f8a
CR
1144 name "-" version ".tar.xz"))
1145 (sha256
1146 (base32
e8a26caa
KK
1147 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1148 (build-system meson-build-system)
a0fe7c06
CB
1149 (arguments
1150 '(#:phases
1151 (modify-phases %standard-phases
1152 (add-before 'configure 'patch-path
1153 (lambda* (#:key inputs #:allow-other-keys)
1154 (let ((libc (assoc-ref inputs "libc")))
1155 (substitute* "libgnome-desktop/gnome-languages.c"
1156 (("\"locale\"")
1157 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1158 #t)))
1159 (add-before 'check 'pre-check
1160 (lambda* (#:key inputs #:allow-other-keys)
1161 ;; Tests require a running X server and locales.
1162 (system "Xvfb :1 &")
1163 (setenv "DISPLAY" ":1")
1164 (setenv "GUIX_LOCPATH"
1165 (string-append (assoc-ref inputs "glibc-locales")
1166 "/lib/locale"))
1167 #t)))))
9cc98f8a 1168 (native-inputs
e8a26caa
KK
1169 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1170 ("glibc-locales" ,glibc-locales) ; for tests
1171 ("gobject-introspection" ,gobject-introspection)
a8340482 1172 ("itstool" ,itstool)
bcb354ad
SB
1173 ("intltool" ,intltool)
1174 ("pkg-config" ,pkg-config)
e8a26caa
KK
1175 ("xmllint" ,libxml2)
1176 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1177 (propagated-inputs
1178 ;; Required by gnome-desktop-3.0.pc.
1179 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1180 ("gtk+" ,gtk+)
9cc98f8a 1181 ("iso-codes" ,iso-codes)
9863ce20 1182 ("libseccomp" ,libseccomp)
9cc98f8a 1183 ("libx11" ,libx11)
e8a26caa
KK
1184 ("xkeyboard-config" ,xkeyboard-config)))
1185 (inputs
1186 `(("gdk-pixbuf" ,gdk-pixbuf)
1187 ("glib" ,glib)
9cc98f8a
CR
1188 ("libxext" ,libxext)
1189 ("libxkbfile" ,libxkbfile)
e8a26caa 1190 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1191 (home-page "https://www.gnome.org/")
1192 (synopsis
35b9e423 1193 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1194 (description
1195 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1196on the desktop, but that cannot live in the platform for various reasons.
1197There is no API or ABI guarantee, although we are doing our best to provide
1198stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1199
1200The gnome-about program helps find which version of GNOME is installed.")
1201 ; Some bits under the LGPL.
1dd26275 1202 (license license:gpl2+)))
9cc98f8a 1203
995b7261
AE
1204(define-public gnome-doc-utils
1205 (package
1206 (name "gnome-doc-utils")
1207 (version "0.20.10")
1208 (source
1209 (origin
1210 (method url-fetch)
b38e45d8
EB
1211 (uri (string-append "mirror://gnome/sources/" name "/"
1212 (version-major+minor version) "/"
995b7261
AE
1213 name "-" version ".tar.xz"))
1214 (sha256
1215 (base32
1216 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1217 (build-system gnu-build-system)
c4c4cc05 1218 (native-inputs
995b7261 1219 `(("intltool" ,intltool)
b4ce6300 1220 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1221 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1222 ("libxml2" ,libxml2)
1223 ("libxslt" ,libxslt)
1224 ("pkg-config" ,pkg-config)
1225 ("python-2" ,python-2)))
995b7261
AE
1226 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1227 (synopsis
1228 "Documentation utilities for the Gnome project")
1229 (description
1230 "Gnome-doc-utils is a collection of documentation utilities for the
1231Gnome project. It includes xml2po tool which makes it easier to translate
1232and keep up to date translations of documentation.")
1dd26275 1233 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1234
6c4f7022
DC
1235(define-public gnome-disk-utility
1236 (package
1237 (name "gnome-disk-utility")
e106d0a6 1238 (version "3.32.1")
6c4f7022
DC
1239 (source (origin
1240 (method url-fetch)
1241 (uri (string-append "mirror://gnome/sources/" name "/"
1242 (version-major+minor version) "/"
1243 name "-" version ".tar.xz"))
1244 (sha256
1245 (base32
e106d0a6 1246 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1247 (build-system meson-build-system)
321c73c3
EF
1248 (arguments
1249 '(#:phases
1250 (modify-phases %standard-phases
1251 (add-after 'unpack 'skip-gtk-update-icon-cache
1252 ;; Don't create 'icon-theme.cache'.
1253 (lambda _
1254 (substitute* "meson_post_install.py"
1255 (("gtk-update-icon-cache") "true"))
1256 #t)))))
6c4f7022
DC
1257 (native-inputs
1258 `(("glib:bin" ,glib "bin")
1259 ("intltool" ,intltool)
1260 ("pkg-config" ,pkg-config)
1261 ("docbook-xml" ,docbook-xml)
1262 ("docbook-xsl" ,docbook-xsl)
1263 ("libxml2" ,libxml2)
1264 ("libxslt" ,libxslt)))
1265 (inputs
1266 `(("glib" ,glib)
1267 ("appstream-glib" ,appstream-glib)
1268 ("gnome-settings-daemon" ,gnome-settings-daemon)
1269 ("gtk+" ,gtk+)
1270 ("libcanberra" ,libcanberra)
1271 ("libdvdread" ,libdvdread)
1272 ("libnotify" ,libnotify)
1273 ("libpwquality" ,libpwquality)
1274 ("libsecret" ,libsecret)
1275 ("udisks" ,udisks)))
1276 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1277 (synopsis "Disk management utility for GNOME")
1278 (description "Disk management utility for GNOME.")
1279 (license license:gpl2+)))
1280
3d217317
RG
1281(define-public gnome-font-viewer
1282 (package
1283 (name "gnome-font-viewer")
1284 (version "3.30.0")
1285 (source (origin
1286 (method url-fetch)
1287 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1288 (version-major+minor version)
1289 "/gnome-font-viewer-" version ".tar.xz"))
1290 (sha256
1291 (base32
1292 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1293 (build-system meson-build-system)
1294 (arguments
1295 '(#:phases
1296 (modify-phases %standard-phases
1297 (add-after 'unpack 'patch-post-install-script
1298 (lambda _
1299 (substitute* "meson-postinstall.sh"
1300 (("update-desktop-database") (which "true")))
1301 #t)))))
1302 (native-inputs
1303 `(("gettext" ,gettext-minimal)
1304 ("glib:bin" ,glib "bin")
1305 ("pkg-config" ,pkg-config)))
1306 (inputs
1307 `(("glib" ,glib)
1308 ("gnome-desktop" ,gnome-desktop)
1309 ("gtk+" ,gtk+)))
1310 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1311 (synopsis "GNOME Fonts")
1312 (description "Application to show you the fonts installed on your computer
1313for your use as thumbnails. Selecting any thumbnails shows the full view of how
1314the font would look under various sizes.")
1315 (license license:gpl2+)))
1316
8ff49011
RW
1317(define-public gcr
1318 (package
1319 (name "gcr")
bea6b829 1320 (version "3.28.1")
8ff49011 1321 (source (origin
0daf0efb
RW
1322 (method url-fetch)
1323 (uri (string-append "mirror://gnome/sources/" name "/"
1324 (version-major+minor version) "/"
1325 name "-" version ".tar.xz"))
1326 (sha256
1327 (base32
bea6b829 1328 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1329 (patches
1330 (list
1331 ;; This patch solves an ordering issue that showed up when
1332 ;; running the test suite against newer Glib 2.60. See
1333 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1334 (origin
1335 (method url-fetch)
1336 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1337 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1338 (file-name "gcr-hashtable-ordering.patch")
1339 (sha256
1340 (base32
1341 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1342 (build-system gnu-build-system)
1343 (arguments
0daf0efb
RW
1344 '(#:phases
1345 (modify-phases %standard-phases
1346 ;; These fail because /var/lib/dbus/machine-id is not present in the
1347 ;; build environment.
1348 (add-after 'unpack 'disable-failing-tests
1349 (lambda _
1350 (substitute* "gcr/test-system-prompt.c"
1351 (("g_test_add") "//")
1352 (("return.*") "return 0;"))
1353 #t))
1354 (add-before 'check 'pre-check
1355 (lambda _
1356 ;; Some tests expect to write to $HOME.
1357 (setenv "HOME" "/tmp")
1358 #t)))))
8ff49011
RW
1359 (inputs
1360 `(("dbus" ,dbus)
0daf0efb 1361 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1362 ("libgcrypt" ,libgcrypt)))
1363 (native-inputs
0daf0efb 1364 `(("python" ,python-2) ;for tests
8ff49011
RW
1365 ("pkg-config" ,pkg-config)
1366 ("glib" ,glib "bin")
2af4f5b0
SB
1367 ("gobject-introspection" ,gobject-introspection)
1368 ("intltool" ,intltool)
0daf0efb 1369 ("libxml2" ,libxml2)
bea6b829 1370 ("vala" ,vala)
2af4f5b0 1371 ("xsltproc" ,libxslt)))
8ff49011
RW
1372 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1373 (propagated-inputs
1374 `(("p11-kit" ,p11-kit)
1375 ("glib" ,glib)
1376 ("gtk+" ,gtk+)))
f032d0be 1377 (home-page "https://www.gnome.org")
8ff49011
RW
1378 (synopsis "Libraries for displaying certificates and accessing key stores")
1379 (description
1380 "The GCR package contains libraries used for displaying certificates and
1381accessing key stores. It also provides the viewer for crypto files on the
1382GNOME Desktop.")
1383 (license license:lgpl2.1+)))
1384
c1354b90
LC
1385(define-public libgnome-keyring
1386 (package
1387 (name "libgnome-keyring")
5e8aec2c 1388 (version "3.12.0")
c1354b90
LC
1389 (source (origin
1390 (method url-fetch)
b38e45d8
EB
1391 (uri (string-append "mirror://gnome/sources/" name "/"
1392 (version-major+minor version) "/"
1393 name "-" version ".tar.xz"))
c1354b90
LC
1394 (sha256
1395 (base32
5e8aec2c 1396 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1397 (build-system gnu-build-system)
c1354b90 1398 (inputs
c4c4cc05 1399 `(("libgcrypt" ,libgcrypt)
c1354b90 1400 ("dbus" ,dbus)))
c4c4cc05
JD
1401 (native-inputs
1402 `(("pkg-config" ,pkg-config)
426adbe8 1403 ("glib" ,glib "bin")
c4c4cc05 1404 ("intltool" ,intltool)))
c1354b90
LC
1405 (propagated-inputs
1406 ;; Referred to in .h files and .pc.
1407 `(("glib" ,glib)))
f032d0be 1408 (home-page "https://www.gnome.org")
c1354b90
LC
1409 (synopsis "Accessing passwords from the GNOME keyring")
1410 (description
1411 "Client library to access passwords from the GNOME keyring.")
1412
1413 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1414 (license license:lgpl2.0+)))
c1354b90 1415
e99a3d6f
RW
1416(define-public gnome-keyring
1417 (package
1418 (name "gnome-keyring")
ab35cc6e 1419 (version "3.28.2")
e99a3d6f
RW
1420 (source (origin
1421 (method url-fetch)
1422 (uri (string-append "mirror://gnome/sources/" name "/"
1423 (version-major+minor version) "/"
1424 name "-" version ".tar.xz"))
1425 (sha256
1426 (base32
ab35cc6e 1427 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1428 (build-system gnu-build-system)
1429 (arguments
1430 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1431 ;not exist
1432 #:configure-flags
1433 (list
1434 (string-append "--with-pkcs11-config="
1435 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1436 (string-append "--with-pkcs11-modules="
1437 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1438 #:phases
1439 (modify-phases %standard-phases
ab35cc6e
RW
1440 (add-after 'unpack 'fix-/bin/sh-reference
1441 (lambda _
1442 (substitute* "po/Makefile.in.in"
1443 (("/bin/sh") (which "sh")))
1444 #t))
5120f24f
RW
1445 (add-after 'unpack 'fix-docbook
1446 (lambda* (#:key inputs #:allow-other-keys)
1447 (substitute* "docs/Makefile.am"
1448 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1449 (string-append (assoc-ref inputs "docbook-xsl")
1450 "/xml/xsl/docbook-xsl-"
1451 ,(package-version docbook-xsl)
1452 "/manpages/docbook.xsl")))
1453 (setenv "XML_CATALOG_FILES"
1454 (string-append (assoc-ref inputs "docbook-xml")
1455 "/xml/dtd/docbook/catalog.xml"))
1456 ;; Rerun the whole thing to avoid version mismatch ("This is
1457 ;; Automake 1.15.1, but the definition used by this
1458 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1459 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1460 (invoke "autoconf")
1461 (invoke "aclocal")
1462 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1463 (inputs
1464 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1465 ("linux-pam" ,linux-pam)
ab35cc6e 1466 ("openssh" ,openssh)
e99a3d6f
RW
1467 ("dbus" ,dbus)
1468 ("gcr" ,gcr)))
1469 (native-inputs
1470 `(("pkg-config" ,pkg-config)
1471 ("glib" ,glib "bin")
5120f24f 1472 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1473 ("python" ,python-2) ;for tests
1474 ("intltool" ,intltool)
1475 ("autoconf" ,autoconf)
1476 ("automake" ,automake)
1477 ("libxslt" ,libxslt) ;for documentation
1478 ("docbook-xml" ,docbook-xml-4.2)
1479 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1480 (home-page "https://www.gnome.org")
e99a3d6f
RW
1481 (synopsis "Daemon to store passwords and encryption keys")
1482 (description
1483 "gnome-keyring is a program that keeps passwords and other secrets for
1484users. It is run as a daemon in the session, similar to ssh-agent, and other
1485applications locate it via an environment variable or D-Bus.
1486
1487The program can manage several keyrings, each with its own master password,
1488and there is also a session keyring which is never stored to disk, but
1489forgotten when the session ends.")
1490 (license license:lgpl2.1+)))
1491
c1354b90
LC
1492(define-public evince
1493 (package
1494 (name "evince")
936d5642 1495 (version "3.34.2")
c1354b90
LC
1496 (source (origin
1497 (method url-fetch)
ac631328 1498 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1499 (version-major+minor version) "/"
ac631328 1500 "evince-" version ".tar.xz"))
c1354b90
LC
1501 (sha256
1502 (base32
936d5642 1503 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1504 (build-system glib-or-gtk-build-system)
c1354b90 1505 (arguments
169b8f77 1506 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1507 #:phases
1508 (modify-phases %standard-phases
1509 (add-before 'install 'skip-gtk-update-icon-cache
1510 ;; Don't create 'icon-theme.cache'.
1511 (lambda _
1512 (substitute* "data/Makefile"
1513 (("gtk-update-icon-cache") "true"))
1514 #t)))))
c1354b90 1515 (inputs
9a096881
KK
1516 `(("libarchive" ,libarchive)
1517 ("libgxps" ,libgxps)
1518 ("libspectre" ,libspectre)
c769cf9f 1519 ("djvulibre" ,djvulibre)
c1354b90
LC
1520 ("ghostscript" ,ghostscript)
1521 ("poppler" ,poppler)
c769cf9f
SB
1522 ("libtiff" ,libtiff)
1523 ;; TODO:
c769cf9f
SB
1524 ;; Build libkpathsea as a shared library for DVI support.
1525 ;; ("libkpathsea" ,texlive-bin)
1526 ("gnome-desktop" ,gnome-desktop)
c1354b90 1527 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1528 ("gspell" ,gspell)
c1354b90 1529 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1530 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1531 ("gdk-pixbuf" ,gdk-pixbuf)
1532 ("atk" ,atk)
1533 ("pango" ,pango)
1534 ("gtk+" ,gtk+)
1535 ("glib" ,glib)
1536 ("libxml2" ,libxml2)
c1354b90
LC
1537 ("libsm" ,libsm)
1538 ("libice" ,libice)
96e42467 1539 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1540 ("dconf" ,dconf)
1541 ("libcanberra" ,libcanberra)
c769cf9f 1542 ("libsecret" ,libsecret)
a271096b 1543
c1354b90
LC
1544 ;; For tests.
1545 ("dogtail" ,python2-dogtail)))
96e42467 1546 (native-inputs
bcb354ad
SB
1547 `(("itstool" ,itstool)
1548 ("intltool" ,intltool)
426adbe8 1549 ("glib" ,glib "bin")
169b8f77 1550 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1551 ("pkg-config" ,pkg-config)
1552 ("xmllint" ,libxml2)))
c1354b90 1553 (home-page
f032d0be 1554 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1555 (synopsis "GNOME's document viewer")
1556 (description
1557 "Evince is a document viewer for multiple document formats. It
1558currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1559of Evince is to replace the multiple document viewers that exist
96e42467 1560on the GNOME Desktop with a single simple application.")
1dd26275 1561 (license license:gpl2+)))
c1354b90 1562
22e32e69
AE
1563(define-public gsettings-desktop-schemas
1564 (package
1565 (name "gsettings-desktop-schemas")
c900dabd 1566 (version "3.32.0")
22e32e69
AE
1567 (source
1568 (origin
1569 (method url-fetch)
1570 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1571 (version-major+minor version) "/"
22e32e69
AE
1572 name "-" version ".tar.xz"))
1573 (sha256
1574 (base32
c900dabd
KK
1575 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1576 (build-system meson-build-system)
65209ffa
LC
1577 (arguments
1578 '(#:phases (modify-phases %standard-phases
1579 (add-after 'unpack 'set-adwaita-theme-file-name
1580 (lambda* (#:key inputs #:allow-other-keys)
1581 ;; Provide the correct file name of the default GNOME
1582 ;; background, 'adwaita-timed.xml'.
1583 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1584 (substitute* (find-files "schemas"
1585 "\\.gschema\\.xml\\.in$")
1586 (("@datadir@/backgrounds/gnome")
1587 (string-append theme "/share/backgrounds/gnome")))
1588 #t))))))
22e32e69 1589 (inputs
65209ffa
LC
1590 `(("glib" ,glib)
1591 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1592 (native-inputs
1593 `(("intltool" ,intltool)
426adbe8 1594 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1595 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1596 ("pkg-config" ,pkg-config)))
1597 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1598 (synopsis
1599 "GNOME settings for various desktop components")
1600 (description
1601 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1602for settings shared by various components of the GNOME desktop.")
1dd26275 1603 (license license:lgpl2.1+)))
22e32e69 1604
27477d2d
AE
1605(define-public icon-naming-utils
1606 (package
1607 (name "icon-naming-utils")
1608 (version "0.8.90")
1609 (source
1610 (origin
1611 (method url-fetch)
5cc3096c 1612 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1613 version ".tar.bz2"))
1614 (sha256
1615 (base32
1616 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1617 (build-system gnu-build-system)
1618 (inputs
1619 `(("perl" ,perl)
1620 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1621 (arguments
1622 '(#:phases
dc1d3cde
KK
1623 (modify-phases %standard-phases
1624 (add-after 'install 'set-load-paths
1625 ;; Tell 'icon-name-mapping' where XML::Simple is.
1626 (lambda* (#:key outputs #:allow-other-keys)
1627 (let* ((out (assoc-ref outputs "out"))
1628 (prog (string-append out "/libexec/icon-name-mapping")))
1629 (wrap-program
1630 prog
1631 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1632 #t)))))
27477d2d
AE
1633 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1634 (synopsis
1635 "Utility to implement the Freedesktop Icon Naming Specification")
1636 (description
1637 "To help with the transition to the Freedesktop Icon Naming
1638Specification, the icon naming utility maps the icon names used by the
1639GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1640 (license license:lgpl2.1+)))
27477d2d 1641
7d3f3651
AE
1642(define-public gnome-icon-theme
1643 (package
1644 (name "gnome-icon-theme")
b32f58dd 1645 (version "3.12.0")
7d3f3651
AE
1646 (source
1647 (origin
1648 (method url-fetch)
1649 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1650 (version-major+minor version) "/"
7d3f3651
AE
1651 name "-" version ".tar.xz"))
1652 (sha256
1653 (base32
b32f58dd 1654 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1655 (build-system gnu-build-system)
5613c27d
SB
1656 (arguments
1657 '(#:configure-flags
1658 ;; Don't create 'icon-theme.cache'.
1659 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1660 (true (string-append coreutils "/bin/true")))
1661 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1662 (native-inputs
5613c27d 1663 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1664 ("intltool" ,intltool)
1665 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1666 (home-page "https://wiki.gnome.org/Personalization")
1667 (synopsis "GNOME icon theme")
1668 (description "Icons for the GNOME desktop.")
1dd26275 1669 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1670
14eeefa2
SB
1671;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1672(define-public adwaita-icon-theme
1673 (package (inherit gnome-icon-theme)
1674 (name "adwaita-icon-theme")
9be59d7f 1675 (version "3.32.0")
14eeefa2
SB
1676 (source (origin
1677 (method url-fetch)
1678 (uri (string-append "mirror://gnome/sources/" name "/"
1679 (version-major+minor version) "/"
1680 name "-" version ".tar.xz"))
1681 (sha256
1682 (base32
9be59d7f 1683 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1684 (native-inputs
1685 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1686
ae792dba
RW
1687(define-public tango-icon-theme
1688 (package
1689 (name "tango-icon-theme")
1690 (version "0.8.90")
1691 (source (origin
1692 (method url-fetch)
1693 (uri (string-append "http://tango.freedesktop.org/releases/"
1694 "tango-icon-theme-" version ".tar.bz2"))
1695 (sha256
1696 (base32
1697 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1698 (build-system gnu-build-system)
1699 (native-inputs
1700 `(("icon-naming-utils" ,icon-naming-utils)
1701 ("intltool" ,intltool)
1702 ("imagemagick" ,imagemagick)
1703 ("pkg-config" ,pkg-config)))
1704 (home-page "http://tango-project.org/")
1705 (synopsis "Tango icon theme")
1706 (description "This is an icon theme that follows the Tango visual
1707guidelines.")
1708 (license license:public-domain)))
1709
9167f8e6
LC
1710(define-public shared-mime-info
1711 (package
1712 (name "shared-mime-info")
18138ab9 1713 (version "1.10")
9167f8e6
LC
1714 (source (origin
1715 (method url-fetch)
5cc3096c 1716 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1717 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1718 (sha256
1719 (base32
18138ab9 1720 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1721 (build-system gnu-build-system)
1722 (arguments
1723 ;; The build system appears not to be parallel-safe.
1724 '(#:parallel-build? #f))
1725 (inputs
1726 `(("glib" ,glib)
c4c4cc05 1727 ("libxml2" ,libxml2)))
9167f8e6 1728 (native-inputs
c4c4cc05
JD
1729 `(("intltool" ,intltool)
1730 ("pkg-config" ,pkg-config)))
57e7d748 1731 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1732 (synopsis "Database of common MIME types")
1733 (description
1734 "The shared-mime-info package contains the core database of common types
1735and the update-mime-database command used to extend it. It requires glib2 to
1736be installed for building the update command. Additionally, it uses intltool
1737for translations, though this is only a dependency for the maintainers. This
1738database is translated at Transifex.")
1dd26275 1739 (license license:gpl2+)))
9167f8e6 1740
dd1fcddc
CB
1741(define-public system-config-printer
1742 (package
1743 (name "system-config-printer")
fa01e10d 1744 (version "1.5.12")
a5643044
TGR
1745 (source
1746 (origin
1747 (method url-fetch)
1748 (uri (string-append
1749 "https://github.com/OpenPrinting/system-config-printer/releases/"
1750 "download/" version
1751 "/system-config-printer-" version ".tar.xz"))
1752 (sha256
fa01e10d 1753 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1754 (build-system glib-or-gtk-build-system)
1755 (arguments
1756 `(#:imported-modules ((guix build python-build-system)
1757 ,@%glib-or-gtk-build-system-modules)
1758 #:phases
1759 (modify-phases %standard-phases
1760 (add-after 'unpack 'patch-Makefile.am
1761 (lambda _
1762 ;; The Makefile generates some scripts, so set a valid shebang
1763 (substitute* "Makefile.am"
1764 (("/bin/bash") (which "bash")))
1765 (delete-file "configure")
1766 #t))
1767 (add-after 'unpack 'patch-docbook-xml
1768 (lambda* (#:key inputs #:allow-other-keys)
1769 ;; Modify the man XML otherwise xmlto tries to access the network
1770 (substitute* "man/system-config-printer.xml"
1771 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1772 (string-append (assoc-ref inputs "docbook-xml")
1773 "/xml/dtd/docbook/")))
1774 #t))
1775 (add-after 'install 'wrap-for-python
1776 (@@ (guix build python-build-system) wrap))
1777 (add-after 'install 'wrap
1778 (lambda* (#:key outputs #:allow-other-keys)
1779 (let ((out (assoc-ref outputs "out"))
1780 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1781 (for-each
1782 (lambda (program)
1783 (wrap-program program
1784 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1785 (map (lambda (name)
1786 (string-append out "/bin/" name))
1787 '("system-config-printer"
1788 "system-config-printer-applet"
1789 "install-printerdriver"
1790 "scp-dbus-service"))))
1791 #t)))))
1792 (inputs
1793 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1794 ("gobject-introspection" ,gobject-introspection)
1795 ("python" ,python)
1796 ("cups" ,cups)
1797 ("python-dbus" ,python-dbus)
1798 ("python-pygobject" ,python-pygobject)
1799 ("python-pycups" ,python-pycups)
1800 ("python-requests" ,python-requests)
1801 ("python-pycairo" ,python-pycairo)
1802 ("libnotify" ,libnotify)
1803 ("packagekit" ,packagekit)))
1804 (native-inputs
1805 `(("pkg-config" ,pkg-config)
1806 ("desktop-file-utils" ,desktop-file-utils)
1807 ("glib" ,glib)
1808 ("autoconf" ,autoconf)
1809 ("automake" ,automake)
1810 ("intltool" ,intltool)
1811 ("xmlto" ,xmlto)
1812 ("docbook-xml" ,docbook-xml-4.1.2)
1813 ("docbook-xsl" ,docbook-xsl)
1814 ("libxml2" ,libxml2)))
1815 (home-page "https://github.com/zdohnal/system-config-printer")
1816 (synopsis "CUPS administration tool")
1817 (description
1818 "system-config-printer is a CUPS administration tool. It's written in
1819Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1820configuring CUPS.")
1821 (license license:gpl2+)))
1822
bef4dd92
AE
1823(define-public hicolor-icon-theme
1824 (package
1825 (name "hicolor-icon-theme")
851cb6dd 1826 (version "0.17")
bef4dd92
AE
1827 (source
1828 (origin
1829 (method url-fetch)
5cc3096c 1830 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1831 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1832 (sha256
1833 (base32
851cb6dd 1834 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1835 (build-system gnu-build-system)
1836 (arguments
1837 `(#:tests? #f)) ; no check target
57e7d748 1838 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1839 (synopsis
1840 "Freedesktop icon theme")
1841 (description
1842 "Freedesktop icon theme.")
1dd26275 1843 (license license:gpl2)))
bef4dd92 1844
d9c1a22b
AE
1845(define-public libnotify
1846 (package
1847 (name "libnotify")
195bfa68 1848 (version "0.7.7")
d9c1a22b
AE
1849 (source
1850 (origin
1851 (method url-fetch)
1852 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1853 (version-major+minor version) "/"
d9c1a22b
AE
1854 name "-" version ".tar.xz"))
1855 (sha256
1856 (base32
195bfa68 1857 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1858 (build-system gnu-build-system)
6acf6cec
MB
1859 (arguments
1860 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1861 (propagated-inputs
1862 `(;; In Requires of libnotify.pc.
1863 ("gdk-pixbuf" ,gdk-pixbuf)
1864 ("glib" ,glib)))
d9c1a22b 1865 (inputs
7ef08efa 1866 `(("gtk+" ,gtk+)
c4c4cc05
JD
1867 ("libpng" ,libpng)))
1868 (native-inputs
426adbe8 1869 `(("pkg-config" ,pkg-config)
277a7d82
JN
1870 ("glib" ,glib "bin")
1871 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1872 (home-page "https://developer-next.gnome.org/libnotify/")
1873 (synopsis
1874 "GNOME desktop notification library")
1875 (description
1876 "Libnotify is a library that sends desktop notifications to a
35b9e423 1877notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1878notifications can be used to inform the user about an event or display
1879some form of information without getting in the user's way.")
1dd26275 1880 (license license:lgpl2.1+)))
7a8605ce
CR
1881
1882(define-public libpeas
1883 (package
1884 (name "libpeas")
f2d56e39 1885 (version "1.24.1")
7a8605ce
CR
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1890 (version-major+minor version) "/"
7a8605ce
CR
1891 name "-" version ".tar.xz"))
1892 (sha256
1893 (base32
f2d56e39
MB
1894 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1895 (build-system meson-build-system)
1896 (arguments
1897 '(#:phases
1898 (modify-phases %standard-phases
1899 (add-before 'check 'start-xserver
1900 (lambda* (#:key inputs #:allow-other-keys)
1901 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1902 (disp ":1"))
1903 (setenv "DISPLAY" disp)
1904 ;; Tests require a running X server.
1905 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1906 #t))))))
7a8605ce 1907 (inputs
2ed6522a
SB
1908 `(("gtk+" ,gtk+)
1909 ("glade" ,glade3)
2ed6522a
SB
1910 ("python" ,python)
1911 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1912 (native-inputs
1913 `(("pkg-config" ,pkg-config)
f2d56e39 1914 ("gettext" ,gettext-minimal)
93622993 1915 ("glib:bin" ,glib "bin")
141aed80 1916 ("gobject-introspection" ,gobject-introspection)
f2d56e39 1917 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
1918 (propagated-inputs
1919 ;; The .pc file "Requires" gobject-introspection.
1920 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1921 (home-page "https://wiki.gnome.org/Libpeas")
1922 (synopsis "GObject plugin system")
1923 (description
d1e4ad1b
TGR
1924 "Libpeas is a gobject-based plugin engine, targeted at giving every
1925application the chance to assume its own extensibility. It also has a set of
1926features including, but not limited to: multiple extension points; on-demand
1927(lazy) programming language support for C, Python and JS; simplicity of the
1928API.")
1dd26275 1929 (license license:lgpl2.0+)))
ed19903d
JD
1930
1931(define-public gtkglext
1932 (package
1933 (name "gtkglext")
1934 (version "1.2.0")
1935 (source (origin
1936 (method url-fetch)
0f971a04 1937 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1938 version "/gtkglext-" version ".tar.gz"))
1939 (sha256
1940 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1941 (patches (search-patches
1942 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1943 (build-system gnu-build-system)
14e2f61a
RW
1944 (arguments
1945 `(#:phases
1946 (modify-phases %standard-phases
1947 ;; Fix a collision between a local variable and a definition from
1948 ;; glibc's string.h.
1949 (add-after 'unpack 'fix-collision
1950 (lambda _
1951 (substitute* "gdk/gdkglshapes.c"
1952 ((" index") " triangle_index"))
1953 #t)))))
ed19903d
JD
1954 (inputs `(("gtk+" ,gtk+-2)
1955 ("mesa" ,mesa)
cc8b02f4 1956 ("glu" ,glu)
ed19903d
JD
1957 ("libx11" ,libx11)
1958 ("libxt" ,libxt)))
426adbe8
LC
1959 (native-inputs `(("pkg-config" ,pkg-config)
1960 ("glib" ,glib "bin")))
a83b6a06 1961 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1962 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1963 (synopsis "OpenGL extension to GTK+")
35b9e423 1964 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1965additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1966API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1967 (license license:lgpl2.1+)))
3600420e
JD
1968
1969(define-public glade3
1970 (package
1971 (name "glade")
c6571adb 1972 (version "3.22.1")
b38e45d8
EB
1973 (source (origin
1974 (method url-fetch)
1975 (uri (string-append "mirror://gnome/sources/" name "/"
1976 (version-major+minor version) "/"
f5ca44b8 1977 name "-" version ".tar.xz"))
3600420e 1978 (sha256
f714d9fe 1979 (base32
c6571adb 1980 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1981 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1982 (arguments
1983 `(#:tests? #f ; needs X, GL, and software rendering
1984 #:phases
1985 (modify-phases %standard-phases
1986 (add-before 'configure 'fix-docbook
1987 (lambda* (#:key inputs #:allow-other-keys)
1988 (substitute* "man/Makefile.in"
1989 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1990 (string-append (assoc-ref inputs "docbook-xsl")
1991 "/xml/xsl/docbook-xsl-"
1992 ,(package-version docbook-xsl)
1993 "/manpages/docbook.xsl")))
1994 #t)))))
3600420e 1995 (inputs
f5ca44b8 1996 `(("gtk+" ,gtk+)
3600420e
JD
1997 ("libxml2" ,libxml2)))
1998 (native-inputs
1999 `(("intltool" ,intltool)
f5ca44b8
RW
2000 ("itstool" ,itstool)
2001 ("libxslt" ,libxslt) ;for xsltproc
2002 ("docbook-xml" ,docbook-xml-4.2)
2003 ("docbook-xsl" ,docbook-xsl)
2004 ("python" ,python-2)
3600420e
JD
2005 ("pkg-config" ,pkg-config)))
2006 (home-page "https://glade.gnome.org")
2007 (synopsis "GTK+ rapid application development tool")
2008 (description "Glade is a rapid application development (RAD) tool to
2009enable quick & easy development of user interfaces for the GTK+ toolkit and
2010the GNOME desktop environment.")
1dd26275
LC
2011 (license license:lgpl2.0+)))
2012
2013(define-public libcroco
2014 (package
2015 (name "libcroco")
8bdacad2 2016 (version "0.6.13")
1dd26275
LC
2017 (source (origin
2018 (method url-fetch)
b38e45d8
EB
2019 (uri (string-append "mirror://gnome/sources/" name "/"
2020 (version-major+minor version) "/"
2021 name "-" version ".tar.xz"))
1dd26275
LC
2022 (sha256
2023 (base32
8bdacad2 2024 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2025 (build-system gnu-build-system)
2026 (native-inputs
2027 `(("pkg-config" ,pkg-config)))
2028 (inputs
2029 `(("glib" ,glib)
2030 ("libxml2" ,libxml2)
2031 ("zlib" ,zlib)))
2032 (home-page "https://github.com/GNOME/libcroco")
2033 (synopsis "CSS2 parsing and manipulation library")
2034 (description
2035 "Libcroco is a standalone CSS2 parsing and manipulation library.
2036The parser provides a low level event driven SAC-like API and a CSS object
2037model like API. Libcroco provides a CSS2 selection engine and an experimental
2038XML/CSS rendering engine.")
2039
2040 ;; LGPLv2.1-only.
2041 (license license:lgpl2.1)))
25178594
LC
2042
2043(define-public libgsf
2044 (package
2045 (name "libgsf")
8d1644a1 2046 (version "1.14.46")
25178594
LC
2047 (source (origin
2048 (method url-fetch)
b38e45d8
EB
2049 (uri (string-append "mirror://gnome/sources/" name "/"
2050 (version-major+minor version) "/"
2051 name "-" version ".tar.xz"))
25178594
LC
2052 (sha256
2053 (base32
8d1644a1 2054 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2055 (build-system gnu-build-system)
2056 (native-inputs
2057 `(("intltool" ,intltool)
2058 ("pkg-config" ,pkg-config)))
2059 (inputs
2060 `(("python" ,python)
2061 ("zlib" ,zlib)
2062 ("bzip2" ,bzip2)))
2063 (propagated-inputs
2064 `(("gdk-pixbuf" ,gdk-pixbuf)
2065 ("glib" ,glib)
2066 ("libxml2" ,libxml2)))
f032d0be 2067 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2068 (synopsis "GNOME's Structured File Library")
2069 (description
2070 "Libgsf aims to provide an efficient extensible I/O abstraction for
2071dealing with different structured file formats.")
2072
2073 ;; LGPLv2.1-only.
2074 (license license:lgpl2.1)))
63016e7c
LC
2075
2076(define-public librsvg
f67417a1 2077 (package
35b256f5 2078 (replacement librsvg/fixed)
f67417a1
MB
2079 (name "librsvg")
2080 (version "2.40.20")
2081 (source (origin
2082 (method url-fetch)
2083 (uri (string-append "mirror://gnome/sources/" name "/"
2084 (version-major+minor version) "/"
2085 name "-" version ".tar.xz"))
2086 (sha256
2087 (base32
2088 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2089 (build-system gnu-build-system)
2090 (arguments
2091 `(#:configure-flags
2092 (list "--disable-static"
2093 "--enable-vala") ; needed for e.g. gnome-mines
2094 #:phases
2095 (modify-phases %standard-phases
2096 (add-before 'configure 'pre-configure
2097 (lambda* (#:key inputs #:allow-other-keys)
2098 (substitute* "gdk-pixbuf-loader/Makefile.in"
2099 ;; By default the gdk-pixbuf loader is installed under
2100 ;; gdk-pixbuf's prefix. Work around that.
2101 (("gdk_pixbuf_moduledir = .*$")
2102 (string-append "gdk_pixbuf_moduledir = "
2103 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2104 "loaders\n"))
2105 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2106 (("gdk_pixbuf_cache_file = .*$")
2107 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2108 #t))
2109 (add-before 'check 'remove-failing-tests
2110 (lambda _
2111 (with-directory-excursion "tests/fixtures/reftests"
2112 (for-each delete-file
2113 '(;; This test fails on i686:
2114 "svg1.1/masking-path-04-b.svg"
2115 ;; This test fails on armhf:
2116 "svg1.1/masking-mask-01-b.svg"
2117 ;; This test fails on aarch64:
2118 "bugs/777834-empty-text-children.svg")))
2119 #t)))))
2120 (native-inputs
2121 `(("pkg-config" ,pkg-config)
2122 ("vala" ,vala)
2123 ("glib" ,glib "bin") ; glib-mkenums, etc.
2124 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2125 (inputs
2126 `(("pango" ,pango)
2127 ("libcroco" ,libcroco)
2128 ("bzip2" ,bzip2)
2129 ("libgsf" ,libgsf)
2130 ("libxml2" ,libxml2)))
2131 (propagated-inputs
2132 ;; librsvg-2.0.pc refers to all of that.
2133 `(("cairo" ,cairo)
2134 ("gdk-pixbuf" ,gdk-pixbuf)
2135 ("glib" ,glib)))
2136 (home-page "https://wiki.gnome.org/LibRsvg")
2137 (synopsis "Render SVG files using Cairo")
2138 (description
2139 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2140library.")
2141 (license license:lgpl2.0+)))
2142
23f33de1
EF
2143(define librsvg/fixed
2144 (package
2145 (inherit librsvg)
2146 (name "librsvg")
2147 (version "2.40.21")
2148 (source (origin
2149 (method url-fetch)
2150 (uri (string-append "mirror://gnome/sources/" name "/"
2151 (version-major+minor version) "/"
2152 name "-" version ".tar.xz"))
2153 (sha256
2154 (base32
2155 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2156
8f523eb9
EF
2157(define* (computed-origin-method gexp-promise hash-algo hash
2158 #:optional (name "source")
2159 #:key (system (%current-system))
2160 (guile (default-guile)))
2161 "Return a derivation that executes the G-expression that results
2162from forcing GEXP-PROMISE."
2163 (mlet %store-monad ((guile (package->derivation guile system)))
2164 (gexp->derivation (or name "computed-origin")
2165 (force gexp-promise)
2166 #:graft? #f ;nothing to graft
2167 #:system system
2168 #:guile-for-build guile)))
2169
2170(define librsvg-next-source
8d6f9168 2171 (let* ((version "2.46.4")
8f523eb9
EF
2172 (upstream-source (origin
2173 (method url-fetch)
2174 (uri (string-append "mirror://gnome/sources/librsvg/"
2175 (version-major+minor version) "/"
2176 "librsvg-" version ".tar.xz"))
2177 (sha256
2178 (base32
8d6f9168 2179 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")))))
8f523eb9
EF
2180 (origin
2181 (method computed-origin-method)
2182 (file-name (string-append "librsvg-" version ".tar.xz"))
2183 (sha256 #f)
2184 (uri
2185 (delay
2186 (with-imported-modules '((guix build utils))
2187 #~(begin
2188 (use-modules (guix build utils))
2189 (set-path-environment-variable
2190 "PATH" '("bin")
2191 (list "/tmp"
2192 #+(canonical-package xz)
2193 #+(canonical-package gzip)
2194 #+(canonical-package tar)))
2195 (invoke "tar" "xvf" #+upstream-source)
2196 (with-directory-excursion (string-append "librsvg-" #$version)
91f0c790
JS
2197 ;; The following crate(s) are needed in addition to the ones replaced:
2198 (begin
2199 (invoke
5213b697
EF
2200 "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor")
2201 (invoke
2202 "tar" "xvf" #+(package-source rust-proc-macro2-0.4) "-C" "vendor")
2203 (invoke
2204 "tar" "xvf" #+(package-source rust-quote-0.6) "-C" "vendor")
2205 (invoke
2206 "tar" "xvf" #+(package-source rust-unicode-xid-0.1) "-C" "vendor")
2207 (invoke
2208 "tar" "xvf" #+(package-source rust-maybe-uninit-2.0) "-C" "vendor"))
8f523eb9
EF
2209 (for-each
2210 (lambda (crate)
2211 (delete-file-recursively (string-append "vendor/" (car crate)))
2212 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
393d7214 2213 '(("aho-corasick" . #+(package-source rust-aho-corasick-0.7))
8f523eb9 2214;; alga 0.9
e19cb895
EF
2215 ("approx" . #+(package-source rust-approx-0.3))
2216 ("arrayvec" . #+(package-source rust-arrayvec-0.4))
8f523eb9 2217 ("atty" . #+(package-source rust-atty-0.2))
91f0c790 2218 ("autocfg" . #+(package-source rust-autocfg-1.0))
8f523eb9
EF
2219 ("bitflags" . #+(package-source rust-bitflags-1))
2220;; block 0.1
e19cb895
EF
2221 ("bstr" . #+(package-source rust-bstr-0.2))
2222 ("byteorder" . #+(package-source rust-byteorder-1.3))
8f523eb9
EF
2223;; cairo-rs 0.7
2224;; cairo-sys-rs 0.9
e19cb895 2225 ("cast" . #+(package-source rust-cast-0.2))
8f523eb9
EF
2226 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
2227 ("clap" . #+(package-source rust-clap-2))
e19cb895
EF
2228 ("cloudabi" . #+(package-source rust-cloudabi-0.0))
2229 ("criterion" . #+(package-source rust-criterion-0.2))
2230 ("criterion-plot" . #+(package-source rust-criterion-plot-0.3))
393d7214
JS
2231 ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7))
2232 ("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.8))
2233 ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.2))
2234 ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.7))
8f523eb9
EF
2235;; cssparser 0.25
2236;; cssparser-macros 0.3
e19cb895
EF
2237 ("csv" . #+(package-source rust-csv-1.1))
2238 ("csv-core" . #+(package-source rust-csv-core-0.1))
8f523eb9
EF
2239;; data-url 0.1
2240;; downcast-rs 1.0
2241 ("dtoa" . #+(package-source rust-dtoa-0.4))
2242;; dtoa-short 0.3
e19cb895
EF
2243 ("either" . #+(package-source rust-either-1.5))
2244 ("encoding" . #+(package-source rust-encoding-0.2))
2245 ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219))
2246 ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219))
2247 ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219))
2248 ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219))
2249 ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219))
2250 ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1))
8f523eb9
EF
2251;; float-cmp 0.5
2252;; fragile 0.3
e19cb895
EF
2253 ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2254 ("futf" . #+(package-source rust-futf-0.1))
8f523eb9
EF
2255;; gdk-pixbuf 0.7
2256;; gdk-pixbuf-sys 0.9
e19cb895 2257 ("generic-array" . #+(package-source rust-generic-array-0.12))
8f523eb9 2258;; gio 0.7
8d6f9168 2259 ("gio-sys" . #+(package-source rust-gio-sys-0.9))
8f523eb9 2260;; glib 0.8
8d6f9168
EF
2261 ("glib-sys" . #+(package-source rust-glib-sys-0.9))
2262 ("gobject-sys" . #+(package-source rust-gobject-sys-0.9))
393d7214 2263 ("idna" . #+(package-source rust-idna-0.2))
e19cb895 2264 ("itertools" . #+(package-source rust-itertools-0.8))
8f523eb9 2265 ("itoa" . #+(package-source rust-itoa-0.4))
e19cb895 2266 ("language-tags" . #+(package-source rust-language-tags-0.2))
21c8ec75 2267 ("lazy_static" . #+(package-source rust-lazy-static-1))
8f523eb9 2268 ("libc" . #+(package-source rust-libc-0.2))
91f0c790 2269 ("libm" . #+(package-source rust-libm-0.1))
8d6f9168 2270 ("locale_config" . #+(package-source rust-locale-config-0.3))
8f523eb9 2271 ("log" . #+(package-source rust-log-0.4))
e19cb895 2272 ("mac" . #+(package-source rust-mac-0.1))
5213b697 2273 ("malloc_buf" . #+(package-source rust-malloc-buf-0.0))
8f523eb9 2274;; markup5ever 0.9
e19cb895 2275 ("matches" . #+(package-source rust-matches-0.1))
8f523eb9 2276;; matrixmultiply 0.2
393d7214
JS
2277 ("memchr" . #+(package-source rust-memchr-2.2))
2278 ("memoffset" . #+(package-source rust-memoffset-0.5))
8f523eb9 2279;; nalgebra 0.18
e19cb895 2280 ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0))
8f523eb9 2281 ("nodrop" . #+(package-source rust-nodrop-0.1))
e19cb895 2282 ("num-complex" . #+(package-source rust-num-complex-0.2))
8f523eb9 2283 ("num-integer" . #+(package-source rust-num-integer-0.1))
5213b697 2284 ("num-rational" . #+(package-source rust-num-rational-0.2))
8f523eb9
EF
2285 ("num-traits" . #+(package-source rust-num-traits-0.2))
2286 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
5213b697
EF
2287 ("objc" . #+(package-source rust-objc-0.2))
2288 ("objc-foundation" . #+(package-source rust-objc-foundation-0.1))
2289 ("objc_id" . #+(package-source rust-objc-id-0.1))
8f523eb9
EF
2290;; pango 0.7
2291;; pango-sys 0.9
2292;; pangocairo 0.8
2293;; pangocairo-sys 0.10
2294 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
e19cb895
EF
2295 ("phf" . #+(package-source rust-phf-0.7))
2296 ("phf_codegen" . #+(package-source rust-phf-codegen-0.7))
2297 ("phf_generator" . #+(package-source rust-phf-generator-0.7))
2298 ("phf_shared" . #+(package-source rust-phf-shared-0.7))
2299 ("pkg-config" . #+(package-source rust-pkg-config-0.3))
2300 ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1))
8f523eb9
EF
2301 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2302;; procedural-masquerade 0.1
2303 ("quote" . #+(package-source rust-quote-1.0))
e19cb895 2304 ("rand" . #+(package-source rust-rand-0.6))
8f523eb9
EF
2305 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2306 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2307 ("rand_core" . #+(package-source rust-rand-core-0.4))
2308 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2309 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2310 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2311 ("rand_os" . #+(package-source rust-rand-os-0.1))
2312 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2313 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
393d7214 2314 ("rand_xoshiro" . #+(package-source rust-rand-xoshiro-0.1))
e19cb895 2315;; rawpointer 0.2
393d7214
JS
2316 ("rayon" . #+(package-source rust-rayon-1.3))
2317 ("rayon-core" . #+(package-source rust-rayon-core-1.7))
8f523eb9
EF
2318;; rctree 0.3
2319 ("rdrand" . #+(package-source rust-rdrand-0.4))
393d7214 2320 ("regex" . #+(package-source rust-regex-1.3))
e19cb895 2321 ("regex-automata" . #+(package-source rust-regex-automata-0.1))
393d7214 2322 ("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
e19cb895 2323 ("rustc_version" . #+(package-source rust-rustc-version-0.2))
8f523eb9
EF
2324 ("ryu" . #+(package-source rust-ryu-1.0))
2325 ("same-file" . #+(package-source rust-same-file-1.0))
2326 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
e19cb895
EF
2327 ("semver" . #+(package-source rust-semver-0.9))
2328 ("semver-parser" . #+(package-source rust-semver-parser-0.7))
8f523eb9
EF
2329 ("serde" . #+(package-source rust-serde-1.0))
2330 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2331 ("serde_json" . #+(package-source rust-serde-json-1.0))
e19cb895
EF
2332 ("siphasher" . #+(package-source rust-siphasher-0.2))
2333 ("smallvec" . #+(package-source rust-smallvec-0.6))
2334 ("string_cache" . #+(package-source rust-string-cache-0.7))
5213b697 2335 ("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4))
e19cb895 2336 ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3))
8f523eb9 2337 ("syn" . #+(package-source rust-syn-1.0))
e19cb895 2338 ("tendril" . #+(package-source rust-tendril-0.4))
8f523eb9 2339 ("textwrap" . #+(package-source rust-textwrap-0.11))
393d7214 2340 ("thread_local" . #+(package-source rust-thread-local-1.0))
e19cb895
EF
2341 ("tinytemplate" . #+(package-source rust-tinytemplate-1.0))
2342 ("typenum" . #+(package-source rust-typenum-1.10))
2343 ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3))
2344 ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1))
8f523eb9
EF
2345 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2346 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
393d7214 2347 ("url" . #+(package-source rust-url-2.1))
e19cb895 2348 ("utf-8" . #+(package-source rust-utf-8-0.7))
8f523eb9
EF
2349 ("walkdir" . #+(package-source rust-walkdir-2.2))
2350 ("winapi" . #+(package-source rust-winapi-0.3))
e19cb895 2351 ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
8f523eb9 2352 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
e19cb895 2353 ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
5213b697 2354 ("xml-rs" . #+(package-source rust-xml-rs-0.8)))))
8f523eb9
EF
2355 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2356 (force-output)
2357 (invoke "tar" "cfa" #$output
2358 ;; Avoid non-determinism in the archive. We set the
2359 ;; mtime of files in the archive to early 1980 because
2360 ;; the build process fails if the mtime of source
2361 ;; files is pre-1980, due to the creation of zip
2362 ;; archives.
2363 "--mtime=@315619200" ; 1980-01-02 UTC
2364 "--owner=root:0"
2365 "--group=root:0"
2366 "--sort=name"
2367 (string-append "librsvg-" #$version))
2368 #t)))))))
2369
f67417a1 2370(define-public librsvg-next
63016e7c
LC
2371 (package
2372 (name "librsvg")
3276e123 2373 (version "2.46.4")
8f523eb9 2374 (source librsvg-next-source)
63016e7c
LC
2375 (build-system gnu-build-system)
2376 (arguments
d953418a
RW
2377 `(#:configure-flags
2378 (list "--disable-static"
2379 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2380 #:make-flags '("CC=gcc")
8f523eb9 2381 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2382 #:phases
b6239e45 2383 (modify-phases %standard-phases
8f523eb9 2384 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2385 (lambda _
8f523eb9
EF
2386 (use-modules (guix build cargo-utils))
2387 (substitute* "librsvg/Cargo.toml"
2388 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
8d6f9168
EF
2389 (substitute* "rsvg_internals/Cargo.toml"
2390 (("\"=") "\""))
b665a246 2391 (generate-all-checksums "vendor")
8f523eb9
EF
2392 (delete-file "Cargo.lock")
2393 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2394 (add-before 'configure 'pre-configure
2395 (lambda* (#:key inputs #:allow-other-keys)
2396 (substitute* "gdk-pixbuf-loader/Makefile.in"
2397 ;; By default the gdk-pixbuf loader is installed under
2398 ;; gdk-pixbuf's prefix. Work around that.
2399 (("gdk_pixbuf_moduledir = .*$")
2400 (string-append "gdk_pixbuf_moduledir = "
2401 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2402 "loaders\n"))
2403 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2404 (("gdk_pixbuf_cache_file = .*$")
2405 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2406 #t))
ec47c07d 2407 (add-before 'check 'remove-failing-tests
b6239e45 2408 (lambda _
64a153bd
MW
2409 (with-directory-excursion "tests/fixtures/reftests"
2410 (for-each delete-file
ec47c07d
MB
2411 '(;; The images produced by these tests differ slightly
2412 ;; from their reference counterparts due to differences
2413 ;; in the build environment (missing fonts, etc). See
2414 ;; <tests/README.md> for details.
2415 ;; These fail on x86_64.
2416 "svg1.1/coords-viewattr-02-b.svg"
2417 "svg1.1/filters-composite-04-f.svg"
2418 "svg1.1/filters-image-01-b.svg"
2419 "svg1.1/filters-conv-02-f.svg"
2420 "svg1.1/filters-conv-04-f.svg"
2421 ;; This test fails on i686:
64a153bd 2422 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2423 ;; This test fails on armhf:
2424 "svg1.1/masking-mask-01-b.svg"
64a153bd 2425 ;; This test fails on aarch64:
ec47c07d 2426 "bugs/777834-empty-text-children.svg")))
b6239e45 2427 #t)))))
63016e7c
LC
2428 (native-inputs
2429 `(("pkg-config" ,pkg-config)
64855281
MB
2430 ;; This is the minimum supported Rust version in Librsvg 2.46.
2431 ("rust" ,rust-1.34)
2432 ("cargo" ,rust-1.34 "cargo")
d953418a 2433 ("vala" ,vala)
44add1ce 2434 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2435 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2436 (inputs
2437 `(("pango" ,pango)
2438 ("libcroco" ,libcroco)
2439 ("bzip2" ,bzip2)
2440 ("libgsf" ,libgsf)
2441 ("libxml2" ,libxml2)))
2442 (propagated-inputs
2443 ;; librsvg-2.0.pc refers to all of that.
2444 `(("cairo" ,cairo)
2445 ("gdk-pixbuf" ,gdk-pixbuf)
2446 ("glib" ,glib)))
2447 (home-page "https://wiki.gnome.org/LibRsvg")
2448 (synopsis "Render SVG files using Cairo")
2449 (description
35b9e423 2450 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2451library.")
cf9dad6c 2452 (license license:lgpl2.1+)))
5698b8b8
JD
2453
2454(define-public libidl
2455 (package
2456 (name "libidl")
2457 (version "0.8.14")
2458 (source (origin
2459 (method url-fetch)
80a06e62
EF
2460 (uri (string-append "mirror://gnome/sources/libIDL/"
2461 (version-major+minor version) "/"
2462 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2463 (sha256
2464 (base32
2465 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2466 (build-system gnu-build-system)
2467 (inputs `(("glib" ,glib)))
2468 (native-inputs
2469 `(("pkg-config" ,pkg-config)
b3546174 2470 ("flex" ,flex)
5698b8b8
JD
2471 ("bison" ,bison)))
2472 (home-page "http://freecode.com/projects/libidl")
2473 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2474 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2475Definition Language (idl) files, which is a specification for defining
2476portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2477GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2478functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2479 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2480 (license license:lgpl2.0+)))
2481
2482
2483(define-public orbit2
2484 (package
2485 (name "orbit2")
2486 (version "2.14.19")
2487 (source (origin
2488 (method url-fetch)
2e6ecc5c 2489 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2490 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2491 (version-major+minor version) "/"
2492 upstream-name "-" version ".tar.bz2")))
5698b8b8 2493 (sha256
a124bbd2
SB
2494 (base32
2495 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2496 (build-system gnu-build-system)
2497 (arguments
a124bbd2 2498 `(#:configure-flags
8aad2e32
LC
2499 '(;; We don't need static libraries, plus they don't build reproducibly
2500 ;; (non-deterministic ordering of .o files in the archive.)
2501 "--disable-static"
2502
2503 ;; The programmer kindly gives us a hook to turn off deprecation
2504 ;; warnings ...
2505 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2506 ;; ... which they then completly ignore !!
2507 #:phases
dc1d3cde
KK
2508 (modify-phases %standard-phases
2509 (add-before 'configure 'ignore-deprecations
2510 (lambda _
2511 (substitute* "linc2/src/Makefile.in"
2512 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2513 #t)))))
5698b8b8
JD
2514 (inputs `(("glib" ,glib)
2515 ("libidl" ,libidl)))
2516 (native-inputs
2517 `(("pkg-config" ,pkg-config)))
2518 (home-page "https://projects.gnome.org/orbit2/")
2519 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2520 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2521featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2522 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2523 ;; a version. SOME of the code files have licence notices for GPLv2+.
2524 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2525 (license license:gpl2+)
2526 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2527
2528
2529(define-public libbonobo
2530 (package
2531 (name "libbonobo")
2532 (version "2.32.1")
2533 (source (origin
2534 (method url-fetch)
5becd025 2535 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2536 (version-major+minor version)
5becd025 2537 "/" name "-" version ".tar.bz2"))
5698b8b8 2538 (sha256
f1fc45a9 2539 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2540 (patches (search-patches
2541 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2542 (build-system gnu-build-system)
2543 (arguments
2544 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2545 `(#:configure-flags
2546 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2547 ;; ... which they then completly ignore !!
2548 #:phases
dc1d3cde
KK
2549 (modify-phases %standard-phases
2550 (add-before 'configure 'ignore-deprecations
2551 (lambda _
2552 (substitute* "activation-server/Makefile.in"
2553 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2554 #t)))
2555
2556 ;; There's apparently a race condition between the server stub
2557 ;; generation and linking of the example under 'samples/echo' that can
2558 ;; lead do undefined references when building in parallel, as reported
2559 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2560 ;; Thus, disable parallel builds.
2561 #:parallel-build? #f))
5698b8b8
JD
2562 (inputs `(("popt" ,popt)
2563 ("libxml2" ,libxml2)))
2564 ;; The following are Required by the .pc file
44add1ce 2565 (propagated-inputs
5698b8b8
JD
2566 `(("glib" ,glib)
2567 ("orbit2" ,orbit2)))
2568 (native-inputs
2569 `(("intltool" ,intltool)
2570 ("pkg-config" ,pkg-config)
221ed17a 2571 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2572 ("flex" ,flex)
2573 ("bison" ,bison)))
2574 (home-page "https://developer.gnome.org/libbonobo/")
2575 (synopsis "Framework for creating reusable components for use in GNOME applications")
2576 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2577use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2578 ;; Licence not explicitly stated. Source files contain no licence notices.
2579 ;; Tarball contains text of both GPLv2 and LGPLv2
2580 ;; GPLv2 covers both conditions
2581 (license license:gpl2+)))
2582
2583
2584(define-public gconf
2585 (package
2586 (name "gconf")
2587 (version "3.2.6")
2588 (source (origin
2589 (method url-fetch)
a124bbd2
SB
2590 (uri
2591 (let ((upstream-name "GConf"))
2592 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2593 (version-major+minor version) "/"
2594 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2595 (sha256
2596 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2597 (build-system gnu-build-system)
2e88d113 2598 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2599 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2600 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2601 ("orbit2" ,orbit2)))
5698b8b8
JD
2602 (native-inputs
2603 `(("intltool" ,intltool)
221ed17a 2604 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2605 ("pkg-config" ,pkg-config)))
2606 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2607 (synopsis "Store application preferences")
2608 (description "Gconf is a system for storing application preferences. It
2609is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2610 (license license:lgpl2.0+)
2611 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2612
2613
2614(define-public gnome-mime-data
2615 (package
2616 (name "gnome-mime-data")
2617 (version "2.18.0")
2618 (source (origin
2619 (method url-fetch)
b38e45d8
EB
2620 (uri (string-append "mirror://gnome/sources/" name "/"
2621 (version-major+minor version) "/"
2622 name "-" version ".tar.bz2"))
5698b8b8
JD
2623 (sha256
2624 (base32
2625 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2626 (build-system gnu-build-system)
2627 (native-inputs
2628 `(("perl" ,perl)
2629 ("intltool" ,intltool)))
3e6add96
LC
2630 (arguments
2631 '(#:phases (modify-phases %standard-phases
2632 (add-after 'configure 'use-our-intltool
2633 (lambda _
2634 ;; Do not use the bundled intltool commands, which lack
2635 ;; the "dotless @INC" fixes of our 'intltool' package.
2636 (substitute* (find-files "." "^Makefile$")
2637 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2638 (string-append "INTLTOOL_" tool " = intltool-"
2639 (string-downcase tool) "\n")))
2640 #t)))))
f032d0be 2641 (home-page "https://www.gnome.org")
35b9e423 2642 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2643 (description "GNOME Mime Data is a module which contains the base MIME
2644and Application database for GNOME. The data stored by this module is
2645designed to be accessed through the MIME functions in GnomeVFS.")
2646 (license license:gpl2+)))
2647
2648
2649(define-public gnome-vfs
2650 (package
2651 (name "gnome-vfs")
2652 (version "2.24.4")
2653 (source (origin
2654 (method url-fetch)
b38e45d8
EB
2655 (uri (string-append "mirror://gnome/sources/" name "/"
2656 (version-major+minor version) "/"
2657 name "-" version ".tar.bz2"))
5698b8b8 2658 (sha256
9e12bc34
MW
2659 (base32
2660 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2661 (build-system gnu-build-system)
2662 (arguments
db5127d8 2663 `(#:phases
dc1d3cde
KK
2664 (modify-phases %standard-phases
2665 (add-before 'configure 'ignore-deprecations
2666 (lambda _
2667 (substitute* '("libgnomevfs/Makefile.in"
2668 "daemon/Makefile.in")
2669 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2670 #t))
2671 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2672 (lambda _
2673 (substitute* "test/test-async-cancel.c"
2674 (("EXIT_FAILURE") "77"))
2675 #t)))))
2e6ecc5c 2676 (inputs `(("libxml2" ,libxml2)
5698b8b8 2677 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2678 ("gconf" ,gconf)
2679 ("gnome-mime-data" ,gnome-mime-data)
2680 ("zlib" ,zlib)))
2681 (native-inputs
221ed17a
EB
2682 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2683 ("intltool" ,intltool)
5698b8b8
JD
2684 ("pkg-config" ,pkg-config)))
2685 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2686 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2687 (description
2688 "GnomeVFS is the core library used to access files and folders in GNOME
2689applications. It provides a file system abstraction which allows applications
2690to access local and remote files with a single consistent API.")
5698b8b8
JD
2691 (license license:lgpl2.0+)))
2692
2693
2694
2695(define-public libgnome
2696 (package
2697 (name "libgnome")
2698 (version "2.32.1")
2699 (source (origin
2700 (method url-fetch)
b38e45d8
EB
2701 (uri (string-append "mirror://gnome/sources/" name "/"
2702 (version-major+minor version) "/"
2703 name "-" version ".tar.bz2"))
5698b8b8
JD
2704 (sha256
2705 (base32
17c3eea7
LC
2706 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2707 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2708 (build-system gnu-build-system)
2709 (arguments
2710 `(#:phases
dc1d3cde
KK
2711 (modify-phases %standard-phases
2712 (add-before 'configure 'enable-deprecated
2713 (lambda _
2714 (substitute* "libgnome/Makefile.in"
2715 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2716 #t)))))
25338e9f 2717 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2718 (native-inputs
221ed17a
EB
2719 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2720 ("intltool" ,intltool)
5698b8b8
JD
2721 ("pkg-config" ,pkg-config)))
2722 ;; The following are listed as Required in the .pc file
2723 ;; (except for libcanberra -- which seems to be oversight on the part
2724 ;; of the upstream developers -- anything that links against libgnome,
2725 ;; must also link against libcanberra
2726 (propagated-inputs
2727 `(("libcanberra" ,libcanberra)
2728 ("libbonobo" ,libbonobo)
2729 ("gconf" ,gconf)
a640d3d5
LC
2730 ("gnome-vfs" ,gnome-vfs)
2731 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2732 (home-page "https://developer.gnome.org/libgnome/")
2733 (synopsis "Useful routines for building applications")
2734 (description "The libgnome library provides a number of useful routines
2735for building modern applications, including session management, activation of
2736files and URIs, and displaying help.")
2737 (license license:lgpl2.0+)))
2738
2739
2740(define-public libart-lgpl
2741 (package
2742 (name "libart-lgpl")
76c9b6aa 2743 (version "2.3.21")
5698b8b8
JD
2744 (source (origin
2745 (method url-fetch)
2746 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2747 (string-append "mirror://gnome/sources/" upstream-name "/"
2748 (version-major+minor version) "/"
2749 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2750 (sha256
2751 (base32
76c9b6aa 2752 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2753 (build-system gnu-build-system)
2754 (native-inputs
2755 `(("pkg-config" ,pkg-config)))
2756 (home-page "https://people.gnome.org/~mathieu/libart")
2757 (synopsis "2D drawing library")
2e6ecc5c 2758 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2759high-quality vector-based 2D library with antialiasing and alpha composition.")
2760 (license license:lgpl2.0+)))
2761
2762
2763
2764(define-public libgnomecanvas
2765 (package
2766 (name "libgnomecanvas")
2767 (version "2.30.3")
2768 (source (origin
2769 (method url-fetch)
b38e45d8
EB
2770 (uri (string-append "mirror://gnome/sources/" name "/"
2771 (version-major+minor version) "/"
2772 name "-" version ".tar.gz"))
5698b8b8
JD
2773 (sha256
2774 (base32
2775 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2776 (build-system gnu-build-system)
2777 ;; Mentioned as Required in the .pc file
2778 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2779 ("gtk+" ,gtk+-2)))
2780 (native-inputs
2781 `(("intltool" ,intltool)
221ed17a 2782 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2783 ("pkg-config" ,pkg-config)))
2784 (home-page "https://developer.gnome.org/libgnomecanvas/")
2785 (synopsis "Flexible widget for creating interactive structured graphics")
2786 (description "The GnomeCanvas widget provides a flexible widget for
2787creating interactive structured graphics.")
2788 (license license:lgpl2.0+)))
2789
eadc734e
RW
2790(define-public libgnomecanvasmm
2791 (package
2792 (name "libgnomecanvasmm")
2793 (version "2.26.0")
2794 (source (origin
2795 (method url-fetch)
2796 (uri (string-append "mirror://gnome/sources/" name "/"
2797 (version-major+minor version) "/"
2798 name "-" version ".tar.bz2"))
2799 (sha256
2800 (base32
2801 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2802 (build-system gnu-build-system)
2803 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2804 (native-inputs
2805 `(("gtkmm-2" ,gtkmm-2)
2806 ("pkg-config" ,pkg-config)))
8e933cb3 2807 (home-page "https://gtkmm.org")
eadc734e
RW
2808 (synopsis "C++ bindings to the GNOME Canvas library")
2809 (description "C++ bindings to the GNOME Canvas library.")
2810 (license license:lgpl2.0+)))
2811
5698b8b8
JD
2812(define-public libgnomeui
2813 (package
2814 (name "libgnomeui")
2815 (version "2.24.5")
2816 (source (origin
2817 (method url-fetch)
b38e45d8
EB
2818 (uri (string-append "mirror://gnome/sources/" name "/"
2819 (version-major+minor version) "/"
2820 name "-" version ".tar.bz2"))
8fa1872a 2821 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2822 (sha256
2823 (base32
2824 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2825 (build-system gnu-build-system)
2826 ;; Mentioned as Required in the .pc file
0a38a497
AE
2827 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2828 ("libgnome" ,libgnome)
2829 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2830 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2831 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2832 ("popt" ,popt)
2833 ("libbonobo" ,libbonobo)
2834 ("libxml2" ,libxml2)
2835 ("libglade" ,libglade)))
2836 (native-inputs
221ed17a
EB
2837 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2838 ("intltool" ,intltool)
5698b8b8
JD
2839 ("pkg-config" ,pkg-config)))
2840 (home-page "https://developer.gnome.org/libgnomeui/")
2841 (synopsis "Additional widgets for applications")
35b9e423 2842 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2843applications. Many of the widgets from libgnomeui have already been
2844ported to GTK+.")
5698b8b8
JD
2845 (license license:lgpl2.0+)))
2846
2847(define-public libglade
2848 (package
2849 (name "libglade")
2850 (version "2.6.4")
2851 (source (origin
2852 (method url-fetch)
b38e45d8
EB
2853 (uri (string-append "mirror://gnome/sources/" name "/"
2854 (version-major+minor version) "/"
2855 name "-" version ".tar.bz2"))
5698b8b8
JD
2856 (sha256
2857 (base32
2858 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2859 (build-system gnu-build-system)
2860 (inputs
92dcc23d
AE
2861 `(("python" ,python))) ;; needed for the optional libglade-convert program
2862 (propagated-inputs
5698b8b8 2863 `(("gtk+-2" ,gtk+-2)
92dcc23d 2864 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2865 (native-inputs
2866 `(("pkg-config" ,pkg-config)))
2867 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2868 (synopsis "Load glade interfaces and access the glade built widgets")
2869 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2870graphical interfaces described in glade files and for accessing the
2871widgets built in the loading process.")
2872 (license license:gpl2+))) ; This is correct. GPL not LGPL
2873
2874(define-public libgnomeprint
eb497b66
LC
2875 ;; This library has been deprecated since 2006; see
2876 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2877 (package
2878 (name "libgnomeprint")
d19db454 2879 (version "2.18.8")
5698b8b8
JD
2880 (source (origin
2881 (method url-fetch)
b38e45d8
EB
2882 (uri (string-append "mirror://gnome/sources/" name "/"
2883 (version-major+minor version) "/"
2884 name "-" version ".tar.bz2"))
5698b8b8
JD
2885 (sha256
2886 (base32
d19db454 2887 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2888 (build-system gnu-build-system)
2889 (inputs
2890 `(("popt" ,popt)
2891 ("libart-lgpl" ,libart-lgpl)
2892 ("gtk+" ,gtk+-2)
44add1ce 2893 ("libxml2" ,libxml2)))
5698b8b8
JD
2894 (native-inputs
2895 `(("intltool" ,intltool)
221ed17a 2896 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2897 ("pkg-config" ,pkg-config)))
2898 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2899 (synopsis "Printing framework for GNOME")
eb497b66
LC
2900 (description
2901 "GNOME-print was a printing framework for GNOME. It has been deprecated
2902since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2903 (license license:lgpl2.0+)))
2904
2905
2906(define-public libgnomeprintui
eb497b66 2907 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2908 (package
2909 (name "libgnomeprintui")
36053d7f 2910 (version "2.18.6")
5698b8b8
JD
2911 (source (origin
2912 (method url-fetch)
b38e45d8
EB
2913 (uri (string-append "mirror://gnome/sources/" name "/"
2914 (version-major+minor version) "/"
2915 name "-" version ".tar.bz2"))
5698b8b8
JD
2916 (sha256
2917 (base32
36053d7f 2918 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2919 (build-system gnu-build-system)
2920 ;; Mentioned as Required in the .pc file
2921 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2922 (inputs `(("gtk+" ,gtk+-2)
2923 ("glib" ,glib)
2924 ("gnome-icon-theme" ,gnome-icon-theme)
2925 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2926 ("libxml2" ,libxml2)))
5698b8b8
JD
2927 (native-inputs
2928 `(("intltool" ,intltool)
2929 ("pkg-config" ,pkg-config)))
2930 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2931 (synopsis "Printing framework for GNOME")
eb497b66 2932 (description (package-description libgnomeprint))
5698b8b8
JD
2933 (license license:lgpl2.0+)))
2934
5698b8b8
JD
2935(define-public libbonoboui
2936 (package
2937 (name "libbonoboui")
2938 (version "2.24.5")
2939 (source (origin
2940 (method url-fetch)
b38e45d8
EB
2941 (uri (string-append "mirror://gnome/sources/" name "/"
2942 (version-major+minor version) "/"
2943 name "-" version ".tar.bz2"))
5698b8b8
JD
2944 (sha256
2945 (base32
2946 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2947 (build-system gnu-build-system)
2948 (arguments
2949 `(#:phases
dc1d3cde
KK
2950 (modify-phases %standard-phases
2951 (add-before 'check 'start-xserver
2952 (lambda* (#:key inputs #:allow-other-keys)
2953 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2954 (disp ":1"))
2955
2956 (setenv "HOME" (getcwd))
2957 (setenv "DISPLAY" disp)
2958 ;; There must be a running X server and make check doesn't start one.
2959 ;; Therefore we must do it.
2960 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2961 ;; Mentioned as Required by the .pc file
2962 (propagated-inputs `(("libxml2" ,libxml2)))
2963 (inputs
2964 `(("popt" ,popt)
2965 ("pangox-compat" ,pangox-compat)
2966 ("libgnome" ,libgnome)
2967 ("libgnomecanvas" ,libgnomecanvas)
2968 ("libglade" ,libglade)))
2969 (native-inputs
221ed17a
EB
2970 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2971 ("intltool" ,intltool)
ff337525 2972 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2973 ("pkg-config" ,pkg-config)))
2974 (home-page "https://developer.gnome.org/libbonoboui/")
2975 (synopsis "Some user interface controls using Bonobo")
2976 (description "The Bonobo UI library provides a number of user interface
2977controls using the Bonobo component framework.")
2978 (license license:lgpl2.0+)))
2979
fecbf86e
SB
2980(define-public libwnck
2981 (package
2982 (name "libwnck")
d3b40696 2983 (version "3.32.0")
fecbf86e
SB
2984 (source (origin
2985 (method url-fetch)
2986 (uri (string-append "mirror://gnome/sources/" name "/"
2987 (version-major+minor version) "/"
2988 name "-" version ".tar.xz"))
2989 (sha256
ad9b8987 2990 (base32
d3b40696
KK
2991 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2992 (build-system meson-build-system)
fecbf86e
SB
2993 (native-inputs
2994 `(("pkg-config" ,pkg-config)
d3b40696
KK
2995 ("glib" ,glib "bin") ; for glib-mkenums
2996 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2997 ("intltool" ,intltool)))
2998 (propagated-inputs
427476d5
SB
2999 `(("gtk+" ,gtk+)
3000 ("libxres" ,libxres)
3001 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3002 (home-page "https://developer.gnome.org/libwnck/")
3003 (synopsis "Window Navigator Construction Kit")
3004 (description
3005 "Libwnck is the Window Navigator Construction Kit, a library for use in
3006writing pagers, tasklists, and more generally applications that are dealing
3007with window management. It tries hard to respect the Extended Window Manager
3008Hints specification (EWMH).")
3009 (license license:lgpl2.0+)))
3010
3011;; stable version for gtk2, required by xfwm4.
dbb7a081 3012(define-public libwnck-2
fecbf86e
SB
3013 (package (inherit libwnck)
3014 (name "libwnck")
3015 (version "2.30.7")
3016 (source (origin
3017 (method url-fetch)
3018 (uri (string-append "mirror://gnome/sources/" name "/"
3019 (version-major+minor version) "/"
3020 name "-" version ".tar.xz"))
3021 (sha256
3022 (base32
3023 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3024 (build-system gnu-build-system)
3025 (native-inputs
3026 `(("pkg-config" ,pkg-config)
3027 ("intltool" ,intltool)))
fecbf86e 3028 (propagated-inputs
427476d5
SB
3029 `(("gtk+" ,gtk+-2)
3030 ("libxres" ,libxres)
3031 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3032
3033(define-public goffice
3034 (package
3035 (name "goffice")
09abffcc 3036 (version "0.10.46")
b804c61e
JD
3037 (source (origin
3038 (method url-fetch)
16243f0b 3039 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3040 (version-major+minor version) "/"
16243f0b 3041 "goffice-" version ".tar.xz"))
b804c61e 3042 (sha256
09abffcc 3043 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 3044 (build-system gnu-build-system)
72a06d3e 3045 (outputs '("out"
355420c6 3046 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3047 (arguments
3048 '(#:configure-flags (list (string-append "--with-html-dir="
3049 (assoc-ref %outputs "doc")
3050 "/share/gtk-doc/html"))))
b804c61e
JD
3051 (inputs
3052 `(("gtk+" ,gtk+)
3053 ("libgsf" ,libgsf)
3054 ("librsvg" ,librsvg)
3055 ("libxslt" ,libxslt)
3056 ("libxml2" ,libxml2)))
3057 (native-inputs
3058 `(("intltool" ,intltool)
f280cdb1 3059 ("glib" ,glib "bin")
b804c61e
JD
3060 ("pkg-config" ,pkg-config)))
3061 (home-page "https://developer.gnome.org/goffice/")
3062 (synopsis "Document-centric objects and utilities")
3063 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3064 (license
b804c61e
JD
3065 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3066 ;; Note: NOT LGPL
3067 (list license:gpl2 license:gpl3))))
3068
c024ae36
RW
3069(define-public goffice-0.8
3070 (package (inherit goffice)
3071 (version "0.8.17")
3072 (source (origin
3073 (method url-fetch)
3074 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3075 (version-major+minor version) "/"
3076 (package-name goffice) "-" version ".tar.xz"))
3077 (sha256
3078 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3079 (arguments
3080 `(#:phases
dc1d3cde
KK
3081 (modify-phases %standard-phases
3082 (add-after 'unpack 'fix-pcre-check
3083 (lambda _
3084 ;; Only glib.h can be included directly. See
3085 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3086 (substitute* "configure"
3087 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3088
3089 ,@(package-arguments goffice)))
c024ae36
RW
3090 (propagated-inputs
3091 ;; libgoffice-0.8.pc mentions libgsf-1
3092 `(("libgsf" ,libgsf)))
3093 (inputs
3094 `(("gtk" ,gtk+-2)
3095 ,@(alist-delete "gtk" (package-inputs goffice))))))
3096
b804c61e
JD
3097(define-public gnumeric
3098 (package
3099 (name "gnumeric")
f0517b5d 3100 (version "1.12.46")
b804c61e
JD
3101 (source (origin
3102 (method url-fetch)
b7fd0217 3103 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3104 (version-major+minor version) "/"
b7fd0217 3105 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3106 (sha256
3107 (base32
f0517b5d 3108 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3109 (build-system glib-or-gtk-build-system)
b804c61e
JD
3110 (arguments
3111 `(;; The gnumeric developers don't worry much about failing tests.
3112 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3113 #:tests? #f
b804c61e 3114 #:phases
7bcbd40d
EF
3115 (modify-phases %standard-phases
3116 (add-before
3117 'configure 'pre-conf
3118 (lambda* (#:key outputs #:allow-other-keys)
3119 ;; Make install tries to write into the directory of goffice
3120 ;; I am informed that this only affects the possibility to embed a
3121 ;; spreadsheet inside an Abiword document. So presumably when we
3122 ;; package Abiword we'll have to refer it to this directory.
3123 (substitute* "configure"
3124 (("^GOFFICE_PLUGINS_DIR=.*")
3125 (string-append "GOFFICE_PLUGINS_DIR="
3126 (assoc-ref outputs "out")
3127 "/goffice/plugins"))))))))
b804c61e
JD
3128 (inputs
3129 `(("glib" ,glib)
3130 ("gtk+" ,gtk+)
3131 ("goffice" ,goffice)
3132 ("libgsf" ,libgsf)
7bcbd40d 3133 ("librsvg" ,librsvg)
b804c61e 3134 ("libxml2" ,libxml2)
7bcbd40d 3135 ("libxslt" ,libxslt)
2e4c5457 3136 ("python" ,python-2)
6983ba56 3137 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3138 ("zlib" ,zlib)))
3139 (native-inputs
6983ba56 3140 `(("bison" ,bison)
1ed398d1 3141 ("docbook-xml" ,docbook-xml)
6983ba56 3142 ("intltool" ,intltool)
3a2efbc8 3143 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3144 ("glib:bin" ,glib "bin")
b804c61e
JD
3145 ("pkg-config" ,pkg-config)))
3146 (home-page "http://www.gnumeric.org")
66672a45
LC
3147 (synopsis "Spreadsheet application")
3148 (description
3149 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3150interoperable with other spreadsheet applications. It has a vast array of
3151features beyond typical spreadsheet functionality, such as support for linear
3152and non-linear solvers, statistical analysis, and telecommunication
3153engineering.")
3154 (license
b804c61e
JD
3155 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3156 (list license:gpl2 license:gpl3))))
6f885c05
FB
3157
3158(define-public gnome-themes-standard
3159 (package
3160 (name "gnome-themes-standard")
0b7b8fb0 3161 (version "3.22.3")
6f885c05
FB
3162 (source
3163 (origin
3164 (method url-fetch)
2e6ecc5c 3165 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3166 (version-major+minor version) "/" name "-"
3167 version ".tar.xz"))
3168 (sha256
3169 (base32
0b7b8fb0 3170 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3171 (build-system gnu-build-system)
8ac70c7f
SB
3172 (arguments
3173 '(#:configure-flags
3174 ;; Don't create 'icon-theme.cache'.
3175 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3176 (true (string-append coreutils "/bin/true")))
3177 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3178 (inputs
3179 `(("gtk+" ,gtk+)
3180 ("gtk+-2" ,gtk+-2)
3181 ("librsvg" ,librsvg)
3182 ("libxml2" ,libxml2)
3183 ("glib" ,glib)))
3184 (native-inputs
3185 `(("intltool" ,intltool)
3186 ("glib:bin" ,glib "bin")
3187 ("pkg-config" ,pkg-config)))
6f885c05
FB
3188 (home-page "https://launchpad.net/gnome-themes-standard")
3189 (synopsis "Default GNOME 3 themes")
3190 (description
3191 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3192 (license license:lgpl2.1+)))
5a659a48 3193
df90c701
RW
3194(define-public seahorse
3195 (package
3196 (name "seahorse")
bcea3c11 3197 (version "3.32.2")
df90c701
RW
3198 (source
3199 (origin
3200 (method url-fetch)
3201 (uri (string-append "mirror://gnome/sources/" name "/"
3202 (version-major+minor version) "/" name "-"
3203 version ".tar.xz"))
3204 (sha256
3205 (base32
bcea3c11 3206 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3207 (patches (search-patches
3208 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3209 (build-system meson-build-system)
3210 (arguments
bcea3c11
KK
3211 '(#:glib-or-gtk? #t
3212 #:phases
af561664
MÁAV
3213 (modify-phases %standard-phases
3214 (add-after 'unpack 'skip-gtk-update-icon-cache
3215 ;; Don't create 'icon-theme.cache'.
3216 (lambda _
3217 (substitute* "build-aux/meson_post_install.py"
3218 (("gtk-update-icon-cache") "true"))
3219 #t)))))
df90c701
RW
3220 (inputs
3221 `(("gtk+" ,gtk+)
3222 ("gcr" ,gcr)
34b979b9 3223 ("gnupg" ,gnupg)
df90c701 3224 ("gpgme" ,gpgme)
34b979b9 3225 ("openldap" ,openldap)
4a1bf090 3226 ("openssh" ,openssh)
af561664 3227 ("avahi" ,avahi)
bcea3c11 3228 ("libpwquality" ,libpwquality)
34b979b9
EF
3229 ("libsecret" ,libsecret)
3230 ("libsoup" ,libsoup)))
df90c701 3231 (native-inputs
af561664 3232 `(("gettext" ,gettext-minimal)
df90c701
RW
3233 ("glib:bin" ,glib "bin")
3234 ("itstool" ,itstool)
bcb354ad 3235 ("pkg-config" ,pkg-config)
af561664 3236 ("vala" ,vala)
bcb354ad 3237 ("xmllint" ,libxml2)))
bcea3c11 3238 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3239 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3240 (description
3241 "Seahorse is a GNOME application for managing encryption keys and
3242passwords in the GNOME keyring.")
3243 (license license:gpl2+)))
3244
5a659a48
SB
3245(define-public vala
3246 (package
3247 (name "vala")
2d6872f6 3248 (version "0.44.5")
5a659a48
SB
3249 (source (origin
3250 (method url-fetch)
3251 (uri (string-append "mirror://gnome/sources/" name "/"
3252 (version-major+minor version) "/"
3253 name "-" version ".tar.xz"))
3254 (sha256
3255 (base32
2d6872f6 3256 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3257 (build-system gnu-build-system)
1ea90625
SB
3258 (arguments
3259 '(#:phases
3260 (modify-phases %standard-phases
f4925a4f 3261 (add-before 'check 'pre-check
1ea90625
SB
3262 (lambda _
3263 (setenv "CC" "gcc")
8839b6be
RW
3264 (substitute* "valadoc/tests/testrunner.sh"
3265 (("export PKG_CONFIG_PATH=" m)
3266 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3267 ;; For missing '/etc/machine-id'.
3268 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3269 #t)))))
5a659a48
SB
3270 (native-inputs
3271 `(("pkg-config" ,pkg-config)
3272 ("flex" ,flex)
3273 ("bison" ,bison)
3274 ("xsltproc" ,libxslt)
3275 ("dbus" ,dbus) ; for dbus tests
3276 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3277 (inputs
3278 `(("graphviz" ,graphviz)))
5a659a48 3279 (propagated-inputs
8839b6be 3280 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3281 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3282 (synopsis "Compiler for the GObject type system")
3283 (description
3284 "Vala is a programming language that aims to bring modern programming
3285language features to GNOME developers without imposing any additional runtime
3286requirements and without using a different ABI compared to applications and
3287libraries written in C.")
3288 (license license:lgpl2.1+)))
ea57378f
SB
3289
3290(define-public vte
3291 (package
3292 (name "vte")
68c47474 3293 (version "0.58.3")
ea57378f
SB
3294 (source (origin
3295 (method url-fetch)
ac87ffb8 3296 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3297 (version-major+minor version) "/"
ac87ffb8 3298 "vte-" version ".tar.xz"))
ea57378f
SB
3299 (sha256
3300 (base32
68c47474
TGR
3301 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3302 (build-system meson-build-system)
ea57378f
SB
3303 (native-inputs
3304 `(("pkg-config" ,pkg-config)
3305 ("intltool" ,intltool)
3306 ("vala" ,vala)
3307 ("gobject-introspection" ,gobject-introspection)
68c47474 3308 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3309 ("gperf" ,gperf)
ea57378f
SB
3310 ("xmllint" ,libxml2)))
3311 (propagated-inputs
68c47474
TGR
3312 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3313 ("gnutls" ,gnutls) ; ditto
3314 ("pcre2" ,pcre2))) ; ditto
f032d0be 3315 (home-page "https://www.gnome.org/")
ea57378f
SB
3316 (synopsis "Virtual Terminal Emulator")
3317 (description
3318 "VTE is a library (libvte) implementing a terminal emulator widget for
3319GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3320gnome-terminal, but can also be used to embed a console/terminal in games,
3321editors, IDEs, etc.")
3322 (license license:lgpl2.1+)))
3323
c44fb4df
MO
3324(define-public vte-ng
3325 (package
3326 (inherit vte)
3327 (name "vte-ng")
24f4fcbe 3328 (version "0.58.2.a")
afd90f8d 3329 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3330 (source (origin
3331 (method git-fetch)
3332 (uri (git-reference (url home-page) (commit version)))
3333 (file-name (git-file-name name version))
3334 (sha256
3335 (base32
24f4fcbe
MB
3336 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3337 (build-system meson-build-system)
c44fb4df
MO
3338 (native-inputs
3339 `(("gtk-doc" ,gtk-doc)
c44fb4df 3340 ,@(package-native-inputs vte)))
c44fb4df 3341 (arguments
24f4fcbe 3342 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3343 (synopsis "Enhanced VTE terminal widget")
3344 (description
3345 "VTE is a library (libvte) implementing a terminal emulator widget for
3346GTK+, this fork provides additional functions exposed for keyboard text
3347selection and URL hints.")))
3348
2776d72c
EF
3349;; provides vte 2.90, required for some terminal emulators
3350;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3351;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3352;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3353;; pantheon-terminal, roxterm are not currently packaged
3354(define-public vte-0.36
3355 (package (inherit vte)
3356 (name "vte")
3357 (version "0.36.5")
3358 (source (origin
3359 (method url-fetch)
3360 (uri (string-append "mirror://gnome/sources/" name "/"
3361 (version-major+minor version) "/"
3362 name "-" version ".tar.xz"))
3363 (sha256
3364 (base32
3365 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3366 (propagated-inputs
3367 `(("gtk" ,gtk+)
3368 ("ncurses" ,ncurses)))))
3369
ea57378f
SB
3370;; stable version for gtk2, required by xfce4-terminal.
3371(define-public vte/gtk+-2
3372 (package (inherit vte)
3373 (name "vte")
3374 (version "0.28.2")
3375 (source (origin
3376 (method url-fetch)
3377 (uri (string-append "mirror://gnome/sources/" name "/"
3378 (version-major+minor version) "/"
3379 name "-" version ".tar.xz"))
3380 (sha256
3381 (base32
7d48938a
EF
3382 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3383 (patches (search-patches
3384 "vte-CVE-2012-2738-pt1.patch"
3385 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3386 (build-system gnu-build-system)
ea57378f
SB
3387 (arguments
3388 '(#:configure-flags '("--disable-python")))
3389 (native-inputs
3390 `(("pkg-config" ,pkg-config)
3391 ("intltool" ,intltool)
3392 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3393 (propagated-inputs
3394 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3395 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3396
cce0da5e
TD
3397(define-public vinagre
3398 (package
3399 (name "vinagre")
3400 (version "3.22.0")
3401 (source (origin
3402 (method url-fetch)
3403 (uri (string-append "mirror://gnome/sources/" name "/"
3404 (version-major+minor version) "/"
3405 name "-" version ".tar.xz"))
684f97f8
EF
3406 (patches (search-patches "vinagre-newer-freerdp.patch"
3407 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3408 (sha256
3409 (base32
3410 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3411 (build-system glib-or-gtk-build-system)
684f97f8 3412 (arguments
7f486d25
MC
3413 ;; Disable -Werror and such, to avoid build failures on compilation
3414 ;; warnings.
3415 '(#:configure-flags '("--enable-compile-warnings=minimum")
3416 #:phases
684f97f8 3417 (modify-phases %standard-phases
1839768c
EF
3418 (add-before 'install 'skip-gtk-update-icon-cache
3419 (lambda _
3420 ;; Don't create 'icon-theme.cache'
3421 (substitute* (find-files "." "^Makefile$")
3422 (("gtk-update-icon-cache") (which "true")))
3423 #t))
684f97f8
EF
3424 (add-after 'unpack 'patch-configure
3425 (lambda _
3426 (substitute* "configure"
3427 (("freerdp") "freerdp2"))
3428 #t)))))
cce0da5e
TD
3429 (native-inputs
3430 `(("pkg-config" ,pkg-config)
3431 ("intltool" ,intltool)
3432 ("itstool" ,itstool)
1839768c 3433 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3434 (inputs
3435 `(("libxml2" ,libxml2)
3436 ("gtk-vnc" ,gtk-vnc)
3437 ("gnome-keyring" ,gnome-keyring)
3438 ("libsecret" ,libsecret)
3439 ("freerdp" ,freerdp)
3440 ("spice" ,spice)
3441 ("spice-gtk" ,spice-gtk)
3442 ("telepathy-glib" ,telepathy-glib)
3443 ("vte" ,vte)))
cce0da5e
TD
3444 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3445 (synopsis "Remote desktop viewer for GNOME")
3446 (description "Vinagre is a remote display client supporting the VNC, SPICE
3447and RDP protocols.")
3448 (license license:gpl3+)))
3449
b47e1b20
FB
3450(define-public dconf
3451 (package
3452 (name "dconf")
1e33331c 3453 (version "0.32.0")
b47e1b20
FB
3454 (source (origin
3455 (method url-fetch)
3456 (uri (string-append
2e6ecc5c 3457 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3458 (version-major+minor version) "/"
3459 name "-" version ".tar.xz"))
3460 (sha256
f05c809f 3461 (base32
1e33331c 3462 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3463 (build-system meson-build-system)
bc036f4c
MB
3464 (propagated-inputs
3465 ;; In Requires of dconf.pc.
3466 `(("glib" ,glib)))
b47e1b20
FB
3467 (inputs
3468 `(("gtk+" ,gtk+)
bc036f4c 3469 ("dbus" ,dbus)))
b47e1b20 3470 (native-inputs
1e33331c
MB
3471 `(("bash-completion" ,bash-completion)
3472 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3473 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3474 ("docbook-xml" ,docbook-xml-4.2)
3475 ("docbook-xsl" ,docbook-xsl)
35fa923d 3476 ("glib:bin" ,glib "bin")
03676d6f 3477 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3478 ("pkg-config" ,pkg-config)
3479 ("vala" ,vala)))
b47e1b20
FB
3480 (arguments
3481 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3482 ; or /etc/machine-id.
35fa923d
MB
3483 #:glib-or-gtk? #t
3484 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3485 (home-page "https://developer.gnome.org/dconf")
3486 (synopsis "Low-level GNOME configuration system")
3487 (description "Dconf is a low-level configuration system. Its main purpose
3488is to provide a backend to GSettings on platforms that don't already have
3489configuration storage systems.")
e20e6b40 3490 (license license:lgpl2.1+)))
109da1c0
AE
3491
3492(define-public json-glib
3493 (package
3494 (name "json-glib")
4115e8ea 3495 (version "1.4.4")
109da1c0
AE
3496 (source (origin
3497 (method url-fetch)
3498 (uri (string-append "mirror://gnome/sources/" name "/"
3499 (version-major+minor version) "/"
3500 name "-" version ".tar.xz"))
3501 (sha256
3502 (base32
4115e8ea 3503 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3504 (build-system meson-build-system)
109da1c0 3505 (native-inputs
98afa184
MB
3506 `(("gettext" ,gettext-minimal)
3507 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3508 ("gobject-introspection" ,gobject-introspection)
3509 ("pkg-config" ,pkg-config)))
3510 (propagated-inputs
88c6b580 3511 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3512 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3513 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3514 (description
3515 "JSON-GLib is a C library based on GLib providing serialization and
3516deserialization support for the JavaScript Object Notation (JSON) format
3517described by RFC 4627. It provides parser and generator GObject classes and
3518various wrappers for the complex data types employed by JSON, such as arrays
3519and objects.")
109da1c0 3520 (license license:lgpl2.1+)))
6f96a359
SB
3521
3522(define-public libxklavier
3523 (package
3524 (name "libxklavier")
5f39050b 3525 (version "5.4")
6f96a359 3526 (source (origin
5f39050b 3527 ;; Note: There's no tarball at ftp.gnome.org for this version.
3528 (method git-fetch)
3529 (uri (git-reference
3530 (url "https://anongit.freedesktop.org/git/libxklavier")
3531 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3532 (sha256
3533 (base32
5f39050b 3534 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3535 (file-name (git-file-name name version))))
6f96a359
SB
3536 (build-system gnu-build-system)
3537 (arguments
5f39050b 3538 '(#:phases
3539 (modify-phases %standard-phases
3540 (add-after 'unpack 'no-configure
3541 (lambda* _
3542 (setenv "NOCONFIGURE" "1")
3543 #t)))
3544 #:configure-flags
6f96a359
SB
3545 (list (string-append "--with-xkb-base="
3546 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3547 "/share/X11/xkb")
3548 "--disable-xmodmap-support")))
6f96a359
SB
3549 (native-inputs
3550 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3551 ("gobject-introspection" ,gobject-introspection)
5f39050b 3552 ("pkg-config" ,pkg-config)
3553 ("gtk-doc" ,gtk-doc)
3554 ("intltool" ,intltool)
3555 ("which" ,which)
3556 ("autoconf" ,autoconf)
3557 ("automake" ,automake)
3558 ("libtool" ,libtool)))
6f96a359
SB
3559 (propagated-inputs
3560 ;; Required by libxklavier.pc.
3561 `(("glib" ,glib)
3562 ("libxml2" ,libxml2)))
3563 (inputs
3564 `(("iso-codes" ,iso-codes)
3565 ("libxi" ,libxi)
3566 ("libxkbfile" ,libxkbfile)
3567 ("xkbcomp" ,xkbcomp)
3568 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3569 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3570 (synopsis "High-level API for X Keyboard Extension")
3571 (description
3572 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3573Extension known as XKB. This library is intended to support XFree86 and other
3574commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3575indicators etc).")
3576 (license license:lgpl2.0+)))
619936a4
LC
3577
3578(define-public python2-rsvg
3579 ;; XXX: This is actually a subset of gnome-python-desktop.
3580 (package
3581 (name "python2-rsvg")
3582 (version "2.32.0")
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri (string-append
3587 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3588 version ".tar.bz2"))
3589 (sha256
3590 (base32
3591 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3592 (build-system gnu-build-system)
3593 (native-inputs
3594 `(("pkg-config" ,pkg-config)))
3595 (inputs
3596 `(("python" ,python-2)
3597 ("python2-pygtk" ,python2-pygtk)
3598 ("librsvg" ,librsvg)))
f032d0be 3599 (home-page "https://www.gnome.org")
619936a4
LC
3600 (synopsis "Python bindings to librsvg")
3601 (description
3ad75446 3602 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3603library.")
3604
3605 ;; This is the license of the rsvg bindings. The license of each module
3606 ;; of gnome-python-desktop is given in 'COPYING'.
3607 (license license:lgpl2.1+)))
a31a6d22 3608
f2ca414a
SB
3609(define-public glib-networking
3610 (package
3611 (name "glib-networking")
0d75c64d 3612 (version "2.60.3")
f2ca414a
SB
3613 (source (origin
3614 (method url-fetch)
3615 (uri (string-append "mirror://gnome/sources/glib-networking/"
3616 (version-major+minor version) "/"
fb8fe1e8 3617 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3618 (sha256
3619 (base32
0d75c64d 3620 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3621 (build-system meson-build-system)
f2ca414a 3622 (arguments
0d75c64d 3623 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3624 (native-inputs
3625 `(("pkg-config" ,pkg-config)
3626 ("intltool" ,intltool)))
3627 (inputs
3628 `(("glib" ,glib)
3629 ("gnutls" ,gnutls)
4b8f1313 3630 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3631 (home-page "https://www.gnome.org")
f2ca414a
SB
3632 (synopsis "Network-related GIO modules")
3633 (description
3634 "This package contains various network related extensions for the GIO
3635library.")
3636 (license license:lgpl2.0+)))
3637
ca649680 3638(define-public rest
4510b2da 3639 (package
ca649680 3640 (name "rest")
a4194d16 3641 (version "0.8.1")
4510b2da
SB
3642 (source (origin
3643 (method url-fetch)
3644 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3645 (version-major+minor version) "/"
3646 name "-" version ".tar.xz"))
4510b2da
SB
3647 (sha256
3648 (base32
a4194d16 3649 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3650 (build-system gnu-build-system)
3651 (arguments
3652 '(#:tests? #f ; tests require internet connection
3653 #:configure-flags
3654 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3655 (native-inputs
3656 `(("glib-mkenums" ,glib "bin")
3657 ("gobject-introspection" ,gobject-introspection)
3658 ("pkg-config" ,pkg-config)))
3659 (propagated-inputs
3660 ;; rest-0.7.pc refers to all these.
3661 `(("glib" ,glib)
3662 ("libsoup" ,libsoup)
3663 ("libxml2" ,libxml2)))
24d6cc1d 3664 (home-page "https://www.gtk.org/")
4510b2da
SB
3665 (synopsis "RESTful web api query library")
3666 (description
3667 "This library was designed to make it easier to access web services that
3668claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3669libxml to ease remote use of the RESTful API.")
3670 (license license:lgpl2.1+)))
3671
6e1bb642
SB
3672(define-public libsoup
3673 (package
3674 (name "libsoup")
16af0dd9 3675 (version "2.68.4")
6e1bb642
SB
3676 (source (origin
3677 (method url-fetch)
3678 (uri (string-append "mirror://gnome/sources/libsoup/"
3679 (version-major+minor version) "/"
c1b79b36 3680 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3681 (sha256
3682 (base32
16af0dd9 3683 "151j5dc84gbl6a917pxvd0b372lw5za48n63lyv6llfc48lv2l1d"))))
eccaa8bf 3684 (build-system meson-build-system)
6e1bb642
SB
3685 (outputs '("out" "doc"))
3686 (arguments
2deb146f 3687 `(#:modules ((guix build utils)
eccaa8bf 3688 (guix build meson-build-system)
2deb146f
LC
3689 (ice-9 popen))
3690
f8026a79 3691 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3692 #:phases
3693 (modify-phases %standard-phases
eccaa8bf 3694 (add-after 'unpack 'adjust-tests
26c228f9 3695 (lambda _
eccaa8bf
MB
3696 ;; This test fails due to missing /etc/nsswitch.conf
3697 ;; in the build environment.
26c228f9
LC
3698 (substitute* "tests/socket-test.c"
3699 ((".*/sockets/unconnected.*") ""))
2deb146f 3700
f8026a79
MB
3701 ;; These fail because "subdomain.localhost" does not resolve in
3702 ;; the build environment.
3703 (substitute* "tests/hsts-test.c"
3704 ((".*/hsts/basic.*") "")
3705 ((".*/hsts/subdomains.*") "")
3706 ((".*/hsts/superdomain.*") "")
3707 ((".*/hsts/utf8-address.*") ""))
3708 (substitute* "tests/hsts-db-test.c"
3709 ((".*/hsts-db/subdomains.*") ""))
3710
2deb146f
LC
3711 ;; Generate a self-signed certificate that has "localhost" as its
3712 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3713 ;; 3.5.12, tests such as "ssl-tests" fail:
3714 ;;
3715 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3716 ;;
3717 ;; 'certtool' is interactive so we have to pipe it the answers.
3718 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3719 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3720 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3721 (for-each (lambda (line)
3722 (display line pipe)
3723 (newline pipe))
3724 '("" ;Common name
3725 "" ;UID
3726 "Guix" ;Organizational unit name
3727 "GNU" ;Organization name
3728 "" ;Locality name
3729 "" ;State or province
3730 "" ;Country
3731 "" ;subject's domain component (DC)
3732 "" ;E-mail
3733 "" ;serial number
3734 "-1" ;expiration time
3735 "N" ;belong to authority?
3736 "N" ;web client certificate?
3737 "N" ;IPsec IKE?
3738 "Y" ;web server certificate?
3739 "localhost" ;dnsName of subject
3740 "" ;dnsName of subject (end)
3741 "" ;URI of subject
3742 "127.0.0.1" ;IP address of subject
3743 "" ;signing?
06f5bc4e
MB
3744 "" ;encryption (RSA)?
3745 "" ;data encryption?
2deb146f
LC
3746 "" ;sign OCSP requests?
3747 "" ;sign code?
3748 "" ;time stamping?
3749 "" ;email protection?
3750 "" ;URI of the CRL distribution point
3751 "y" ;above info OK?
3752 ))
3753 (close-pipe pipe))
26c228f9 3754 #t))
eccaa8bf
MB
3755 (add-after 'install 'move-doc
3756 (lambda* (#:key outputs #:allow-other-keys)
3757 (let ((out (assoc-ref outputs "out"))
3758 (doc (assoc-ref outputs "doc")))
3759 (mkdir-p (string-append doc "/share"))
3760 (copy-recursively (string-append out "/share/gtk-doc")
3761 (string-append doc "/share/gtk-doc"))
3762 (delete-file-recursively (string-append out "/share/gtk-doc"))
3763 #t))))))
6e1bb642 3764 (native-inputs
26c228f9 3765 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3766 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3767 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3768 ("intltool" ,intltool)
3769 ("pkg-config" ,pkg-config)
3770 ("python" ,python-wrapper)
fd730590 3771 ("vala" ,vala)
6e1bb642
SB
3772 ;; These are needed for the tests.
3773 ;; FIXME: Add PHP once available.
3774 ("curl" ,curl)
2deb146f 3775 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3776 ("httpd" ,httpd)))
3777 (propagated-inputs
3778 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3779 `(("brotli" ,google-brotli)
3780 ("glib" ,glib)
249846bf 3781 ("libpsl" ,libpsl)
eccaa8bf 3782 ("libxml2" ,libxml2)
f8026a79
MB
3783 ("sqlite" ,sqlite)
3784 ("zlib" ,zlib)))
eccaa8bf
MB
3785 (inputs
3786 `(("glib-networking" ,glib-networking)
3787 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3788 (home-page "https://live.gnome.org/LibSoup/")
3789 (synopsis "GLib-based HTTP Library")
3790 (description
3791 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3792and the GLib main loop, to integrate well with GNOME applications.")
3793 (license license:lgpl2.0+)))
3794
bba229a3
SB
3795(define-public libsecret
3796 (package
3797 (name "libsecret")
a866dd18 3798 (version "0.20.1")
bba229a3
SB
3799 (source (origin
3800 (method url-fetch)
3801 (uri (string-append
896dcbc7
EF
3802 "mirror://gnome/sources/libsecret/"
3803 (version-major+minor version) "/"
0ada4e29 3804 "libsecret-" version ".tar.xz"))
bba229a3
SB
3805 (sha256
3806 (base32
a866dd18 3807 "0ir4ynpf8b64xss1azvsi5x6697lik7hkf3z0xxa2qv2xja3xxsp"))))
bba229a3
SB
3808 (build-system gnu-build-system)
3809 (outputs '("out" "doc"))
3810 (arguments
3811 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3812 #:configure-flags
3813 (list (string-append "--with-html-dir="
3814 (assoc-ref %outputs "doc")
3815 "/share/gtk-doc/html"))))
3816 (native-inputs
c06ef010
MB
3817 `(("gettext" ,gettext-minimal)
3818 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3819 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3820 ("pkg-config" ,pkg-config)
3821 ("vala" ,vala)
3822 ("xsltproc" ,libxslt)))
3823 ;; These are needed for the tests.
3824 ;; FIXME: Add gjs once available.
3825 ;("dbus" ,dbus)
3826 ;("python2" ,python-2)
3827 ;("python2-dbus" ,python2-dbus)
3828 ;("python2-pygobject" ,python2-pygobject)
3829 ;("python2-pygobject-2" ,python2-pygobject-2)))
3830 (propagated-inputs
3831 `(("glib" ,glib))) ; required by libsecret-1.pc
3832 (inputs
3833 `(("docbook-xsl" ,docbook-xsl)
3834 ("libgcrypt" ,libgcrypt)
3835 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3836 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3837 (synopsis "GObject bindings for \"Secret Service\" API")
3838 (description
3839 "Libsecret is a GObject based library for storing and retrieving passwords
3840and other secrets. It communicates with the \"Secret Service\" using DBus.")
3841 (license license:lgpl2.1+)))
3842
b6821ee0 3843(define-public five-or-more
3844 (package
3845 (name "five-or-more")
d9795e93 3846 (version "3.32.0")
b6821ee0 3847 (source
3848 (origin
3849 (method url-fetch)
3850 (uri (string-append "mirror://gnome/sources/" name "/"
3851 (version-major+minor version) "/"
3852 name "-" version ".tar.xz"))
3853 (sha256
3854 (base32
d9795e93
KK
3855 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3856 (build-system meson-build-system)
3857 (arguments
3858 '(#:glib-or-gtk? #t
3859 #:phases
3860 (modify-phases %standard-phases
3861 (add-after 'unpack 'skip-gtk-update-icon-cache
3862 (lambda _
3863 (substitute* "meson_post_install.py"
3864 (("gtk-update-icon-cache") (which "true")))
3865 #t)))))
b6821ee0 3866 (native-inputs
3867 `(("pkg-config" ,pkg-config)
d9795e93 3868 ("appstream-glib" ,appstream-glib)
b6821ee0 3869 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3870 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3871 ("intltool" ,intltool)
3872 ("itstool" ,itstool)
d9795e93 3873 ("vala" ,vala)
b6821ee0 3874 ("xmllint" ,libxml2)))
3875 (inputs
3876 `(("gtk+" ,gtk+)
d9795e93 3877 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3878 ("librsvg" ,librsvg)))
3879 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3880 (synopsis "Logic puzzle game")
3881 (description "Five or More is a game where you try to align
3882 five or more objects of the same color and shape causing them to disappear.
3883 On every turn more objects will appear, until the board is full.
3884 Try to last as long as possible.")
3885 (license license:gpl2+)))
3886
a31a6d22
SB
3887(define-public gnome-mines
3888 (package
3889 (name "gnome-mines")
2d817e41 3890 (version "3.32.2")
a31a6d22
SB
3891 (source
3892 (origin
3893 (method url-fetch)
3894 (uri (string-append "mirror://gnome/sources/" name "/"
3895 (version-major+minor version) "/"
3896 name "-" version ".tar.xz"))
3897 (sha256
3898 (base32
2d817e41 3899 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3900 (build-system meson-build-system)
a31a6d22 3901 (arguments
2d817e41
KK
3902 '(#:glib-or-gtk? #t
3903 #:phases
a31a6d22 3904 (modify-phases %standard-phases
2d817e41
KK
3905 (add-after 'unpack 'skip-gtk-update-icon-cache
3906 (lambda _
3907 (substitute* "build-aux/meson_post_install.py"
3908 (("gtk-update-icon-cache") (which "true")))
3909 #t)))))
a31a6d22 3910 (native-inputs
8c0fab36
RW
3911 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3912 ("pkg-config" ,pkg-config)
a31a6d22
SB
3913 ("desktop-file-utils" ,desktop-file-utils)
3914 ("intltool" ,intltool)
bcb354ad 3915 ("itstool" ,itstool)
8c0fab36
RW
3916 ("vala" ,vala)
3917 ("yelp" ,yelp)
3918 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3919 (inputs
3920 `(("gtk+" ,gtk+)
73992962 3921 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3922 ("librsvg" ,librsvg)))
3923 (home-page "https://wiki.gnome.org/Apps/Mines")
3924 (synopsis "Minesweeper game")
3925 (description
3926 "Mines (previously gnomine) is a puzzle game where you locate mines
3927floating in an ocean using only your brain and a little bit of luck.")
3928 (license license:gpl2+)))
88f70665 3929
dfc407f3
KY
3930(define-public gnome-sudoku
3931 (package
3932 (name "gnome-sudoku")
7dc728c4 3933 (version "3.32.0")
dfc407f3
KY
3934 (source
3935 (origin
3936 (method url-fetch)
3937 (uri (string-append "mirror://gnome/sources/" name "/"
3938 (version-major+minor version) "/"
3939 name "-" version ".tar.xz"))
3940 (sha256
3941 (base32
7dc728c4
KK
3942 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3943 (build-system meson-build-system)
3944 (arguments
3945 '(#:glib-or-gtk? #t
3946 #:phases
3947 (modify-phases %standard-phases
3948 (add-after 'unpack 'skip-gtk-update-icon-cache
3949 (lambda _
3950 (substitute* "build-aux/post_install.py"
3951 (("gtk-update-icon-cache") (which "true")))
3952 #t)))))
dfc407f3
KY
3953 (native-inputs
3954 `(("pkg-config" ,pkg-config)
3955 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3956 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3957 ("intltool" ,intltool)
3958 ("itstool" ,itstool)
7dc728c4 3959 ("vala" ,vala)
dfc407f3
KY
3960 ("xmllint" ,libxml2)))
3961 (inputs
3962 `(("gtk+" ,gtk+)
3963 ("json-glib" ,json-glib)
3964 ("libgee" ,libgee)
3965 ("librsvg" ,librsvg)
3966 ("qqwing" ,qqwing)))
3967 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3968 (synopsis "Japanese logic game")
3969 (description
3970 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3971GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3972possible while still providing features that make playing difficult Sudoku
3973more fun.")
3974 (license license:gpl2+)))
3975
88f70665
AW
3976(define-public gnome-terminal
3977 (package
3978 (name "gnome-terminal")
7dee3942 3979 (version "3.32.2")
88f70665
AW
3980 (source
3981 (origin
3982 (method url-fetch)
3983 (uri (string-append "mirror://gnome/sources/" name "/"
3984 (version-major+minor version) "/"
3985 name "-" version ".tar.xz"))
3986 (sha256
3987 (base32
7dee3942 3988 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3989 (build-system glib-or-gtk-build-system)
3990 (arguments
3991 '(#:configure-flags
3992 (list "--disable-migration" "--disable-search-provider"
3993 "--without-nautilus-extension")
3994 #:phases
3995 (modify-phases %standard-phases
3a4de6b2 3996 (add-before 'configure 'patch-/bin/true
88f70665
AW
3997 (lambda _
3998 (substitute* "configure"
3999 (("/bin/true") (which "true"))))))))
4000 (native-inputs
4001 `(("pkg-config" ,pkg-config)
4002 ("desktop-file-utils" ,desktop-file-utils)
4003 ("intltool" ,intltool)
bcb354ad
SB
4004 ("itstool" ,itstool)
4005 ("xmllint" ,libxml2)))
68702167
MW
4006 (propagated-inputs
4007 `(("dconf" ,dconf)))
88f70665
AW
4008 (inputs
4009 `(("gtk+" ,gtk+)
4010 ("vte" ,vte)
4011 ("gnutls" ,gnutls)
88f70665
AW
4012 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4013 ("util-linux" ,util-linux)
4014 ("vala" ,vala)))
4015 (home-page "https://wiki.gnome.org/Apps/Terminal")
4016 (synopsis "Terminal emulator")
4017 (description
4018 "GNOME Terminal is a terminal emulator application for accessing a
4019UNIX shell environment which can be used to run programs available on
4020your system.
4021
4022It supports several profiles, multiple tabs and implements several
4023keyboard shortcuts.")
4024 (license license:gpl3+)))
75016d07
AW
4025
4026(define-public colord
4027 (package
4028 (name "colord")
f98be942 4029 (version "1.4.4")
75016d07
AW
4030 (source
4031 (origin
4032 (method url-fetch)
5cc3096c 4033 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4034 "colord-" version ".tar.xz"))
75016d07 4035 (sha256
f98be942 4036 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4037 (build-system meson-build-system)
75016d07 4038 (arguments
a68544a8
RW
4039 '(;; FIXME: One test fails:
4040 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4041 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4042 ;; application/x-zerosize
75016d07 4043 #:tests? #f
a68544a8
RW
4044 #:glib-or-gtk? #t
4045 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4046 ;; No dep on systemd.
a68544a8 4047 "-Dsystemd=false"
75016d07
AW
4048 ;; Wants to install to global completion dir;
4049 ;; punt.
a68544a8 4050 "-Dbash_completion=false"
a68544a8
RW
4051 "-Ddaemon_user=colord"
4052 "-Dsane=true"
dac26e22 4053 "-Dvapi=true"
6f20e2dc 4054 ;; Requires spotread.
a68544a8 4055 "-Dargyllcms_sensor=false"
6f20e2dc 4056 ;; TODO: Requires docbook2x.
a68544a8 4057 "-Dman=false")
75016d07
AW
4058 #:phases
4059 (modify-phases %standard-phases
a68544a8
RW
4060 (add-before 'configure 'patch-build-system
4061 (lambda* (#:key outputs #:allow-other-keys)
4062 (substitute* "rules/meson.build"
4063 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4064 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4065 #t))
4066 (add-before 'configure 'set-sqlite3-file-name
4067 (lambda* (#:key inputs #:allow-other-keys)
4068 ;; "colormgr dump" works by invoking the "sqlite3" command.
4069 ;; Record its absolute file name.
4070 (let ((sqlite (assoc-ref inputs "sqlite")))
4071 (substitute* "client/cd-util.c"
4072 (("\"sqlite3\"")
4073 (string-append "\"" sqlite "/bin/sqlite3\"")))
4074 #t))))))
75016d07 4075 (native-inputs
6f20e2dc 4076 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4077 ("gettext" ,gettext-minimal)
75016d07 4078 ("gobject-introspection" ,gobject-introspection)
a68544a8 4079 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4080 ("pkg-config" ,pkg-config)
4081 ("vala" ,vala)))
65cb2d61
SB
4082 (propagated-inputs
4083 ;; colord.pc refers to all these.
4084 `(("glib" ,glib)
6f20e2dc
TGR
4085 ("lcms" ,lcms)
4086 ("udev" ,eudev)))
75016d07 4087 (inputs
65cb2d61 4088 `(("dbus-glib" ,dbus-glib)
a68544a8 4089 ("gusb" ,gusb)
80c7dd1a 4090 ("libgudev" ,libgudev)
75016d07 4091 ("libusb" ,libusb)
75016d07 4092 ("polkit" ,polkit)
a68544a8 4093 ("python" ,python-wrapper)
6f20e2dc 4094 ("sqlite" ,sqlite)
4c928743 4095 ("sane-backends" ,sane-backends)))
57e7d748 4096 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4097 (synopsis "Color management service")
4098 (description "Colord is a system service that makes it easy to manage,
4099install and generate color profiles to accurately color manage input and
4100output devices.")
4101 (license license:gpl2+)))
7b2abd00
AW
4102
4103(define-public geoclue
4104 (package
4105 (name "geoclue")
50e96d25 4106 (version "2.5.5")
7b2abd00
AW
4107 (source
4108 (origin
4109 (method url-fetch)
50e96d25
MB
4110 (uri
4111 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4112 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4113 (sha256
4114 (base32
50e96d25 4115 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4116 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4117 (build-system meson-build-system)
7b2abd00 4118 (arguments
50e96d25 4119 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4120 (native-inputs
4121 `(("pkg-config" ,pkg-config)
758798a9 4122 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4123 ("modem-manager" ,modem-manager)
4124 ("libnotify" ,libnotify)
4125 ("gtk-doc", gtk-doc)
7b2abd00
AW
4126 ("intltool" ,intltool)))
4127 (inputs
54e911bc 4128 `(("avahi" ,avahi)
50e96d25
MB
4129 ("glib:bin" ,glib "bin")
4130 ("glib-networking" ,glib-networking)
7b2abd00
AW
4131 ("json-glib" ,json-glib)
4132 ("libsoup" ,libsoup)))
50e96d25 4133 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4134 (synopsis "Geolocation service")
4135 (description "Geoclue is a D-Bus service that provides location
4136information. The primary goal of the Geoclue project is to make creating
4137location-aware applications as simple as possible, while the secondary goal is
4138to ensure that no application can access location information without explicit
e881752c 4139permission from user.")
7b2abd00 4140 (license license:gpl2+)))
2bfe7437
AW
4141
4142(define-public geocode-glib
4143 (package
4144 (name "geocode-glib")
65de725f 4145 (version "3.26.1")
2bfe7437
AW
4146 (source (origin
4147 (method url-fetch)
4148 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4149 (version-major+minor version) "/"
d485cdc0 4150 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4151 (sha256
4152 (base32
65de725f 4153 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4154 (build-system meson-build-system)
2bfe7437 4155 (arguments
a7dd0c02
RW
4156 `(#:phases
4157 (modify-phases %standard-phases
4158 ;; The tests require a bunch of locales.
4159 (add-before 'check 'set-locales
4160 (lambda* (#:key inputs #:allow-other-keys)
4161 (setenv "GUIX_LOCPATH"
4162 (string-append (assoc-ref inputs "glibc-locales")
4163 "/lib/locale"))
4164 #t)))))
2bfe7437
AW
4165 (native-inputs
4166 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4167 ("glibc-locales" ,glibc-locales) ; for tests
4168 ("gettext" ,gettext-minimal)
2bfe7437 4169 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4170 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4171 ("pkg-config" ,pkg-config)
4172 ("json-glib" ,json-glib)))
4173 (propagated-inputs
4174 ;; geocode-glib-1.0.pc refers to GIO.
4175 `(("glib" ,glib)))
4176 (inputs
4177 `(("libsoup" ,libsoup)))
4178 (home-page "https://github.com/GNOME/geocode-glib/")
4179 (synopsis "Geocoding and reverse-geocoding library")
4180 (description
4181 "geocode-glib is a convenience library for geocoding (finding longitude,
4182and latitude from an address) and reverse geocoding (finding an address from
4183coordinates) using the Nominatim service. geocode-glib caches requests for
4184faster results and to avoid unnecessary server load.")
4185 (license license:lgpl2.0+)))
a1d5bb0e
AW
4186
4187(define-public upower
4188 (package
4189 (name "upower")
df45af90 4190 (version "0.99.11")
a1d5bb0e
AW
4191 (source (origin
4192 (method url-fetch)
df45af90 4193 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4194 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4195 (sha256
4196 (base32
df45af90 4197 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4198 (patches (search-patches "upower-builddir.patch"))
4199 (modules '((guix build utils)))
4200 (snippet
4201 '(begin
4202 ;; Upstream commit
4203 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4204 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4205 ;; 'dbus-configuration-directory' in (gnu services dbus)
4206 ;; expects it in etc/. Thus, move it back to its previous
4207 ;; location.
4208 (substitute* "src/Makefile.in"
4209 (("^dbusconfdir =.*$")
4210 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4211 #t))))
a1d5bb0e
AW
4212 (build-system glib-or-gtk-build-system)
4213 (arguments
4214 '( ;; The tests want to contact the system bus, which can't be done in the
4215 ;; build environment. The integration test can run, but the last of
4216 ;; the up-self-tests doesn't. Disable tests for now.
4217 #:tests? #f
4218 #:configure-flags (list "--localstatedir=/var"
4219 (string-append "--with-udevrulesdir="
4220 (assoc-ref %outputs "out")
9ec54965 4221 "/lib/udev/rules.d"))))
a1d5bb0e 4222 (native-inputs
ebeabe2d
SB
4223 `(("gobject-introspection" ,gobject-introspection)
4224 ("pkg-config" ,pkg-config)
a1d5bb0e 4225 ("intltool" ,intltool)
55409295
LC
4226 ("python" ,python)
4227
4228 ;; For man pages.
4229 ("libxslt" ,libxslt) ;for 'xsltproc'
4230 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4231 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4232 (inputs
ea226291
SB
4233 `(("dbus-glib" ,dbus-glib)
4234 ("libgudev" ,libgudev)
a1d5bb0e 4235 ("libusb" ,libusb)))
d7a503fc
MB
4236 (propagated-inputs
4237 ;; In Requires of upower-glib.pc.
4238 `(("glib" ,glib)))
57e7d748 4239 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4240 (synopsis "System daemon for managing power devices")
4241 (description
4242 "UPower is an abstraction for enumerating power devices,
4243listening to device events and querying history and statistics. Any
4244application or service on the system can access the org.freedesktop.UPower
4245service via the system message bus.")
4246 (license license:gpl2+)))
6a180f6f
AW
4247
4248(define-public libgweather
4249 (package
4250 (name "libgweather")
794ce8ea 4251 (version "3.28.3")
6a180f6f
AW
4252 (source (origin
4253 (method url-fetch)
4254 (uri (string-append "mirror://gnome/sources/" name "/"
4255 (version-major+minor version) "/"
4256 name "-" version ".tar.xz"))
4257 (sha256
4258 (base32
794ce8ea 4259 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4260 (build-system meson-build-system)
6a180f6f 4261 (arguments
cf6cbc34
RW
4262 `(#:tests? #f ; one of two tests requires network access
4263 #:configure-flags
4264 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4265 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4266 "/share/zoneinfo"))))
6a180f6f
AW
4267 (native-inputs
4268 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4269 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4270 ("pkg-config" ,pkg-config)
1d3fcf94 4271 ("vala" ,vala)
6a180f6f
AW
4272 ("intltool" ,intltool)))
4273 (propagated-inputs
4274 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4275 ;; libsoup.
4276 `(("gtk+" ,gtk+)
4277 ("gdk-pixbuf" ,gdk-pixbuf)
4278 ("libxml2" ,libxml2)
cf6cbc34 4279 ("libsoup" ,libsoup)
6a180f6f 4280 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4281 (inputs
4282 `(("tzdata" ,tzdata)))
6a180f6f
AW
4283 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4284 (synopsis "Location, time zone, and weather library for GNOME")
4285 (description
4286 "libgweather is a library to access weather information from online
4287services for numerous locations.")
4288 (license license:gpl2+)))
23a22af6
AW
4289
4290(define-public gnome-settings-daemon
4291 (package
4292 (name "gnome-settings-daemon")
4be0719f 4293 (version "3.32.1")
23a22af6
AW
4294 (source
4295 (origin
4296 (method url-fetch)
4297 (uri (string-append "mirror://gnome/sources/" name "/"
4298 (version-major+minor version) "/"
4299 name "-" version ".tar.xz"))
4300 (sha256
4301 (base32
4be0719f 4302 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4303 (build-system meson-build-system)
23a22af6 4304 (arguments
e644f9fa
RW
4305 `(#:glib-or-gtk? #t
4306 #:configure-flags
4307 (list (string-append "-Dudev_dir="
4308 (assoc-ref %outputs "out")
4d0e085b
RW
4309 "/lib/udev/rules.d/")
4310 ;; Otherwise, the RUNPATH will lack the final path component.
4311 (string-append "-Dc_link_args=-Wl,-rpath="
4312 (assoc-ref %outputs "out")
4313 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4314 ;; Color management test can't reach the colord system service.
23a22af6
AW
4315 #:tests? #f))
4316 (native-inputs
e644f9fa
RW
4317 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4318 ("pkg-config" ,pkg-config)
23a22af6
AW
4319 ("intltool" ,intltool)
4320 ("xsltproc" ,libxslt)
4321 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4322 ("docbook-xml" ,docbook-xml-4.2)
4323 ("docbook-xsl" ,docbook-xsl)))
4324 (inputs
e644f9fa
RW
4325 `(("alsa-lib" ,alsa-lib)
4326 ("colord" ,colord)
ea226291 4327 ("libgudev" ,libgudev)
23a22af6
AW
4328 ("upower" ,upower)
4329 ("polkit" ,polkit)
4330 ("pulseaudio" ,pulseaudio)
4331 ("libcanberra" ,libcanberra)
4332 ("libx11" ,libx11)
4333 ("libxtst" ,libxtst)
4334 ("lcms" ,lcms)
4335 ("libnotify" ,libnotify)
4336 ("geoclue" ,geoclue)
4337 ("geocode-glib" ,geocode-glib)
4338 ("libgweather" ,libgweather)
4339 ("gnome-desktop" ,gnome-desktop)
4340 ("nss" ,nss)
4341 ("cups" ,cups)
ec2b1921
AW
4342 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4343 ("libwacom" ,libwacom)
4344 ("librsvg" ,librsvg)
eee7878f 4345 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4346 ("wayland" ,wayland)
eee7878f 4347 ("network-manager" ,network-manager)))
f032d0be 4348 (home-page "https://www.gnome.org")
23a22af6
AW
4349 (synopsis "GNOME settings daemon")
4350 (description
4351 "This package contains the daemon responsible for setting the various
4352parameters of a GNOME session and the applications that run under it. It
4353handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4354settings, themes, mouse settings, and startup of other daemons.")
4355 (license license:gpl2+)))
1e7464a9
DH
4356
4357(define-public totem-pl-parser
4358 (package
4359 (name "totem-pl-parser")
77425f04 4360 (version "3.26.3")
1e7464a9
DH
4361 (source (origin
4362 (method url-fetch)
e980cbe9
MW
4363 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4364 (version-major+minor version) "/"
1e7464a9
DH
4365 "totem-pl-parser-" version ".tar.xz"))
4366 (sha256
4367 (base32
77425f04 4368 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4369 (build-system meson-build-system)
1e7464a9
DH
4370 (arguments
4371 ;; FIXME: Tests require gvfs.
4372 `(#:tests? #f))
4373 (native-inputs
4374 `(("intltool" ,intltool)
4375 ("glib" ,glib "bin")
4d6d8281 4376 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4377 ("pkg-config" ,pkg-config)))
22a6ad6a 4378 (propagated-inputs
1e7464a9
DH
4379 `(("glib" ,glib)
4380 ("gmime" ,gmime)
1e9b19dd
RW
4381 ("libarchive" ,libarchive)
4382 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4383 ("libxml2" ,libxml2)))
4384 (inputs
0a6e9e13 4385 `(("libsoup" ,libsoup)))
1e7464a9
DH
4386 (home-page "https://projects.gnome.org/totem")
4387 (synopsis "Library to parse and save media playlists for GNOME")
4388 (description "Totem-pl-parser is a GObjects-based library to parse and save
4389playlists in a variety of formats.")
4390 (license license:lgpl2.0+)))
4391
6b888eff
SB
4392(define-public aisleriot
4393 (package
4394 (name "aisleriot")
36ed9b46 4395 (version "3.22.9")
6b888eff
SB
4396 (source (origin
4397 (method url-fetch)
e43f622a 4398 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4399 (version-major+minor version) "/"
e43f622a 4400 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4401 (sha256
4402 (base32
36ed9b46 4403 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4404 (build-system glib-or-gtk-build-system)
4405 (arguments
4406 '(#:configure-flags
4407 '("--with-platform=gtk-only"
4408 "--with-card-theme-formats=svg")))
4409 (native-inputs
4410 `(("desktop-file-utils" ,desktop-file-utils)
4411 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4412 ("intltool" ,intltool)
4413 ("itstool" ,itstool)
4414 ("pkg-config" ,pkg-config)
4415 ("xmllint" ,libxml2)))
4416 (inputs
4417 `(("gtk+" ,gtk+)
226e57d6 4418 ("guile" ,guile-2.2)
6b888eff
SB
4419 ("libcanberra" ,libcanberra)
4420 ("librsvg" ,librsvg)))
4421 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4422 (synopsis "Solitaire card games")
4423 (description
4424 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4425which are easy to play with the aid of a mouse.")
4426 (license license:gpl3+)))
4a79e256 4427
f828d05b
KK
4428(define-public amtk
4429 (package
4430 (name "amtk")
0e08ca14 4431 (version "5.0.2")
f828d05b
KK
4432 (source (origin
4433 (method url-fetch)
bf92ba6b 4434 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4435 (version-major+minor version) "/"
bf92ba6b 4436 "amtk-" version ".tar.xz"))
f828d05b
KK
4437 (sha256
4438 (base32
0e08ca14 4439 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4440 (build-system gnu-build-system)
4441 (arguments
4442 '(#:configure-flags '("--enable-gtk-doc")))
4443 (native-inputs
4444 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4445 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4446 ("gtk-doc" ,gtk-doc)
4447 ("pkg-config" ,pkg-config)))
4448 (inputs
4449 `(("glib" ,glib)
4450 ("gtk+" ,gtk+)))
4451 (home-page "https://wiki.gnome.org/Projects/Amtk")
4452 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4453 (description
4454 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4455It is a basic GtkUIManager replacement based on GAction. It is suitable for
4456both a traditional UI or a modern UI with a GtkHeaderBar.")
4457 (license license:lgpl2.1+)))
4458
4a79e256
SB
4459(define-public devhelp
4460 (package
4461 (name "devhelp")
20db7a3d 4462 (version "3.32.0")
4a79e256
SB
4463 (source (origin
4464 (method url-fetch)
4465 (uri (string-append "mirror://gnome/sources/" name "/"
4466 (version-major+minor version) "/"
4467 name "-" version ".tar.xz"))
4468 (sha256
4469 (base32
20db7a3d 4470 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4471 (build-system meson-build-system)
35407f94 4472 (arguments
20db7a3d
KK
4473 '(#:glib-or-gtk? #t
4474 #:phases
35407f94
EF
4475 (modify-phases %standard-phases
4476 (add-after 'unpack 'skip-gtk-update-icon-cache
4477 ;; Don't create 'icon-theme.cache'.
4478 (lambda _
4479 (substitute* "meson_post_install.py"
4480 (("gtk-update-icon-cache") "true"))
4481 #t)))))
4a79e256
SB
4482 (native-inputs
4483 `(("intltool" ,intltool)
5dd12afc 4484 ("itstool" ,itstool)
11d28bd9
KK
4485 ("gobject-introspection" ,gobject-introspection)
4486 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4487 ("pkg-config" ,pkg-config)))
4488 (inputs
11d28bd9
KK
4489 `(("amtk" ,amtk)
4490 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4491 ("webkitgtk" ,webkitgtk)))
4492 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4493 (synopsis "API documentation browser for GNOME")
4494 (description
4495 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4496natively with GTK-Doc (the API reference system developed for GTK+ and used
4497throughout GNOME for API documentation).")
4498 (license license:gpl2+)))
ba421ab7
MW
4499
4500(define-public cogl
4501 (package
4502 (name "cogl")
54c69ae1 4503 (version "1.22.4")
ba421ab7
MW
4504 (source
4505 (origin
4506 (method url-fetch)
5754f0cf 4507 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4508 (version-major+minor version) "/"
5754f0cf 4509 "cogl-" version ".tar.xz"))
ba421ab7 4510 (sha256
54c69ae1 4511 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4512 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4513 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4514 (build-system gnu-build-system)
4515 (native-inputs
4516 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4517 ("gobject-introspection" ,gobject-introspection)
4518 ;;("xorg-server" ,xorg-server) ; for the test suite
4519 ("pkg-config" ,pkg-config)))
4520 (propagated-inputs
4521 `(("glib" ,glib)
4522 ("gdk-pixbuf" ,gdk-pixbuf)
4523 ("libx11" ,libx11)
4524 ("libxext" ,libxext)
4525 ("libxfixes" ,libxfixes)
4526 ("libxdamage" ,libxdamage)
4527 ("libxcomposite" ,libxcomposite)
4528 ("libxrandr" ,libxrandr)))
4529 (inputs
4530 `(("mesa" ,mesa)
4531 ("cairo" ,cairo)
4532 ("pango" ,pango)
4533 ("gstreamer" ,gstreamer)
31860852
KK
4534 ("gst-plugins-base" ,gst-plugins-base)
4535 ("wayland" ,wayland)))
ba421ab7
MW
4536 (arguments
4537 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4538 "--enable-wayland-egl-platform"
4539 "--enable-wayland-egl-server"
4540
ba421ab7
MW
4541 ;; Arrange to pass an absolute file name to
4542 ;; dlopen for libGL.so.
4543 (string-append "--with-gl-libname="
4544 (assoc-ref %build-inputs "mesa")
4545 "/lib/libGL.so"))
4546 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4547 ;; _FontTransOpen: Unable to Parse address
4548 ;; ${prefix}/share/fonts/X11/misc/
4549 #:tests? #f
4550 #; #:phases
4551 #;
4552 (modify-phases %standard-phases
4553 (add-before 'check 'start-xorg-server
4554 (lambda* (#:key inputs #:allow-other-keys)
4555 ;; The test suite requires a running X server.
4556 (system (format #f "~a/bin/Xvfb :1 &"
4557 (assoc-ref inputs "xorg-server")))
4558 (setenv "DISPLAY" ":1")
4559 #t)))))
4560 (home-page "http://www.cogl3d.org")
4561 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4562 (description
4563 "Cogl is a small library for using 3D graphics hardware to draw pretty
4564pictures. The API departs from the flat state machine style of OpenGL and is
4565designed to make it easy to write orthogonal components that can render
4566without stepping on each others toes.")
4567 (license (list license:expat ; most of the code
4568 license:bsd-3 ; cogl/cogl-point-in-poly.c
4569 license:sgifreeb2.0 ; cogl-path/tesselator/
4570 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4571
4572(define-public clutter
4573 (package
4574 (name "clutter")
6a88e4ee 4575 (version "1.26.2")
fb182b8a
MW
4576 (source
4577 (origin
4578 (method url-fetch)
4579 (uri (string-append "mirror://gnome/sources/" name "/"
4580 (version-major+minor version) "/"
4581 name "-" version ".tar.xz"))
4582 (sha256
4583 (base32
6a88e4ee 4584 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4585 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4586 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4587 (build-system gnu-build-system)
600233bd
LC
4588 (outputs '("out"
4589 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4590 (native-inputs
4591 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4592 ("gobject-introspection" ,gobject-introspection)
4593 ("pkg-config" ,pkg-config)
4594 ("xsltproc" ,libxslt)))
4595 (propagated-inputs
4596 `(("cogl" ,cogl)
4597 ("cairo" ,cairo)
4598 ("atk" ,atk)
4599 ("gtk+" ,gtk+)
4600 ("json-glib" ,json-glib)
4601 ("glib" ,glib)
4602 ("libxcomposite" ,libxcomposite)
4603 ("libxdamage" ,libxdamage)
4604 ("libxext" ,libxext)
4605 ("xinput" ,xinput)))
4606 (inputs
4607 `(("libxkbcommon" ,libxkbcommon)
4608 ("udev" ,eudev)))
4609 (arguments
600233bd
LC
4610 `(#:configure-flags (list "--enable-x11-backend=yes"
4611
4612 ;; This produces share/doc/{clutter,cally}.
4613 (string-append "--with-html-dir="
4614 (assoc-ref %outputs "doc")
4615 "/share/doc"))
fb182b8a
MW
4616 ;; XXX FIXME: Get test suite working. It would probably fail in the
4617 ;; same way the cogl tests fail, since clutter is based on cogl.
4618 #:tests? #f))
4619 (home-page "http://www.clutter-project.org")
476af713 4620 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4621 (description
476af713 4622 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4623creating fast, mainly 2D single window applications such as media box UIs,
4624presentations, kiosk style applications and so on.")
4625 (license license:lgpl2.0+)))
bf7f17ba
MW
4626
4627(define-public clutter-gtk
4628 (package
4629 (name "clutter-gtk")
5d1a3219 4630 (version "1.8.4")
bf7f17ba
MW
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append "mirror://gnome/sources/" name "/"
4635 (version-major+minor version) "/"
4636 name "-" version ".tar.xz"))
4637 (sha256
4638 (base32
5d1a3219 4639 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4640 (build-system gnu-build-system)
4641 (native-inputs
4642 `(("pkg-config" ,pkg-config)
4643 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4644 (propagated-inputs
4645 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4646 `(("clutter" ,clutter)
4647 ("gtk+" ,gtk+)))
4648 (home-page "http://www.clutter-project.org")
476af713 4649 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4650 (description
476af713 4651 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4652creating fast, mainly 2D single window applications such as media box UIs,
4653presentations, kiosk style applications and so on.")
4654 (license license:lgpl2.0+)))
86d6a893
MW
4655
4656(define-public clutter-gst
4657 (package
4658 (name "clutter-gst")
ba07ac19 4659 (version "3.0.27")
86d6a893
MW
4660 (source
4661 (origin
4662 (method url-fetch)
f010f89b 4663 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4664 (version-major+minor version) "/"
f010f89b 4665 "clutter-gst-" version ".tar.xz"))
86d6a893 4666 (sha256
ba07ac19 4667 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4668 (build-system gnu-build-system)
4669 (native-inputs
ba07ac19 4670 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4671 ("pkg-config" ,pkg-config)
4672 ("gobject-introspection" ,gobject-introspection)))
4673 (inputs
4674 `(("clutter" ,clutter)
4675 ("gstreamer" ,gstreamer)
4676 ("gst-plugins-base" ,gst-plugins-base)))
4677 (home-page "http://www.clutter-project.org")
4678 (synopsis "Integration library for using GStreamer with Clutter")
4679 (description
4680 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4681It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4682implements the ClutterGstPlayer interface using playbin. Clutter is an
4683OpenGL-based interactive canvas library.")
86d6a893 4684 (license license:lgpl2.0+)))
607a04ae 4685
30dc88d9
LC
4686(define-public libchamplain
4687 (package
4688 (name "libchamplain")
5564b2c5 4689 (version "0.12.16")
30dc88d9
LC
4690 (source (origin
4691 (method url-fetch)
4692 (uri (string-append
4693 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4694 version ".tar.xz"))
4695 (sha256
4696 (base32
5564b2c5 4697 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4698 (build-system gnu-build-system)
f7c6833f
LF
4699 (arguments '(#:configure-flags '("--enable-vala")))
4700 (native-inputs
4701 `(("gobject-introspection" ,gobject-introspection)
4702 ("pkg-config" ,pkg-config)
4703 ("vala" ,vala)))
30dc88d9
LC
4704 (propagated-inputs
4705 `(("libsoup" ,libsoup)
4706 ("sqlite" ,sqlite)
4707 ("clutter" ,clutter)
4708 ("clutter-gtk" ,clutter-gtk)
4709 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4710 ("cairo" ,cairo)
4711 ("gtk+3" ,gtk+)
4712 ("glib" ,glib)))
f032d0be 4713 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4714 (synopsis "C library providing a ClutterActor to display maps")
4715 (description
4716 "libchamplain is a C library providing a ClutterActor to display maps.
4717It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4718and Perl bindings are also available. It supports numerous free map sources
4719such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4720 (license license:lgpl2.1+)))
4721
607a04ae
MW
4722(define-public gom
4723 (package
4724 (name "gom")
0510440b 4725 (version "0.3.2")
607a04ae
MW
4726 (source
4727 (origin
4728 (method url-fetch)
6c8a0b6f 4729 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4730 (version-major+minor version) "/"
6c8a0b6f 4731 "gom-" version ".tar.xz"))
607a04ae
MW
4732 (sha256
4733 (base32
0510440b 4734 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4735 (build-system gnu-build-system)
4736 (native-inputs
4737 `(("intltool" ,intltool)
4738 ("pkg-config" ,pkg-config)
4739 ("gobject-introspection" ,gobject-introspection)))
4740 (inputs
4741 `(("glib" ,glib)
4742 ("gdk-pixbuf" ,gdk-pixbuf)
4743 ("sqlite" ,sqlite)))
4744 ;; XXX TODO: Figure out how to run the test suite.
4745 (arguments `(#:tests? #f))
4746 (home-page "https://wiki.gnome.org/Projects/Gom")
4747 (synopsis "Object mapper from GObjects to SQLite")
4748 (description
4749 "Gom provides an object mapper from GObjects to SQLite. It helps you
4750write applications that need to store structured data as well as make complex
4751queries upon that data.")
4752 (license license:lgpl2.1+)))
b7a3cf11 4753
865aacc9 4754(define-public libgnome-games-support
f09520db 4755 (package
865aacc9 4756 (name "libgnome-games-support")
4c6d15cf 4757 (version "1.4.4")
f09520db
SB
4758 (source (origin
4759 (method url-fetch)
2d8dca9d 4760 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4761 (version-major+minor version) "/"
2d8dca9d 4762 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4763 (sha256
4764 (base32
4c6d15cf 4765 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4766 (build-system gnu-build-system)
4767 (arguments
4768 '(#:phases
4769 (modify-phases %standard-phases
4770 (add-before 'check 'pre-check
4771 (lambda _
865aacc9 4772 ;; Tests require a writable HOME.
f09520db
SB
4773 (setenv "HOME" (getcwd))
4774 #t)))))
4775 (native-inputs
4776 `(("intltool" ,intltool)
4777 ("pkg-config" ,pkg-config)
4778 ("vala" ,vala)))
4779 (propagated-inputs
865aacc9 4780 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4781 `(("gtk+" ,gtk+)
4782 ("libgee" ,libgee)))
4783 (home-page "https://www.gnome.org/")
4784 (synopsis "Useful functionality shared among GNOME games")
4785 (description
865aacc9 4786 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4787GNOME Games, but it may be used by others.")
4788 (license license:lgpl3+)))
4789
b7a3cf11
SB
4790(define-public gnome-klotski
4791 (package
4792 (name "gnome-klotski")
c1e419c4 4793 (version "3.32.0")
b7a3cf11
SB
4794 (source (origin
4795 (method url-fetch)
4796 (uri (string-append "mirror://gnome/sources/" name "/"
4797 (version-major+minor version) "/"
4798 name "-" version ".tar.xz"))
4799 (sha256
4800 (base32
c1e419c4
KK
4801 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4802 (build-system meson-build-system)
4803 (arguments
4804 '(#:glib-or-gtk? #t
4805 #:phases
4806 (modify-phases %standard-phases
4807 (add-after 'unpack 'skip-gtk-update-icon-cache
4808 ;; Don't create 'icon-theme.cache'.
4809 (lambda _
4810 (substitute* "build-aux/meson_post_install.py"
4811 (("gtk-update-icon-cache") (which "true")))
4812 #t)))))
b7a3cf11
SB
4813 (native-inputs
4814 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4815 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4816 ("intltool" ,intltool)
4817 ("itstool" ,itstool)
bcb354ad 4818 ("pkg-config" ,pkg-config)
c1e419c4 4819 ("vala" ,vala)
bcb354ad 4820 ("xmllint" ,libxml2)))
b7a3cf11
SB
4821 (inputs
4822 `(("gtk+" ,gtk+)
f4eae76f 4823 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4824 ("librsvg" ,librsvg)))
4825 (home-page "https://wiki.gnome.org/Apps/Klotski")
4826 (synopsis "Sliding block puzzles")
4827 (description
4828 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4829the patterned block to the area bordered by green markers. To do so, you will
4830need to slide other blocks out of the way. Complete each puzzle in as few moves
4831as possible!")
4832 (license license:gpl2+)))
8d4791bf
MW
4833
4834(define-public grilo
4835 (package
4836 (name "grilo")
a865e938 4837 (version "0.3.10")
8d4791bf
MW
4838 (source
4839 (origin
4840 (method url-fetch)
4841 (uri (string-append "mirror://gnome/sources/" name "/"
4842 (version-major+minor version) "/"
4843 name "-" version ".tar.xz"))
4844 (sha256
4845 (base32
a865e938 4846 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4847 (build-system meson-build-system)
8d4791bf
MW
4848 (native-inputs
4849 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4850 ("intltool" ,intltool)
4851 ("pkg-config" ,pkg-config)
d48d4c98
KK
4852 ("gobject-introspection" ,gobject-introspection)
4853 ("gtk-doc" ,gtk-doc)
4854 ("vala" ,vala)))
8d4791bf 4855 (inputs
6d7273a0
KK
4856 `(("cyrus-sasl" ,cyrus-sasl)
4857 ("glib" ,glib)
8d4791bf
MW
4858 ("gtk+" ,gtk+)
4859 ("libxml2" ,libxml2)
6d7273a0 4860 ("liboauth" ,liboauth)
8d4791bf
MW
4861 ("libsoup" ,libsoup)
4862 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4863 (native-search-paths
4864 (list (search-path-specification
4865 (variable "GRL_PLUGIN_PATH")
4866 (files (list (string-append "lib/grilo-"
4867 (version-major+minor version)))))))
d48d4c98 4868 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4869 (synopsis "Framework for discovering and browsing media")
4870 (description
4871 "Grilo is a framework focused on making media discovery and browsing easy
4872for application developers.")
4873 (license license:lgpl2.1+)))
7b212526
MW
4874
4875(define-public grilo-plugins
4876 (package
4877 (name "grilo-plugins")
281f6b3a 4878 (version "0.3.10")
7b212526
MW
4879 (source
4880 (origin
4881 (method url-fetch)
4882 (uri (string-append "mirror://gnome/sources/" name "/"
4883 (version-major+minor version) "/"
4884 name "-" version ".tar.xz"))
4885 (sha256
4886 (base32
281f6b3a
RG
4887 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4888 (build-system meson-build-system)
7b212526 4889 (native-inputs
281f6b3a
RG
4890 `(("gettext" ,gettext-minimal)
4891 ("glib:bin" ,glib "bin")
4892 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4893 ("itstool" ,itstool)
4894 ("pkg-config" ,pkg-config)))
281f6b3a 4895 ;; TODO: ahavi, gstreamer
7b212526
MW
4896 (inputs
4897 `(("grilo" ,grilo)
281f6b3a
RG
4898 ;("gmime" ,gmime) ; unused
4899 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4900 ("gom" ,gom)
281f6b3a
RG
4901 ;("gssdp" ,gssdp) ; unused
4902 ;("gupnp" ,gupnp) ; unused
4903 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4904 ("json-glib" ,json-glib)
4905 ("avahi" ,avahi)
281f6b3a
RG
4906 ("libgdata" ,libgdata)
4907 ("libmediaart" ,libmediaart)
4908 ;("librest" ,rest) ; unused
7b212526 4909 ("libsoup" ,libsoup)
281f6b3a
RG
4910 ("totam-pl-parser" ,totem-pl-parser)
4911 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4912 (arguments
281f6b3a
RG
4913 `(#:glib-or-gtk? #t
4914 ;;Disable lua-factory as it needs missing dependencies
4915 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4916 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4917 (synopsis "Plugins for the Grilo media discovery library")
4918 (description
4919 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4920for application developers. This package provides plugins for common media
4921discovery protocols.")
7b212526 4922 (license license:lgpl2.1+)))
4e3fc547
MW
4923
4924(define-public totem
4925 (package
4926 (name "totem")
995ef5ea 4927 (version "3.32.1")
4e3fc547
MW
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append "mirror://gnome/sources/" name "/"
4932 (version-major+minor version) "/"
4933 name "-" version ".tar.xz"))
4934 (sha256
4935 (base32
995ef5ea 4936 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4937 (build-system meson-build-system)
4e3fc547
MW
4938 (native-inputs
4939 `(("pkg-config" ,pkg-config)
4940 ("desktop-file-utils" ,desktop-file-utils)
4941 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4942 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4943 ("intltool" ,intltool)
bcb354ad 4944 ("itstool" ,itstool)
995ef5ea
KK
4945 ("xmllint" ,libxml2)
4946 ("python-pylint" ,python-pylint)
4947 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4948 (propagated-inputs
4949 `(("dconf" ,dconf)))
4950 (inputs
4951 `(("gtk+" ,gtk+)
4952 ("gdk-pixbuf" ,gdk-pixbuf)
4953 ("atk" ,atk)
4954 ("cairo" ,cairo)
4955 ("dbus-glib" ,dbus-glib)
4956 ("clutter" ,clutter)
4957 ("clutter-gtk" ,clutter-gtk)
4958 ("clutter-gst" ,clutter-gst)
6a6db57f 4959 ("xorgproto" ,xorgproto)
4e3fc547
MW
4960 ("libxxf86vm" ,libxxf86vm)
4961 ("libxtst" ,libxtst)
4962 ("libxrandr" ,libxrandr)
4963 ("libxml2" ,libxml2)
4964 ("libsoup" ,libsoup)
4965 ("libpeas" ,libpeas)
4966 ("librsvg" ,librsvg)
4967 ("lirc" ,lirc)
4968 ("gnome-desktop" ,gnome-desktop)
4969 ("gstreamer" ,gstreamer)
4970 ("gst-plugins-base" ,gst-plugins-base)
4971 ("gst-plugins-good" ,gst-plugins-good)
4972 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4973 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4974 ("python" ,python)
995ef5ea 4975 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4976 ("totem-pl-parser" ,totem-pl-parser)
4977 ("grilo" ,grilo)
4978 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4979 ("vala" ,vala)))
4980 (arguments
7ad81b8b
LC
4981 `(#:glib-or-gtk? #t
4982
4983 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4984 ;; all that.
7ad81b8b 4985 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4986
4987 ;; Do not build .a files for the plugins, it's
4988 ;; completely useless. This saves 2 MiB.
7ad81b8b 4989 "--default-library" "shared")
ec5c24f9 4990 #:phases
4e3fc547 4991 (modify-phases %standard-phases
d51b19ad
EF
4992 (add-after 'unpack 'skip-gtk-update-icon-cache
4993 ;; Don't create 'icon-theme.cache'.
4994 (lambda _
4995 (substitute* "meson_post_install.py"
4996 (("gtk-update-icon-cache") "true"))
4997 #t))
6368eb39
DM
4998 (add-before
4999 'install 'disable-cache-generation
5000 (lambda _
5001 (setenv "DESTDIR" "/")
5002 #t))
995ef5ea
KK
5003 (add-before
5004 'check 'pre-check
5005 (lambda _
5006 ;; Tests require a running X server.
5007 (system "Xvfb :1 &")
5008 (setenv "DISPLAY" ":1")
5009 #t))
4e3fc547
MW
5010 (add-after
5011 'install 'wrap-totem
5012 (lambda* (#:key inputs outputs #:allow-other-keys)
5013 (let ((out (assoc-ref outputs "out"))
5014 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5015 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5016 (wrap-program (string-append out "/bin/totem")
5017 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5018 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5019 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5020 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5021 #t)))))
5022 (home-page "https://wiki.gnome.org/Apps/Videos")
5023 (synopsis "Simple media player for GNOME based on GStreamer")
5024 (description "Totem is a simple yet featureful media player for GNOME
5025which can read a large number of file formats.")
5026 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5027 ;; to be used and distributed together with GStreamer and Totem. See
5028 ;; file://COPYING in the source distribution for details.
5029 (license license:gpl2+)))
f0afb0c8
DH
5030
5031(define-public rhythmbox
5032 (package
5033 (name "rhythmbox")
eda580c0 5034 (version "3.4.4")
f0afb0c8
DH
5035 (source (origin
5036 (method url-fetch)
2588693d 5037 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5038 (version-major+minor version) "/"
2588693d 5039 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5040 (sha256
5041 (base32
eda580c0 5042 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5043 (build-system glib-or-gtk-build-system)
5044 (arguments
5045 `(#:configure-flags
5046 (list "--enable-lirc"
5047 "--enable-python"
5048 "--enable-vala"
5049 "--with-brasero"
5050 "--with-gudev"
5051 "--with-libsecret")
5052 #:phases
5053 (modify-phases %standard-phases
5054 (add-after
5055 'install 'wrap-rhythmbox
5056 (lambda* (#:key inputs outputs #:allow-other-keys)
5057 (let ((out (assoc-ref outputs "out"))
5058 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5059 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5060 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5061 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5062 (wrap-program (string-append out "/bin/rhythmbox")
5063 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5064 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5065 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5066 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5067 #t)))))
5068 (propagated-inputs
5069 `(("dconf" ,dconf)))
5070 (native-inputs
bcb354ad
SB
5071 `(("itstool" ,itstool)
5072 ("intltool" ,intltool)
f0afb0c8
DH
5073 ("glib" ,glib "bin")
5074 ("gobject-introspection" ,gobject-introspection)
5075 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5076 ("pkg-config" ,pkg-config)
5077 ("xmllint" ,libxml2)))
f0afb0c8
DH
5078 (inputs
5079 `(("json-glib" ,json-glib)
5080 ("tdb" ,tdb)
5081 ("gnome-desktop" ,gnome-desktop)
5082 ("python" ,python)
5083 ("python-pygobject" ,python2-pygobject)
5084 ("vala" ,vala)
5085 ("gmime" ,gmime)
f0afb0c8
DH
5086 ("adwaita-icon-theme" ,adwaita-icon-theme)
5087 ("grilo" ,grilo)
5088 ("grilo-plugins" ,grilo-plugins)
5089 ("gstreamer" ,gstreamer)
5090 ("gst-plugins-base" ,gst-plugins-base)
5091 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5092 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5093 ("libgudev" ,libgudev)
f0afb0c8
DH
5094 ;;("libmtp" ,libmtp) FIXME: Not detected
5095 ("libsecret" ,libsecret)
5096 ("libsoup" ,libsoup)
5097 ("libnotify" ,libnotify)
5098 ("libpeas" ,libpeas)
5099 ("lirc" ,lirc)
5100 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5101 ;;("clutter" ,clutter)
5102 ;;("clutter-gtk" ,clutter-gtk)
5103 ;;("clutter-gst" ,clutter-gst)
5104 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5105 ("atk" ,atk)
5106 ("pango" ,pango)
5107 ("gtk+" ,gtk+)
5108 ;; TODO:
5109 ;; * libgpod
5110 ;; * mx
f0afb0c8
DH
5111 ("brasero" ,brasero)))
5112 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5113 (synopsis "Music player for GNOME")
5114 (description "Rhythmbox is a music playing application for GNOME. It
5115supports playlists, song ratings, and any codecs installed through gstreamer.")
5116 (license license:gpl2+)))
f70d8383
DH
5117
5118(define-public eog
5119 (package
5120 (name "eog")
b0f24a82 5121 (version "3.32.2")
f70d8383
DH
5122 (source (origin
5123 (method url-fetch)
5124 (uri (string-append "mirror://gnome/sources/" name "/"
5125 (version-major+minor version) "/"
5126 name "-" version ".tar.xz"))
5127 (sha256
5128 (base32
b0f24a82 5129 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 5130 (build-system meson-build-system)
f70d8383 5131 (arguments
34c44a34
RW
5132 `(#:configure-flags
5133 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5134 (list (string-append "-Dc_link_args=-Wl,-rpath="
5135 (assoc-ref %outputs "out") "/lib/eog"))
5136 #:phases
f70d8383 5137 (modify-phases %standard-phases
7a034665
EF
5138 (add-after 'unpack 'skip-gtk-update-icon-cache
5139 ;; Don't create 'icon-theme.cache'.
5140 (lambda _
5141 (substitute* "meson_post_install.py"
5142 (("gtk-update-icon-cache") "true"))
5143 #t))
61fb581f
RW
5144 (add-after 'install 'wrap-eog
5145 (lambda* (#:key outputs #:allow-other-keys)
5146 (let ((out (assoc-ref outputs "out"))
5147 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5148 (wrap-program (string-append out "/bin/eog")
5149 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5150 #t)))))
f70d8383
DH
5151 (propagated-inputs
5152 `(("dconf" ,dconf)))
5153 (native-inputs
5154 `(("intltool" ,intltool)
b3546174 5155 ("itstool" ,itstool)
f70d8383
DH
5156 ("glib" ,glib "bin")
5157 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5158 ("pkg-config" ,pkg-config)
5159 ("xmllint" ,libxml2)))
f70d8383
DH
5160 (inputs
5161 `(("gnome-desktop" ,gnome-desktop)
5162 ("shared-mime-info" ,shared-mime-info)
5163 ("adwaita-icon-theme" ,adwaita-icon-theme)
5164 ("exempi" ,exempi)
5165 ("lcms" ,lcms)
5166 ("libexif" ,libexif)
5167 ("libpeas" ,libpeas)
5168 ("libjpeg" ,libjpeg)
5169 ("librsvg" ,librsvg)
5170 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5171 ("gtk+" ,gtk+)))
5172 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5173 (synopsis "GNOME image viewer")
5174 (description "Eye of GNOME is the GNOME image viewer. It
5175supports image conversion, rotation, and slideshows.")
5176 (license license:gpl2+)))
41af5e7b 5177
0c3f8cb8
LC
5178(define-public eog-plugins
5179 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5180 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5181 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5182 ;; 'XDG_DATA_DIRS' appropriately set.
5183 (package
5184 (name "eog-plugins")
54b74cc6 5185 (version "3.26.4")
0c3f8cb8
LC
5186 (source (origin
5187 (method url-fetch)
f3b88ed2 5188 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5189 (version-major+minor version) "/"
f3b88ed2 5190 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5191 (sha256
5192 (base32
54b74cc6 5193 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5194 (build-system gnu-build-system)
5195 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5196 (synopsis "Extensions for the Eye of GNOME image viewer")
5197 (native-inputs
5198 `(("pkg-config" ,pkg-config)
5199 ("gettext" ,gnu-gettext)))
5200 (inputs
5201 `(("eog" ,eog)
5202 ("glib" ,glib)
5203 ("gtk+" ,gtk+)
5204 ("libpeas" ,libpeas)
5205 ("libexif" ,libexif)
5206 ("libchamplain" ,libchamplain)))
5207 (description
5208 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5209notably:
5210
5211@itemize
5212@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5213@item @dfn{Map}, which displays a map of where the picture was taken on the
5214side panel;
5215@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5216@end itemize\n")
5217
5218 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5219 ;; long suspicious byte stream that goes to a
5220 ;; ".gresource.eog_postasa_plugin" ELF section.
5221 (license license:gpl2+)))
5222
41af5e7b
SB
5223(define-public libgudev
5224 (package
5225 (name "libgudev")
b78f5118 5226 (version "232")
41af5e7b
SB
5227 (source (origin
5228 (method url-fetch)
5229 (uri (string-append "mirror://gnome/sources/" name "/"
5230 version "/" name "-" version ".tar.xz"))
5231 (sha256
5232 (base32
b78f5118 5233 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5234 (build-system gnu-build-system)
b78f5118
RW
5235 (arguments
5236 '(#:configure-flags
5237 ;; umockdev depends on libgudev.
5238 (list "--disable-umockdev")))
41af5e7b
SB
5239 (native-inputs
5240 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5241 ("gobject-introspection" ,gobject-introspection)
5242 ("pkg-config" ,pkg-config)))
5243 (propagated-inputs
5244 `(("glib" ,glib))) ; required by gudev-1.0.pc
5245 (inputs
5246 `(("udev" ,eudev)))
5247 (home-page "https://wiki.gnome.org/Projects/libgudev")
5248 (synopsis "GObject bindings for libudev")
5249 (description
5250 "This library provides GObject bindings for libudev. It was originally
5251part of udev-extras, then udev, then systemd. It's now a project on its own.")
5252 (license license:lgpl2.1+)))
3dc8828f
SB
5253
5254(define-public gvfs
5255 (package
5256 (name "gvfs")
12fe4846 5257 (version "1.40.1")
3dc8828f
SB
5258 (source (origin
5259 (method url-fetch)
1d68eb32 5260 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5261 (version-major+minor version) "/"
1d68eb32 5262 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5263 (sha256
5264 (base32
12fe4846 5265 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5266 (build-system meson-build-system)
3dc8828f 5267 (arguments
e762d943
RW
5268 '(#:glib-or-gtk? #t
5269 #:configure-flags
5270 (list "-Dsystemduserunitdir=no"
5271 "-Dtmpfilesdir=no"
5272 ;; Otherwise, the RUNPATH will lack the final path component.
5273 (string-append "-Dc_link_args=-Wl,-rpath="
5274 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5275 (native-inputs
5276 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5277 ("gettext" ,gettext-minimal)
5278 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5279 ("pkg-config" ,pkg-config)
5280 ("xsltproc" ,libxslt)))
5281 (inputs
5282 `(("avahi" ,avahi)
5283 ("docbook-xml" ,docbook-xml-4.2)
5284 ("docbook-xsl" ,docbook-xsl)
5285 ("dbus" ,dbus)
e762d943 5286 ("elogind" ,elogind)
3dc8828f 5287 ("fuse" ,fuse)
24a78aa6 5288 ("gcr" ,gcr)
3dc8828f 5289 ("glib" ,glib)
e762d943 5290 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5291 ("libarchive" ,libarchive)
5292 ("libbluray" ,libbluray)
8852ca24 5293 ("libcap" ,libcap)
3dc8828f
SB
5294 ("libcdio-paranoia" ,libcdio-paranoia)
5295 ("libgcrypt" ,libgcrypt)
e762d943 5296 ("libgdata" ,libgdata)
3dc8828f
SB
5297 ("libgphoto2" ,libgphoto2)
5298 ("libgudev" ,libgudev)
0ab9f949 5299 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5300 ("libmtp" ,libmtp)
e762d943 5301 ("libnfs" ,libnfs)
3dc8828f
SB
5302 ("libsecret" ,libsecret)
5303 ("libsmbclient" ,samba)
5304 ("libsoup" ,libsoup)
5305 ("libxml2" ,libxml2)
e762d943 5306 ("openssh" ,openssh)
8852ca24 5307 ("polkit" ,polkit)
3dc8828f
SB
5308 ("udisks" ,udisks)))
5309 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5310 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5311 (description
8f65585b 5312 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5313abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5314to all applications using the GIO API. It also supports exposing the GVFS
5315mounts to non-GIO applications using FUSE.
5316
5317GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5318DAV, and others.")
5319 (license license:lgpl2.0+)))
7c88b6bd
AW
5320
5321(define-public gusb
5322 (package
5323 (name "gusb")
536b3274 5324 (version "0.3.0")
7c88b6bd 5325 (source (origin
bbfb36f9
EF
5326 (method git-fetch)
5327 (uri (git-reference
5328 (url "https://github.com/hughsie/libgusb.git")
5329 (commit version)))
5330 (file-name (git-file-name name version))
7c88b6bd
AW
5331 (sha256
5332 (base32
bbfb36f9 5333 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5334 (build-system meson-build-system)
7c88b6bd 5335 (native-inputs
536b3274 5336 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5337 ("pkg-config" ,pkg-config)
5338 ("vala" ,vala)
7c88b6bd
AW
5339 ("gtk-doc" ,gtk-doc)))
5340 (propagated-inputs
5341 ;; Both of these are required by gusb.pc.
5342 `(("glib" ,glib)
5343 ("libusb" ,libusb)))
5344 (arguments
536b3274 5345 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5346 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5347 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5348 (description
5349 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5350asynchronous control, bulk and interrupt transfers with proper cancellation
5351and integration into a mainloop. This makes it easy to integrate low level
5352USB transfers with your high-level application or system daemon.")
5353 (license license:lgpl2.1+)))
0abe1d86
AW
5354
5355(define-public simple-scan
5356 (package
5357 (name "simple-scan")
52beda0d 5358 (version "3.34.4")
d9f6d587
TGR
5359 (source
5360 (origin
5361 (method url-fetch)
5362 (uri (string-append "mirror://gnome/sources/simple-scan/"
5363 (version-major+minor version) "/"
5364 "simple-scan-" version ".tar.xz"))
5365 (sha256
52beda0d 5366 (base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z"))))
d9f6d587
TGR
5367 (build-system meson-build-system)
5368 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5369 (arguments
5370 '(#:glib-or-gtk? #t))
0abe1d86
AW
5371 (inputs
5372 `(("gtk" ,gtk+)
5373 ("zlib" ,zlib)
5374 ("cairo" ,cairo)
c501f592 5375 ("colord" ,colord)
0abe1d86
AW
5376 ("gdk-pixbuf" ,gdk-pixbuf)
5377 ("gusb" ,gusb)
4c928743 5378 ("libsane" ,sane-backends)))
0abe1d86 5379 (native-inputs
b94a6ca0 5380 `(("gettext" ,gettext-minimal)
0abe1d86 5381 ("itstool" ,itstool)
c501f592 5382 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5383 ("pkg-config" ,pkg-config)
bcb354ad
SB
5384 ("vala" ,vala)
5385 ("xmllint" ,libxml2)))
dff0eedb 5386 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5387 (synopsis "Document and image scanner")
d9f6d587
TGR
5388 (description
5389 "Document Scanner is an easy-to-use application that lets you connect your
5390scanner and quickly capture images and documents in an appropriate format. It
5391supports any scanner for which a suitable SANE driver is available, which is
5392almost all of them.")
0abe1d86 5393 (license license:gpl3+)))
7549f984 5394
ab466d79
RW
5395(define-public eolie
5396 (package
5397 (name "eolie")
fa8ef3ed 5398 (version "0.9.63")
ab466d79
RW
5399 (source (origin
5400 (method url-fetch)
00014781 5401 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5402 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5403 "eolie-" version ".tar.xz"))
ab466d79
RW
5404 (sha256
5405 (base32
fa8ef3ed 5406 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5407 (build-system meson-build-system)
ab466d79 5408 (arguments
00014781
RW
5409 `(#:glib-or-gtk? #t
5410 #:phases
ab466d79 5411 (modify-phases %standard-phases
f0c68100
EF
5412 (add-after 'unpack 'skip-gtk-update-icon-cache
5413 ;; Don't create 'icon-theme.cache'.
5414 (lambda _
5415 (substitute* "meson_post_install.py"
5416 (("gtk-update-icon-cache") "true"))
5417 #t))
ab466d79
RW
5418 (add-after 'wrap 'wrap-more
5419 (lambda* (#:key inputs outputs #:allow-other-keys)
5420 (let* ((out (assoc-ref outputs "out"))
5421 ;; These libraries must be on LD_LIBRARY_PATH.
5422 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5423 "atk" "gtk+" "gsettings-desktop-schemas"
5424 "gobject-introspection"))
5425 (path (string-join
5426 (map (lambda (lib)
5427 (string-append (assoc-ref inputs lib) "/lib"))
5428 libs)
5429 ":")))
5430 (wrap-program (string-append out "/bin/eolie")
5431 `("LD_LIBRARY_PATH" ":" prefix (,path))
5432 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5433 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5434 #t)))))
5435 (native-inputs
f85ca6ed 5436 `(("intltool" ,intltool)
ab466d79 5437 ("itstool" ,itstool)
d95f1041 5438 ("pkg-config" ,pkg-config)
d95f1041 5439 ("python" ,python)
f0c68100 5440 ("glib:bin" ,glib "bin")))
ab466d79
RW
5441 (inputs
5442 `(("gobject-introspection" ,gobject-introspection)
5443 ("glib-networking" ,glib-networking)
5444 ("cairo" ,cairo)
5445 ("gtk+" ,gtk+)
5446 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5447 ("python" ,python-wrapper)
d72f76df 5448 ("python-dateutil" ,python-dateutil)
00014781 5449 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5450 ("python-pygobject" ,python-pygobject)
5451 ("python-pycairo" ,python-pycairo)
00014781 5452 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5453 ("libsecret" ,libsecret)
5454 ("gtkspell3" ,gtkspell3)
5455 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5456 ("webkitgtk" ,webkitgtk)))
166b2c97 5457 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5458 (synopsis "Web browser for GNOME")
5459 (description
5460 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5461a secret password store, an adblocker, and a modern UI.")
5462 (license license:gpl3+)))
5463
7549f984
SB
5464(define-public epiphany
5465 (package
5466 (name "epiphany")
60680365 5467 (version "3.32.5")
7549f984
SB
5468 (source (origin
5469 (method url-fetch)
dd3266ec 5470 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5471 (version-major+minor version) "/"
dd3266ec 5472 "epiphany-" version ".tar.xz"))
7549f984
SB
5473 (sha256
5474 (base32
60680365 5475 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5476
5477 (build-system meson-build-system)
7549f984
SB
5478 (arguments
5479 ;; FIXME: tests run under Xvfb, but fail with:
5480 ;; /src/bookmarks/ephy-bookmarks/create:
5481 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5482 ;; subsystem
5483 ;; FAIL
6f48d9db 5484 '(#:tests? #f
e19f9c24 5485 #:glib-or-gtk? #t
bb7ff88f
EF
5486 #:phases
5487 (modify-phases %standard-phases
5488 (add-after 'unpack 'skip-gtk-update-icon-cache
5489 ;; Don't create 'icon-theme.cache'.
5490 (lambda _
5491 (substitute* "post_install.py"
5492 (("gtk-update-icon-cache") "true"))
5493 #t)))
e19f9c24
LF
5494 #:configure-flags
5495 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5496 (list (string-append "-Dc_link_args=-Wl,-rpath="
5497 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5498 (propagated-inputs
5499 `(("dconf" ,dconf)))
7549f984 5500 (native-inputs
fc5c5b92
R
5501 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5502 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5503 ("intltool" ,intltool)
7549f984 5504 ("itstool" ,itstool)
bcb354ad
SB
5505 ("pkg-config" ,pkg-config)
5506 ("xmllint" ,libxml2)))
7549f984
SB
5507 (inputs
5508 `(("avahi" ,avahi)
5509 ("gcr" ,gcr)
fc5c5b92 5510 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5511 ("glib-networking" ,glib-networking)
5512 ("gnome-desktop" ,gnome-desktop)
5513 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5514 ("json-glib" ,json-glib)
7549f984 5515 ("iso-codes" ,iso-codes)
8748e29c 5516 ("libdazzle" ,libdazzle)
7549f984
SB
5517 ("libnotify" ,libnotify)
5518 ("libsecret" ,libsecret)
7549f984 5519 ("libxslt" ,libxslt)
fc5c5b92 5520 ("nettle" ,nettle) ; for hogweed
7549f984 5521 ("sqlite" ,sqlite)
f85ca6ed 5522 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5523 (home-page "https://wiki.gnome.org/Apps/Web")
5524 (synopsis "GNOME web browser")
5525 (description
5526 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5527principles are simplicity and standards compliance.")
5528 (license license:gpl2+)))
a3856b2c
SB
5529
5530(define-public d-feet
5531 (package
5532 (name "d-feet")
458e9221 5533 (version "0.3.14")
a3856b2c
SB
5534 (source (origin
5535 (method url-fetch)
5536 (uri (string-append "mirror://gnome/sources/" name "/"
5537 (version-major+minor version) "/"
5538 name "-" version ".tar.xz"))
5539 (sha256
5540 (base32
458e9221 5541 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5542 (build-system glib-or-gtk-build-system)
5543 (arguments
5544 '(#:out-of-source? #f ; tests need to run in the source directory.
5545 #:phases
5546 (modify-phases %standard-phases
5547 (add-before
5548 'check 'pre-check
86aff791 5549 (lambda _
a3856b2c
SB
5550 ;; The test suite requires a running X server.
5551 (system "Xvfb :1 &")
5552 (setenv "DISPLAY" ":1")
5553 ;; Don't fail on missing '/etc/machine-id'.
5554 (setenv "DBUS_FATAL_WARNINGS" "0")
5555 ;; tests.py and window.py don't meet E402:
5556 ;; E402 module level import not at top of file
5557 (substitute* "src/tests/Makefile"
86aff791
MW
5558 (("--ignore=E123") "--ignore=E123,E402"))
5559 #t))
a3856b2c
SB
5560 (add-after
5561 'install 'wrap-program
5562 (lambda* (#:key outputs #:allow-other-keys)
5563 (let ((prog (string-append (assoc-ref outputs "out")
5564 "/bin/d-feet")))
5565 (wrap-program prog
5566 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5567 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5568 #t))))))
a3856b2c
SB
5569 (native-inputs
5570 `(("intltool" ,intltool)
5571 ("itstool" ,itstool)
5572 ("pkg-config" ,pkg-config)
5573 ("python-pep8" ,python-pep8)
5574 ("xmllint" ,libxml2)
ff337525 5575 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5576 (inputs
5577 `(("gobject-introspection" ,gobject-introspection)
5578 ("gtk+" ,gtk+)
5579 ("python" ,python-wrapper)
458e9221 5580 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5581 ("python-pygobject" ,python-pygobject)))
5582 (home-page "https://wiki.gnome.org/Apps/DFeet")
5583 (synopsis "D-Bus debugger")
5584 (description
5585 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5586of running programs and invoke methods on those interfaces.")
5587 (license license:gpl2+)))
c3b97bd9
SB
5588
5589(define-public yelp-xsl
5590 (package
5591 (name "yelp-xsl")
b3640e79 5592 (version "3.32.1")
c3b97bd9
SB
5593 (source (origin
5594 (method url-fetch)
5595 (uri (string-append "mirror://gnome/sources/" name "/"
5596 (version-major+minor version) "/"
5597 name "-" version ".tar.xz"))
5598 (sha256
5599 (base32
b3640e79 5600 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5601 (build-system gnu-build-system)
5602 (native-inputs
5603 `(("intltool" ,intltool)
5604 ("itstool" ,itstool)
5605 ("xmllint" ,libxml2)))
5606 (home-page "https://wiki.gnome.org/Apps/Yelp")
5607 (synopsis "XSL stylesheets for Yelp")
5608 (description
5609 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5610to format Docbook and Mallard documents.")
5611 (license license:gpl2+)))
de3d612a
SB
5612
5613(define-public yelp
5614 (package
5615 (name "yelp")
1f1b6d60 5616 (version "3.32.2")
de3d612a
SB
5617 (source (origin
5618 (method url-fetch)
5619 (uri (string-append "mirror://gnome/sources/" name "/"
5620 (version-major+minor version) "/"
5621 name "-" version ".tar.xz"))
5622 (sha256
5623 (base32
1f1b6d60 5624 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5625 (build-system glib-or-gtk-build-system)
5626 (native-inputs
5627 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5628 ("intltool" ,intltool)
5629 ("itstool" ,itstool)
5630 ("pkg-config" ,pkg-config)))
5631 (propagated-inputs
5632 `(("dconf" ,dconf)))
5633 (inputs
ad1b7d8b
SB
5634 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5635 ("libxslt" ,libxslt)
de3d612a 5636 ("sqlite" ,sqlite)
4c28ca1d
SB
5637 ("webkitgtk" ,webkitgtk)
5638 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5639 (home-page "https://wiki.gnome.org/Apps/Yelp")
5640 (synopsis "GNOME help browser")
5641 (description
5642 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5643man, info, and HTML documents. It can locate documents according to the
5644freedesktop.org help system specification.")
5645 (license license:gpl2+)))
122d0d10
SB
5646
5647(define-public yelp-tools
5648 (package
5649 (name "yelp-tools")
2089bca5 5650 (version "3.28.0")
122d0d10
SB
5651 (source (origin
5652 (method url-fetch)
5653 (uri (string-append "mirror://gnome/sources/" name "/"
5654 (version-major+minor version) "/"
5655 name "-" version ".tar.xz"))
5656 (sha256
5657 (base32
2089bca5 5658 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5659 (build-system gnu-build-system)
5660 (native-inputs
5661 `(("pkg-config" ,pkg-config)))
5662 (propagated-inputs
5663 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5664 `(("itstool" ,itstool)
5665 ("xmllint" ,libxml2)
5666 ("xsltproc" ,libxslt)))
5667 (inputs
5668 `(("yelp-xsl" ,yelp-xsl)))
5669 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5670 (synopsis "Yelp documentation tools")
5671 (description
5672 "Yelp-tools is a collection of scripts and build utilities to help create,
5673manage, and publish documentation for Yelp and the web. Most of the heavy
5674lifting is done by packages like yelp-xsl and itstool. This package just
5675wraps things up in a developer-friendly way.")
5676 (license license:gpl2+)))
af8f9f23 5677
4ed041d9
MB
5678(define-public yelp-tools/fixed
5679 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5680 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5681 ;; the next rebuild cycle.
5682 (hidden-package
5683 (package/inherit
5684 yelp-tools
5685 (propagated-inputs
5686 `(("itstool" ,itstool/fixed)
5687 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5688
af8f9f23
RW
5689(define-public libgee
5690 (package
5691 (name "libgee")
9cedae2a 5692 (version "0.20.3")
af8f9f23
RW
5693 (source (origin
5694 (method url-fetch)
84a1b007 5695 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5696 (version-major+minor version) "/"
84a1b007 5697 "libgee-" version ".tar.xz"))
af8f9f23
RW
5698 (sha256
5699 (base32
9cedae2a 5700 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5701 (build-system gnu-build-system)
5702 (arguments
5703 `(#:phases
5704 (modify-phases %standard-phases
5705 (add-after 'unpack 'fix-introspection-install-dir
5706 (lambda* (#:key outputs #:allow-other-keys)
5707 (let ((out (assoc-ref outputs "out")))
5708 (substitute* "gee/Makefile.in"
5709 (("@INTROSPECTION_GIRDIR@")
5710 (string-append out "/share/gir-1.0/"))
5711 (("@INTROSPECTION_TYPELIBDIR@")
5712 (string-append out "/lib/girepository-1.0/")))))))))
5713 (native-inputs
5714 `(("glib" ,glib "bin")
5715 ("pkg-config" ,pkg-config)))
5716 (inputs
5717 `(("glib" ,glib)
5718 ("gobject-introspection" ,gobject-introspection)))
5719 (home-page "https://wiki.gnome.org/Projects/Libgee")
5720 (synopsis "GObject collection library")
5721 (description
5722 "Libgee is a utility library providing GObject-based interfaces and
5723classes for commonly used data structures.")
5724 (license license:lgpl2.1+)))
b0f9c4b8
RW
5725
5726(define-public gexiv2
5727 (package
5728 (name "gexiv2")
b1a8b408 5729 (version "0.12.0")
b0f9c4b8
RW
5730 (source (origin
5731 (method url-fetch)
5732 (uri (string-append "mirror://gnome/sources/" name "/"
5733 (version-major+minor version) "/"
5734 name "-" version ".tar.xz"))
5735 (sha256
5736 (base32
b1a8b408 5737 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5738 (build-system meson-build-system)
b0f9c4b8 5739 (native-inputs
b1a8b408
KK
5740 `(("gcr" ,gcr)
5741 ("glib" ,glib "bin")
5742 ("pkg-config" ,pkg-config)
5743 ("vala" ,vala)))
b0f9c4b8
RW
5744 (propagated-inputs
5745 ;; Listed in "Requires" section of gexiv2.pc
5746 `(("exiv2" ,exiv2)))
5747 (inputs
5748 `(("glib" ,glib)
5749 ("gobject-introspection" ,gobject-introspection)))
5750 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5751 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5752 (description
5753 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5754allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5755metadata in photo and video files of various formats.")
5756 (license license:gpl2+)))
fed5a689
RW
5757
5758(define-public shotwell
5759 (package
5760 (name "shotwell")
bcea20cc 5761 (version "0.30.8")
fed5a689
RW
5762 (source (origin
5763 (method url-fetch)
5497d682 5764 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5765 (version-major+minor version) "/"
5497d682 5766 "shotwell-" version ".tar.xz"))
fed5a689
RW
5767 (sha256
5768 (base32
bcea20cc 5769 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5770 (build-system meson-build-system)
5771 (arguments
5a0beca3
EF
5772 '(#:glib-or-gtk? #t
5773 #:phases
5774 (modify-phases %standard-phases
5775 (add-after 'unpack 'skip-gtk-update-icon-cache
5776 (lambda _
5777 (substitute* "build-aux/meson/postinstall.py"
5778 (("gtk-update-icon-cache") (which "true"))
5779 (("update-desktop-database") (which "true")))
5780 #t)))))
735b8db6
TGR
5781 (propagated-inputs
5782 `(("dconf" ,dconf)))
fed5a689 5783 (native-inputs
5a0beca3
EF
5784 `(("gettext" ,gettext-minimal)
5785 ("glib:bin" ,glib "bin")
735b8db6 5786 ("itstool" ,itstool)
3b79afa6 5787 ("pkg-config" ,pkg-config)
735b8db6 5788 ("vala" ,vala)))
fed5a689 5789 (inputs
5a0beca3
EF
5790 `(("gcr" ,gcr)
5791 ("gexiv2" ,gexiv2)
fed5a689 5792 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5793 ("gstreamer" ,gstreamer)
5794 ("json-glib" ,json-glib)
dfb0323d 5795 ("libgdata" ,libgdata)
fed5a689 5796 ("libgee" ,libgee)
5a0beca3
EF
5797 ("libgphoto2" ,libgphoto2)
5798 ("libgudev" ,libgudev)
fed5a689 5799 ("libraw" ,libraw)
fed5a689
RW
5800 ("libsoup" ,libsoup)
5801 ("libxml2" ,libxml2)
5a0beca3
EF
5802 ("sqlite" ,sqlite)
5803 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5804 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5805 (synopsis "Photo manager for GNOME 3")
5806 (description
5807 "Shotwell is a digital photo manager designed for the GNOME desktop
5808environment. It allows you to import photos from disk or camera, organize
5809them by keywords and events, view them in full-window or fullscreen mode, and
5810share them with others via social networking and more.")
5811 (license license:lgpl2.1+)))
293ff8b2
DT
5812
5813(define-public file-roller
5814 (package
5815 (name "file-roller")
dcae4270 5816 (version "3.32.3")
293ff8b2
DT
5817 (source (origin
5818 (method url-fetch)
f89a27c6 5819 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5820 (version-major+minor version) "/"
f89a27c6 5821 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5822 (sha256
5823 (base32
dcae4270 5824 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5825 (build-system meson-build-system)
293ff8b2 5826 (native-inputs
0a500745
RW
5827 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5828 ("intltool" ,intltool)
4c96e5d1 5829 ("itstool" ,itstool)
0a500745
RW
5830 ("pkg-config" ,pkg-config)
5831 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5832 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5833 ;; TODO: Add libnautilus.
5834 (inputs
5835 `(("gtk+" ,gtk+)
5836 ("gdk-pixbuf" ,gdk-pixbuf)
5837 ("json-glib" ,json-glib)
5838 ("libarchive" ,libarchive)
5839 ("libnotify" ,libnotify)
4c96e5d1 5840 ("nettle" ,nettle)
293ff8b2
DT
5841 ("libxml2" ,libxml2)))
5842 (synopsis "Graphical archive manager for GNOME")
5843 (description "File Roller is an archive manager for the GNOME desktop
5844environment that allows users to view, unpack, and create compressed archives
5845such as gzip tarballs.")
5846 (home-page "http://fileroller.sourceforge.net/")
5847 (license license:gpl2+)))
7ce49365
SB
5848
5849(define-public gnome-session
5850 (package
5851 (name "gnome-session")
1fc2ec79 5852 (version "3.32.0")
7ce49365
SB
5853 (source (origin
5854 (method url-fetch)
5855 (uri (string-append "mirror://gnome/sources/" name "/"
5856 (version-major+minor version) "/"
5857 name "-" version ".tar.xz"))
5858 (sha256
5859 (base32
1fc2ec79 5860 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5861 (arguments
df278071
RW
5862 '(#:glib-or-gtk? #t
5863 #:phases
2914af3c
AW
5864 (modify-phases %standard-phases
5865 (add-before 'configure 'pre-configure
5866 (lambda* (#:key outputs #:allow-other-keys)
5867 ;; Use elogind instead of systemd.
df278071
RW
5868 (substitute* "meson.build"
5869 (("libsystemd-login") "libelogind")
5870 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5871 (substitute* "gnome-session/gsm-systemd.c"
5872 (("#include <systemd/sd-login.h>")
5873 "#include <elogind/sd-login.h>"))
df278071 5874 ;; Remove uses of the systemd daemon.
803ab416
SB
5875 (substitute* "gnome-session/gsm-autostart-app.c"
5876 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5877 #t))
5878 (add-after 'install 'wrap-gnome-session
5879 (lambda* (#:key inputs outputs #:allow-other-keys)
5880 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5881 (let ((glib (assoc-ref inputs "glib:bin"))
5882 (out (assoc-ref outputs "out")))
5883 (wrap-program (string-append out "/bin/gnome-session")
5884 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5885 #t))))
6cbc8d57 5886
2914af3c 5887 #:configure-flags
df278071
RW
5888 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5889 "-Dman=false" ; FIXME: disabled because of docbook validation error
5890 "-Dsystemd_journal=false")))
5891 (build-system meson-build-system)
7ce49365
SB
5892 (native-inputs
5893 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5894 ("pkg-config" ,pkg-config)
5895 ("intltool" ,intltool)
df278071
RW
5896 ("xsltproc" ,libxslt)
5897 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5898 ("docbook-xsl" ,docbook-xsl)
5899 ("docbook-xml" ,docbook-xml)
5900 ("xmlto" ,xmlto)))
7ce49365 5901 (inputs
2914af3c
AW
5902 `(("elogind" ,elogind)
5903 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5904 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5905 ("gtk+" ,gtk+)
5906 ("json-glib" ,json-glib)
5907 ("libsm" ,libsm)
5908 ("libxcomposite" ,libxcomposite)
5909 ("libxtst" ,libxtst)
5910 ("mesa" ,mesa)
5911 ("upower" ,upower)
5912 ("xtrans" ,xtrans)))
5913 (synopsis "Session manager for GNOME")
5914 (description
5915 "This package contains the GNOME session manager, as well as a
5916configuration program to choose applications starting on login.")
5917 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5918 (license license:gpl2+)))
f47ba77e
SB
5919
5920(define-public gjs
5921 (package
5922 (name "gjs")
d054fbf5 5923 (version "1.56.2")
f47ba77e
SB
5924 (source (origin
5925 (method url-fetch)
5926 (uri (string-append "mirror://gnome/sources/" name "/"
5927 (version-major+minor version) "/"
5928 name "-" version ".tar.xz"))
5929 (sha256
5930 (base32
d054fbf5 5931 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5932 (build-system gnu-build-system)
5933 (arguments
5934 '(#:phases
5935 (modify-phases %standard-phases
5936 (add-before
5937 'check 'pre-check
5938 (lambda _
fc119619
MW
5939 ;; The test suite requires a running X server.
5940 (system "Xvfb :1 &")
5941 (setenv "DISPLAY" ":1")
5942
f47ba77e
SB
5943 ;; For the missing /etc/machine-id.
5944 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5945
144f94d0
KK
5946 ;; Our mozjs-38 package does not compile the required Intl API
5947 ;; support for these failing tests.
5948 (substitute* "installed-tests/js/testLocale.js"
5949 ((".*toBeDefined.*") "")
5950 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5951 (substitute* "installed-tests/scripts/testCommandLine.sh"
5952 (("Valentín") "")
5953 (("☭") ""))
f47ba77e
SB
5954 #t)))))
5955 (native-inputs
8a831c6f 5956 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5957 ("pkg-config" ,pkg-config)
5958 ("xmllint" ,libxml2)
5959 ;; For testing
5960 ("dbus-launch" ,dbus)
5961 ("uuidgen" ,util-linux)
ebebee94 5962 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5963 (propagated-inputs
5964 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5965 `(("cairo" ,cairo)
5966 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5967 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5968 (inputs
5969 `(("gtk+" ,gtk+)
5970 ("readline" ,readline)))
5971 (synopsis "Javascript bindings for GNOME")
f032d0be 5972 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5973 (description
5974 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5975javascript engine and the GObject introspection framework.")
5976 (license license:gpl2+)))
329d731b
DH
5977
5978(define-public gedit
5979 (package
5980 (name "gedit")
480c9226 5981 (version "3.32.2")
329d731b
DH
5982 (source (origin
5983 (method url-fetch)
5984 (uri (string-append "mirror://gnome/sources/" name "/"
5985 (version-major+minor version) "/"
5986 name "-" version ".tar.xz"))
5987 (sha256
5988 (base32
480c9226
KK
5989 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5990 (build-system meson-build-system)
329d731b 5991 (arguments
480c9226
KK
5992 `(#:glib-or-gtk? #t
5993 #:configure-flags
5994 ;; Otherwise, the RUNPATH will lack the final path component.
5995 (list (string-append "-Dc_link_args=-Wl,-rpath="
5996 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5997
5998 ;; XXX: Generated .h files are sometimes used before being built.
5999 #:parallel-build? #f
6000
480c9226 6001 #:phases
329d731b 6002 (modify-phases %standard-phases
480c9226
KK
6003 (add-after 'unpack 'skip-gtk-update-icon-cache
6004 ;; Don't create 'icon-theme.cache'.
6005 (lambda _
6006 (substitute* "build-aux/meson/post_install.py"
6007 (("gtk-update-icon-cache") (which "true")))
6008 #t))
6009 (add-after 'unpack 'patch-libgd-fetch
6010 (lambda* (#:key inputs #:allow-other-keys)
6011 (let ((libgd (assoc-ref inputs "libgd")))
6012 ;; Calling git is unnecessary because libgd is fetched as a
6013 ;; native input to this package.
6014 (substitute* "meson.build"
6015 ((".*git.*") ""))
6016 (copy-recursively libgd "subprojects/libgd")
6017 #t)))
6018 (add-after 'install 'wrap-gedit
6019 (lambda* (#:key inputs outputs #:allow-other-keys)
6020 (let ((out (assoc-ref outputs "out"))
6021 (gtksourceview (assoc-ref inputs "gtksourceview"))
6022 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6023 (python-path (getenv "PYTHONPATH")))
6024 (wrap-program (string-append out "/bin/gedit")
6025 ;; For plugins.
6026 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6027 `("PYTHONPATH" ":" prefix (,python-path))
6028 ;; For language-specs.
6029 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6030 "/share")))))
6031 #t)))))
329d731b
DH
6032 (propagated-inputs
6033 `(("dconf" ,dconf)))
6034 (native-inputs
480c9226
KK
6035 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6036 ("intltool" ,intltool)
b3546174 6037 ("itstool" ,itstool)
480c9226 6038 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6039 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6040 ("libgd"
6041 ,(origin
6042 (method git-fetch)
6043 (uri (git-reference
6044 (url "https://gitlab.gnome.org/GNOME/libgd")
6045 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6046 (file-name (git-file-name "libgd" version))
6047 (sha256
6048 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6049 ("pkg-config" ,pkg-config)))
6050 (inputs
6051 `(("glib" ,glib)
0d2df50c 6052 ("gspell" ,gspell)
329d731b 6053 ("gtk+" ,gtk+)
480c9226 6054 ("gtksourceview" ,gtksourceview)
329d731b
DH
6055 ("libpeas" ,libpeas)
6056 ("libxml2" ,libxml2)
329d731b
DH
6057 ("iso-codes" ,iso-codes)
6058 ("python-pygobject" ,python-pygobject)
6059 ("python" ,python)
6060 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6061 ("libx11" ,libx11)
6062 ("vala" ,vala)
6063 ("adwaita-icon-theme" ,adwaita-icon-theme)
6064 ("libsoup" ,libsoup)
6065 ("gnome-desktop" ,gnome-desktop)))
6066 (home-page "https://wiki.gnome.org/Apps/Gedit")
6067 (synopsis "GNOME text editor")
6068 (description "While aiming at simplicity and ease of use, gedit is a
6069powerful general purpose text editor.")
6070 (license license:gpl2+)))
b7179363
SB
6071
6072(define-public zenity
6073 (package
6074 (name "zenity")
4f581bd0 6075 (version "3.32.0")
b7179363
SB
6076 (source (origin
6077 (method url-fetch)
5958df04 6078 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6079 (version-major+minor version) "/"
5958df04 6080 "zenity-" version ".tar.xz"))
b7179363
SB
6081 (sha256
6082 (base32
4f581bd0 6083 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6084 (build-system gnu-build-system)
6085 (native-inputs
b94a6ca0 6086 `(("gettext" ,gettext-minimal)
b7179363
SB
6087 ("itstool" ,itstool)
6088 ("pkg-config" ,pkg-config)))
6089 (inputs
6090 `(("libnotify" ,libnotify)
6091 ("webkitgtk" ,webkitgtk)))
6092 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6093 (home-page "https://www.gnome.org")
b7179363
SB
6094 (description
6095 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6096to display dialog boxes from the commandline and shell scripts.")
6097 (license license:lgpl2.0+)))
60c3627c
SB
6098
6099(define-public mutter
6100 (package
6101 (name "mutter")
edf43f68 6102 (version "3.32.2")
60c3627c 6103 (source (origin
86c44e72
KK
6104 (method url-fetch)
6105 (uri (string-append "mirror://gnome/sources/" name "/"
6106 (version-major+minor version) "/"
6107 name "-" version ".tar.xz"))
60c3627c
SB
6108 (sha256
6109 (base32
edf43f68 6110 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
6111 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6112 ;; versions of cogl and clutter. As a result, many of the inputs,
6113 ;; propagated-inputs, and configure flags used in cogl and clutter are
6114 ;; needed here as well.
edf43f68 6115 (build-system meson-build-system)
60c3627c 6116 (arguments
edf43f68
KK
6117 '(;; XXX: All mutter tests fail with the following error:
6118 ;; Settings schema 'org.gnome.mutter' is not installed
6119 #:tests? #f
6120 #:glib-or-gtk? #t
6121 #:configure-flags
6122 ;; Otherwise, the RUNPATH will lack the final path component.
6123 (list (string-append "-Dc_link_args=-Wl,-rpath="
6124 (assoc-ref %outputs "out") "/lib:"
6125 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
6126
6127 ;; The following flags are needed for the bundled clutter
edf43f68 6128 (string-append "-Dxwayland_path="
d633f2f6
RH
6129 (assoc-ref %build-inputs "xorg-server-xwayland")
6130 "/bin/Xwayland")
6131
a88d5a0c 6132 ;; the remaining flags are needed for the bundled cogl
edf43f68 6133 (string-append "-Dopengl_libname="
a88d5a0c 6134 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6135 "/lib/libGL.so"))
6136 #:phases
6137 (modify-phases %standard-phases
edf43f68
KK
6138 (add-after 'unpack 'disable-werror
6139 (lambda _
6140 ;; XXX: build fails with [-Werror]:
6141 ;; backends/meta-cursor-renderer.c:112:5: error:
6142 ;; implicit declaration of function ?roundf?
6143 (substitute* "meson.build"
6144 (("'-Werror=.*',") ""))
6145 #t))
86c44e72
KK
6146 ;; Replace references to systemd libraries to elogind references.
6147 (add-before 'configure 'use-elogind
6148 (lambda _
edf43f68 6149 (substitute* (list "meson.build"
86c44e72
KK
6150 "src/backends/native/meta-launcher.c"
6151 "src/core/main.c")
6152 (("systemd") "elogind"))
6153 #t)))))
60c3627c
SB
6154 (native-inputs
6155 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6156 ("gobject-introspection" ,gobject-introspection)
6157 ("intltool" ,intltool)
f23052a6 6158 ("pkg-config" ,pkg-config)
edf43f68 6159 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6160 ;; For git build
6161 ("autoconf" ,autoconf)
6162 ("automake" ,automake)
6163 ("libtool" ,libtool)))
60c3627c 6164 (propagated-inputs
a88d5a0c
MW
6165 `(;; libmutter.pc refers to these:
6166 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6167 ("gtk+" ,gtk+)
6168 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6169 ("atk" ,atk)
6170 ("cairo" ,cairo)
6171 ("gdk-pixbuf" ,gdk-pixbuf)
6172 ("glib" ,glib)
a88d5a0c
MW
6173 ("json-glib" ,json-glib)
6174 ("libinput" ,libinput)
6175 ("libx11" ,libx11)
6176 ("libxcomposite" ,libxcomposite)
6177 ("libxdamage" ,libxdamage)
6178 ("libxext" ,libxext)
6179 ("libxfixes" ,libxfixes)
6180 ("libxkbcommon" ,libxkbcommon)
6181 ("libxrandr" ,libxrandr)
6182 ("mesa" ,mesa)
6183 ("pango" ,pango)
6184 ("udev" ,eudev)
a88d5a0c 6185 ("xinput" ,xinput)))
60c3627c 6186 (inputs
86c44e72
KK
6187 `(("elogind" ,elogind)
6188 ("gnome-desktop" ,gnome-desktop)
edf43f68 6189 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6190 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6191 ("libgudev" ,libgudev)
60c3627c
SB
6192 ("libice" ,libice)
6193 ("libsm" ,libsm)
edf43f68 6194 ("libwacom" ,libwacom)
60c3627c 6195 ("libxkbfile" ,libxkbfile)
a88d5a0c 6196 ("libxrandr" ,libxrandr)
86c44e72 6197 ("libxtst" ,libxtst)
edf43f68 6198 ("pipewire" ,pipewire)
60c3627c
SB
6199 ("startup-notification" ,startup-notification)
6200 ("upower-glib" ,upower)
6201 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6202 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6203 ("zenity" ,zenity)))
6204 (synopsis "Window and compositing manager")
f032d0be 6205 (home-page "https://www.gnome.org")
60c3627c
SB
6206 (description
6207 "Mutter is a window and compositing manager that displays and manages your
6208desktop via OpenGL. Mutter combines a sophisticated display engine using the
6209Clutter toolkit with solid window-management logic inherited from the Metacity
6210window manager.")
86c44e72 6211 (license license:gpl2+)))
685cee87
SB
6212
6213(define-public gnome-online-accounts
6214 (package
6215 (name "gnome-online-accounts")
aa200347 6216 (version "3.32.1")
685cee87
SB
6217 (source (origin
6218 (method url-fetch)
6219 (uri (string-append "mirror://gnome/sources/" name "/"
6220 (version-major+minor version) "/"
6221 name "-" version ".tar.xz"))
6222 (sha256
6223 (base32
aa200347 6224 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6225 (outputs '("out" "lib"))
685cee87 6226 (build-system glib-or-gtk-build-system)
14c297fd
TS
6227 (arguments
6228 `(#:configure-flags
6229 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6230 #:phases
6231 (modify-phases %standard-phases
6232 (add-before 'configure 'patch-libgoa-output
6233 (lambda* (#:key outputs #:allow-other-keys)
6234 (let ((lib (assoc-ref outputs "lib")))
6235 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6236 (("@prefix@") lib)
6237 (("@exec_prefix@") lib)
6238 (("@libdir@") (string-append lib "/lib"))
6239 (("@includedir@") (string-append lib "/include"))
6240 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6241 ;; Make sure gobject-introspection knows about the output
6242 ;; too (see <https://bugs.gnu.org/36535>).
6243 (setenv "outputs" "out lib")
14c297fd 6244 #t))))))
685cee87
SB
6245 (native-inputs
6246 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6247 ("gobject-introspection" ,gobject-introspection)
6248 ("intltool" ,intltool)
6249 ("pkg-config" ,pkg-config)
ebb2873d 6250 ("vala" ,vala)
685cee87
SB
6251 ("xsltproc" ,libxslt)))
6252 (propagated-inputs
6253 `(("glib" ,glib) ; required by goa-1.0.pc
6254 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6255 (inputs
6256 `(("docbook-xsl" ,docbook-xsl)
6257 ("json-glib" ,json-glib)
6258 ("libsecret" ,libsecret)
6259 ("rest" ,rest)
685cee87
SB
6260 ("webkitgtk" ,webkitgtk)))
6261 (synopsis "Single sign-on framework for GNOME")
6262 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6263 (description
6264 "GNOME Online Accounts provides interfaces so that applications and
6265libraries in GNOME can access the user's online accounts. It has providers for
6266Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6267Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6268 (license license:lgpl2.0+)))
df217748
SB
6269
6270(define-public evolution-data-server
6271 (package
6272 (name "evolution-data-server")
2196a8d4 6273 (version "3.32.4")
df217748
SB
6274 (source (origin
6275 (method url-fetch)
6276 (uri (string-append "mirror://gnome/sources/" name "/"
6277 (version-major+minor version) "/"
6278 name "-" version ".tar.xz"))
43190ac6
MB
6279 (patches (search-patches "evolution-data-server-locales.patch"
6280 "evolution-data-server-libical-compat.patch"))
df217748
SB
6281 (sha256
6282 (base32
2196a8d4 6283 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6284 (build-system cmake-build-system)
df217748 6285 (arguments
b468eedc
RW
6286 '(#:configure-flags
6287 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6288 (runpaths (map (lambda (s)
6289 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6290 '("addressbook-backends" "calendar-backends"
6291 "camel-providers" "credential-modules"
6292 "registry-modules"))))
6293 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6294 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6295 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6296 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6297 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6298 (string-append lib "/evolution-data-server;")
6299 (string-join runpaths ";"))
6300 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6301 #:phases
6302 (modify-phases %standard-phases
b468eedc
RW
6303 (add-after 'unpack 'disable-failing-tests
6304 (lambda _
6305 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6306 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6307 (delete-file-recursively "tests/book-migration")
6308 (substitute* "tests/CMakeLists.txt"
6309 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6310 ;; tests/libebook/client/test-book-client-view-operations:8077):
6311 ;; e-data-server-WARNING **:
6312 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6313 ;; runtime check failed:
6314 ;; (!g_main_context_pending (closure->main_context))
6315 (substitute* "tests/libebook/client/CMakeLists.txt"
6316 (("test-book-client-view-operations") ""))
b468eedc 6317 #t))
743aebd7 6318 (add-after 'unpack 'patch-paths
df217748 6319 (lambda _
b468eedc
RW
6320 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6321 "tests/libedata-book/data-test-utils.c"
6322 "tests/libedata-book/test-book-cache-utils.c"
6323 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6324 (("/bin/rm") (which "rm")))
ac033c7b
MB
6325 #t))
6326 (add-before 'configure 'dont-override-rpath
6327 (lambda _
6328 (substitute* "CMakeLists.txt"
6329 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6330 ;; Remove it so the configure flag is respected.
6331 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6332 #t)))))
df217748
SB
6333 (native-inputs
6334 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6335 ("gobject-introspection" ,gobject-introspection)
6336 ("gperf" ,gperf)
6337 ("intltool" ,intltool)
6338 ("pkg-config" ,pkg-config)
a73c1cf8 6339 ("vala" ,vala)
743aebd7 6340 ("python" ,python-wrapper)))
df217748
SB
6341 (propagated-inputs
6342 ;; These are all in the Requires field of .pc files.
6343 `(("gtk+" ,gtk+)
6344 ("libical" ,libical)
6345 ("libsecret" ,libsecret)
6346 ("libsoup" ,libsoup)
6347 ("nss" ,nss)
6348 ("sqlite" ,sqlite)))
6349 (inputs
6350 `(("bdb" ,bdb)
6351 ("gcr" ,gcr)
14c297fd 6352 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6353 ("json-glib" ,json-glib)
b468eedc 6354 ("libcanberra" ,libcanberra)
743aebd7
MB
6355 ("libgweather" ,libgweather)
6356 ("mit-krb5" ,mit-krb5)
891199c6
MW
6357 ("openldap" ,openldap)
6358 ("webkitgtk" ,webkitgtk)))
df217748
SB
6359 (synopsis "Store address books and calendars")
6360 (home-page "https://wiki.gnome.org/Apps/Evolution")
6361 (description
6362 "This package provides a unified backend for programs that work with
6363contacts, tasks, and calendar information. It was originally developed for
6364Evolution (hence the name), but is now used by other packages as well.")
6365 (license license:lgpl2.0)))
bd7dfafa
SB
6366
6367(define-public caribou
6368 (package
6369 (name "caribou")
fe964bb5 6370 (version "0.4.21")
bd7dfafa
SB
6371 (source (origin
6372 (method url-fetch)
6373 (uri (string-append "mirror://gnome/sources/" name "/"
6374 (version-major+minor version) "/"
6375 name "-" version ".tar.xz"))
6376 (sha256
6377 (base32
fe964bb5 6378 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6379 (build-system glib-or-gtk-build-system)
6380 (arguments
6381 '(#:phases
6382 (modify-phases %standard-phases
6383 (add-before
6384 'build 'pre-build
6385 (lambda* (#:key outputs #:allow-other-keys)
6386 (let ((out (assoc-ref outputs "out")))
6387 ;; Use absolute shared library path in Caribou-1.0.typelib.
6388 (substitute* "libcaribou/Makefile"
6389 (("--shared-library=libcaribou.so")
6390 (string-append "--shared-library="
6391 out "/lib/libcaribou.so")))
6392 #t)))
6393 (add-after 'install 'wrap-programs
6394 (lambda* (#:key outputs #:allow-other-keys)
6395 (let* ((out (assoc-ref outputs "out"))
6396 (python-path (getenv "PYTHONPATH"))
6397 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6398 (for-each
6399 (lambda (prog)
6400 (wrap-program prog
6401 `("PYTHONPATH" ":" prefix (,python-path))
6402 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6403 (list (string-append out "/bin/caribou-preferences")
6404 (string-append out "/libexec/antler-keyboard"))))
6405 #t)))))
6406 (native-inputs
6407 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6408 ("gobject-introspection" ,gobject-introspection)
6409 ("intltool" ,intltool)
6410 ("pkg-config" ,pkg-config)
9f7f5ba2 6411 ("python" ,python)
bd7dfafa
SB
6412 ("vala" ,vala)
6413 ("xsltproc" ,libxslt)))
6414 (propagated-inputs
6415 ;; caribou-1.0.pc refers to all these.
6416 `(("libgee" ,libgee)
6417 ("libxklavier" ,libxklavier)
6418 ("libxtst" ,libxtst)
6419 ("gtk+" ,gtk+)))
6420 (inputs
6421 `(("clutter" ,clutter)
6422 ("dconf" ,dconf)
6423 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6424 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6425 (synopsis "Text entry and UI navigation application")
6426 (home-page "https://wiki.gnome.org/Projects/Caribou")
6427 (description
6428 "Caribou is an input assistive technology intended for switch and pointer
6429users.")
6430 (license license:lgpl2.1)))
ba5dd105 6431
ba5dd105
SB
6432(define-public network-manager
6433 (package
6434 (name "network-manager")
6425d87a 6435 (version "1.18.4")
ba5dd105
SB
6436 (source (origin
6437 (method url-fetch)
6438 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6439 (version-major+minor version) "/"
6440 "NetworkManager-" version ".tar.xz"))
7d1861e2 6441 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6442 (sha256
6443 (base32
6425d87a 6444 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6445 (modules '((guix build utils)))
fd070f35 6446 (snippet
02710a9b
RW
6447 '(begin
6448 (substitute* "src/devices/wwan/nm-modem-manager.c"
6449 (("systemd") "elogind"))
6450 #t))))
ba5dd105
SB
6451 (build-system gnu-build-system)
6452 (outputs '("out"
6453 "doc")) ; 8 MiB of gtk-doc HTML
6454 (arguments
6455 '(#:configure-flags
6456 (let ((out (assoc-ref %outputs "out"))
6457 (doc (assoc-ref %outputs "doc"))
6458 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6459 "/sbin/dhclient")))
02710a9b
RW
6460 (list "--with-libnm-glib" ; needed by network-manager-applet
6461 "--with-systemd-journal=no"
6462 "--with-session-tracking=elogind"
6463 "--with-suspend-resume=elogind"
fd070f35
CM
6464 "--with-consolekit=no"
6465 "--with-crypto=gnutls"
ba5dd105
SB
6466 "--disable-config-plugin-ibft"
6467 "--sysconfdir=/etc"
6468 "--localstatedir=/var"
6469 (string-append "--with-udev-dir="
6470 out "/lib/udev")
6471 (string-append "--with-dbus-sys-dir="
6472 out "/etc/dbus-1/system.d")
6473 (string-append "--with-html-dir="
6474 doc "/share/gtk-doc/html")
6475 (string-append "--with-dhclient=" dhclient)))
6476 #:phases
6477 (modify-phases %standard-phases
02710a9b
RW
6478 ;; This bare "ls" invocation breaks some tests.
6479 (add-after 'unpack 'patch-ls-invocation
6480 (lambda _
6481 (substitute* "build-aux/ltmain.sh"
6482 (("`ls -")
6483 (string-append "`" (which "ls") " -")))
6484 #t))
b4f59d87
AW
6485 (add-before 'configure 'pre-configure
6486 (lambda _
6487 ;; These tests try to test aspects of network-manager's
6488 ;; functionality within restricted containers, but they don't
6489 ;; cope with being already in the Guix build jail as that jail
6490 ;; lacks some features that they would like to proxy over (like
6491 ;; a /sys mount).
d04687dc
HG
6492 (substitute* '("Makefile.in")
6493 (("src/platform/tests/test-address-linux") " ")
6494 (("src/platform/tests/test-cleanup-linux") " ")
6495 (("src/platform/tests/test-link-linux") " ")
6496 (("src/platform/tests/test-route-linux") " ")
02710a9b 6497 (("src/devices/tests/test-acd") "")
d04687dc
HG
6498 (("src/devices/tests/test-arping") " ")
6499 (("src/devices/tests/test-lldp") " ")
6500 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6501 #t))
45f80fce
RW
6502 (add-after 'unpack 'delete-failing-tests
6503 (lambda _
02710a9b 6504 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6505 ;; ERROR:libnm-core/tests/test-general.c:5842:
6506 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6507 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6508 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6509 ;; ERROR:libnm-core/tests/test-setting.c:907:
6510 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6511 (substitute* "Makefile.in"
6512 (("libnm-core/tests/test-general") " ")
6513 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6514 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6515 #t))
ba5dd105
SB
6516 (add-before 'check 'pre-check
6517 (lambda _
6518 ;; For the missing /etc/machine-id.
6519 (setenv "DBUS_FATAL_WARNINGS" "0")
6520 #t))
6521 (replace 'install
6522 (lambda _
45f80fce
RW
6523 (invoke "make"
6524 "sysconfdir=/tmp"
6525 "rundir=/tmp"
6526 "statedir=/tmp"
6527 "nmstatedir=/tmp/nm"
6528 "install")
6529 #t)))))
b93502d6
DC
6530 (propagated-inputs
6531 `(("glib" ,glib)))
ba5dd105
SB
6532 (native-inputs
6533 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6534 ("gobject-introspection" ,gobject-introspection)
d04687dc 6535 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6536 ("intltool" ,intltool)
d04687dc
HG
6537 ("libxslt" ,libxslt)
6538 ("libxml2" ,libxml2)
ba5dd105
SB
6539 ("pkg-config" ,pkg-config)
6540 ;; For testing.
6541 ("python" ,python-wrapper)
6542 ("python-dbus" ,python-dbus)
6543 ("python-pygobject" ,python-pygobject)))
6544 (inputs
02710a9b
RW
6545 `(("coreutils" ,coreutils) ; for ls
6546 ("curl" ,curl)
856ca567
KK
6547 ("cyrus-sasl" ,cyrus-sasl)
6548 ("dbus-glib" ,dbus-glib)
ba5dd105 6549 ("dnsmasq" ,dnsmasq)
856ca567 6550 ("eudev" ,eudev)
ba5dd105
SB
6551 ("gnutls" ,gnutls)
6552 ("iptables" ,iptables)
6553 ("isc-dhcp" ,isc-dhcp)
d04687dc 6554 ("jansson" ,jansson)
ba5dd105
SB
6555 ("libgcrypt" ,libgcrypt)
6556 ("libgudev" ,libgudev)
6557 ("libndp" ,libndp)
6558 ("libnl" ,libnl)
6559 ("libsoup" ,libsoup)
142bdcbc 6560 ("modem-manager" ,modem-manager)
c27e02bf 6561 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6562 ("polkit" ,polkit)
6563 ("ppp" ,ppp)
6564 ("readline" ,readline)
fd070f35
CM
6565 ("util-linux" ,util-linux)
6566 ("elogind" ,elogind)))
ba5dd105 6567 (synopsis "Network connection manager")
f032d0be 6568 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6569 (description
6570 "NetworkManager is a system network service that manages your network
6571devices and connections, attempting to keep active network connectivity when
6572available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6573devices, and provides VPN integration with a variety of different VPN
6574services.")
29d2f451
LC
6575 (license license:gpl2+)
6576 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6577
f2b96b3a
LC
6578(define-public network-manager-openvpn
6579 (package
6580 (name "network-manager-openvpn")
be1c4b07 6581 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6582 (version "1.8.10")
f2b96b3a
LC
6583 (source (origin
6584 (method url-fetch)
6585 (uri (string-append
6586 "mirror://gnome/sources/NetworkManager-openvpn/"
6587 (version-major+minor version)
6588 "/NetworkManager-openvpn-" version ".tar.xz"))
6589 (sha256
6590 (base32
7d87eede 6591 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6592 (build-system gnu-build-system)
6593 (arguments
633422b0
JL
6594 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6595 #:phases
6596 (modify-phases %standard-phases
6597 (add-after 'configure 'patch-path
6598 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6599 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6600 "/sbin/openvpn"))
6601 (modprobe (string-append (assoc-ref inputs "kmod")
6602 "/bin/modprobe"))
6603 (pretty-ovpn (string-append "\"" ovpn "\"")))
6604 (for-each
6605 (lambda (file)
6606 (substitute* file
6607 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6608 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6609 (("\"/sbin/openvpn\"") pretty-ovpn)
6610 (("/sbin/modprobe") modprobe)))
6611 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6612 #t)))))
f2b96b3a
LC
6613 (native-inputs
6614 `(("pkg-config" ,pkg-config)
6615 ("intltool" ,intltool)))
6616 (inputs
6617 `(("gtk+" ,gtk+)
633422b0 6618 ("kmod" ,kmod)
f2b96b3a
LC
6619 ("openvpn" ,openvpn)
6620 ("network-manager" ,network-manager)
6621 ("network-manager-applet" ,network-manager-applet) ;for libnma
6622 ("libsecret" ,libsecret)))
6623 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6624 (synopsis "OpenVPN plug-in for NetworkManager")
6625 (description
6626 "This extension of NetworkManager allows it to take care of connections
6627to virtual private networks (VPNs) via OpenVPN.")
6628 (license license:gpl2+)
6629 (properties `((upstream-name . "NetworkManager-openvpn")))))
6630
d376129f
JL
6631(define-public network-manager-vpnc
6632 (package
6633 (name "network-manager-vpnc")
6634 (version "1.2.6")
6635 (source (origin
6636 (method url-fetch)
6637 (uri (string-append
6638 "mirror://gnome/sources/NetworkManager-vpnc/"
6639 (version-major+minor version)
6640 "/NetworkManager-vpnc-" version ".tar.xz"))
6641 (sha256
6642 (base32
6643 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6644 (build-system gnu-build-system)
6645 (arguments
6646 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6647 #:phases
6648 (modify-phases %standard-phases
6649 (add-after 'configure 'patch-path
6650 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6651 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6652 "/sbin/vpnc"))
6653 (modprobe (string-append (assoc-ref inputs "kmod")
6654 "/bin/modprobe"))
6655 (pretty-ovpn (string-append "\"" vpnc "\"")))
6656 (substitute* "src/nm-vpnc-service.c"
6657 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6658 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6659 (("\"/sbin/vpnc\"") pretty-ovpn)
6660 (("/sbin/modprobe") modprobe)))
6661 #t)))))
6662 (native-inputs
6663 `(("pkg-config" ,pkg-config)
6664 ("intltool" ,intltool)))
6665 (inputs
6666 `(("gtk+" ,gtk+)
6667 ("kmod" ,kmod)
6668 ("vpnc" ,vpnc)
6669 ("network-manager" ,network-manager)
6670 ("network-manager-applet" ,network-manager-applet) ;for libnma
6671 ("libsecret" ,libsecret)))
6672 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6673 (synopsis "VPNC plug-in for NetworkManager")
6674 (description
6675 "Support for configuring virtual private networks based on VPNC.
6676Compatible with Cisco VPN concentrators configured to use IPsec.")
6677 (license license:gpl2+)
6678 (properties `((upstream-name . "NetworkManager-vpnc")))))
6679
8378c87a
EF
6680(define-public network-manager-openconnect
6681 (package
6682 (name "network-manager-openconnect")
6683 (version "1.2.6")
6684 (source (origin
6685 (method url-fetch)
6686 (uri (string-append
6687 "mirror://gnome/sources/NetworkManager-openconnect/"
6688 (version-major+minor version)
6689 "/NetworkManager-openconnect-" version ".tar.xz"))
6690 (sha256
6691 (base32
6692 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6693 (build-system gnu-build-system)
6694 (arguments
6695 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6696 #:phases
6697 (modify-phases %standard-phases
6698 (add-after 'configure 'patch-path
6699 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6700 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6701 "/sbin/openconnect"))
6702 (modprobe (string-append (assoc-ref inputs "kmod")
6703 "/bin/modprobe"))
6704 (pretty-ovpn (string-append "\"" openconnect "\"")))
6705 (substitute* "src/nm-openconnect-service.c"
6706 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6707 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6708 (("/sbin/modprobe") modprobe)))
6709 #t)))))
6710 (native-inputs
6711 `(("intltool" ,intltool)
6712 ("network-manager-applet" ,network-manager-applet) ;for libnma
6713 ("pkg-config" ,pkg-config)))
6714 (inputs
6715 `(("gcr" ,gcr)
6716 ("gtk+" ,gtk+)
6717 ("kmod" ,kmod)
6718 ("libsecret" ,libsecret)
6719 ("libxml2" ,libxml2)
6720 ("network-manager" ,network-manager)
6721 ("openconnect" ,openconnect)))
6722 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6723 (synopsis "OpenConnect plug-in for NetworkManager")
6724 (description
6725 "This extension of NetworkManager allows it to take care of connections
6726to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6727Cisco's AnyConnect SSL VPN.")
6728 (license license:gpl2+)
e52b9534
LC
6729 (properties `((upstream-name . "NetworkManager-openconnect")
6730
6731 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6732 ;; file refers to account "nm-openconnect". Specify it here
6733 ;; so that 'network-manager-service-type' creates it.
6734 (user-accounts . ("nm-openconnect"))))))
8378c87a 6735
e5e1df4d
DC
6736(define-public mobile-broadband-provider-info
6737 (package
6738 (name "mobile-broadband-provider-info")
310c89e3 6739 (version "20190116")
e5e1df4d
DC
6740 (source (origin
6741 (method url-fetch)
6742 (uri (string-append
6743 "mirror://gnome/sources/"
6744 "mobile-broadband-provider-info/" version "/"
6745 "mobile-broadband-provider-info-" version ".tar.xz"))
6746 (sha256
6747 (base32
310c89e3 6748 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6749 (build-system gnu-build-system)
6750 (arguments
310c89e3 6751 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6752 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6753 (synopsis "Database of broadband connection configuration")
6754 (description "Database of broadband connection configuration.")
6755 (license license:public-domain)))
6756
4d62a9d3
SB
6757(define-public network-manager-applet
6758 (package
6759 (name "network-manager-applet")
8fc3a337 6760 (version "1.8.24")
4d62a9d3
SB
6761 (source (origin
6762 (method url-fetch)
3df63444 6763 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6764 (version-major+minor version) "/"
3df63444 6765 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6766 (sha256
6767 (base32
8fc3a337 6768 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6769 (build-system meson-build-system)
6770 (arguments
be1c4b07
TGR
6771 '(#:configure-flags
6772 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6773 (list "-Dlibnm_gtk=true")
6774 #:glib-or-gtk? #t))
4d62a9d3
SB
6775 (native-inputs
6776 `(("intltool" ,intltool)
cd7f718e 6777 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6778 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6779 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6780 ("pkg-config" ,pkg-config)))
6781 (propagated-inputs
6782 ;; libnm-gtk.pc refers to all these.
6783 `(("dbus-glib" ,dbus-glib)
6784 ("gtk+" ,gtk+)
6785 ("network-manager" ,network-manager)))
6786 (inputs
cd7f718e
RW
6787 `(("gcr" ,gcr)
6788 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6789 ("libgudev" ,libgudev)
6790 ("libnotify" ,libnotify)
2116bfb3 6791 ("libsecret" ,libsecret)
240cee8a
KK
6792 ("libselinux" ,libselinux)
6793 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6794 ("modem-manager" ,modem-manager)
6795 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6796 (synopsis "Applet for managing network connections")
f032d0be 6797 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6798 (description
6799 "This package contains a systray applet for NetworkManager. It displays
6800the available networks and allows users to easily switch between them.")
6801 (license license:gpl2+)))
56196594
RW
6802
6803(define-public libxml++
6804 (package
6805 (name "libxml++")
8344a85e 6806 (version "3.0.1")
56196594
RW
6807 (source (origin
6808 (method url-fetch)
6809 (uri (string-append "mirror://gnome/sources/" name "/"
6810 (version-major+minor version) "/"
6811 name "-" version ".tar.xz"))
6812 (sha256
6813 (base32
8344a85e 6814 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6815 (build-system gnu-build-system)
6816 ;; libxml++-3.0.pc refers to all these.
6817 (propagated-inputs
6818 `(("libxml2" ,libxml2)
6819 ("glibmm" ,glibmm)))
6820 (native-inputs
6821 `(("perl" ,perl)
6822 ("pkg-config" ,pkg-config)))
6823 (home-page "http://libxmlplusplus.sourceforge.net/")
6824 (synopsis "C++ wrapper for XML parser library libxml2")
6825 (description
6826 "This package provides a C++ wrapper for the XML parser library
6827libxml2.")
6828 (license license:lgpl2.1+)))
df12f04a 6829
b61d9627
AW
6830(define-public libxml++-2
6831 (package
6832 (inherit libxml++)
6833 (name "libxml++")
6834 (version "2.40.1")
6835 (source (origin
6836 (method url-fetch)
6837 (uri (string-append "mirror://gnome/sources/" name "/"
6838 (version-major+minor version) "/"
6839 name "-" version ".tar.xz"))
6840 (sha256
6841 (base32
6842 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6843
df12f04a
SB
6844(define-public gdm
6845 (package
6846 (name "gdm")
bcca95dc 6847 (version "3.32.0")
df12f04a
SB
6848 (source (origin
6849 (method url-fetch)
6850 (uri (string-append "mirror://gnome/sources/" name "/"
6851 (version-major+minor version) "/"
6852 name "-" version ".tar.xz"))
6853 (sha256
6854 (base32
bcca95dc 6855 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6856 (build-system glib-or-gtk-build-system)
df12f04a
SB
6857 (arguments
6858 '(#:configure-flags
af37e6bb 6859 `("--without-plymouth"
957dbc0a 6860 "--disable-systemd-journal"
51bc8357
TS
6861
6862 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6863 ;; instead of having to replace it (i.e., stopping the mingetty
6864 ;; service for TTY 1 before starting GDM).
6865 "--with-initial-vt=7"
6866
89c86562
TS
6867 ;; Use '/etc/environment' for locale settings instead of the
6868 ;; systemd-specific '/etc/locale.conf'.
6869 "--with-lang-file=/etc/environment"
6870
b74ef0ba
RW
6871 ,(string-append "--with-udevdir="
6872 (assoc-ref %outputs "out") "/lib/udev")
6873
af37e6bb
AW
6874 "--localstatedir=/var"
6875 ,(string-append "--with-default-path="
6876 (string-join '("/run/setuid-programs"
6877 "/run/current-system/profile/bin"
6878 "/run/current-system/profile/sbin")
957dbc0a
AW
6879 ":"))
6880 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6881 ;; XDG_DATA_DIRS so that it finds its schemas.
6882 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6883 #:phases
6884 (modify-phases %standard-phases
6885 (add-before
6886 'configure 'pre-configure
e8c6e771 6887 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6888 ;; We don't have <systemd/sd-daemon.h>.
6889 (substitute* '("common/gdm-log.c"
6890 "daemon/gdm-server.c"
6891 "daemon/gdm-session-worker.c"
6892 "daemon/gdm-session-worker-job.c")
6893 (("#include <systemd/sd-daemon\\.h>") ""))
6894 ;; Use elogind for sd-login.
6895 (substitute* '("common/gdm-common.c"
6896 "daemon/gdm-manager.c"
6897 "libgdm/gdm-user-switching.c")
6898 (("#include <systemd/sd-login\\.h>")
6899 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6900 ;; Check for elogind.
6901 (substitute* '("configure")
6902 (("libsystemd")
6903 "libelogind"))
af37e6bb
AW
6904 ;; Look for system-installed sessions in
6905 ;; /run/current-system/profile/share.
6906 (substitute* '("libgdm/gdm-sessions.c"
6907 "daemon/gdm-session.c"
6908 "daemon/gdm-display.c"
6909 "daemon/gdm-launch-environment.c")
6910 (("DATADIR \"/x")
6911 "\"/run/current-system/profile/share/x")
6912 (("DATADIR \"/wayland")
6913 "\"/run/current-system/profile/share/wayland")
6914 (("DATADIR \"/gnome")
6915 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6916 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6917 "GDM_DBUS_DAEMON"
c9ff92b5 6918 "GDM_X_SERVER"
41fa9f18 6919 "GDM_X_SESSION"
c9ff92b5
TS
6920 ;; XXX: Remove this once GNOME Shell is
6921 ;; a dependency of GDM.
6922 "XDG_DATA_DIRS")))
6923 (substitute* "daemon/gdm-session.c"
6924 (("set_up_session_environment \\(self\\);")
6925 (apply string-append
6926 "set_up_session_environment (self);\n"
6927 (map (lambda (name)
6928 (string-append
6929 "gdm_session_set_environment_variable "
6930 "(self, \"" name "\","
6931 "g_getenv (\"" name "\"));\n"))
6932 propagate)))))
a430a350
TS
6933 ;; Find the configuration file using an environment variable.
6934 (substitute* '("common/gdm-settings.c")
e0e6756f 6935 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6936 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6937 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6938 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6939 ;; Use service-supplied path to X.
6940 (substitute* '("daemon/gdm-server.c")
6941 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6942 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6943 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6944 (("\"dbus-daemon\"")
6945 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6946 (("X_SERVER")
41fa9f18
TS
6947 "g_getenv (\"GDM_X_SERVER\")")
6948 (("GDMCONFDIR \"/Xsession\"")
6949 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6950 ;; Use an absolute path for GNOME Session.
6951 (substitute* "daemon/gdm-launch-environment.c"
6952 (("\"gnome-session\"")
6953 (string-append "\"" (assoc-ref inputs "gnome-session")
6954 "/bin/gnome-session\"")))
e8c6e771
TS
6955 ;; Do not automatically select the placeholder session.
6956 (substitute* "daemon/gdm-session.c"
6957 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6958 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6959 "(g_strcmp0(search_dirs[i], \""
6960 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6961 "\") == 0 && "
6962 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6963 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6964 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6965 #t))
8caa4589
TS
6966 ;; GDM requires that there be at least one desktop entry
6967 ;; file. This phase installs a hidden one that simply
6968 ;; fails. This enables users to use GDM with a
6969 ;; '~/.xsession' script with no other desktop entry files.
6970 ;; See <https://bugs.gnu.org/35068>.
6971 (add-after 'install 'install-placeholder-desktop-entry
6972 (lambda* (#:key inputs outputs #:allow-other-keys)
6973 (let* ((out (assoc-ref outputs "out"))
6974 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6975 (fail (string-append sessions "/fail.desktop")))
6976 (mkdir-p sessions)
6977 (with-output-to-file fail
6978 (lambda ()
6979 (for-each
6980 display
6981 '("[Desktop Entry]\n"
6982 "Encoding=UTF-8\n"
6983 "Type=Application\n"
6984 "Name=Fail\n"
6985 "Comment=This session fails immediately.\n"
6986 "NoDisplay=true\n"
6987 "Exec=false\n"))))
6988 #t)))
69544798
TS
6989 ;; GDM needs GNOME Session to run these applications. We link
6990 ;; their autostart files in `share/gdm/greeter/autostart'
6991 ;; because GDM explicitly tells GNOME Session to look there.
6992 ;;
6993 ;; XXX: GNOME Shell should be linked here too, but currently
6994 ;; GNOME Shell depends on GDM.
6995 (add-after 'install 'link-autostart-files
6996 (lambda* (#:key inputs outputs #:allow-other-keys)
6997 (let* ((out (assoc-ref outputs "out"))
6998 (autostart (string-append out "/share/gdm/"
6999 "greeter/autostart"))
7000 (settings (assoc-ref inputs "gnome-settings-daemon")))
7001 (mkdir-p autostart)
7002 (with-directory-excursion autostart
7003 (for-each (lambda (desktop)
7004 (symlink desktop (basename desktop)))
7005 (find-files (string-append settings "/etc/xdg"))))
7006 #t))))))
df12f04a
SB
7007 (native-inputs
7008 `(("dconf" ,dconf)
7009 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7010 ("gobject-introspection" ,gobject-introspection)
7011 ("intltool" ,intltool)
7012 ("itstool" ,itstool)
7013 ("pkg-config" ,pkg-config)
7014 ("xmllint" ,libxml2)))
7015 (inputs
7016 `(("accountsservice" ,accountsservice)
7017 ("check" ,check) ; for testing
7018 ("elogind" ,elogind)
def6d6b6 7019 ("gnome-session" ,gnome-session)
69544798 7020 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7021 ("gtk+" ,gtk+)
7022 ("iso-codes" ,iso-codes)
7023 ("libcanberra" ,libcanberra)
7024 ("linux-pam" ,linux-pam)))
7025 (synopsis "Display manager for GNOME")
f032d0be 7026 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7027 (description
7028 "GNOME Display Manager is a system service that is responsible for
7029providing graphical log-ins and managing local and remote displays.")
7030 (license license:gpl2+)))
8e1dd04f
SB
7031
7032(define-public libgtop
7033 (package
7034 (name "libgtop")
015fc036 7035 (version "2.40.0")
8e1dd04f
SB
7036 (source (origin
7037 (method url-fetch)
59487fc2 7038 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7039 (version-major+minor version) "/"
59487fc2 7040 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7041 (sha256
7042 (base32
015fc036 7043 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7044 (build-system gnu-build-system)
7045 (native-inputs
7046 `(("gobject-introspection" ,gobject-introspection)
7047 ("intltool" ,intltool)
7048 ("perl" ,perl)
7049 ("pkg-config" ,pkg-config)))
7050 (propagated-inputs
7051 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7052 (synopsis "Portable system access library")
7053 (home-page "https://www.gnome.org/")
7054 (description
7055 "LibGTop is a library to get system specific data such as CPU and memory
7056usage and information about running processes.")
7057 (license license:gpl2+)))
b96c4260
SB
7058
7059(define-public gnome-bluetooth
7060 (package
7061 (name "gnome-bluetooth")
723afae6 7062 (version "3.32.1")
b96c4260
SB
7063 (source (origin
7064 (method url-fetch)
7065 (uri (string-append "mirror://gnome/sources/" name "/"
7066 (version-major+minor version) "/"
7067 name "-" version ".tar.xz"))
7068 (sha256
7069 (base32
723afae6 7070 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 7071 (build-system meson-build-system)
b96c4260
SB
7072 (native-inputs
7073 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7074 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7075 ("gobject-introspection" ,gobject-introspection)
7076 ("intltool" ,intltool)
7077 ("pkg-config" ,pkg-config)
7078 ("xmllint" ,libxml2)))
7079 (propagated-inputs
7080 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7081 `(("glib" ,glib)
7082 ("gtk+" ,gtk+)))
b96c4260 7083 (inputs
723afae6
KK
7084 `(("eudev" ,eudev)
7085 ("libcanberra" ,libcanberra)
b96c4260
SB
7086 ("libnotify" ,libnotify)))
7087 (synopsis "GNOME Bluetooth subsystem")
7088 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7089 (description
7090 "This package contains tools for managing and manipulating Bluetooth
7091devices using the GNOME desktop.")
7092 (license license:lgpl2.1+)))
b645146f
SB
7093
7094(define-public gnome-control-center
7095 (package
7096 (name "gnome-control-center")
a6938bac 7097 (version "3.32.2")
b645146f
SB
7098 (source (origin
7099 (method url-fetch)
7100 (uri (string-append "mirror://gnome/sources/" name "/"
7101 (version-major+minor version) "/"
7102 name "-" version ".tar.xz"))
7103 (sha256
7104 (base32
a6938bac 7105 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 7106 (build-system meson-build-system)
b645146f 7107 (arguments
59dac026
RW
7108 '(#:glib-or-gtk? #t
7109 #:configure-flags
64c70430
KK
7110 (list "-Dcheese=false"
7111 (string-append "-Dgnome_session_libexecdir="
7112 (assoc-ref %build-inputs "gnome-session")
7113 "/libexec"))
59dac026 7114 #:phases
b645146f
SB
7115 (modify-phases %standard-phases
7116 (add-before 'configure 'patch-paths
7117 (lambda* (#:key inputs #:allow-other-keys)
7118 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7119 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7120 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7121 (nm-applet (assoc-ref inputs "network-manager-applet"))
7122 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7123 (substitute* "panels/datetime/tz.h"
7124 (("/usr/share/zoneinfo/zone.tab")
7125 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7126 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7127 (("/usr/share/locale")
7128 (string-append libc "/share/locale")))
1df38cfc
LC
7129 (substitute* "panels/region/cc-region-panel.c"
7130 (("\"gkbd-keyboard-display")
7131 (string-append "\"" libgnomekbd
7132 "/bin/gkbd-keyboard-display")))
341225ac
LC
7133 (substitute* '("panels/network/net-device-wifi.c"
7134 "panels/network/net-device.c"
7135 "panels/network/connection-editor/net-connection-editor.c")
7136 (("\"nm-connection-editor")
7137 (string-append "\"" nm-applet
7138 "/bin/nm-connection-editor")))
1acd107c
FP
7139 (substitute* '("panels/user-accounts/run-passwd.c")
7140 (("/usr/bin/passwd")
7141 "/run/setuid-programs/passwd"))
64c70430
KK
7142 (substitute* "panels/info/cc-info-overview-panel.c"
7143 (("DATADIR \"/gnome/gnome-version.xml\"")
7144 (string-append "\"" gnome-desktop
7145 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7146 #t))))))
7147 (native-inputs
7148 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7149 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7150 ("intltool" ,intltool)
7151 ("pkg-config" ,pkg-config)
a6938bac
KK
7152 ("xsltproc" ,libxslt)
7153 ;; For tests
7154 ("hicolor-icon-theme" ,hicolor-icon-theme)
7155 ("python-dbusmock" ,python-dbusmock)
7156 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7157 (inputs
7158 `(("accountsservice" ,accountsservice)
7159 ("clutter-gtk" ,clutter-gtk)
7160 ("colord-gtk" ,colord-gtk)
7161 ("cups" ,cups)
7162 ("dconf" ,dconf)
7163 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7164 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7165 ("gnome-bluetooth" ,gnome-bluetooth)
7166 ("gnome-desktop" ,gnome-desktop)
7167 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7168 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7169 ("gnome-session" ,gnome-session)
b645146f
SB
7170 ("gnome-settings-daemon" ,gnome-settings-daemon)
7171 ("grilo" ,grilo)
a6938bac 7172 ("gsound" ,gsound)
b645146f
SB
7173 ("ibus" ,ibus)
7174 ("libcanberra" ,libcanberra)
1df38cfc 7175 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7176 ("libgudev" ,libgudev)
7177 ("libgtop" ,libgtop)
7178 ("libpwquality" ,libpwquality)
982c0b36 7179 ("libsecret" ,libsecret)
b645146f
SB
7180 ("libsoup" ,libsoup)
7181 ("libxml2" ,libxml2)
7182 ("libwacom" ,libwacom)
7183 ("mesa" ,mesa)
7184 ("mit-krb5" ,mit-krb5)
7185 ("modem-manager" ,modem-manager)
7186 ("network-manager-applet" ,network-manager-applet)
7187 ("polkit" ,polkit)
7188 ("pulseaudio" ,pulseaudio)
7189 ("smbclient" ,samba)
7190 ("tzdata" ,tzdata)
982c0b36 7191 ("udisks" ,udisks)
b645146f
SB
7192 ("upower" ,upower)))
7193 (synopsis "Utilities to configure the GNOME desktop")
7194 (home-page "https://www.gnome.org/")
7195 (description
7196 "This package contains configuration applets for the GNOME desktop,
7197allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7198properties, sound setup, desktop theme and background, user interface
7199properties, screen resolution, and other GNOME parameters.")
7200 (license license:gpl2+)))
a4df5756
SB
7201
7202(define-public gnome-shell
7203 (package
7204 (name "gnome-shell")
d5e615ca 7205 (version "3.32.2")
a4df5756
SB
7206 (source (origin
7207 (method url-fetch)
7208 (uri (string-append "mirror://gnome/sources/" name "/"
7209 (version-major+minor version) "/"
7210 name "-" version ".tar.xz"))
7211 (sha256
7212 (base32
d5e615ca 7213 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7214 (patches (search-patches "gnome-shell-theme.patch"))
7215 (modules '((guix build utils)))
7216 (snippet
7217 #~(begin
a76d0f03
LC
7218 ;; Copy images for use on the GDM log-in screen.
7219 (copy-file #$(file-append %artwork-repository
7220 "/slim/0.x/background.png")
7221 "data/theme/guix-background.png")
45fef894
LC
7222 (copy-file #$(file-append %artwork-repository
7223 "/logo/Guix-horizontal-white.svg")
7224 "data/theme/guix-logo.svg")
a76d0f03 7225 #t))))
2b0c755d 7226 (build-system meson-build-system)
a4df5756 7227 (arguments
08185081
MB
7228 `(#:glib-or-gtk? #t
7229 #:disallowed-references ((,glib "bin")
11e1df56
LC
7230 ,inkscape ,libxslt
7231 ,ruby-sass)
2b0c755d
RW
7232 #:configure-flags
7233 (list "-Dsystemd=false"
7234 ;; Otherwise, the RUNPATH will lack the final path component.
7235 (string-append "-Dc_link_args=-Wl,-rpath="
7236 (assoc-ref %outputs "out")
7237 "/lib/gnome-shell"))
11e1df56 7238
08185081 7239 #:modules ((guix build meson-build-system)
11e1df56
LC
7240 (guix build utils)
7241 (srfi srfi-1))
7242
2b0c755d 7243 #:phases
a4df5756 7244 (modify-phases %standard-phases
2b0c755d 7245 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7246 (lambda* (#:key outputs #:allow-other-keys)
7247 (let* ((out (assoc-ref outputs "out"))
7248 (keysdir (string-append
7249 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7250 (substitute* "meson.build"
7251 (("keysdir =.*")
7252 (string-append "keysdir = '" keysdir "'\n")))
7253 #t)))
ebfe259f
MB
7254 (add-before 'configure 'convert-logo-to-png
7255 (lambda* (#:key inputs #:allow-other-keys)
7256 ;; Convert the logo from SVG to PNG.
7257 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7258 "data/theme/guix-logo.svg")))
ba00235a 7259 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7260 (lambda* (#:key inputs #:allow-other-keys)
7261 (substitute* "js/misc/ibusManager.js"
7262 (("'ibus-daemon'")
7263 (string-append "'" (assoc-ref inputs "ibus")
7264 "/bin/ibus-daemon'")))
d6fda4d3
LC
7265 (substitute* "js/ui/status/keyboard.js"
7266 (("'gkbd-keyboard-display'")
7267 (string-append "'" (assoc-ref inputs "libgnomekbd")
7268 "/bin/gkbd-keyboard-display'")))
2472cdec 7269 #t))
2b0c755d
RW
7270 (add-before 'check 'pre-check
7271 (lambda* (#:key inputs #:allow-other-keys)
7272 ;; Tests require a running X server.
7273 (system "Xvfb :1 &")
7274 (setenv "DISPLAY" ":1")
7275 #t))
7276 (add-after 'install 'wrap-programs
7277 (lambda* (#:key inputs outputs #:allow-other-keys)
7278 (let ((out (assoc-ref outputs "out"))
7279 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7280 (python-path (getenv "PYTHONPATH")))
7281 (wrap-program (string-append out "/bin/gnome-shell")
7282 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7283 ;; FIXME: gnome-shell loads these libraries with unqualified
7284 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7285 ;; alternative might be to patch gnome-shell.
7286 `("LD_LIBRARY_PATH" ":" prefix
7287 ,(map (lambda (pkg)
7288 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7289 '("gdk-pixbuf"
7290 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7291 (for-each
7292 (lambda (prog)
7293 (wrap-program (string-append out "/bin/" prog)
7294 `("PYTHONPATH" ":" prefix (,python-path))
7295 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7296 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7297 #t)))
11e1df56
LC
7298 (replace 'glib-or-gtk-wrap
7299 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7300 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7301 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7302 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7303 ;; phase. Fix that since we don't need these.
7304 (wrap #:inputs (fold alist-delete inputs
7305 '("inkscape" "intltool" "glib:bin"))
7306 #:outputs outputs)))))))
a4df5756
SB
7307 (native-inputs
7308 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7309 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7310 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7311 ("inkscape" ,inkscape)
a4df5756
SB
7312 ("intltool" ,intltool)
7313 ("pkg-config" ,pkg-config)
7314 ("python" ,python)
2b0c755d
RW
7315 ("ruby-sass" ,ruby-sass)
7316 ("sassc" ,sassc)
a76d0f03 7317 ("xsltproc" ,libxslt)
2b0c755d 7318 ;; For tests
0b4504f6 7319 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7320 (inputs
7321 `(("accountsservice" ,accountsservice)
7322 ("caribou" ,caribou)
7323 ("docbook-xsl" ,docbook-xsl)
7324 ("evolution-data-server" ,evolution-data-server)
7325 ("gcr" ,gcr)
7326 ("gdm" ,gdm)
c5db31d4 7327 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7328 ("gjs" ,gjs)
7329 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7330 ("gnome-desktop" ,gnome-desktop)
7331 ("gnome-settings-daemon" ,gnome-settings-daemon)
7332 ("gst-plugins-base" ,gst-plugins-base)
7333 ("ibus" ,ibus)
7334 ("libcanberra" ,libcanberra)
7335 ("libcroco" ,libcroco)
d6fda4d3 7336 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7337 ("libgweather" ,libgweather)
7338 ("libsoup" ,libsoup)
7339 ("mesa-headers" ,mesa-headers)
7340 ("mutter" ,mutter)
7341 ("network-manager-applet" ,network-manager-applet)
7342 ("polkit" ,polkit)
7343 ("pulseaudio" ,pulseaudio)
7344 ("python-pygobject" ,python-pygobject)
7345 ("startup-notification" ,startup-notification)
7346 ("telepathy-logger" ,telepathy-logger)
7347 ("upower" ,upower)
30e760f0
MB
7348 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7349 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7350 ("librsvg" ,librsvg)
2b0c755d 7351 ("geoclue" ,geoclue)))
a4df5756
SB
7352 (synopsis "Desktop shell for GNOME")
7353 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7354 (description
7355 "GNOME Shell provides core user interface functions for the GNOME desktop,
7356like switching to windows and launching applications.")
7357 (license license:gpl2+)))
c3f29bc9
RS
7358
7359(define-public gtk-vnc
7360 (package
7361 (name "gtk-vnc")
965ff023 7362 (version "0.9.0")
c3f29bc9
RS
7363 (source
7364 (origin
7365 (method url-fetch)
7366 (uri (string-append "mirror://gnome/sources/" name "/"
7367 (version-major+minor version) "/"
7368 name "-" version ".tar.xz"))
7369 (sha256
7370 (base32
965ff023 7371 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7372 (build-system gnu-build-system)
7373 (arguments
7374 '(#:configure-flags '("--with-gtk=3.0")))
7375 (propagated-inputs
7376 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7377 (inputs
7378 `(("cyrus-sasl" ,cyrus-sasl)
7379 ("gnutls" ,gnutls)
7380 ("libgcrypt" ,libgcrypt)
7381 ("pulseaudio" ,pulseaudio)))
7382 (native-inputs
7383 `(("glib:bin" ,glib "bin")
7384 ("gobject-introspection" ,gobject-introspection)
7385 ("intltool" ,intltool)
7386 ("pkg-config" ,pkg-config)
2f17e939 7387 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7388 ("vala" ,vala)))
7389 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7390 (synopsis "VNC viewer widget for GTK+")
7391 (description
7392 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7393applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7394GTK-VNC implements client side RFB protocol and authentication extensions such
7395as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7396 (license license:lgpl2.1+)))
8b877545 7397
dc69fe18
MW
7398(define-public gnome-autoar
7399 (package
7400 (name "gnome-autoar")
c7da8510 7401 (version "0.2.3")
dc69fe18
MW
7402 (source (origin
7403 (method url-fetch)
7404 (uri (string-append "mirror://gnome/sources/" name "/"
7405 (version-major+minor version) "/"
7406 name "-" version ".tar.xz"))
7407 (sha256
7408 (base32
c7da8510 7409 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7410 (build-system glib-or-gtk-build-system)
7411 (native-inputs
7412 `(("gnome-common" ,gnome-common)
7413 ("gobject-introspection" ,gobject-introspection)
7414 ("pkg-config" ,pkg-config)))
7415 (propagated-inputs
7416 `(("libarchive" ,libarchive))) ; XXX document why
7417 (inputs
0a6e9e13 7418 `(("gtk+" ,gtk+)))
dc69fe18
MW
7419 (synopsis "Archives integration support for GNOME")
7420 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7421 (description
7422 "GNOME Autoar is a library which makes creating and extracting archives
7423easy, safe, and automatic.")
7424 (license license:lgpl2.1+)))
7425
b64e217f
MW
7426(define-public tracker
7427 (package
7428 (name "tracker")
63db190a 7429 (version "2.3.2")
b64e217f
MW
7430 (source (origin
7431 (method url-fetch)
b5b0fd23 7432 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7433 (version-major+minor version) "/"
b5b0fd23 7434 "tracker-" version ".tar.xz"))
b64e217f
MW
7435 (sha256
7436 (base32
63db190a 7437 "1nzbnvwwsk6kv6kqbxwlz8vk70l9ai6b4r9qypw51vp4qy72ny54"))))
5ada561c 7438 (build-system meson-build-system)
c8bdf589 7439 (arguments
5ada561c
KK
7440 `(#:glib-or-gtk? #t
7441 #:configure-flags
7442 ;; Otherwise, the RUNPATH will lack the final path component.
7443 (list (string-append "-Dc_link_args=-Wl,-rpath="
7444 (assoc-ref %outputs "out") "/lib:"
7445 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7446 #:phases
c8bdf589 7447 (modify-phases %standard-phases
c8bdf589
RW
7448 (add-before 'check 'pre-check
7449 (lambda _
63db190a
PN
7450 ;; Some tests expect to write to $HOME.
7451 (setenv "HOME" "/tmp")
c8bdf589 7452 #t)))))
b64e217f 7453 (native-inputs
5ada561c 7454 `(("glib:bin" ,glib "bin")
b64e217f 7455 ("gobject-introspection" ,gobject-introspection)
5ada561c 7456 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7457 ("intltool" ,intltool)
7458 ("pkg-config" ,pkg-config)
7459 ("vala" ,vala)))
7460 (inputs
63db190a 7461 `(("dbus" ,dbus)
44ed6284 7462 ("sqlite" ,sqlite)
b64e217f 7463 ("libxml2" ,libxml2)
63db190a 7464 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7465 ("json-glib" ,json-glib)
63db190a 7466 ("libsoup" ,libsoup)))
b64e217f
MW
7467 (synopsis "Metadata database, indexer and search tool")
7468 (home-page "https://wiki.gnome.org/Projects/Tracker")
7469 (description
63db190a
PN
7470 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7471
7472It is a middleware component aimed at desktop application developers who want
7473their apps to browse and search user content. It's not designed to be used
7474directly by desktop users, but it provides a commandline tool named
7475@command{tracker} for the adventurous.
7476
7477Tracker allows your application to instantly perform full-text searches across
7478all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7479example. This is achieved by indexing the user's home directory in the
7480background.
7481
7482Tracker also allows your application to query and list content that the user
7483has stored. For example, GNOME Music displays all the music files that are
7484found by Tracker. This means that GNOME Music doesn't need to maintain a
7485database of its own.
7486
7487If you need to go beyond simple searches, Tracker is also a linked data
7488endpoint and it understands SPARQL. ")
7489 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7490 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7491 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7492 (license (list license:gpl2+
63db190a
PN
7493 license:bsd-3
7494 license:lgpl2.1+))))
b64e217f 7495
03be9874
KK
7496(define-public tracker-miners
7497 (package
7498 (name "tracker-miners")
852fa605 7499 (version "2.3.2")
03be9874
KK
7500 (source (origin
7501 (method url-fetch)
7502 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7503 (version-major+minor version)
7504 "/tracker-miners-" version ".tar.xz"))
7505 (sha256
7506 (base32
852fa605 7507 "1kizavw9gbdjkw4wykgv0fcl2y6fj788nycx9p4byn6ylb1277h6"))))
03be9874
KK
7508 (build-system meson-build-system)
7509 (arguments
7510 `(#:glib-or-gtk? #t
7511 #:configure-flags
7512 (list "-Dminer_rss=false" ; libgrss is required.
7513 ;; Ensure the RUNPATH contains all installed library locations.
7514 (string-append "-Dc_link_args=-Wl,-rpath="
7515 (assoc-ref %outputs "out")
7516 "/lib/tracker-miners-2.0")
7517 ;; TODO: Enable functional tests. Currently, the following error
7518 ;; appears:
7519 ;; Exception: The functional tests require DConf to be the default
7520 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7521 "-Dfunctional_tests=false")))
7522 (native-inputs
7523 `(("dbus" ,dbus)
7524 ("intltool" ,intltool)
7525 ("glib:bin" ,glib "bin")
7526 ("gobject-introspection" ,gobject-introspection)
7527 ("pkg-config" ,pkg-config)
7528 ("python-pygobject" ,python-pygobject)))
7529 (inputs
7530 `(("exempi" ,exempi)
7531 ("ffmpeg" ,ffmpeg)
7532 ("flac" ,flac)
7533 ("giflib" ,giflib)
7534 ("glib" ,glib)
7535 ("gstreamer" ,gstreamer)
7536 ("icu4c" ,icu4c)
7537 ("libcue" ,libcue)
7538 ("libexif" ,libexif)
7539 ("libgsf" ,libgsf)
7540 ("libgxps" ,libgxps)
7541 ("libiptcdata" ,libiptcdata)
7542 ("libjpeg" ,libjpeg)
7543 ("libosinfo" ,libosinfo)
7544 ("libpng" ,libpng)
7545 ("libseccomp" ,libseccomp)
7546 ("libtiff" ,libtiff)
7547 ("libvorbis" ,libvorbis)
7548 ("libxml2" ,libxml2)
7549 ("poppler" ,poppler)
7550 ("taglib" ,taglib)
7551 ("totem-pl-parser" ,totem-pl-parser)
7552 ("tracker" ,tracker)
7553 ("upower" ,upower)
7554 ("zlib" ,zlib)))
7555 (synopsis "Metadata database, indexer and search tool")
7556 (home-page "https://wiki.gnome.org/Projects/Tracker")
7557 (description
7558 "Tracker is an advanced framework for first class objects with associated
7559metadata and tags. It provides a one stop solution for all metadata, tags,
7560shared object databases, search tools and indexing.")
7561 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7562 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7563 (license (list license:gpl2+
7564 license:lgpl2.1+
7565 license:lgpl2.0+))))
7566
8b877545
RS
7567(define-public nautilus
7568 (package
7569 (name "nautilus")
d682c599 7570 (version "3.32.3")
8b877545
RS
7571 (source (origin
7572 (method url-fetch)
7573 (uri (string-append "mirror://gnome/sources/" name "/"
7574 (version-major+minor version) "/"
7575 name "-" version ".tar.xz"))
7576 (sha256
7577 (base32
d682c599 7578 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7579 (build-system meson-build-system)
8b877545 7580 (arguments
35e2d0cf 7581 '(#:glib-or-gtk? #t
8b877545
RS
7582 ;; XXX: FAIL: check-nautilus
7583 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7584 #:tests? #f))
7585 (native-inputs
35e2d0cf
R
7586 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7587 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7588 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7589 ("gobject-introspection" ,gobject-introspection)
7590 ("intltool" ,intltool)
7591 ("pkg-config" ,pkg-config)))
8b877545 7592 (inputs
8b877545 7593 `(("dconf" ,dconf)
caf6c363 7594 ("gexiv2" ,gexiv2)
dd05e731 7595 ("gvfs" ,gvfs)
8b877545
RS
7596 ("exempi" ,exempi)
7597 ("gnome-desktop" ,gnome-desktop)
09d88905 7598 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7599 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7600 ("libseccomp" ,libseccomp)
35e2d0cf 7601 ("libselinux" ,libselinux)
09d88905 7602 ("tracker" ,tracker)
3cafb9d4 7603 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7604 ;; XXX: gtk+ is required by libnautilus-extension.pc
7605 ;;
7606 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7607 ;; package. See:
7608 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7609 ("gtk+" ,gtk+)
8b877545
RS
7610 ("libexif" ,libexif)
7611 ("libxml2" ,libxml2)))
7612 (synopsis "File manager for GNOME")
7613 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7614 (description
7615 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7616design and behaviour, giving the user a simple way to navigate and manage its
7617files.")
7618 (license license:gpl2+)))
3c697ffd
JR
7619
7620(define-public baobab
7621 (package
7622 (name "baobab")
e0c5f20c 7623 (version "3.32.0")
3c697ffd
JR
7624 (source (origin
7625 (method url-fetch)
7626 (uri (string-append
7627 "mirror://gnome/sources/" name "/"
7628 (version-major+minor version) "/"
7629 name "-" version ".tar.xz"))
7630 (sha256
7631 (base32
e0c5f20c 7632 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7633 (build-system meson-build-system)
7634 (arguments
7635 '(#:glib-or-gtk? #t))
3c697ffd
JR
7636 (native-inputs
7637 `(("intltool" ,intltool)
7638 ("pkg-config" ,pkg-config)
d233d373
RJ
7639 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7640 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7641 ("itstool" ,itstool)
7642 ("xmllint" ,libxml2)
7643 ("glib" ,glib "bin")
7644 ("vala" ,vala)))
7645 (inputs
7646 `(("gtk+" ,gtk+)))
7647 (synopsis "Disk usage analyzer for GNOME")
7648 (description
7649 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7650usage in the GNOME desktop environment. It can easily scan device volumes or
7651a specific user-requested directory branch (local or remote). Once the scan
7652is complete it provides a graphical representation of each selected folder.")
7653 (home-page "https://wiki.gnome.org/Apps/Baobab")
7654 (license license:gpl2+)))
dc050251 7655
fdba447c
RS
7656(define-public gnome-backgrounds
7657 (package
7658 (name "gnome-backgrounds")
e04e8a8c 7659 (version "3.32.0")
fdba447c
RS
7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append "mirror://gnome/sources/" name "/"
7664 (version-major+minor version) "/"
7665 name "-" version ".tar.xz"))
7666 (sha256
7667 (base32
e04e8a8c 7668 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7669 (build-system meson-build-system)
fdba447c
RS
7670 (native-inputs
7671 `(("intltool" ,intltool)))
e04e8a8c 7672 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7673 (synopsis "Background images for the GNOME desktop")
7674 (description
7675 "GNOME backgrounds package contains a collection of graphics files which
7676can be used as backgrounds in the GNOME Desktop environment. Additionally,
7677the package creates the proper framework and directory structure so that you
7678can add your own files to the collection.")
7679 (license (list license:gpl2+
7680 license:cc-by2.0
7681 license:cc-by-sa2.0
7682 license:cc-by-sa3.0))))
7683
b784b1a9
RS
7684(define-public gnome-screenshot
7685 (package
7686 (name "gnome-screenshot")
6acf4033 7687 (version "3.32.0")
b784b1a9
RS
7688 (source
7689 (origin
7690 (method url-fetch)
7691 (uri (string-append "mirror://gnome/sources/" name "/"
7692 (version-major+minor version) "/"
7693 name "-" version ".tar.xz"))
7694 (sha256
7695 (base32
6acf4033 7696 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7697 (build-system meson-build-system)
b784b1a9
RS
7698 (native-inputs
7699 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7700 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7701 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7702 ("intltool" ,intltool)
8356aefa 7703 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7704 ("pkg-config" ,pkg-config)))
7705 (inputs
7706 `(("gtk+" ,gtk+)
7707 ("libcanberra" ,libcanberra)
7708 ("libx11" ,libx11)
7709 ("libxext" ,libxext)))
676e7cb4 7710 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7711 (synopsis "Take pictures of your screen")
7712 (description
7713 "GNOME Screenshot is a utility used for taking screenshots of the entire
7714screen, a window or a user defined area of the screen, with optional
7715beautifying border effects.")
7716 (license license:gpl2+)))
7717
66d59111
RS
7718(define-public dconf-editor
7719 (package
7720 (name "dconf-editor")
66261451 7721 (version "3.32.0")
66d59111
RS
7722 (source
7723 (origin
7724 (method url-fetch)
7725 (uri (string-append "mirror://gnome/sources/" name "/"
7726 (version-major+minor version) "/"
7727 name "-" version ".tar.xz"))
7728 (sha256
7729 (base32
66261451 7730 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7731 (build-system meson-build-system)
86f2124b
LC
7732 (arguments
7733 '(#:phases (modify-phases %standard-phases
7734 (add-before 'configure 'set-glib-minimum-version
7735 (lambda _
7736 ;; Change the minimum required GLib version so that
7737 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7738 ;; do that, it complains that "55" is not an even
7739 ;; number. See <https://bugs.gnu.org/37503>.
7740 (substitute* "editor/meson.build"
7741 (("2\\.55\\.1") "2.60.0"))
7742 #t)))))
66d59111
RS
7743 (native-inputs
7744 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7745 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7746 ("intltool" ,intltool)
294ff39d
RW
7747 ("pkg-config" ,pkg-config)
7748 ("vala" ,vala)))
66d59111
RS
7749 (inputs
7750 `(("dconf" ,dconf)
7751 ("gtk+" ,gtk+)
7752 ("libxml2" ,libxml2)))
7753 (home-page "https://git.gnome.org/browse/dconf-editor")
7754 (synopsis "Graphical editor for GNOME's dconf configuration system")
7755 (description
7756 "Dconf-editor is a graphical tool for browsing and editing the dconf
7757configuration system for GNOME. It allows users to configure desktop
7758software that do not provide their own configuration interface.")
7759 (license license:lgpl2.1+)))
7760
96d36f38
AW
7761(define-public gnome-default-applications
7762 (package
7763 (name "gnome-default-applications")
7764 (version "0")
7765 (build-system trivial-build-system)
7766 (source #f)
7767 (propagated-inputs
8ad4f0aa
LC
7768 `(("nautilus" ,nautilus)
7769 ("evince" ,evince)))
96d36f38
AW
7770 (arguments
7771 `(#:modules ((guix build utils))
7772 #:builder
7773 (begin
7774 (use-modules (guix build utils))
7775 (let* ((out (assoc-ref %outputs "out"))
7776 (apps (string-append out "/share/applications")))
7777 (mkdir-p apps)
7778 (call-with-output-file (string-append apps "/defaults.list")
7779 (lambda (port)
7780 (format port "[Default Applications]\n")
8ad4f0aa
LC
7781 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7782 (format port "application/pdf=evince.desktop\n")
7783 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7784 #t))))
7785 (synopsis "Default MIME type associations for the GNOME desktop")
7786 (description
7787 "Given many installed packages which might handle a given MIME type, a
7788user running the GNOME desktop probably has some preferences: for example,
7789that folders be opened by default by the Nautilus file manager, not the Baobab
7790disk usage analyzer. This package establishes that set of default MIME type
7791associations for GNOME.")
7792 (license license:gpl3+)
7793 (home-page #f)))
7794
3f1ed953
RG
7795(define-public libgovirt
7796 (package
7797 (name "libgovirt")
7798 (version "0.3.6")
7799 (source (origin
7800 (method url-fetch)
7801 (uri (string-append "mirror://gnome/sources/" name "/"
7802 (version-major+minor version) "/"
7803 name "-" version ".tar.xz"))
7804 (sha256
7805 (base32
7806 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7807 (build-system glib-or-gtk-build-system)
7808 (native-inputs
7809 `(("gettext" ,gettext-minimal)
7810 ("glib:bin" ,glib "bin")
7811 ("gobject-introspection" ,gobject-introspection)
7812 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7813 ("gtk+:bin" ,gtk+ "bin")
7814 ("pkg-config" ,pkg-config)))
7815 (inputs
7816 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7817 ("librest" ,rest)))
7818 (synopsis "GoVirt Library")
7819 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7820 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7821 (license license:gpl2+)))
7822
8672e5e9
RG
7823(define-public gnome-weather
7824 (package
7825 (name "gnome-weather")
7826 (version "3.34.0")
7827 (source (origin
7828 (method url-fetch)
7829 (uri (string-append "mirror://gnome/sources/" name "/"
7830 (version-major+minor version) "/"
7831 name "-" version ".tar.xz"))
7832 (sha256
7833 (base32
7834 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7835 (build-system meson-build-system)
7836 (native-inputs
7837 `(("gettext" ,gettext-minimal)
7838 ("glib:bin" ,glib "bin")
7839 ("gobject-introspection" ,gobject-introspection)
7840 ("gtk+:bin" ,gtk+ "bin")
7841 ("pkg-config" ,pkg-config)))
7842 (inputs
7843 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7844 ("appstream-glib" ,appstream-glib)
7845 ("geoclue" ,geoclue)
7846 ("gdk-pixbuf" ,gdk-pixbuf)
7847 ("gjs" ,gjs)
7848 ("gnome-desktop" ,gnome-desktop)
7849 ("libgweather" ,libgweather)))
7850 (synopsis "Weather monitoring for GNOME desktop")
7851 (description "GNOME Weather is a small application that allows you to
7852monitor the current weather conditions for your city, or anywhere in the
7853world.")
7854 (home-page "https://wiki.gnome.org/Apps/Weather")
7855 (license license:gpl2+)))
7856
dc050251
SB
7857(define-public gnome
7858 (package
7859 (name "gnome")
7860 (version (package-version gnome-shell))
7861 (source #f)
7862 (build-system trivial-build-system)
e3cfef22 7863 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7864 (propagated-inputs
8d8c6bff 7865 ;; TODO: Add or remove packages according to:
a8cda7f5 7866 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7867 `(
8d8c6bff 7868 ;; GNOME-Core-OS-Services
7922b6f7 7869 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7870 ("network-manager" ,network-manager)
7871 ("packagekit" ,packagekit)
7872 ("upower" ,upower)
7873 ;; GNOME-Core-Shell
7874 ("adwaita-icon-theme" ,adwaita-icon-theme)
7875 ("gdm" ,gdm)
7876 ("glib-networking" ,glib-networking)
7877 ("gnome-backgrounds" ,gnome-backgrounds)
7878 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7879 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7880 ("gnome-control-center" ,gnome-control-center)
7881 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7882 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7883 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7884 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7885 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7886 ("gnome-session" ,gnome-session)
7887 ("gnome-settings-daemon" ,gnome-settings-daemon)
7888 ("gnome-shell-extensions" ,gnome-shell-extensions)
7889 ("gnome-shell" ,gnome-shell)
7890 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7891 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7892 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7893 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7894 ("gvfs" ,gvfs)
7895 ("mutter" ,mutter)
7896 ("orca" ,orca)
d36fa50f
RG
7897 ("rygel" ,rygel)
7898 ("sushi" ,sushi)
8d8c6bff
RG
7899 ;; GNOME-Core-Utilities
7900 ("baobab" ,baobab)
7901 ("cheese" ,cheese)
7902 ("eog" ,eog)
7903 ("epiphany" ,epiphany)
7904 ("evince" ,evince)
7905 ("file-roller" ,file-roller)
7906 ("gedit" ,gedit)
d36fa50f 7907 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7908 ("gnome-calculator" ,gnome-calculator)
7909 ("gnome-calendar" ,gnome-calendar)
7910 ("gnome-characters" ,gnome-characters)
7911 ("gnome-clocks" ,gnome-clocks)
7912 ("gnome-contacts" ,gnome-contacts)
7913 ("gnome-disk-utility" ,gnome-disk-utility)
7914 ("gnome-font-viewer" ,gnome-font-viewer)
7915 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7916 ; TODO: ("gnome-music" ,gnome-music)
7917 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7918 ("gnome-screenshot" ,gnome-screenshot)
7919 ("gnome-system-monitor" ,gnome-system-monitor)
7920 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7921 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7922 ("nautilus" ,nautilus)
7923 ("simple-scan" ,simple-scan)
7924 ("totem" ,totem)
7922b6f7
RG
7925 ("yelp" ,yelp)
7926 ;; Others
7927 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7928 ("gnome-online-accounts" ,gnome-online-accounts)
7929
7930 ;; Packages not part of GNOME proper but that are needed for a good
7931 ;; experience. See <https://bugs.gnu.org/39646>.
7932 ;; XXX: Find out exactly which ones are needed and why.
7933 ("font-cantarell" ,font-cantarell)
7934 ("font-dejavu" ,font-dejavu)
7935 ("at-spi2-core" ,at-spi2-core)
7936 ("dbus" ,dbus)
7937 ("dconf" ,dconf)
7938 ("desktop-file-utils" ,desktop-file-utils)
7939 ("gnome-default-applications" ,gnome-default-applications)
7940 ("gnome-themes-standard" ,gnome-themes-standard)
7941 ("gst-plugins-base" ,gst-plugins-base)
7942 ("gst-plugins-good" ,gst-plugins-good)
7943 ("gucharmap" ,gucharmap)
7944 ("pinentry-gnome3" ,pinentry-gnome3)
7945 ("pulseaudio" ,pulseaudio)
7946 ("shared-mime-info" ,shared-mime-info)
7947 ("system-config-printer" ,system-config-printer)
7948 ("xdg-user-dirs" ,xdg-user-dirs)
7949 ("yelp" ,yelp)
7950 ("zenity" ,zenity)))
fe4e698d 7951 (synopsis "The GNU desktop environment")
dc050251
SB
7952 (home-page "https://www.gnome.org/")
7953 (description
fe4e698d
LC
7954 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7955applications for browsing the web, editing text and images, creating
7956documents and diagrams, playing media, scanning, and much more.")
dc050251 7957 (license license:gpl2+)))
4a526711
DT
7958
7959(define-public byzanz
7960 ;; The last stable release of Byzanz was in 2011, but there have been many
7961 ;; useful commits made to the Byzanz repository since then that it would be
7962 ;; silly to use such an old release.
7963 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7964 (package
7965 (name "byzanz")
7966 (version (string-append "0.2-1." (string-take commit 7)))
7967 (source (origin
7968 (method git-fetch)
7969 (uri (git-reference
5f13bf09 7970 (url "https://git.gnome.org/browse/byzanz")
4a526711 7971 (commit commit)))
5a6527e4 7972 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7973 (sha256
7974 (base32
7975 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7976 (build-system glib-or-gtk-build-system)
7977 (arguments
7978 '(#:phases
7979 (modify-phases %standard-phases
189be331 7980 (replace 'bootstrap
4a526711
DT
7981 (lambda _
7982 ;; The build system cleverly detects that we're not building from
7983 ;; a release tarball and turns on -Werror for GCC.
7984 ;; Unsurprisingly, there is a warning during compilation that
7985 ;; causes the build to fail unnecessarily, so we remove the flag.
7986 (substitute* '("configure.ac")
7987 (("-Werror") ""))
7988 ;; The autogen.sh script in gnome-common will run ./configure
7989 ;; by default, which is problematic because source shebangs
7990 ;; have not yet been patched.
7991 (setenv "NOCONFIGURE" "t")
7992 (zero? (system* "sh" "autogen.sh")))))))
7993 (native-inputs
7994 `(("autoconf" ,autoconf)
7995 ("automake" ,automake)
7996 ("gnome-common" ,gnome-common)
7997 ("intltool" ,intltool)
7998 ("libtool" ,libtool)
7999 ("pkg-config" ,pkg-config)
8000 ("which" ,which)))
8001 (inputs
8002 `(("glib" ,glib)
8003 ("gstreamer" ,gstreamer)
8004 ("gst-plugins-base" ,gst-plugins-base)
8005 ("gtk+" ,gtk+)))
8006 (synopsis "Desktop recording program")
8007 (description "Byzanz is a simple desktop recording program with a
8008command-line interface. It can record part or all of an X display for a
8009specified duration and save it as a GIF encoded animated image file.")
8010 (home-page "https://git.gnome.org/browse/byzanz")
8011 (license license:gpl2+))))
3a9a4c51 8012
0ec171ec
MS
8013(define-public gsound
8014 (package
8015 (name "gsound")
8016 (version "1.0.2")
8017 (source (origin
8018 (method url-fetch)
8019 (uri (string-append "mirror://gnome/sources/" name "/"
8020 (version-major+minor version) "/"
8021 name "-" version ".tar.xz"))
8022 (sha256
8023 (base32
8024 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8025 (build-system glib-or-gtk-build-system)
8026 (native-inputs
8027 `(("pkg-config" ,pkg-config)
8028 ("gobject-introspection" ,gobject-introspection)
8029 ("vala" ,vala)))
8030 (inputs
8031 `(("glib" ,glib)
8032 ("libcanberra" ,libcanberra)))
8033 (home-page "https://wiki.gnome.org/Projects/GSound")
8034 (synopsis "GObject wrapper for libcanberra")
8035 (description
8036 "GSound is a small library for playing system sounds. It's designed to be
8037used via GObject Introspection, and is a thin wrapper around the libcanberra C
8038library.")
8039 (license license:lgpl2.1+)))
8040
3a9a4c51
RS
8041(define-public libzapojit
8042 (package
8043 (name "libzapojit")
8044 (version "0.0.3")
8045 (source (origin
8046 (method url-fetch)
8047 (uri (string-append "mirror://gnome/sources/" name "/"
8048 (version-major+minor version) "/"
8049 name "-" version ".tar.xz"))
8050 (sha256
8051 (base32
8052 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8053 (build-system gnu-build-system)
8054 (native-inputs
8055 `(("gobject-introspection" ,gobject-introspection)
8056 ("intltool" ,intltool)
8057 ("pkg-config" ,pkg-config)))
8058 (inputs
14c297fd 8059 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8060 ("json-glib" ,json-glib)
8061 ("rest" ,rest)))
8062 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8063 (synopsis "Library for accessing SkyDrive and Hotmail")
8064 (description
8065 "Libzapojit is a GLib-based library for accessing online service APIs of
8066Microsoft SkyDrive and Hotmail, using their REST protocols.")
8067 (license license:lgpl2.1+)))
9365ee1c 8068
60e2a9ae
MS
8069(define-public gnome-clocks
8070 (package
8071 (name "gnome-clocks")
c76d0dbc 8072 (version "3.32.0")
60e2a9ae
MS
8073 (source (origin
8074 (method url-fetch)
8075 (uri (string-append "mirror://gnome/sources/" name "/"
8076 (version-major+minor version) "/"
8077 name "-" version ".tar.xz"))
8078 (sha256
8079 (base32
c76d0dbc 8080 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
8081 (build-system meson-build-system)
8082 (arguments
8083 '(#:glib-or-gtk? #t))
8084 (native-inputs
8085 `(("vala" ,vala)
8086 ("pkg-config" ,pkg-config)
8087 ("glib" ,glib "bin") ; for glib-compile-resources
8088 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8089 ("desktop-file-utils" ,desktop-file-utils)
8090 ("gettext" ,gettext-minimal)
8091 ("itstool" ,itstool)))
8092 (inputs
8093 `(("glib" ,glib)
8094 ("gtk+" ,gtk+)
8095 ("gsound" ,gsound)
8096 ("geoclue" ,geoclue)
8097 ("geocode-glib" ,geocode-glib)
8098 ("libgweather" ,libgweather)
8099 ("gnome-desktop" ,gnome-desktop)))
8100 (home-page "https://wiki.gnome.org/Apps/Clocks")
8101 (synopsis "GNOME's clock application")
8102 (description
8103 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8104desktop. It supports world clock, stop watch, alarms, and count down timer.")
8105 (license license:gpl3+)))
8106
3c474897
KY
8107(define-public gnome-calendar
8108 (package
8109 (name "gnome-calendar")
339b59bf 8110 (version "3.32.2")
3c474897
KY
8111 (source (origin
8112 (method url-fetch)
8113 (uri (string-append "mirror://gnome/sources/" name "/"
8114 (version-major+minor version) "/"
8115 name "-" version ".tar.xz"))
8116 (sha256
8117 (base32
339b59bf 8118 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
8119 (build-system meson-build-system)
8120 (arguments
8121 '(#:glib-or-gtk? #t
8122 ;; gnome-calendar has to be installed before the tests can be run
8123 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
8124 #:tests? #f))
3c474897 8125 (native-inputs
a49d3e37
MS
8126 `(("gettext" ,gettext-minimal)
8127 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
8128 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
8129 ("pkg-config" ,pkg-config)))
8130 (inputs
a49d3e37 8131 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8132 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8133 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8134 ("libdazzle" ,libdazzle)
b63c06f1 8135 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8136 ("libgweather" ,libgweather)
8137 ("geoclue" ,geoclue)))
3c474897
KY
8138 (home-page "https://wiki.gnome.org/Apps/Calendar")
8139 (synopsis "GNOME's calendar application")
8140 (description
8141 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8142desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8143 (license license:gpl3+)))
8144
57b14665
MS
8145(define-public gnome-todo
8146 (package
8147 (name "gnome-todo")
9f3c6c88 8148 (version "3.28.1")
57b14665
MS
8149 (source (origin
8150 (method url-fetch)
8151 (uri (string-append "mirror://gnome/sources/" name "/"
8152 (version-major+minor version) "/"
8153 name "-" version ".tar.xz"))
8154 (sha256
8155 (base32
9f3c6c88 8156 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8157 (build-system meson-build-system)
8158 (arguments
8159 '(#:glib-or-gtk? #t
8160 #:phases (modify-phases %standard-phases
8161 (add-after
8162 'install 'wrap-gnome-todo
8163 (lambda* (#:key inputs outputs #:allow-other-keys)
8164 (let ((out (assoc-ref outputs "out"))
8165 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8166 (python-path (getenv "PYTHONPATH")))
8167 (wrap-program (string-append out "/bin/gnome-todo")
8168 ;; XXX: gi plugins are broken.
8169 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8170 ;; For plugins.
8171 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8172 `("PYTHONPATH" ":" prefix (,python-path))))
8173 #t)))))
8174 (native-inputs
8175 `(("gettext" ,gettext-minimal)
8176 ("gobject-introspection" ,gobject-introspection)
8177 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8178 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8179 ("pkg-config" ,pkg-config)))
8180 (inputs
8181 `(("rest" ,rest) ; For Todoist plugin
8182 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8183 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8184 ("libical" ,libical)
8185 ("libpeas" ,libpeas)
8186 ("python-pygobject" ,python-pygobject)
8187 ("evolution-data-server" ,evolution-data-server)
14c297fd 8188 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8189 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8190 (home-page "https://wiki.gnome.org/Apps/Todo")
8191 (synopsis "GNOME's ToDo Application")
8192 (description
8193 "GNOME To Do is a simplistic personal task manager designed to perfectly
8194fit the GNOME desktop.")
8195 (license license:gpl3+)))
8196
ab179eaf
SB
8197(define-public gnome-dictionary
8198 (package
8199 (name "gnome-dictionary")
cf81ddef 8200 (version "3.26.1")
ab179eaf
SB
8201 (source (origin
8202 (method url-fetch)
8203 (uri (string-append "mirror://gnome/sources/" name "/"
8204 (version-major+minor version) "/"
8205 name "-" version ".tar.xz"))
8206 (sha256
8207 (base32
cf81ddef
LC
8208 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8209 (build-system meson-build-system)
2776b5d5
MB
8210 (arguments '(#:glib-or-gtk? #t
8211 #:phases (modify-phases %standard-phases
8212 (add-after 'unpack 'patch-install-script
8213 (lambda _
8214 ;; This script attempts to compile glib schemas
8215 ;; and create an empty MIME database. We do
8216 ;; that elsewhere, so prevent it from running.
8217 (substitute* "build-aux/post-install.sh"
8218 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8219 #t)))))
ab179eaf
SB
8220 (native-inputs
8221 `(("glib:bin" ,glib "bin")
8222 ("gobject-introspection" ,gobject-introspection)
8223 ("intltool" ,intltool)
8224 ("itstool" ,itstool)
8225 ("pkg-config" ,pkg-config)
8226 ("xmllint" ,libxml2)))
8227 (inputs
8228 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8229 ("gtk+" ,gtk+)))
8230 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8231 (synopsis "Look up words in dictionary sources")
8232 (description
8233 "GNOME Dictionary can look for the definition or translation of a word in
8234existing databases over the internet.")
8235 (license license:gpl3+)))
8236
d13f3a03 8237(define-public gnome-tweaks
9365ee1c 8238 (package
d13f3a03 8239 (name "gnome-tweaks")
652af676 8240 (version "3.32.0")
9365ee1c
JN
8241 (source (origin
8242 (method url-fetch)
d13f3a03 8243 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8244 (version-major+minor version) "/"
d13f3a03
RW
8245 "gnome-tweaks-" version ".tar.xz"))
8246 (patches
8247 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8248 (sha256
8249 (base32
652af676 8250 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8251 (build-system meson-build-system)
9365ee1c 8252 (arguments
d13f3a03
RW
8253 `(#:glib-or-gtk? #t
8254 #:configure-flags '("-Dlocalstatedir=/tmp"
8255 "-Dsysconfdir=/tmp")
9365ee1c 8256 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8257 ,@%meson-build-system-modules)
8258 #:phases
8259 (modify-phases %standard-phases
8260 (add-after 'install 'wrap
8261 (@@ (guix build python-build-system) wrap))
8262 (add-after 'wrap 'wrap-gi-typelib
8263 (lambda* (#:key inputs outputs #:allow-other-keys)
8264 (let ((out (assoc-ref outputs "out"))
8265 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8266 (wrap-program (string-append out "/bin/gnome-tweaks")
8267 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8268 #t)))))
9365ee1c 8269 (native-inputs
c7fc414e
RH
8270 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8271 ("intltool" ,intltool)
9365ee1c
JN
8272 ("pkg-config" ,pkg-config)))
8273 (inputs
c7fc414e
RH
8274 `(("gnome-desktop" ,gnome-desktop)
8275 ("gtk+" ,gtk+)
9365ee1c
JN
8276 ("gobject-introspection" ,gobject-introspection)
8277 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8278 ("libnotify" ,libnotify)
8279 ("libsoup" ,libsoup)
8280 ("nautilus" ,nautilus)
8281 ("python" ,python)
8282 ("python-pygobject" ,python-pygobject)))
9365ee1c 8283 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8284 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8285 (description
d13f3a03 8286 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8287GNOME 3. This includes things like the fonts used in user interface elements,
8288alternative user interface themes, changes in window management behavior,
8289GNOME Shell appearance and extension, etc.")
8290 (license license:gpl3+)))
813f814a 8291
d13f3a03
RW
8292;; This package has been renamed by upstream.
8293(define-public gnome-tweak-tool
8294 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8295
32ac717c
DT
8296(define-public gnome-shell-extensions
8297 (package
8298 (name "gnome-shell-extensions")
ae4c05e0 8299 (version "3.32.1")
32ac717c
DT
8300 (source (origin
8301 (method url-fetch)
8302 (uri (string-append "mirror://gnome/sources/" name "/"
8303 (version-major+minor version) "/"
8304 name "-" version ".tar.xz"))
8305 (sha256
8306 (base32
ae4c05e0 8307 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8308 (build-system meson-build-system)
32ac717c 8309 (arguments
100f625b 8310 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8311 (native-inputs
c9ea8873
LP
8312 `(("glib:bin" ,glib "bin")
8313 ("intltool" ,intltool)
32ac717c
DT
8314 ("pkg-config" ,pkg-config)))
8315 (propagated-inputs
c9ea8873 8316 `(("glib" ,glib)))
32ac717c
DT
8317 (synopsis "Extensions for GNOME Shell")
8318 (description "GNOME Shell extensions modify and extend GNOME Shell
8319functionality and behavior.")
8320 (home-page "https://extensions.gnome.org/")
8321 (license license:gpl3+)))
8322
813f814a
DT
8323(define-public arc-theme
8324 (package
8325 (name "arc-theme")
37781323 8326 (version "20190917")
813f814a 8327 (source (origin
a18f8eaf
BH
8328 (method git-fetch)
8329 (uri (git-reference
8330 (url "https://github.com/NicoHood/arc-theme.git")
8331 (commit version)))
8332 (file-name (git-file-name name version))
813f814a
DT
8333 (sha256
8334 (base32
37781323 8335 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8336 (build-system gnu-build-system)
d88884fa
EF
8337 (arguments
8338 '(#:phases
8339 (modify-phases %standard-phases
8340 ;; autogen.sh calls configure at the end of the script.
8341 (replace 'bootstrap
4690e3a4
MC
8342 (lambda _ (invoke "autoreconf" "-vfi")))
8343 (add-before 'build 'set-home ;placate Inkscape
8344 (lambda _
8345 (setenv "HOME" (getcwd))
8346 #t)))))
813f814a
DT
8347 (native-inputs
8348 `(("autoconf" ,autoconf)
8349 ("automake" ,automake)
a18f8eaf
BH
8350 ("glib" ,glib "bin") ; for glib-compile-resources
8351 ("gnome-shell" ,gnome-shell)
8352 ("gtk+" ,gtk+)
8353 ("inkscape" ,inkscape)
8354 ("optipng" ,optipng)
8355 ("pkg-config" ,pkg-config)
bed24ecf 8356 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8357 (synopsis "A flat GTK+ theme with transparent elements")
8358 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
83592, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8360like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8361 (home-page "https://github.com/horst3180/arc-theme")
8362 ;; No "or later" language found.
a18f8eaf 8363 (license license:gpl3+)))
9987c57c 8364
d935e6a1 8365(define-public faba-icon-theme
9987c57c 8366 (package
d935e6a1 8367 (name "faba-icon-theme")
2eee7ee3 8368 (version "4.3")
d935e6a1
BT
8369 (source
8370 (origin
757e4027
TGR
8371 (method git-fetch)
8372 (uri (git-reference
8373 (url "https://github.com/snwh/faba-icon-theme.git")
8374 (commit (string-append "v" version))))
8375 (file-name (git-file-name name version))
d935e6a1 8376 (sha256
757e4027 8377 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8378 (build-system meson-build-system)
9987c57c 8379 (arguments
82da291a 8380 `(#:phases
9987c57c 8381 (modify-phases %standard-phases
82da291a 8382 (add-before 'configure 'disable-post-install
9987c57c 8383 (lambda _
82da291a
JL
8384 (substitute* "meson.build"
8385 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8386 (native-inputs
8387 `(("autoconf" ,autoconf)
8388 ("automake" ,automake)))
d935e6a1
BT
8389 (synopsis "Faba icon theme")
8390 (description
8391 "Faba is a minimal icon set used as a basis for other themes such as
8392Moka")
8393 (home-page "https://snwh.org/moka")
8394 (license (list license:lgpl3+
8395 license:cc-by-sa4.0))))
8396
9987c57c
DT
8397(define-public moka-icon-theme
8398 (package
8b0e4177 8399 (inherit faba-icon-theme)
9987c57c 8400 (name "moka-icon-theme")
105a3625 8401 (version "5.4.0")
8c3f2170
TGR
8402 (source
8403 (origin
8404 (method git-fetch)
8405 (uri (git-reference
8406 (url "https://github.com/snwh/moka-icon-theme.git")
8407 (commit (string-append "v" version))))
8408 (file-name (git-file-name name version))
8409 (sha256
8410 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8411 (propagated-inputs
8412 ;; Moka is based on Faba by using it as a fallback icon set instead of
8413 ;; bundling it, so we need to add it as a propagated input.
8414 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8415 (synopsis "Moka icon theme")
8416 (description "Moka is a stylized desktop icon set, designed to be clear,
8417simple and consistent.")
fedde43b
BT
8418 (license (list license:gpl3+
8419 license:cc-by-sa4.0))))
6fd8f8d6
DT
8420
8421(define-public arc-icon-theme
8422 (package
8423 (name "arc-icon-theme")
c4180240 8424 (version "20161122")
bbf66cbf
TGR
8425 (source
8426 (origin
8427 (method git-fetch)
8428 (uri (git-reference
8429 (url "https://github.com/horst3180/arc-icon-theme.git")
8430 (commit version)))
8431 (file-name (git-file-name name version))
8432 (sha256
8433 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8434 (build-system gnu-build-system)
9e1ede95
JL
8435 (arguments
8436 `(#:phases
8437 (modify-phases %standard-phases
8438 (add-after 'unpack 'disable-configure-during-bootstrap
8439 (lambda _
8440 (substitute* "autogen.sh"
8441 (("^\"\\$srcdir/configure\".*") ""))
8442 #t)))))
6fd8f8d6
DT
8443 (native-inputs
8444 `(("autoconf" ,autoconf)
8445 ("automake" ,automake)))
8446 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8447 (propagated-inputs
8448 `(("moka-icon-theme" ,moka-icon-theme)))
8449 (synopsis "Arc icon theme")
8450 (description "The Arc icon theme provides a set of icons matching the
8451style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8452the Moka icon theme.")
8453 (home-page "https://github.com/horst3180/arc-icon-theme")
8454 (license license:gpl3+)))
6064a4e8
LF
8455
8456(define-public folks
8457 (package
8458 (name "folks")
d23495fa 8459 (version "0.11.4")
6064a4e8
LF
8460 (source (origin
8461 (method url-fetch)
8462 (uri (string-append
e5f4796e 8463 "mirror://gnome/sources/folks/"
6064a4e8 8464 (version-major+minor version) "/"
e5f4796e 8465 "folks-" version ".tar.xz"))
6064a4e8
LF
8466 (sha256
8467 (base32
d23495fa 8468 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8469 (build-system glib-or-gtk-build-system)
8470 (inputs
8471 `(("bdb" ,bdb)
8472 ("dbus-glib" ,dbus-glib)
8473 ("evolution-data-server" ,evolution-data-server)
8474 ("glib" ,glib)
8475 ("libgee" ,libgee)
8476 ("telepathy-glib" ,telepathy-glib)))
8477 (native-inputs
8478 `(("gobject-introspection" ,gobject-introspection)
8479 ("intltool" ,intltool)
8480 ("pkg-config" ,pkg-config)
8481 ("vala" ,vala)))
8482 (synopsis "Library to aggregate data about people")
8483 (description "Libfolks is a library that aggregates information about people
8484from multiple sources (e.g., Telepathy connection managers for IM contacts,
8485Evolution Data Server for local contacts, libsocialweb for web service contacts,
8486etc.) to create metacontacts. It's written in Vala, which generates C code when
8487compiled.")
8488 (home-page "https://wiki.gnome.org/Projects/Folks")
8489 (license license:lgpl2.1+)))
01ea778f
LF
8490
8491(define-public gfbgraph
8492 (package
8493 (name "gfbgraph")
8494 (version "0.2.3")
8495 (source (origin
8496 (method url-fetch)
8497 (uri (string-append
237d4cf7 8498 "mirror://gnome/sources/gfbgraph/"
01ea778f 8499 (version-major+minor version) "/"
237d4cf7 8500 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8501 (sha256
8502 (base32
8503 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8504 (build-system glib-or-gtk-build-system)
8505 (arguments
8506 `(#:tests? #f ; Tests appear to require the network.
8507 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8508 #:configure-flags '("--disable-gtk-doc"
8509 "--disable-static"
8510 "--enable-introspection")))
8511 (native-inputs
8512 `(("pkg-config" ,pkg-config)
8513 ("gobject-introspection" ,gobject-introspection)))
8514 (inputs
8515 `(("json-glib" ,json-glib)
14c297fd 8516 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8517 ("rest" ,rest)))
8518 (synopsis "GLib/GObject wrapper for the Facebook API")
8519 (description "This library allows you to use the Facebook API from
8520GLib/GObject code.")
8521 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8522 (license license:lgpl2.1+)))
3920868c 8523
8524(define-public libgnomekbd
8525 (package
8526 (name "libgnomekbd")
70f2b0f9 8527 (version "3.26.1")
3920868c 8528 (source (origin
8529 (method url-fetch)
d47fa82d 8530 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8531 (version-major+minor version) "/"
d47fa82d 8532 "libgnomekbd-" version ".tar.xz"))
3920868c 8533 (sha256
8534 (base32
70f2b0f9 8535 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8536 (build-system gnu-build-system)
8537 (native-inputs
8538 `(("pkg-config" ,pkg-config)
8539 ("glib" ,glib "bin")
8540 ("intltool" ,intltool)))
8541 (propagated-inputs
8542 ;; Referred to in .h files and .pc.
8543 `(("glib" ,glib)
8544 ("gtk+" ,gtk+)
8545 ("libxklavier" ,libxklavier)))
8546 (home-page "https://www.gnome.org")
8547 (synopsis "GNOME keyboard configuration library")
8548 (description
8549 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8550environment, which can notably display keyboard layouts.")
8551 (license license:lgpl2.0+)))
85327d0d 8552
8553;;; This package is no longer maintained:
8554;;; https://wiki.gnome.org/Attic/LibUnique
8555;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8556;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8557(define-public libunique
8558 (package
8559 (name "libunique")
8560 (version "3.0.2")
8561 (source (origin
8562 (method url-fetch)
8563 (uri (string-append "mirror://gnome/sources/" name "/"
8564 (version-major+minor version) "/"
8565 name "-" version ".tar.xz"))
8566 (sha256
8567 (base32
8568 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8569 (build-system glib-or-gtk-build-system)
8570 (arguments
8571 `(#:configure-flags '("--disable-static"
8572 "--disable-dbus" ; use gdbus
8573 "--enable-introspection")))
8574 (native-inputs
8575 `(("pkg-config" ,pkg-config)
8576 ("gobject-introspection" ,gobject-introspection)
8577 ("glib:bin" ,glib "bin")
8578 ("gtk-doc" ,gtk-doc)))
8579 (propagated-inputs
8580 ;; Referred to in .h files and .pc.
8581 `(("gtk+" ,gtk+)))
8582 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8583 (synopsis "Library for writing single instance applications")
8584 (description
8585 "Libunique is a library for writing single instance applications. If you
8586launch a single instance application twice, the second instance will either just
8587quit or will send a message to the running instance. Libunique makes it easy to
8588write this kind of application, by providing a base class, taking care of all
8589the IPC machinery needed to send messages to a running instance, and also
8590handling the startup notification side.")
8591 (license license:lgpl2.1+)))
54021cd8
RS
8592
8593(define-public gnome-calculator
8594 (package
8595 (name "gnome-calculator")
07ace641 8596 (version "3.32.2")
54021cd8
RS
8597 (source
8598 (origin
8599 (method url-fetch)
8600 (uri (string-append "mirror://gnome/sources/" name "/"
8601 (version-major+minor version) "/"
8602 name "-" version ".tar.xz"))
8603 (sha256
8604 (base32
07ace641 8605 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8606 (build-system meson-build-system)
8607 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8608 (native-inputs
8609 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8610 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8611 ("intltool" ,intltool)
8612 ("itstool" ,itstool)
2d475910 8613 ("vala" ,vala)
54021cd8
RS
8614 ("pkg-config" ,pkg-config)))
8615 (inputs
112e9083 8616 `(("glib" ,glib)
07ace641 8617 ("gtksourceview" ,gtksourceview)
54021cd8 8618 ("libsoup" ,libsoup)
112e9083 8619 ("libxml2" ,libxml2)
2c2da7ec 8620 ("mpc" ,mpc)
54021cd8
RS
8621 ("mpfr" ,mpfr)))
8622 (home-page "https://wiki.gnome.org/Apps/Calculator")
8623 (synopsis "Desktop calculator")
8624 (description
8625 "Calculator is an application that solves mathematical equations and
8626is suitable as a default application in a Desktop environment.")
8627 (license license:gpl3)))
0bd69759
RS
8628
8629(define-public xpad
8630 (package
8631 (name "xpad")
c85626bb 8632 (version "5.1.0")
0bd69759
RS
8633 (source
8634 (origin
8635 (method url-fetch)
08fda9c6
R
8636 (uri (string-append "https://launchpad.net/xpad/trunk/"
8637 version "/+download/"
0bd69759
RS
8638 name "-" version ".tar.bz2"))
8639 (sha256
8640 (base32
c85626bb 8641 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8642 (build-system gnu-build-system)
8643 (native-inputs
08fda9c6
R
8644 `(("autoconf" ,autoconf)
8645 ("automake" ,automake)
8646 ("gtk+:bin" ,gtk+ "bin")
8647 ("intltool" ,intltool)
0bd69759
RS
8648 ("pkg-config" ,pkg-config)))
8649 (inputs
c72647fb 8650 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8651 ("libsm" ,libsm)))
8652 (home-page "https://wiki.gnome.org/Apps/Xpad")
8653 (synopsis "Virtual sticky note")
8654 (description
8655 "Xpad is a sticky note that strives to be simple, fault tolerant,
8656and customizable. Xpad consists of independent pad windows, each is
8657basically a text box in which notes can be written.")
8658 (license license:gpl3+)))
3ad7dce1
RS
8659
8660(define-public gucharmap
c60063ea
RW
8661 (let ((unicode-files
8662 '(("Blocks.txt"
1f8b5515 8663 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8664 ("DerivedAge.txt"
1f8b5515 8665 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8666 ("NamesList.txt"
1f8b5515 8667 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8668 ("Scripts.txt"
1f8b5515 8669 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8670 ("UnicodeData.txt"
1f8b5515 8671 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8672 ("Unihan.zip"
1f8b5515 8673 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8674 (package
8675 (name "gucharmap")
1f8b5515 8676 (version "12.0.1")
c60063ea
RW
8677 (source
8678 (origin
8679 (method url-fetch)
8680 (uri (string-append "mirror://gnome/sources/" name "/"
8681 (version-major+minor version) "/"
8682 name "-" version ".tar.xz"))
8683 (sha256
8684 (base32
1f8b5515 8685 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8686 (build-system glib-or-gtk-build-system)
8687 (arguments
8688 `(#:modules ((ice-9 match)
8689 (guix build glib-or-gtk-build-system)
8690 (guix build utils))
8691 #:configure-flags
8692 (list "--with-unicode-data=../unicode-data")
8693 #:phases
8694 (modify-phases %standard-phases
8695 (add-after 'unpack 'prepare-unicode-data
8696 (lambda* (#:key inputs #:allow-other-keys)
8697 (mkdir-p "../unicode-data")
8698 (with-directory-excursion "../unicode-data"
8699 (for-each (match-lambda
8700 ((file _)
8701 (install-file (assoc-ref inputs file) ".")))
8702 ',unicode-files))
8703 #t)))))
8704 (native-inputs
8705 `(("desktop-file-utils" ,desktop-file-utils)
8706 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8707 ("gobject-introspection" ,gobject-introspection)
8708 ("intltool" ,intltool)
8709 ("itstool" ,itstool)
8710 ("pkg-config" ,pkg-config)
8711 ,@(map (match-lambda
8712 ((file hash)
8713 `(,file
8714 ,(origin
8715 (method url-fetch)
8716 (uri (string-append
1f8b5515 8717 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8718 file))
8719 (sha256 (base32 hash))))))
8720 unicode-files)
8721 ("unzip" ,unzip)))
8722 (inputs
8723 `(("gtk+" ,gtk+)
8724 ("xmllint" ,libxml2)))
8725 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8726 (synopsis "Unicode character picker and font browser")
8727 (description
8728 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8729characters and categories for the installed fonts, and to examine their
8730detailed properties. It is an easy way to find the character you might
8731only know by its Unicode name or code point.")
c60063ea 8732 (license license:gpl3+))))
04ce840a
RS
8733
8734(define-public bluefish
8735 (package
8736 (name "bluefish")
ea8afaf3 8737 (version "2.2.10")
04ce840a
RS
8738 (source
8739 (origin
8740 (method url-fetch)
8741 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8742 name "-" version ".tar.gz"))
8743 (sha256
8744 (base32
ea8afaf3 8745 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8746 (build-system gnu-build-system)
8747 (native-inputs
8748 `(("desktop-file-utils" ,desktop-file-utils)
8749 ("intltool" ,intltool)
8750 ("pkg-config" ,pkg-config)))
8751 (inputs
8752 `(("enchant" ,enchant)
8753 ("gtk+" ,gtk+)
8754 ("python" ,python-2)
8755 ("xmllint" ,libxml2)
8756 ("gucharmap" ,gucharmap)))
8757 (home-page "http://bluefish.openoffice.nl")
8758 (synopsis "Web development studio")
8759 (description
8760 "Bluefish is an editor targeted towards programmers and web developers,
8761with many options to write web sites, scripts and other code.
8762Bluefish supports many programming and markup languages.")
8763 (license license:gpl3+)))
1f6a73ee
RS
8764
8765(define-public gnome-system-monitor
8766 (package
8767 (name "gnome-system-monitor")
083cffaf 8768 (version "3.32.1")
1f6a73ee
RS
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append "mirror://gnome/sources/" name "/"
8773 (version-major+minor version) "/"
8774 name "-" version ".tar.xz"))
8775 (sha256
8776 (base32
083cffaf 8777 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8778 (build-system meson-build-system)
8779 (arguments
8780 '(#:glib-or-gtk? #t
8781 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8782 (native-inputs
8783 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8784 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8785 ("intltool" ,intltool)
8786 ("itstool" ,itstool)
8787 ("libgtop" ,libgtop)
4985d9aa 8788 ("polkit" ,polkit)
1f6a73ee
RS
8789 ("pkg-config" ,pkg-config)))
8790 (inputs
8791 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8792 ("gtk+" ,gtk+)
8793 ("gtkmm" ,gtkmm)
8794 ("librsvg" ,librsvg)
4985d9aa
RW
8795 ("libxml2" ,libxml2)
8796 ("libwnck" ,libwnck)))
1f6a73ee
RS
8797 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8798 (synopsis "Process viewer and system resource monitor for GNOME")
8799 (description
8800 "GNOME System Monitor is a GNOME process viewer and system monitor with
8801an attractive, easy-to-use interface. It has features, such as a tree view
8802for process dependencies, icons for processes, the ability to hide processes,
8803graphical time histories of CPU/memory/swap usage and the ability to
8804kill/reinice processes.")
8805 (license license:gpl2+)))
3e00ac47
SB
8806
8807(define-public python-pyatspi
8808 (package
8809 (name "python-pyatspi")
4f937a32 8810 (version "2.34.0")
3e00ac47
SB
8811 (source (origin
8812 (method url-fetch)
8813 (uri (string-append
8814 "mirror://gnome/sources/pyatspi/"
8815 (version-major+minor version)
8816 "/pyatspi-" version ".tar.xz"))
8817 (sha256
8818 (base32
4f937a32 8819 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8820 (build-system gnu-build-system)
b95af3f6
JL
8821 (arguments
8822 `(#:phases
8823 (modify-phases %standard-phases
8824 (add-before 'build 'fix-atk-load
8825 (lambda _
8826 (substitute* "pyatspi/__init__.py"
8827 (("from gi.repository import Atspi")
8828 "gi.require_version('Gtk', '3.0')
8829from gi.repository import Gtk
8830from gi.repository import Atspi"))
8831 #t)))))
3e00ac47
SB
8832 (native-inputs
8833 `(("pkg-config" ,pkg-config)))
8834 (inputs
8835 `(("python" ,python)
8836 ("python-pygobject" ,python-pygobject)))
8837 (synopsis "Python client bindings for D-Bus AT-SPI")
8838 (home-page "https://wiki.linuxfoundation.org/accessibility\
8839/atk/at-spi/at-spi_on_d-bus")
8840 (description
8841 "This package includes a python client library for the AT-SPI D-Bus
8842accessibility infrastructure.")
8843 (license license:lgpl2.0)
8844 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8845
8846(define-public orca
8847 (package
8848 (name "orca")
089e8585 8849 (version "3.32.0")
53201c0d
SB
8850 (source (origin
8851 (method url-fetch)
8852 (uri (string-append
8853 "mirror://gnome/sources/" name "/"
8854 (version-major+minor version) "/"
8855 name "-" version ".tar.xz"))
8856 (sha256
8857 (base32
089e8585 8858 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8859 (build-system glib-or-gtk-build-system)
8860 (arguments
8861 '(#:phases
8862 (modify-phases %standard-phases
8863 (add-before 'configure 'qualify-xkbcomp
8864 (lambda* (#:key inputs #:allow-other-keys)
8865 (let ((xkbcomp (string-append
8866 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8867 (substitute* "src/orca/orca.py"
8868 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8869 #t))
8870 (add-after 'install 'wrap-orca
8871 (lambda* (#:key outputs #:allow-other-keys)
8872 (let* ((out (assoc-ref outputs "out"))
8873 (prog (string-append out "/bin/orca")))
8874 (wrap-program prog
8875 `("GI_TYPELIB_PATH" ":" prefix
8876 (,(getenv "GI_TYPELIB_PATH")))
8877 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8878 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8879 `("PYTHONPATH" ":" prefix
8880 (,(getenv "PYTHONPATH")))))
8881 #t)))))
8882 (native-inputs
8883 `(("intltool" ,intltool)
8884 ("itstool" ,itstool)
8885 ("pkg-config" ,pkg-config)
8886 ("xmllint" ,libxml2)))
8887 (inputs
8888 `(("at-spi2-atk" ,at-spi2-atk)
8889 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8890 ("gstreamer" ,gstreamer)
8891 ("gst-plugins-base" ,gst-plugins-base)
8892 ("gst-plugins-good" ,gst-plugins-good)
8893 ("gtk+" ,gtk+)
8894 ("python" ,python)
8895 ("python-pygobject" ,python-pygobject)
8896 ("python-pyatspi" ,python-pyatspi)
8897 ("python-speechd" ,speech-dispatcher)
8898 ("xkbcomp" ,xkbcomp)))
8899 (synopsis
8900 "Screen reader for individuals who are blind or visually impaired")
8901 (home-page "https://wiki.gnome.org/Projects/Orca")
8902 (description
8903 "Orca is a screen reader that provides access to the graphical desktop
8904via speech and refreshable braille. Orca works with applications and toolkits
8905that support the Assistive Technology Service Provider Interface (AT-SPI).")
8906 (license license:lgpl2.1+)))
411ba511
LC
8907
8908(define-public gspell
8909 (package
8910 (name "gspell")
7a6bbe9b 8911 (version "1.8.2")
411ba511
LC
8912 (source (origin
8913 (method url-fetch)
8914 (uri (string-append "mirror://gnome/sources/" name "/"
8915 (version-major+minor version) "/"
8916 name "-" version ".tar.xz"))
8917 (sha256
8918 (base32
7a6bbe9b 8919 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8920 (patches (search-patches "gspell-dash-test.patch"))))
8921 (build-system glib-or-gtk-build-system)
8922 (arguments
8923 '(#:phases
8924 (modify-phases %standard-phases
8925 (add-before 'check 'pre-check
8926 (lambda* (#:key inputs #:allow-other-keys)
8927 ;; Tests require a running X server.
8928 (system "Xvfb :1 &")
8929 (setenv "DISPLAY" ":1")
8930
8931 ;; For the missing /etc/machine-id.
8932 (setenv "DBUS_FATAL_WARNINGS" "0")
8933
8934 ;; Allow Enchant and its Aspell backend to find the en_US
8935 ;; dictionary.
8936 (setenv "ASPELL_DICT_DIR"
8937 (string-append (assoc-ref inputs "aspell-dict-en")
8938 "/lib/aspell"))
8939 #t)))))
8940 (inputs
eccd35be 8941 `(("gtk+" ,gtk+)
a801ae4c
TGR
8942 ("glib" ,glib)
8943 ("iso-codes" ,iso-codes)))
411ba511
LC
8944 (native-inputs
8945 `(("glib" ,glib "bin")
26ba3f07 8946 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8947 ("pkg-config" ,pkg-config)
8948 ("xmllint" ,libxml2)
8949
8950 ;; For tests.
a801ae4c 8951 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8952 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8953 (propagated-inputs
9b1bb757 8954 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8955 (home-page "https://wiki.gnome.org/Projects/gspell")
8956 (synopsis "GNOME's alternative spell checker")
8957 (description
8958 "gspell provides a flexible API to add spell-checking to a GTK+
8959application. It provides a GObject API, spell-checking to text entries and
8960text views, and buttons to choose the language.")
8961 (license license:gpl2+)))
d1d739fa
CM
8962
8963(define-public gnome-planner
8964 (package
8965 (name "gnome-planner")
8966 (version "0.14.6")
8967 (source (origin
8968 (method url-fetch)
8969 (uri (string-append "mirror://gnome/sources/planner/"
8970 (version-major+minor version) "/planner-"
8971 version ".tar.xz"))
8972 (sha256
8973 (base32
8974 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8975 (build-system glib-or-gtk-build-system)
8976 (arguments
8977 ;; Disable the Python bindings because the Planner program functions
8978 ;; without them, and (as of 2017-06-13) we have not packaged all of
8979 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8980 `(#:configure-flags
8981 (list "--disable-python"
8982 ,@(if (string=? "aarch64-linux" (%current-system))
8983 '("--build=aarch64-unknown-linux-gnu")
8984 '()))))
d1d739fa
CM
8985 (inputs
8986 `(("libgnomecanvas" ,libgnomecanvas)
8987 ("libgnomeui" ,libgnomeui)
8988 ("libglade" ,libglade)
8989 ("gnome-vfs" ,gnome-vfs)
8990 ("gconf" ,gconf)
8991 ("libxml2" ,libxml2)
8992 ("libxslt" ,libxslt)
8993 ("gtk+" ,gtk+)
8994 ("glib" ,glib)))
8995 (native-inputs
8996 `(("intltool" ,intltool)
8997 ("scrollkeeper" ,scrollkeeper)
8998 ("pkg-config" ,pkg-config)))
8999 (home-page "https://wiki.gnome.org/Apps/Planner")
9000 (synopsis "Project management software for the GNOME desktop")
9001 (description
9002 "GNOME Planner is a project management tool based on the Work Breakdown
9003Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9004the resources, tasks, and constraints that you define, Planner generates
9005various views into a project. For example, Planner can show a Gantt chart of
9006the project. It can show a detailed summary of tasks including their
9007duration, cost, and current progress. It can also show a report of resource
9008utilization that highlights under-utilized and over-utilized resources. These
9009views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9010 (license license:gpl2+)))
64fce637
RS
9011
9012(define-public lollypop
9013 (package
9014 (name "lollypop")
ca32627a 9015 (version "1.2.7")
64fce637
RS
9016 (source
9017 (origin
9018 (method url-fetch)
b98eace8 9019 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 9020 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 9021 "lollypop-" version ".tar.xz"))
64fce637 9022 (sha256
ca32627a 9023 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 9024 (build-system meson-build-system)
64fce637
RS
9025 (arguments
9026 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
9027 ,@%meson-build-system-modules)
9028 #:glib-or-gtk? #t
5fc9b6c1
EF
9029 #:tests? #f ; no test suite
9030 #:phases
9031 (modify-phases %standard-phases
5fc9b6c1
EF
9032 (add-after 'install 'wrap-program
9033 (lambda* (#:key outputs #:allow-other-keys)
9034 (let ((out (assoc-ref outputs "out"))
9035 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9036 (wrap-program (string-append out "/bin/lollypop")
9037 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9038 #t))
8ac8b3b3
TGR
9039 (add-after 'install 'wrap-python
9040 (@@ (guix build python-build-system) wrap))
9041 (add-after 'install 'wrap-glib-or-gtk
9042 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
9043 (native-inputs
9044 `(("intltool" ,intltool)
9045 ("itstool" ,itstool)
aa498fc0
TD
9046 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9047 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9048 ("pkg-config" ,pkg-config)))
9049 (inputs
9050 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9051 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9052 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9053 ("libnotify" ,libnotify)
9054 ("libsecret" ,libsecret)
9055 ("libsoup" ,libsoup)
9056 ("python" ,python)
9057 ("python-beautifulsoup4" ,python-beautifulsoup4)
9058 ("python-gst" ,python-gst)
d029afdd 9059 ("python-pil" ,python-pillow)
64fce637 9060 ("python-pycairo" ,python-pycairo)
7460f346 9061 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
9062 ("python-pylast" ,python-pylast)
9063 ("totem-pl-parser" ,totem-pl-parser)
9064 ("webkitgtk" ,webkitgtk)))
9065 (propagated-inputs
9066 `(;; gst-plugins-base is required to start Lollypop,
9067 ;; the others are required to play streaming.
64fce637
RS
9068 ("gst-plugins-good" ,gst-plugins-good)
9069 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9070 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9071 (synopsis "GNOME music playing application")
9072 (description
9073 "Lollypop is a music player designed to play well with GNOME desktop.
9074Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9075from artists and tracks from the web. It also fetches cover artworks
9076automatically and it can stream songs from online music services and charts.")
9077 (license license:gpl3+)))
d831d49d
AW
9078
9079(define-public gnome-video-effects
9080 (package
9081 (name "gnome-video-effects")
9082 (version "0.4.3")
9083 (source (origin
9084 (method url-fetch)
9085 (uri (string-append "mirror://gnome/sources/" name "/"
9086 (version-major+minor version) "/" name "-"
9087 version ".tar.xz"))
9088 (sha256
9089 (base32
9090 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9091 (build-system glib-or-gtk-build-system)
9092 (arguments
9093 `(#:out-of-source? #f))
9094 (native-inputs
9095 `(("glib:bin" ,glib "bin")
9096 ("intltool" ,intltool)
9097 ("gettext" ,gettext-minimal)
9098 ("pkg-config" ,pkg-config)))
9099 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9100 (synopsis "Video effects for Cheese and other GNOME applications")
9101 (description
9102 "A collection of GStreamer video filters and effects to be used in
9103photo-booth-like software, such as Cheese.")
9104 (license license:gpl2+)))
3511c780
AW
9105
9106(define-public cheese
9107 (package
9108 (name "cheese")
dd33b337 9109 (version "3.32.1")
3511c780
AW
9110 (source (origin
9111 (method url-fetch)
9112 (uri (string-append "mirror://gnome/sources/" name "/"
9113 (version-major+minor version) "/" name "-"
9114 version ".tar.xz"))
9115 (sha256
9116 (base32
dd33b337 9117 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
9118 (arguments
9119 ;; Tests require GDK.
9120 `(#:tests? #f
9121 #:phases
9122 (modify-phases %standard-phases
9123 (add-before 'install 'skip-gtk-update-icon-cache
9124 (lambda _
9125 ;; Don't create 'icon-theme.cache'
9126 (substitute* "Makefile"
9127 (("gtk-update-icon-cache") (which "true")))
9128 #t))
9129 (add-after 'install 'wrap-cheese
9130 (lambda* (#:key inputs outputs #:allow-other-keys)
9131 (let ((out (assoc-ref outputs "out"))
9132 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9133 (wrap-program (string-append out "/bin/cheese")
9134 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9135 #t)))))
9136 (build-system glib-or-gtk-build-system)
9137 (native-inputs
9138 `(("glib:bin" ,glib "bin")
9139 ("intltool" ,intltool)
9140 ("itstool" ,itstool)
9141 ("libxml2" ,libxml2)
9142 ("pkg-config" ,pkg-config)
9143 ("vala" ,vala)))
9144 (propagated-inputs
6a19f03e
RW
9145 `(("gnome-video-effects" ,gnome-video-effects)
9146 ("clutter" ,clutter)
3511c780
AW
9147 ("clutter-gst" ,clutter-gst)
9148 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9149 ("libcanberra" ,libcanberra)
3511c780
AW
9150 ("gdk-pixbuf" ,gdk-pixbuf)
9151 ("glib" ,glib)
6a19f03e
RW
9152 ("gstreamer" ,gstreamer)))
9153 (inputs
9154 `(("gnome-desktop" ,gnome-desktop)
3511c780 9155 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9156 ("gst-plugins-base" ,gst-plugins-base)
9157 ("gst-plugins-bad" ,gst-plugins-bad)
9158 ("gtk+" ,gtk+)
3511c780
AW
9159 ("libx11" ,libx11)
9160 ("libxtst" ,libxtst)))
9161 (home-page "https://wiki.gnome.org/Apps/Cheese")
9162 (synopsis "Webcam photo booth software for GNOME")
9163 (description
9164 "Cheese uses your webcam to take photos and videos. Cheese can also
9165apply fancy special effects and lets you share the fun with others.")
9166 (license license:gpl2+)))
3c5dbd2b 9167
9168(define-public sound-juicer
9169 (package
9170 (name "sound-juicer")
9171 (version "3.24.0")
9172 (source
9173 (origin
9174 (method url-fetch)
9175 (uri (string-append "mirror://gnome/sources/" name "/"
9176 (version-major+minor version) "/"
9177 name "-" version ".tar.xz"))
9178 (sha256
9179 (base32
9180 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9181 (build-system glib-or-gtk-build-system)
9182 (native-inputs
9183 `(("desktop-file-utils" ,desktop-file-utils)
9184 ("intltool" ,intltool)
9185 ("itstool" ,itstool)
9186 ("pkg-config" ,pkg-config)
9187 ("xmllint" ,libxml2)))
9188 (inputs
9189 `(("gtk+" ,gtk+)
9190 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9191 ("gstreamer" ,gstreamer)
9192 ("gst-plugins-base" ,gst-plugins-base)
9193 ("gst-plugins-good" ,gst-plugins-good)
9194 ("iso-codes" ,iso-codes)
9195 ("libbrasero-media3" ,brasero)
9196 ("libcanberra" ,libcanberra)
9197 ("libdiscid" ,libdiscid)
9198 ("libmusicbrainz" ,libmusicbrainz)
9199 ("neon" ,neon)))
9200 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9201 (synopsis "Audio music cd ripper")
9202 (description "Sound Juicer extracts audio from compact discs and convert it
9203into audio files that a personal computer or digital audio player can play.
9204It supports ripping to any audio codec supported by a GStreamer plugin, such as
9205mp3, Ogg Vorbis and FLAC")
9206 (license license:gpl2+)))
4e3fdeb7 9207
0d3f1708
CB
9208(define-public soundconverter
9209 (package
9210 (name "soundconverter")
fa75a213 9211 (version "3.0.1")
0d3f1708
CB
9212 (source
9213 (origin
9214 (method url-fetch)
9215 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9216 version "/+download/"
9217 "soundconverter-" version ".tar.xz"))
9218
9219 (sha256
fa75a213 9220 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9221 (patches
9222 (search-patches
9223 "soundconverter-remove-gconf-dependency.patch"))))
9224 (build-system glib-or-gtk-build-system)
9225 (arguments
9226 `(#:imported-modules ((guix build python-build-system)
9227 (guix build glib-or-gtk-build-system)
9228 ,@%gnu-build-system-modules)
9229
9230 #:modules ((guix build glib-or-gtk-build-system)
9231 (guix build utils)
9232 ((guix build gnu-build-system) #:prefix gnu:)
9233 ((guix build python-build-system) #:prefix python:))
9234
9235 #:phases
9236 (modify-phases %standard-phases
0d3f1708
CB
9237 (add-after 'install 'wrap-soundconverter-for-python
9238 (assoc-ref python:%standard-phases 'wrap))
9239 (add-after 'install 'wrap-soundconverter
9240 (lambda* (#:key inputs outputs #:allow-other-keys)
9241 (let ((out (assoc-ref outputs "out"))
9242 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9243 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9244 (wrap-program (string-append out "/bin/soundconverter")
9245 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9246 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9247 #t)))))
9248 (native-inputs
9249 `(("intltool" ,intltool)
9250 ("pkg-config" ,pkg-config)
9251 ("glib:bin" ,glib "bin")))
9252 (inputs
9253 `(("gtk+" ,gtk+)
9254 ("python" ,python)
9255 ("python-pygobject" ,python-pygobject)
9256 ("gstreamer" ,gstreamer)
9257 ("gst-plugins-base" ,gst-plugins-base)))
9258 (home-page "http://soundconverter.org/")
9259 (synopsis "Convert between audio formats with a graphical interface")
9260 (description
9261 "SoundConverter supports converting between many audio formats including
9262Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9263configurable file renaming. ")
9264 (license license:gpl3)))
9265
4e3fdeb7 9266(define-public workrave
89f2d736
TGR
9267 (package
9268 (name "workrave")
aa51d92c 9269 (version "1.10.34")
89f2d736
TGR
9270 (source
9271 (origin
9272 (method git-fetch)
9273 (uri (git-reference
9274 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9275 (commit (string-append "v" (string-map
9276 (match-lambda (#\. #\_) (chr chr))
9277 version)))))
89f2d736
TGR
9278 (file-name (git-file-name name version))
9279 (sha256
aa51d92c 9280 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 9281 (build-system glib-or-gtk-build-system)
d1c96847
MC
9282 (inputs `(("glib" ,glib)
9283 ("gtk+" ,gtk+)
9284 ("gdk-pixbuf" ,gdk-pixbuf)
9285 ("gtkmm" ,gtkmm)
9286 ("glibmm" ,glibmm)
9287 ("libx11" ,libx11)
9288 ("libxtst" ,libxtst)
9289 ("dconf" ,dconf)
9290 ("libice" ,libice)
9291 ("libsm" ,libsm)
9292 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9293 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9294 ("pkg-config" ,pkg-config)
9295 ("gettext" ,gnu-gettext)
9296 ("autoconf" ,autoconf)
9297 ("autoconf-archive" , autoconf-archive)
9298 ("automake" ,automake)
9299 ("libtool" ,libtool)
9300 ("intltool" ,intltool)
89f2d736 9301 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9302 ("python3" ,python-3)
9303 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9304 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9305 (description
9306 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9307repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9308micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9309 (home-page "http://www.workrave.org")
9310 (license license:gpl3+)))
312afa7d
LC
9311
9312(define-public ghex
9313 (package
9314 (name "ghex")
3748992a 9315 (version "3.18.4")
312afa7d
LC
9316 (source (origin
9317 (method url-fetch)
2fbab848 9318 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9319 (version-major+minor version) "/"
2fbab848 9320 "ghex-" version ".tar.xz"))
312afa7d
LC
9321 (sha256
9322 (base32
3748992a
KK
9323 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9324 (build-system meson-build-system)
9325 (arguments
9326 '(#:glib-or-gtk? #t
9327 #:phases
9328 (modify-phases %standard-phases
9329 (add-after 'unpack 'skip-gtk-update-icon-cache
9330 ;; Don't create 'icon-theme.cache'.
9331 (lambda _
9332 (substitute* "meson_post_install.py"
9333 (("gtk-update-icon-cache") (which "true")))
9334 #t)))))
312afa7d
LC
9335 (native-inputs
9336 `(("pkg-config" ,pkg-config)
3748992a 9337 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9338 ("gnome-common" ,gnome-common)
9339 ("which" ,which)
9340 ("intltool" ,intltool)
9341 ("yelp-tools" ,yelp-tools)
2fbab848 9342 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9343 (inputs
9344 `(("atk" ,atk)
9345 ("gtk" ,gtk+)))
9346 (synopsis "GNOME hexadecimal editor")
9347 (description "The GHex program can view and edit files in two ways:
9348hexadecimal or ASCII. It is useful for editing binary files in general.")
9349 (home-page "https://wiki.gnome.org/Apps/Ghex")
9350 (license license:gpl2)))
4b2ed6c2
RW
9351
9352(define-public libdazzle
9353 (package
9354 (name "libdazzle")
64fa66ba 9355 (version "3.33.90")
4b2ed6c2
RW
9356 (source (origin
9357 (method url-fetch)
687b4909 9358 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9359 (version-major+minor version) "/"
687b4909 9360 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9361 (sha256
9362 (base32
64fa66ba 9363 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9364 (build-system meson-build-system)
9365 (arguments
9366 `(#:phases
9367 (modify-phases %standard-phases
4b2ed6c2
RW
9368 (add-before 'check 'pre-check
9369 (lambda _
9370 ;; Tests require a running X server.
9371 (system "Xvfb :1 &")
9372 (setenv "DISPLAY" ":1")
9373 #t)))))
9374 (native-inputs
687b4909 9375 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9376 ("pkg-config" ,pkg-config)
687b4909 9377 ;; For tests.
ff337525 9378 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9379 (inputs
9380 `(("glib" ,glib)
9381 ("gobject-introspection" ,gobject-introspection)
9382 ("gtk+" ,gtk+)
9383 ("vala" ,vala)))
9384 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9385 (synopsis "Companion library to GObject and Gtk+")
9386 (description "The libdazzle library is a companion library to GObject and
9387Gtk+. It provides various features that the authors wish were in the
9388underlying library but cannot for various reasons. In most cases, they are
9389wildly out of scope for those libraries. In other cases, they are not quite
9390generic enough to work for everyone.")
9391 (license license:gpl3+)))
7d3bb433
RW
9392
9393(define-public evolution
9394 (package
9395 (name "evolution")
06141f83 9396 (version "3.32.4")
7d3bb433
RW
9397 (source (origin
9398 (method url-fetch)
9399 (uri (string-append "mirror://gnome/sources/evolution/"
9400 (version-major+minor version) "/"
9401 "evolution-" version ".tar.xz"))
9402 (sha256
9403 (base32
06141f83 9404 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9405 (build-system cmake-build-system)
9406 (arguments
5229bea1
KK
9407 `(#:imported-modules (,@%cmake-build-system-modules
9408 (guix build glib-or-gtk-build-system))
9409 #:modules ((guix build cmake-build-system)
9410 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9411 (guix build utils))
9412 #:configure-flags
7d3bb433 9413 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9414 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9415 ; in four years and cannot be built.
5229bea1
KK
9416 #:phases
9417 (modify-phases %standard-phases
9418 ;; The build system attempts to install user interface modules to the
9419 ;; output directory of the "evolution-data-server" package. This
9420 ;; change redirects that change.
9421 (add-after 'unpack 'patch-ui-module-dir
9422 (lambda* (#:key outputs #:allow-other-keys)
9423 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9424 (("\\$\\{edsuimoduledir\\}")
9425 (string-append (assoc-ref outputs "out")
9426 "/lib/evolution-data-server/ui-modules")))
9427 #t))
9428 (add-after 'install 'glib-or-gtk-compile-schemas
9429 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9430 (add-after 'install 'glib-or-gtk-wrap
9431 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9432 (native-inputs
ad6e168b 9433 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9434 ("pkg-config" ,pkg-config)
9435 ("intltool" ,intltool)
9436 ("itstool" ,itstool)))
9437 (inputs
9438 `(("enchant" ,enchant)
9439 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9440 ("gcr" ,gcr)
ad6e168b 9441 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9442 ("gnome-autoar" ,gnome-autoar)
9443 ("gnome-desktop" ,gnome-desktop)
9444 ("gtkspell3" ,gtkspell3)
9445 ("highlight" ,highlight)
9446 ("libcanberra" ,libcanberra)
b63c06f1 9447 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9448 ("libgweather" ,libgweather)
9449 ("libnotify" ,libnotify)
9450 ("libsoup" ,libsoup)
9451 ("nss" ,nss)
9452 ("openldap" ,openldap)
9453 ("webkitgtk" ,webkitgtk)
9454 ("ytnef" ,ytnef)))
9455 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9456 (synopsis "Manage your email, contacts and schedule")
9457 (description "Evolution is a personal information management application
9458that provides integrated mail, calendaring and address book
9459functionality.")
9460 ;; See COPYING for details.
23dbe621 9461 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9462 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9463 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9464
9465(define-public gthumb
9466 (package
9467 (name "gthumb")
8280676b 9468 (version "3.8.2")
169d63f5
AT
9469 (source (origin
9470 (method url-fetch)
9471 (uri (string-append "mirror://gnome/sources/gthumb/"
9472 (version-major+minor version) "/"
9473 "gthumb-" version ".tar.xz"))
9474 (sha256
9475 (base32
8280676b 9476 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9477 (build-system meson-build-system)
9478 (arguments
9479 `(#:glib-or-gtk? #t
9480 #:configure-flags
9481 ;; Ensure the RUNPATH contains all installed library locations.
9482 (list (string-append "-Dc_link_args=-Wl,-rpath="
9483 (assoc-ref %outputs "out")
9484 "/lib/gthumb/extensions")
9485 (string-append "-Dcpp_link_args=-Wl,-rpath="
9486 (assoc-ref %outputs "out")
9487 "/lib/gthumb/extensions"))))
9488 (native-inputs
9489 `(("pkg-config" ,pkg-config)
9490 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9491 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9492 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9493 ("intltool" ,intltool)
9494 ("itstool" ,itstool)))
9495 (inputs
9496 `(("exiv2" ,exiv2)
9497 ("gtk" ,gtk+)
9498 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9499 ("gstreamer" ,gstreamer)
9500 ("clutter" ,clutter)
9501 ("clutter-gst" ,clutter-gst)
9502 ("clutter-gtk" ,clutter-gtk)
9503 ("libjpeg" ,libjpeg)
9504 ("libtiff" ,libtiff)
9505 ("libraw" ,libraw)))
9506 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9507 (synopsis "GNOME image viewer and browser")
9508 (description "GThumb is an image viewer, browser, organizer, editor and
9509advanced image management tool")
9510 (license license:gpl2+)))
08be02be
AT
9511
9512(define-public terminator
9513 (package
9514 (name "terminator")
9515 (version "1.91")
9516 (source (origin
9517 (method url-fetch)
9518 (uri (string-append "https://launchpad.net/" name "/"
9519 "gtk3/" version "/" "+download/"
9520 name "-" version ".tar.gz"))
9521 (sha256
9522 (base32
9523 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9524 (build-system python-build-system)
9525 (native-inputs
9526 `(("intltool" ,intltool)
9527 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9528 ("gettext" ,gettext-minimal)
9529 ("pkg-config" ,pkg-config)))
9530 (inputs
9531 `(("cairo" ,cairo)
9532 ("gobject-introspection" ,gobject-introspection)
96681d4b 9533 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9534 ("python2-pycairo" ,python2-pycairo)
9535 ("python2-pygobject" ,python2-pygobject)
9536 ("python2-psutil" ,python2-psutil)
9537 ("vte" ,vte)))
9538 (arguments
96681d4b
TGR
9539 `(#:python ,python-2 ; Python 3 isn't supported
9540 #:imported-modules ((guix build glib-or-gtk-build-system)
9541 ,@%python-build-system-modules)
9542 #:modules ((guix build python-build-system)
9543 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9544 (guix build utils))
08be02be
AT
9545 #:phases
9546 (modify-phases %standard-phases
9547 (add-after
9548 'install 'wrap-program
9549 (lambda* (#:key outputs #:allow-other-keys)
9550 (let ((prog (string-append (assoc-ref outputs "out")
9551 "/bin/terminator")))
9552 (wrap-program prog
9553 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9554 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9555 #t)))
9556 (add-after 'wrap-program 'glib-or-gtk-wrap
9557 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9558 (home-page "https://gnometerminator.blogspot.com/")
9559 (synopsis "Store and run multiple GNOME terminals in one window")
9560 (description
9561 "Terminator allows you to run multiple GNOME terminals in a grid and
9562+tabs, and it supports drag and drop re-ordering of terminals.")
9563 (license license:gpl2)))
213315d4
JF
9564
9565(define-public libhandy
9566 (package
9567 (name "libhandy")
f6501b9f 9568 (version "0.0.12")
213315d4
JF
9569 (source
9570 (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://source.puri.sm/Librem5/libhandy")
9574 (commit (string-append "v" version))))
9575 (file-name (git-file-name name version))
9576 (sha256
f6501b9f 9577 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9578 (build-system meson-build-system)
9579 (arguments
9580 `(#:configure-flags
9581 '("-Dglade_catalog=disabled"
9582 "-Dgtk_doc=true")
9583 #:phases
9584 (modify-phases %standard-phases
213315d4
JF
9585 (add-before 'check 'pre-check
9586 (lambda _
9587 ;; Tests require a running X server.
9588 (system "Xvfb :1 &")
9589 (setenv "DISPLAY" ":1")
9590 #t)))))
9591 (inputs
9592 `(("gtk+" ,gtk+)))
9593 (native-inputs
9594 `(("glib:bin" ,glib "bin")
9595 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9596 ("vala" ,vala)
9597 ("gtk-doc" ,gtk-doc)
9598 ("pkg-config" ,pkg-config)
9599 ("gettext" ,gettext-minimal)
d41ee146
TGR
9600
9601 ;; Test suite dependencies.
ff337525 9602 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9603 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9604 (home-page "https://source.puri.sm/Librem5/libhandy")
9605 (synopsis "Library full of GTK+ widgets for mobile phones")
9606 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9607interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9608for usage on small and big screens.")
213315d4 9609 (license license:lgpl2.1+)))
a830d14d
GL
9610
9611(define-public libgit2-glib
9612 (package
9613 (name "libgit2-glib")
6448c2e1 9614 (version "0.99.0.1")
a830d14d
GL
9615 (source (origin
9616 (method url-fetch)
9617 (uri (string-append "mirror://gnome/sources/" name "/"
9618 (version-major+minor version) "/"
9619 name "-" version ".tar.xz"))
9620 (sha256
9621 (base32
6448c2e1 9622 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9623 (build-system meson-build-system)
9624 (native-inputs
9625 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9626 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9627 ("pkg-config" ,pkg-config)
9628 ("python-pygobject" ,python-pygobject)
9629 ("python-wrapper" ,python-wrapper)
9630 ("vala" ,vala)))
9631 (inputs
9632 `(("glib" ,glib)
8c6aae46
MB
9633 ("libssh2" ,libssh2)))
9634 (propagated-inputs
9635 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9636 ("libgit2" ,libgit2)))
9637 (synopsis "GLib wrapper around the libgit2 Git access library")
9638 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9639access library. It only implements the core plumbing functions, not really the
9640higher level porcelain stuff.")
9641 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9642 (license license:gpl2+)))
93beace0 9643
08db81c9
LP
9644(define-public gitg
9645 (package
9646 (name "gitg")
9647 (version "3.32.1")
9648 (source (origin
9649 (method url-fetch)
9650 (uri (string-append "mirror://gnome/sources/" name "/"
9651 (version-major+minor version) "/"
9652 name "-" version ".tar.xz"))
9653 (sha256
9654 (base32
9655 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9656 (build-system meson-build-system)
9657 (arguments
9658 `(#:glib-or-gtk? #t
9659 #:phases
9660 (modify-phases %standard-phases
9661 (add-after 'unpack 'disable-post-install-partially
9662 (lambda _
9663 (substitute* "meson_post_install.py"
9664 (("'python'") ; there are no python sources to compile
9665 (string-append "'" (which "true") "'"))
9666 (("gtk-update-icon-cache") (which "true")))
9667 #t))
9668 (add-after 'unpack 'fix-test-sources
9669 (lambda _
9670 (substitute* "tests/libgitg/test-commit.vala"
9671 (("/bin/bash") (which "bash")))
9672 #t))
9673 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9674 (lambda* (#:key outputs #:allow-other-keys)
9675 (let ((prog (string-append (assoc-ref outputs "out")
9676 "/bin/gitg")))
9677 (wrap-program prog
9678 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9679 #t))))))
9680 (inputs
9681 `(("glib" ,glib)
9682 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9683 ("gtk+" ,gtk+)
9684 ("gtkspell3" ,gtkspell3)
9685 ("gtksourceview" ,gtksourceview-3)
9686 ("json-glib" ,json-glib)
9687 ("libdazzle" ,libdazzle)
9688 ("libgee" ,libgee)
08db81c9
LP
9689 ("libgit2-glib" ,libgit2-glib)
9690 ("libpeas" ,libpeas)
9691 ("libsecret" ,libsecret)
9692 ("libsoup" ,libsoup)
9693 ("libxml2" ,libxml2)))
9694 (native-inputs
9695 `(("glib:bin" ,glib "bin")
9696 ("gtk+:bin" ,gtk+ "bin")
9697 ("gobject-introspection" ,gobject-introspection)
9698 ("intltool" ,intltool)
9699 ("pkg-config" ,pkg-config)
9700 ("vala" ,vala)))
9701 (synopsis "Graphical user interface for git")
9702 (description
9703 "gitg is a graphical user interface for git. It aims at being a small,
9704fast and convenient tool to visualize the history of git repositories.
9705Besides visualization, gitg also provides several utilities to manage your
9706repository and commit your work.")
9707 (home-page "https://wiki.gnome.org/Apps/Gitg")
9708 (license license:gpl2+)))
9709
1e600ed0
RW
9710(define-public gamin
9711 (package
9712 (name "gamin")
9713 (version "0.1.10")
9714 (source (origin
9715 (method url-fetch)
9716 (uri (string-append "mirror://gnome/sources/" name "/"
9717 (version-major+minor version) "/"
9718 name "-" version ".tar.bz2"))
9719 (sha256
9720 (base32
9721 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9722 (build-system gnu-build-system)
9723 (arguments
9724 `(#:phases
9725 (modify-phases %standard-phases
9726 (add-after 'unpack 'remove-deprecated-macro
9727 (lambda _
9728 (substitute* '("server/gam_node.c"
9729 "server/gam_subscription.h"
9730 "server/gam_node.h"
9731 "server/gam_subscription.c")
9732 (("G_CONST_RETURN") "const"))
9733 #t)))))
9734 (inputs
9735 `(("glib" ,glib)))
9736 (native-inputs
9737 `(("intltool" ,intltool)
9738 ("pkg-config" ,pkg-config)))
9739 (home-page "https://people.gnome.org/~veillard/gamin/")
9740 (synopsis "File alteration monitor")
9741 (description
9742 "Gamin is a file and directory monitoring system defined to be a subset
9743of the FAM (File Alteration Monitor) system. This is a service provided by a
9744library which allows to detect when a file or a directory has been modified.")
9745 (license license:gpl2+)))
9746
93beace0
DW
9747(define-public gnome-mahjongg
9748 (package
9749 (name "gnome-mahjongg")
9750 (version "3.35.1")
9751 (source (origin
9752 (method git-fetch)
9753 (uri (git-reference
9754 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9755 (commit version)))
9756 (file-name (git-file-name name version))
9757 (sha256
9758 (base32
9759 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9760 (build-system meson-build-system)
9761 (arguments
9762 `(#:glib-or-gtk? #t))
9763 (native-inputs
9764 `(("appstream-glib" ,appstream-glib)
9765 ("gettext" ,gettext-minimal)
9766 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9767 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9768 ("itstool" ,itstool)
9769 ("pkg-config" ,pkg-config)
9770 ("vala" ,vala)))
9771 (propagated-inputs
9772 `(("dconf" ,dconf)))
9773 (inputs
9774 `(("glib" ,glib)
9775 ("gtk+" ,gtk+)
9776 ("librsvg" ,librsvg)))
9777 (synopsis "Mahjongg tile-matching game")
9778 (description "GNOME Mahjongg is a game based on the classic Chinese
9779tile-matching game Mahjong. It features multiple board layouts, tile themes,
9780and a high score table.")
9781 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9782 (license license:gpl2+)))
f825476c 9783
76ea7632
RG
9784(define-public gnome-themes-extra
9785 (package
9786 (name "gnome-themes-extra")
9787 (version "3.28")
9788 (source
9789 (origin
9790 (method url-fetch)
9791 (uri (string-append "mirror://gnome/sources/" name "/"
9792 (version-major+minor version) "/" name "-"
9793 version ".tar.xz"))
9794 (sha256
9795 (base32
9796 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9797 (build-system gnu-build-system)
885424bf
RG
9798 (arguments
9799 '(#:configure-flags
9800 ;; Don't create 'icon-theme.cache'.
9801 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9802 (true (string-append coreutils "/bin/true")))
9803 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9804 (native-inputs
9805 `(("glib:bin" ,glib "bin")
9806 ("intltool" ,intltool)
9807 ("pkg-config" ,pkg-config)))
9808 (inputs
9809 `(("glib" ,glib)
9810 ("gtk+" ,gtk+)
9811 ("gtk+-2" ,gtk+-2)
9812 ("librsvg" ,librsvg)
9813 ("libxml2" ,libxml2)))
9814 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9815 (synopsis "GNOME Extra Themes")
9816 (description "This package provides themes and related elements that don't
9817really fit in other upstream packages. It offers legacy support for GTK+ 2
9818versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9819index files needed for Adwaita to be used outside of GNOME.")
9820 (license license:lgpl2.1+)))
9821
f825476c
LP
9822(define-public polari
9823 (package
9824 (name "polari")
9825 (version "3.32.2")
9826 (source (origin
9827 (method url-fetch)
9828 (uri (string-append "mirror://gnome/sources/polari/"
9829 (version-major+minor version)
9830 "/polari-" version ".tar.xz"))
9831 (sha256
9832 (base32
9833 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9834 (build-system meson-build-system)
9835 (arguments
9836 `(#:glib-or-gtk? #t
9837 #:phases
9838 (modify-phases %standard-phases
9839 (add-after 'unpack 'skip-gtk-update-icon-cache
9840 (lambda _
9841 (substitute* "meson/meson-postinstall.sh"
9842 (("gtk-update-icon-cache") (which "true")))
9843 #t))
9844 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9845 (lambda* (#:key outputs #:allow-other-keys)
9846 (let ((prog (string-append (assoc-ref outputs "out")
9847 "/bin/polari")))
9848 (wrap-program prog
9849 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9850 #t))))))
9851 (inputs
9852 `(("glib" ,glib)
9853 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9854 ("gspell" ,gspell)
9855 ("gtk+" ,gtk+)
9856 ("gjs" ,gjs)
9857 ("libsecret" ,libsecret)
9858 ("libsoup" ,libsoup)
9859 ("telepathy-glib" ,telepathy-glib)
9860 ("telepathy-logger" ,telepathy-logger)))
9861 (native-inputs
9862 `(("glib:bin" ,glib "bin")
9863 ("gobject-introspection" ,gobject-introspection)
9864 ("intltool" ,intltool)
9865 ("pkg-config" ,pkg-config)
9866 ("yelp-tools" ,yelp-tools)))
9867 (propagated-inputs
9868 `(("telepathy-idle" ,telepathy-idle)
9869 ("telepathy-mission-control" ,telepathy-mission-control)))
9870 (synopsis "Simple IRC Client")
9871 (description
9872 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9873integrate seamlessly with the GNOME desktop.")
9874 (home-page "https://wiki.gnome.org/Apps/Polari")
9875 (license license:gpl2+)))
59d4c8c2
PN
9876
9877(define-public gnome-boxes
9878 (package
9879 (name "gnome-boxes")
9880 (version "3.35.91")
9881 (source
9882 (origin
9883 (method url-fetch)
9884 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9885 (version-major+minor version) "/"
9886 "gnome-boxes-" version ".tar.xz"))
9887 (sha256
9888 (base32
9889 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9890 (build-system meson-build-system)
9891 (arguments
9892 '(#:glib-or-gtk? #t
9893 #:configure-flags (list "-Drdp=false"
9894 (string-append "-Dc_link_args=-Wl,-rpath="
9895 (assoc-ref %outputs "out")
9896 "/lib/gnome-boxes"))))
9897 (native-inputs
9898 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9899 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9900 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9901 ("itstool" ,itstool)
9902 ("intltool" ,intltool)
9903 ("vala" ,vala)
9904 ("pkg-config" ,pkg-config)))
9905 (inputs
9906 `(("libarchive" ,libarchive)
9907 ("gtk" ,gtk+)
9908 ("gtk-vnc" ,gtk-vnc)
9909 ("libosinfo" ,libosinfo)
9910 ("libsecret" ,libsecret)
9911 ("libsoup" ,libsoup)
9912 ("libusb" ,libusb)
9913 ("libvirt" ,libvirt)
9914 ("libvirt-glib" ,libvirt-glib)
9915 ("libxml" ,libxml2)
9916 ("spice-gtk" ,spice-gtk)
9917 ("sparql-query" ,sparql-query)
9918 ("vte" ,vte)
9919 ("webkitgtk" ,webkitgtk)
9920 ("tracker" ,tracker)
9921 ("libgudev" ,libgudev)))
9922 (home-page "https://wiki.gnome.org/Apps/Boxes")
9923 (synopsis "View, access, and manage remote and virtual systems")
9924 (description "GNOME Boxes is a simple application to view, access, and
9925manage remote and virtual systems.")
9926 (license (list
9927 ;; For data/icons/empty-boxes.png.
9928 license:cc-by2.0
9929 ;; For all others.
9930 license:lgpl2.0+))))