gnu: ardour: Use HTTPS home page.
[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>
995b7261
AE
49;;;
50;;; This file is part of GNU Guix.
51;;;
52;;; GNU Guix is free software; you can redistribute it and/or modify it
53;;; under the terms of the GNU General Public License as published by
54;;; the Free Software Foundation; either version 3 of the License, or (at
55;;; your option) any later version.
56;;;
57;;; GNU Guix is distributed in the hope that it will be useful, but
58;;; WITHOUT ANY WARRANTY; without even the implied warranty of
59;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60;;; GNU General Public License for more details.
61;;;
62;;; You should have received a copy of the GNU General Public License
63;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
64
65(define-module (gnu packages gnome)
ed19903d 66 #:use-module (gnu packages)
ba5dd105 67 #:use-module (gnu packages admin)
411ba511 68 #:use-module (gnu packages aspell)
75016d07 69 #:use-module (gnu packages autotools)
7b212526 70 #:use-module (gnu packages avahi)
b29909b4 71 #:use-module (gnu packages backup)
6a180f6f 72 #:use-module (gnu packages base)
1e33331c 73 #:use-module (gnu packages bash)
5698b8b8 74 #:use-module (gnu packages bison)
aa51d92c 75 #:use-module (gnu packages boost)
5fc9b6c1 76 #:use-module (gnu packages build-tools)
df217748 77 #:use-module (gnu packages calendar)
b29909b4 78 #:use-module (gnu packages cdrom)
df12f04a 79 #:use-module (gnu packages check)
d61a894b 80 #:use-module (gnu packages cmake)
b29909b4 81 #:use-module (gnu packages compression)
8f523eb9 82 #:use-module (gnu packages crates-io)
23a22af6 83 #:use-module (gnu packages cups)
6e1bb642 84 #:use-module (gnu packages curl)
c3f29bc9 85 #:use-module (gnu packages cyrus-sasl)
6e1bb642 86 #:use-module (gnu packages databases)
255d1bbe 87 #:use-module (gnu packages dbm)
c769cf9f 88 #:use-module (gnu packages djvu)
ba5dd105 89 #:use-module (gnu packages dns)
b4ce6300 90 #:use-module (gnu packages docbook)
b29909b4 91 #:use-module (gnu packages documentation)
329d731b 92 #:use-module (gnu packages enchant)
b29909b4
TGR
93 #:use-module (gnu packages flex)
94 #:use-module (gnu packages fonts)
e762d943 95 #:use-module (gnu packages file-systems)
a56be436 96 #:use-module (gnu packages fontutils)
b29909b4 97 #:use-module (gnu packages freedesktop)
dfc407f3 98 #:use-module (gnu packages game-development)
fed5a689 99 #:use-module (gnu packages gettext)
b29909b4
TGR
100 #:use-module (gnu packages ghostscript)
101 #:use-module (gnu packages gl)
995b7261 102 #:use-module (gnu packages glib)
c1354b90 103 #:use-module (gnu packages gnupg)
23a22af6 104 #:use-module (gnu packages gnuzilla)
8d8c6bff 105 #:use-module (gnu packages geo)
b29909b4
TGR
106 #:use-module (gnu packages gperf)
107 #:use-module (gnu packages graphviz)
85f5dc19 108 #:use-module (gnu packages gstreamer)
d9c1a22b 109 #:use-module (gnu packages gtk)
6b888eff 110 #:use-module (gnu packages guile)
b645146f 111 #:use-module (gnu packages ibus)
03be9874 112 #:use-module (gnu packages icu4c)
b29909b4
TGR
113 #:use-module (gnu packages image)
114 #:use-module (gnu packages imagemagick)
115 #:use-module (gnu packages inkscape)
9cc98f8a 116 #:use-module (gnu packages iso-codes)
b29909b4 117 #:use-module (gnu packages kerberos)
85f5dc19 118 #:use-module (gnu packages libcanberra)
b64e217f 119 #:use-module (gnu packages libunistring)
75016d07 120 #:use-module (gnu packages libusb)
b29909b4 121 #:use-module (gnu packages linux)
4e3fc547 122 #:use-module (gnu packages lirc)
7b212526 123 #:use-module (gnu packages lua)
b29909b4 124 #:use-module (gnu packages mail)
03be9874 125 #:use-module (gnu packages mp3)
b29909b4 126 #:use-module (gnu packages multiprecision)
64fce637 127 #:use-module (gnu packages music)
b29909b4
TGR
128 #:use-module (gnu packages ncurses)
129 #:use-module (gnu packages nettle)
ba5dd105 130 #:use-module (gnu packages networking)
5fc9b6c1 131 #:use-module (gnu packages ninja)
aff0cce9 132 #:use-module (gnu packages nss)
b29909b4 133 #:use-module (gnu packages openldap)
b645146f 134 #:use-module (gnu packages password-utils)
de1215e2 135 #:use-module (gnu packages pcre)
b29909b4 136 #:use-module (gnu packages pdf)
27477d2d 137 #:use-module (gnu packages perl)
f70d8383 138 #:use-module (gnu packages photo)
995b7261 139 #:use-module (gnu packages pkg-config)
b29909b4
TGR
140 #:use-module (gnu packages polkit)
141 #:use-module (gnu packages popt)
7d3bb433 142 #:use-module (gnu packages pretty-print)
23a22af6 143 #:use-module (gnu packages pulseaudio)
995b7261 144 #:use-module (gnu packages python)
00014781
RW
145 #:use-module (gnu packages python-crypto)
146 #:use-module (gnu packages python-web)
44d10b1f 147 #:use-module (gnu packages python-xyz)
cce0da5e 148 #:use-module (gnu packages rdesktop)
b29909b4 149 #:use-module (gnu packages readline)
a76d0f03 150 #:use-module (gnu packages ruby)
ec47c07d 151 #:use-module (gnu packages rust)
b29909b4 152 #:use-module (gnu packages samba)
75016d07 153 #:use-module (gnu packages scanner)
240cee8a 154 #:use-module (gnu packages selinux)
c27e02bf 155 #:use-module (gnu packages slang)
b29909b4
TGR
156 #:use-module (gnu packages speech)
157 #:use-module (gnu packages spice)
cd0322a3 158 #:use-module (gnu packages sqlite)
4a1bf090 159 #:use-module (gnu packages ssh)
8f9ac901 160 #:use-module (gnu packages tex)
33dc54b0 161 #:use-module (gnu packages time)
a7fd7b68 162 #:use-module (gnu packages tls)
3c5dbd2b 163 #:use-module (gnu packages version-control)
b29909b4 164 #:use-module (gnu packages video)
59132b80 165 #:use-module (gnu packages virtualization)
f2b96b3a 166 #:use-module (gnu packages vpn)
a18f8eaf 167 #:use-module (gnu packages web)
b29909b4
TGR
168 #:use-module (gnu packages webkit)
169 #:use-module (gnu packages xdisorg)
170 #:use-module (gnu packages xiph)
171 #:use-module (gnu packages xml)
d633f2f6 172 #:use-module (gnu packages xorg)
a76d0f03 173 #:use-module (gnu artwork)
8f523eb9 174 #:use-module (guix build-system cargo)
b29909b4
TGR
175 #:use-module (guix build-system cmake)
176 #:use-module (guix build-system glib-or-gtk)
177 #:use-module (guix build-system gnu)
178 #:use-module (guix build-system meson)
08be02be 179 #:use-module (guix build-system python)
b29909b4
TGR
180 #:use-module (guix build-system trivial)
181 #:use-module (guix download)
182 #:use-module (guix git-download)
183 #:use-module ((guix licenses) #:prefix license:)
184 #:use-module (guix packages)
185 #:use-module (guix utils)
a76d0f03 186 #:use-module (guix gexp)
8f523eb9
EF
187 #:use-module (guix monads)
188 #:use-module (guix store)
4e3fdeb7 189 #:use-module (ice-9 match)
c024ae36 190 #:use-module (srfi srfi-1))
85f5dc19
AE
191
192(define-public brasero
193 (package
194 (name "brasero")
e2bf423a 195 (version "3.12.2")
85f5dc19
AE
196 (source (origin
197 (method url-fetch)
d1df7554 198 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 199 (version-major+minor version) "/"
d1df7554 200 "brasero-" version ".tar.xz"))
85f5dc19
AE
201 (sha256
202 (base32
e2bf423a 203 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 204 (build-system glib-or-gtk-build-system)
e8627cd9
DH
205 (arguments
206 `(#:configure-flags (list
207 (string-append "--with-girdir="
208 (assoc-ref %outputs "out")
209 "/share/gir-1.0")
210 (string-append "--with-typelibdir="
211 (assoc-ref %outputs "out")
ce426deb
TD
212 "/lib/girepository-1.0"))
213 #:phases
214 (modify-phases %standard-phases
215 (add-before 'configure 'embed-growisofs
216 (lambda* (#:key inputs #:allow-other-keys)
217 (substitute* "plugins/growisofs/burn-growisofs.c"
218 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 219 #t)))))
85f5dc19
AE
220 (propagated-inputs
221 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
222 (native-inputs
223 `(("intltool" ,intltool)
ba549e17 224 ("itstool" ,itstool)
426adbe8 225 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 226 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 227 ("pkg-config" ,pkg-config)))
85f5dc19 228 (inputs
ce426deb
TD
229 `(("dvd+rw-tools" ,dvd+rw-tools)
230 ("glib" ,glib)
85f5dc19
AE
231 ("gnome-doc-utils" ,gnome-doc-utils)
232 ("gstreamer" ,gstreamer)
233 ("gst-plugins-base" ,gst-plugins-base)
234 ("gtk+" ,gtk+)
85f5dc19
AE
235 ("libcanberra" ,libcanberra)
236 ("libice" ,libice)
237 ("libnotify" ,libnotify)
238 ("libsm" ,libsm)
e8627cd9 239 ("libxml2" ,libxml2)
e8627cd9 240 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 241 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
242 (synopsis "CD/DVD burning tool for Gnome")
243 (description "Brasero is an application to burn CD/DVD for the Gnome
244Desktop. It is designed to be as simple as possible and has some unique
245features to enable users to create their discs easily and quickly.")
1dd26275 246 (license license:gpl2+)))
995b7261 247
29ae18db
RG
248(define-public gnome-color-manager
249 (package
250 (name "gnome-color-manager")
251 (version "3.32.0")
252 (source (origin
253 (method url-fetch)
254 (uri (string-append "mirror://gnome/sources/" name "/"
255 (version-major+minor version) "/"
256 name "-" version ".tar.xz"))
257 (sha256
258 (base32
259 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
260 (build-system meson-build-system)
261 (arguments
262 `(#:glib-or-gtk? #t
263 #:phases
264 (modify-phases %standard-phases
265 (add-before
266 'check 'pre-check
267 (lambda _
268 ;; Tests require a running X server.
269 (system "Xvfb :1 &")
270 (setenv "DISPLAY" ":1")
271 #t)))))
272 (native-inputs
273 `(("desktop-file-utils" ,desktop-file-utils)
274 ("gettext" ,gettext-minimal)
275 ("glib:bin" ,glib "bin")
276 ("gtk+:bin" ,gtk+ "bin")
277 ("itstool" ,itstool)
278 ("pkg-config" ,pkg-config)
279 ("xorg-server" ,xorg-server-for-tests)))
280 (inputs
281 `(("adwaita-icon-theme" ,adwaita-icon-theme)
282 ("appstream-glib" ,appstream-glib)
283 ("colord-gtk" ,colord-gtk)
284 ("exiv2" ,exiv2)
285 ("gnome-desktop" ,gnome-desktop)
286 ("libcanberra" ,libcanberra)
287 ("libexif" ,libexif)
288 ("libtiff" ,libtiff)
289 ("libxrandr" ,libxrandr)
290 ("libxtst" ,libxtst)
291 ("libxxf86vm" ,libxxf86vm)
292 ("vte" ,vte)
293 ("xorgproto" ,xorgproto)))
294 (synopsis "Color profile manager for the GNOME desktop")
295 (description "GNOME Color Manager is a session framework that makes
296it easy to manage, install and generate color profiles
297in the GNOME desktop.")
298 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 299 (license license:gpl2+)))
29ae18db 300
e05471a1
RG
301(define-public gnome-online-miners
302 (package
303 (name "gnome-online-miners")
304 (version "3.30.0")
305 (source (origin
306 (method url-fetch)
307 (uri (string-append "mirror://gnome/sources/" name "/"
308 (version-major+minor version) "/"
309 name "-" version ".tar.xz"))
310 (sha256
311 (base32
312 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
313 (build-system glib-or-gtk-build-system)
314 (native-inputs
315 `(("gettext" ,gettext-minimal)
316 ("glib:bin" ,glib "bin")
29ae18db 317 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
318 ("gtk+:bin" ,gtk+ "bin")
319 ("pkg-config" ,pkg-config)))
320 (inputs
321 `(("gnome-online-accounts" ,gnome-online-accounts)
322 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
323 ("grilo" ,grilo)
324 ("libgdata" ,libgdata)
325 ("libgfbgraph" ,gfbgraph)
326 ("libzapojit" ,libzapojit)
327 ("rest" ,rest)
328 ("tracker" ,tracker)))
329 (synopsis "Web Crawlers for GNOME")
330 (description "GNOME Online Miners provides a set of crawlers that
331go through your online content and index them locally in Tracker.
332It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
333 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 334 (license license:gpl2+)))
e05471a1 335
e2aed29c
RG
336(define-public gssdp
337 (package
338 (name "gssdp")
339 (version "1.2.2")
340 (source (origin
341 (method url-fetch)
342 (uri (string-append "mirror://gnome/sources/" name "/"
343 (version-major+minor version) "/"
344 name "-" version ".tar.xz"))
345 (sha256
346 (base32
347 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
348 (build-system meson-build-system)
349 (native-inputs
350 `(("gettext" ,gettext-minimal)
351 ("glib:bin" ,glib "bin")
352 ("gobject-introspection" ,gobject-introspection)
353 ("gtk-doc" ,gtk-doc)
354 ("pkg-config" ,pkg-config)
355 ("vala" ,vala)))
356 (inputs
357 `(("gtk+" ,gtk+)
358 ("libsoup" ,libsoup)))
359 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
360Protocol} for GNOME")
361 (description "This package provides a library to handle resource discovery
362and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
363a debugging tool, @command{gssdp-device-sniffer}.")
364 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
365 (license license:lgpl2.0+)))
366
291a85b2
RG
367(define-public gupnp
368 (package
369 (name "gupnp")
370 (version "1.2.2")
371 (source (origin
372 (method url-fetch)
373 (uri (string-append "mirror://gnome/sources/" name "/"
374 (version-major+minor version) "/"
375 name "-" version ".tar.xz"))
376 (sha256
377 (base32
378 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
379 (build-system meson-build-system)
380 (native-inputs
381 `(("gettext" ,gettext-minimal)
382 ("glib:bin" ,glib "bin")
383 ("gobject-introspection" ,gobject-introspection)
384 ("gtk-doc" ,gtk-doc)
385 ("pkg-config" ,pkg-config)
386 ("vala" ,vala)))
387 (inputs
388 `(("gssdp" ,gssdp)
389 ("gtk+" ,gtk+)
390 ("libsoup" ,libsoup)))
391 (synopsis "PnP API for GNOME")
392 (description "This package provides GUPnP, an object-oriented framework
393for creating UPnP devices and control points, written in C using
394@code{GObject} and @code{libsoup}.")
395 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
396 (license license:lgpl2.0+)))
397
747d7fe4
RG
398(define-public gupnp-dlna
399 (package
400 (name "gupnp-dlna")
401 (version "0.10.5")
402 (source (origin
403 (method url-fetch)
404 (uri (string-append "mirror://gnome/sources/" name "/"
405 (version-major+minor version) "/"
406 name "-" version ".tar.xz"))
407 (sha256
408 (base32
409 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
410 (build-system gnu-build-system)
411 (native-inputs
412 `(("gettext" ,gettext-minimal)
413 ("glib:bin" ,glib "bin")
414 ("gobject-introspection" ,gobject-introspection)
415 ("gtk-doc" ,gtk-doc)
416 ("libxml" ,libxml2)
417 ("pkg-config" ,pkg-config)
418 ("vala" ,vala)))
419 (inputs
420 `(("gstreamer" ,gstreamer)
421 ("gupnp" ,gupnp)))
422 (propagated-inputs
423 `(("gst-plugins-base" ,gst-plugins-base)
424 ("gst-plugins-good" ,gst-plugins-good)))
425 (synopsis "GUPnP DLNA for GNOME")
426 (description "This package provides a small utility library to
427support DLNA-related tasks such as media profile guessing, transcoding to a
428given profile, etc. DLNA is a subset of UPnP A/V.")
429 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
430 (license license:lgpl2.0+)))
431
1b4cb628
RG
432(define-public gupnp-av
433 (package
434 (name "gupnp-av")
435 (version "0.12.11")
436 (source (origin
437 (method url-fetch)
438 (uri (string-append "mirror://gnome/sources/" name "/"
439 (version-major+minor version) "/"
440 name "-" version ".tar.xz"))
441 (sha256
442 (base32
443 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
444 (build-system gnu-build-system)
445 (native-inputs
446 `(("gettext" ,gettext-minimal)
447 ("glib:bin" ,glib "bin")
448 ("gobject-introspection" ,gobject-introspection)
449 ("gtk-doc" ,gtk-doc)
450 ("libxml" ,libxml2)
451 ("pkg-config" ,pkg-config)))
452 (inputs
453 `(("gtk+" ,gtk+)
454 ("gupnp" ,gupnp)))
455 (synopsis "GUPnP A/V for GNOME")
456 (description "This package provides a small library for handling
457and implementation of UPnP A/V profiles.")
458 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
459 (license license:lgpl2.0+)))
460
02ebbca8
RG
461(define-public libmediaart
462 (package
463 (name "libmediaart")
464 (version "1.9.4")
465 (source (origin
466 (method url-fetch)
467 (uri (string-append "mirror://gnome/sources/" name "/"
468 (version-major+minor version) "/"
469 name "-" version ".tar.xz"))
470 (sha256
471 (base32
472 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
473 (build-system gnu-build-system)
474 (native-inputs
475 `(("glib:bin" ,glib "bin")
476 ("pkg-config" ,pkg-config)))
477 (inputs
478 `(("gdk-pixbuf" ,gdk-pixbuf)
479 ("gettext" ,gettext-minimal)
480 ("gobject-introspection" ,gobject-introspection)
481 ("gtk+:doc", gtk+ "doc")
482 ("vala" ,vala)))
483 (synopsis "Media art library for the GNOME desktop")
484 (description
485 "The libmediaart library is the foundation for media art caching,
486extraction, and lookup for applications on the desktop.")
487 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
488 (license license:lgpl2.1+)))
489
a26680eb
RG
490(define-public gnome-initial-setup
491 (package
492 (name "gnome-initial-setup")
493 (version "3.32.1")
494 (source (origin
495 (method url-fetch)
496 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
497 (version-major+minor version)
498 "/gnome-initial-setup-" version ".tar.xz"))
499 (sha256
500 (base32
501 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
502 (build-system meson-build-system)
503 (arguments
a65cc579
DM
504 '(#:configure-flags '(;; Enable camera support for user selfie.
505 "-Dcheese=auto"
506 "-Dsystemd=false")))
a26680eb
RG
507 (native-inputs
508 `(("gettext" ,gettext-minimal)
509 ("glib:bin" ,glib "bin")
510 ("gobject-introspection" ,gobject-introspection)
511 ("gtk+:bin" ,gtk+ "bin")
512 ("pkg-config" ,pkg-config)))
513 (inputs
514 `(("accountsservice" ,accountsservice)
515 ;("adwaita-icon-theme" ,adwaita-icon-theme)
516 ("gdm" ,gdm)
517 ("geoclue" ,geoclue)
518 ("gnome-desktop" ,gnome-desktop)
519 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
520 ("gnome-online-accounts" ,gnome-online-accounts)
521 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
522 ("gstreamer" ,gstreamer)
523 ("ibus" ,ibus)
524 ("json-glib" ,json-glib)
525 ("krb5" ,mit-krb5)
526 ("libgweather" ,libgweather)
527 ("libsecret" ,libsecret)
528 ("network-manager" ,network-manager)
529 ("network-manager-applet" ,network-manager-applet)
530 ("packagekit" ,packagekit)
531 ("polkit" ,polkit)
532 ("pwquality" ,libpwquality)
533 ("rest" ,rest)
534 ("upower" ,upower)
535 ("webkitgtk" ,webkitgtk)))
536 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
537 (description "This package provides a set-up wizard when a
538user logs into GNOME for the first time. It typically provides a
539tour of all gnome components and allows the user to set them up.")
a26680eb
RG
540 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
541 (license license:gpl2)))
542
b5f01392
RG
543(define-public gnome-user-share
544 (package
545 (name "gnome-user-share")
546 (version "3.33.1")
547 (source (origin
548 (method url-fetch)
549 (uri (string-append "mirror://gnome/sources/" name "/"
550 (version-major+minor version) "/"
551 name "-" version ".tar.xz"))
552 (sha256
553 (base32
554 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
555 (build-system meson-build-system)
556 (arguments
557 `(#:glib-or-gtk? #t
558 #:configure-flags
559 `("-Dsystemd=false"
560 ;; Enable nautilus extension for file sharing.
561 "-Dnautilus_extension=true")))
562 (native-inputs
563 `(("gettext" ,gettext-minimal)
564 ("glib:bin" ,glib "bin")
565 ("gobject-introspection" ,gobject-introspection)
566 ("gtk+:bin" ,gtk+ "bin")
567 ("pkg-config" ,pkg-config)
568 ("yelp-tools" ,yelp-tools)))
569 (inputs
570 `(("glib" ,glib)
571 ("gnome-bluetooth" ,gnome-bluetooth)
572 ("gtk+" ,gtk+)
573 ("libcanberra" ,libcanberra)
574 ("libnotify" ,libnotify)
575 ("nautilus" ,nautilus))) ; For nautilus extension.
576 (synopsis "File sharing for GNOME desktop")
577 (description "GNOME User Share is a small package that binds together
578various free software projects to bring easy to use user-level file
579sharing to the masses.")
580 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 581 (license license:gpl2+)))
b5f01392 582
04b201bb
RG
583(define-public sushi
584 (package
585 (name "sushi")
586 (version "3.32.1")
587 (source (origin
588 (method url-fetch)
589 (uri (string-append "mirror://gnome/sources/" name "/"
590 (version-major+minor version) "/"
591 name "-" version ".tar.xz"))
592 (sha256
593 (base32
594 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
595 (build-system meson-build-system)
596 (arguments
597 `(#:glib-or-gtk? #t
598 #:phases
599 (modify-phases %standard-phases
600 (add-after 'glib-or-gtk-wrap 'wrap-typelib
601 (lambda* (#:key outputs #:allow-other-keys)
602 (let ((prog (string-append (assoc-ref outputs "out")
603 "/bin/sushi")))
604 ;; Put existing typelibs before sushi's deps, so as to correctly
605 ;; infer gdk-pixbuf
606 (wrap-program prog
607 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
608 #t))))))
609 (native-inputs
610 `(("glib:bin" ,glib "bin")
611 ("gettext" ,gettext-minimal)
612 ("gobject-introspection" ,gobject-introspection)
613 ("pkg-config" ,pkg-config)))
614 (inputs
615 `(("clutter" ,clutter)
616 ("clutter-gst" ,clutter-gst)
617 ("clutter-gtk" ,clutter-gtk)
618 ("evince" ,evince) ; For file previewing.
619 ("freetype" ,freetype)
620 ("gdk-pixbuf" ,gdk-pixbuf)
621 ("gjs" ,gjs)
622 ("gst-plugins-base" ,gst-plugins-base)
623 ("gstreamer" ,gstreamer)
624 ("gtksourceview" ,gtksourceview-3)
625 ("harfbuzz" ,harfbuzz)
626 ("libepoxy" ,libepoxy)
627 ("libmusicbrainz" ,libmusicbrainz)
628 ("libxml2" ,libxml2)
629 ("neon" ,neon)
630 ("webkitgtk" ,webkitgtk)))
631 (synopsis "File previewer for the GNOME desktop")
632 (description "Sushi is a DBus-activated service that allows applications to
633preview files on the GNOME desktop.")
634 (home-page "https://gitlab.gnome.org/GNOME/sushi")
635 (license license:gpl2+)))
636
89af0902
RG
637(define-public rygel
638 (package
639 (name "rygel")
640 (version "0.38.3")
641 (source (origin
642 (method url-fetch)
643 (uri (string-append "mirror://gnome/sources/" name "/"
644 (version-major+minor version) "/"
645 name "-" version ".tar.xz"))
646 (sha256
647 (base32
648 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
649 (build-system gnu-build-system)
650 (native-inputs
651 `(("gettext" ,gettext-minimal)
652 ("gobject-introspection" ,gobject-introspection)
653 ("gtk-doc" ,gtk-doc)
654 ("pkg-config" ,pkg-config)
655 ("vala" ,vala)))
656 (inputs
657 `(("gdk-pixbuf" ,gdk-pixbuf)
658 ("gssdp" ,gssdp)
659 ("gstreamer" ,gstreamer)
660 ("gst-plugins-base" ,gst-plugins-base)
661 ("gtk+" ,gtk+)
662 ("gupnp" ,gupnp)
663 ("gupnp-av" ,gupnp-av)
664 ("gupnp-dlna" ,gupnp-dlna)
665 ("libgee" ,libgee)
666 ("libmediaart" ,libmediaart)
667 ("libsoup" ,libsoup)
668 ("libxslt" ,libxslt)
669 ("libunistring" ,libunistring)
670 ("tracker" ,tracker)))
671 (synopsis "Share audio, video, and pictures with other devices")
672 (description
673 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
674MediaRenderer}) for GNOME that allows you to easily share audio, video, and
675pictures, and to control a media player on your home network.
676
677Rygel achieves interoperability with other devices by trying to conform to the
678strict requirements of DLNA and by converting media on-the-fly to formats that
679client devices can handle.")
680 (home-page "https://wiki.gnome.org/Projects/Rygel")
681 (license (list
682 ;; For logo (data/icons/*).
683 license:cc-by-sa3.0
684 ;; For all others.
685 license:lgpl2.1+))))
686
47e87093
RG
687(define-public libnma
688 (package
689 (name "libnma")
690 (version "1.8.26")
691 (source (origin
692 (method url-fetch)
693 (uri (string-append "mirror://gnome/sources/" name "/"
694 (version-major+minor version) "/"
695 name "-" version ".tar.xz"))
696 (sha256
697 (base32
698 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
699 (build-system meson-build-system)
700 (arguments
701 `(#:glib-or-gtk? #t))
702 (native-inputs
703 `(("gettext" ,gettext-minimal)
704 ("glib:bin" ,glib "bin")
705 ("gtk-doc" ,gtk-doc)
706 ("gobject-introspection" ,gobject-introspection)
707 ("pkg-config" ,pkg-config)))
708 (inputs
709 `(("adwaita-icon-theme" ,adwaita-icon-theme)
710 ("gcr" ,gcr)
711 ("gtk+" ,gtk+)
712 ("iso-codes" ,iso-codes)
713 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
714 ("network-manager" ,network-manager)))
715 (synopsis "Network Manager's applet library")
716 (description "Libnma is an applet library for Network Manager. It was
717initially part of network-manager-applet and has now become a separate
718project.")
719 (home-page "https://gitlab.gnome.org/GNOME/libnma")
720
721 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
722 ;; "LGPL-2.1+".
723 (license license:gpl2+)))
724
30416265
RG
725(define-public gnome-menus
726 (package
727 (name "gnome-menus")
728 (version "3.32.0")
729 (source (origin
730 (method url-fetch)
731 (uri (string-append "mirror://gnome/sources/gnome-menus/"
732 (version-major+minor version) "/"
733 name "-" version ".tar.xz"))
734 (sha256
735 (base32
736 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
737 (build-system gnu-build-system)
738 (native-inputs
739 `(("gettext" ,gettext-minimal)
740 ("glib" ,glib)
741 ("pkg-config" ,pkg-config)))
742 (synopsis "Menu support for GNOME desktop")
743 (description "GNOME Menus contains the libgnome-menu library, the layout
744configuration files for the GNOME menu, as well as a simple menu editor.")
745 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 746 (license license:lgpl2.0+)))
30416265 747
d61a894b
CB
748(define-public deja-dup
749 (package
750 (name "deja-dup")
751 (version "34.3")
752 (source (origin
753 (method url-fetch)
754 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
755 (sha256
756 (base32
757 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
758 (patches
759 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
760 (build-system glib-or-gtk-build-system)
761 (arguments
762 `(#:modules ((guix build gnu-build-system)
763 ((guix build cmake-build-system) #:prefix cmake:)
764 (guix build glib-or-gtk-build-system)
765 (guix build utils))
766 #:imported-modules (,@%glib-or-gtk-build-system-modules
767 (guix build cmake-build-system))
768 #:test-target "test"
769 #:configure-flags (list (string-append
770 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
771 (string-append
772 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
773 #:phases
774 (modify-phases %standard-phases
775 (add-after 'unpack 'patch-lockfile-deletion
776 (lambda rest
777 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
778 (("/bin/rm")
779 (which "rm")))))
780 (replace 'configure
781 (assoc-ref cmake:%standard-phases 'configure))
782 (delete 'check) ;; Fails due to issues with DBus
783 (add-after 'install 'wrap-deja-dup
784 (lambda* (#:key inputs outputs #:allow-other-keys)
785 (let ((python (assoc-ref inputs "python"))
786 (python-path (getenv "PYTHONPATH"))
787 (duplicity (assoc-ref inputs "duplicity"))
788 (out (assoc-ref outputs "out")))
789 (for-each
790 (lambda (program)
791 (wrap-program program
792 `("PATH" ":" prefix (,(string-append python "/bin")
793 ,(string-append duplicity "/bin"))))
794 (wrap-program program
795 `("PYTHONPATH" ":" prefix (,python-path))))
796
797 (find-files (string-append out "/bin")))
798 #t))))))
799 (inputs
800 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
801 ("gobject-introspection" ,gobject-introspection)
802 ("duplicity" ,duplicity)
61506fe5 803 ("python" ,python-2)
d61a894b
CB
804 ("python-pygobject" ,python2-pygobject)
805 ("gtk+" ,gtk+)
806 ("libnotify" ,libnotify)
807 ("libpeas" ,libpeas)
808 ("libsecret" ,libsecret)
809 ("packagekit" ,packagekit)))
810 (native-inputs
811 `(("pkg-config" ,pkg-config)
812 ("vala" ,vala)
813 ("gettext" ,gettext-minimal)
814 ("itstool" ,itstool)
815 ("intltool" ,intltool)
c69959f0 816 ("cmake" ,cmake-minimal)))
d61a894b
CB
817 (home-page "https://launchpad.net/deja-dup")
818 (synopsis "Simple backup tool, for regular encrypted backups")
819 (description
820 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
821uses duplicity as the backend, which supports incremental backups and storage
822either on a local, or remote machine via a number of methods.")
823 (license license:gpl3+)))
824
823b77fb
RG
825(define-public gnome-user-docs
826 (package
827 (name "gnome-user-docs")
828 (version "3.32.3")
829 (source
830 (origin
831 (method url-fetch)
832 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
833 (version-major+minor version)
834 "/gnome-user-docs-" version ".tar.xz"))
835 (sha256
836 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
837 (build-system gnu-build-system)
838 (native-inputs
839 `(("gettext" ,gettext-minimal)
840 ("itstool" ,itstool)
841 ("pkg-config" ,pkg-config)
842 ("xmllint" ,libxml2)))
843 (synopsis "User documentation for the GNOME desktop")
844 (description
845 "The GNOME User Documentation explains how to use the GNOME desktop and its
846components. It covers usage and setup of the core GNOME programs by end-users
847and system administrators.")
848 (home-page "https://live.gnome.org/DocumentationProject")
849 (license license:cc-by3.0)))
850
be93299d
RG
851(define-public gnome-getting-started-docs
852 (package
853 (name "gnome-getting-started-docs")
854 (version "3.32.2")
855 (source
856 (origin
857 (method url-fetch)
858 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
859 (version-major+minor version)
860 "/gnome-getting-started-docs-" version ".tar.xz"))
861 (sha256
862 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
863 (build-system gnu-build-system)
864 (native-inputs
865 `(("gettext" ,gettext-minimal)
866 ("itstool" ,itstool)
867 ("pkg-config" ,pkg-config)
868 ("xmllint" ,libxml2)))
869 (synopsis "Help to get new users started with the GNOME desktop")
870 (description
871 "The GNOME Getting Started Documentation contains GNOME's intuitive
872\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
873
874It is normally used together with @command{gnome-initial-setup}, but is also
875useful as a tutorial and users' guide for new or less experienced users.")
876 (home-page "https://live.gnome.org/DocumentationProject")
877 (license license:cc-by-sa3.0)))
878
a56be436
RJ
879(define-public dia
880 ;; This version from GNOME's repository includes fixes for compiling with
881 ;; recent versions of the build tools. The latest activity on the
882 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
883 ;; fixes in 2016.
884 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
885 (package
886 (name "dia")
914c8cdf 887 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
888 (source (origin
889 (method git-fetch)
890 (uri (git-reference
914c8cdf 891 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 892 (commit commit)))
914c8cdf 893 (file-name (git-file-name name version))
a56be436
RJ
894 (sha256
895 (base32
896 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
897 (build-system gnu-build-system)
898 (inputs
a315afa3 899 `(("freetype" ,freetype)
a56be436
RJ
900 ("gdk-pixbuf" ,gdk-pixbuf)
901 ("gtk+" ,gtk+-2)
a315afa3 902 ("libart-lgpl" ,libart-lgpl)
a56be436 903 ("libxml2" ,libxml2)
a315afa3 904 ("pango" ,pango)))
a56be436 905 (native-inputs
a315afa3 906 `(("autoconf" ,autoconf)
a56be436 907 ("automake" ,automake)
a315afa3
EF
908 ("intltool" ,intltool)
909 ("glib" ,glib "bin")
a56be436
RJ
910 ("libtool" ,libtool)
911 ("perl" ,perl)
a315afa3 912 ("pkg-config" ,pkg-config)
a56be436
RJ
913 ("python-wrapper" ,python-wrapper)))
914 (arguments
915 `(#:phases
916 (modify-phases %standard-phases
4b3e91de 917 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 918 (lambda _
4b3e91de
EF
919 (setenv "NOCONFIGURE" "true")
920 #t)))))
a56be436
RJ
921 (home-page "https://wiki.gnome.org/Apps/Dia")
922 (synopsis "Diagram creation for GNOME")
923 (description "Dia can be used to draw different types of diagrams, and
924includes support for UML static structure diagrams (class diagrams), entity
925relationship modeling, and network diagrams. The program supports various file
926formats like PNG, SVG, PDF and EPS.")
927 (license license:gpl2+))))
928
d0b19e44
RW
929;; This is the unstable release, but it is required for the current stable
930;; release of gvfs (1.38.1).
adc5cb1b
KK
931(define-public libgdata
932 (package
933 (name "libgdata")
d0b19e44 934 (version "0.17.9")
adc5cb1b
KK
935 (source (origin
936 (method url-fetch)
937 (uri (string-append "mirror://gnome/sources/" name "/"
938 (version-major+minor version) "/"
939 name "-" version ".tar.xz"))
940 (sha256
941 (base32
d0b19e44 942 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
943 (build-system gnu-build-system)
944 (arguments
945 '(#:phases
946 (modify-phases %standard-phases
448052b7
TGR
947 (add-before 'check 'disable-failing-tests
948 (lambda _
949 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
950 ;; They have been removed in libgdata 0.17.6, so just do the same.
951 (substitute* "gdata/tests/Makefile"
952 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
953 #t)))))
954 (native-inputs
955 `(("glib:bin" ,glib "bin")
956 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
957 ("intltool" ,intltool)
958 ("pkg-config" ,pkg-config)
959 ("uhttpmock" ,uhttpmock)))
960 (inputs
961 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 962 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
963 (propagated-inputs
964 `(("gcr" ,gcr)
d0b19e44 965 ("glib" ,glib)
14c297fd 966 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 967 ("json-glib" ,json-glib)
adc5cb1b 968 ("liboauth" ,liboauth)
d0b19e44 969 ("libsoup" ,libsoup)
adc5cb1b
KK
970 ("libxml2" ,libxml2)))
971 (home-page "https://wiki.gnome.org/Projects/libgdata")
972 (synopsis "Library for accessing online service APIs")
973 (description
974 "libgdata is a GLib-based library for accessing online service APIs using
975the GData protocol — most notably, Google's services. It provides APIs to
976access the common Google services, and has full asynchronous support.")
977 (license license:lgpl2.1+)))
978
94e10cf4
KK
979(define-public libgxps
980 (package
981 (name "libgxps")
66470a5a 982 (version "0.3.1")
94e10cf4
KK
983 (source (origin
984 (method url-fetch)
7f10628c 985 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
986 (version-major+minor version) "/"
987 name "-" version ".tar.xz"))
988 (sha256
989 (base32
66470a5a 990 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 991 (build-system meson-build-system)
94e10cf4
KK
992 (native-inputs
993 `(("gobject-introspection" ,gobject-introspection)
994 ("pkg-config" ,pkg-config)))
995 (inputs
c8d62d93 996 `(("gtk+" ,gtk+)
b6b3e512 997 ("libjpeg" ,libjpeg-turbo)
94e10cf4 998 ("lcms" ,lcms)
0a6e9e13 999 ("libtiff" ,libtiff)))
c8d62d93
MB
1000 (propagated-inputs
1001 ;; In Requires of libgxps.pc.
1002 `(("cairo" ,cairo)
1003 ("glib" ,glib)
1004 ("libarchive" ,libarchive)))
94e10cf4
KK
1005 (home-page "https://wiki.gnome.org/Projects/libgxps")
1006 (synopsis "GObject-based library for handling and rendering XPS documents")
1007 (description
1008 "libgxps is a GObject-based library for handling and rendering XPS
1009documents. This package also contains binaries that can convert XPS documents
1010to other formats.")
1011 (license license:lgpl2.1+)))
1012
4e09f57a
RG
1013(define-public gnome-characters
1014 (package
1015 (name "gnome-characters")
1016 (version "3.30.0")
1017 (source
1018 (origin
1019 (method url-fetch)
1020 (uri (string-append "mirror://gnome/sources/"
1021 "gnome-characters/" (version-major+minor version)
1022 "/gnome-characters-" version ".tar.xz"))
1023 (sha256
1024 (base32
1025 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1026 (build-system meson-build-system)
5757c641 1027 (arguments
1028 `(#:glib-or-gtk? #t
1029 #:phases (modify-phases %standard-phases
1030 (add-after 'install 'wrap
1031 (lambda* (#:key outputs #:allow-other-keys)
1032 ;; GNOME Characters needs Typelib files from GTK and
1033 ;; gnome-desktop.
1034 (wrap-program (string-append (assoc-ref outputs "out")
1035 "/bin/gnome-characters")
1036 `("GI_TYPELIB_PATH" ":" prefix
1037 (,(getenv "GI_TYPELIB_PATH"))))
1038 #t)))))
4e09f57a
RG
1039 (native-inputs
1040 `(("gettext" ,gettext-minimal)
1041 ("glib:bin" ,glib "bin")
1042 ("gtk+:bin" ,gtk+ "bin")
1043 ("pkg-config" ,pkg-config)
1044 ("python" ,python-minimal)))
1045 (inputs
1046 `(("gjs" ,gjs)
1047 ("gtk+" ,gtk+)
5757c641 1048 ("libunistring" ,libunistring)
1049 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1050 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1051 (synopsis "Find and insert unusual characters")
1052 (description "Characters is a simple utility application to find
1053and insert unusual characters. It allows you to quickly find the
1054character you are looking for by searching for keywords.")
1055 (license license:bsd-3)))
1056
7aab13f1
ML
1057(define-public gnome-common
1058 (package
1059 (name "gnome-common")
af83490d 1060 (version "3.18.0")
7aab13f1
ML
1061 (source
1062 (origin
1063 (method url-fetch)
1064 (uri (string-append "mirror://gnome/sources/" name "/"
1065 (version-major+minor version) "/"
1066 name "-" version ".tar.xz"))
1067 (sha256
1068 (base32
af83490d 1069 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1070 (build-system gnu-build-system)
1071 (home-page "https://www.gnome.org/")
1072 (synopsis "Bootstrap GNOME modules built from Git")
1073 (description "gnome-common contains various files needed to bootstrap
1074GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1075can be used to configure a source directory checked out from Git and some
1076commonly used macros.")
1077 (license license:gpl2+)))
1078
4e868d22
RG
1079(define-public gnome-contacts
1080 (package
1081 (name "gnome-contacts")
6a6138b2 1082 (version "3.32.1")
4e868d22
RG
1083 (source (origin
1084 (method url-fetch)
1085 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1086 (version-major+minor version) "/"
1087 name "-" version ".tar.xz"))
1088 (sha256
1089 (base32
6a6138b2 1090 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1091 (build-system meson-build-system)
1092 (arguments
1093 `(#:phases
1094 (modify-phases %standard-phases
1095 (add-after 'unpack 'generate-vapis
1096 (lambda* (#:key inputs #:allow-other-keys)
1097 ;; To generate goa's missing .vapi file
1098 (define goa
1099 (assoc-ref inputs "gnome-online-accounts:lib"))
1100
1101 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1102 "--library=goa-1.0"
1103 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1104 #t)))))
1105 (native-inputs
1106 `(("glib:bin" ,glib "bin")
1107 ("gtk+:bin" ,gtk+ "bin")
1108 ("pkg-config" ,pkg-config)))
1109 (inputs
1110 `(("cheese" ,cheese)
1111 ("docbook-xml" ,docbook-xml)
1112 ("dockbook-xsl" ,docbook-xsl)
1113 ("evolution-data-server" ,evolution-data-server)
1114 ("gettext" ,gettext-minimal)
1115 ("gnome-desktop" ,gnome-desktop)
1116 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1117 ("gobject-introspection" ,gobject-introspection)
1118 ("gst-plugins-base" ,gst-plugins-base)
1119 ("gtk+" ,gtk+)
1120 ("libgee" ,libgee)
1121 ("libxslt" ,libxslt)
1122 ("telepathy-glib" ,telepathy-glib)
1123 ("vala" ,vala)))
1124 (propagated-inputs
1125 `(("folks", folks)
1126 ("telepathy-mission-control" ,telepathy-mission-control)))
1127 (synopsis "GNOME's integrated address book")
1128 (description
1129 "GNOME Contacts organizes your contact information from online and
1130offline sources, providing a centralized place for managing your contacts.")
1131 (home-page "https://wiki.gnome.org/Apps/Contacts")
1132 (license license:gpl2+)))
1133
9cc98f8a
CR
1134(define-public gnome-desktop
1135 (package
1136 (name "gnome-desktop")
e8a26caa 1137 (version "3.32.2")
9cc98f8a
CR
1138 (source
1139 (origin
1140 (method url-fetch)
b38e45d8
EB
1141 (uri (string-append "mirror://gnome/sources/" name "/"
1142 (version-major+minor version) "/"
9cc98f8a
CR
1143 name "-" version ".tar.xz"))
1144 (sha256
1145 (base32
e8a26caa
KK
1146 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1147 (build-system meson-build-system)
a0fe7c06
CB
1148 (arguments
1149 '(#:phases
1150 (modify-phases %standard-phases
1151 (add-before 'configure 'patch-path
1152 (lambda* (#:key inputs #:allow-other-keys)
1153 (let ((libc (assoc-ref inputs "libc")))
1154 (substitute* "libgnome-desktop/gnome-languages.c"
1155 (("\"locale\"")
1156 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1157 #t)))
1158 (add-before 'check 'pre-check
1159 (lambda* (#:key inputs #:allow-other-keys)
1160 ;; Tests require a running X server and locales.
1161 (system "Xvfb :1 &")
1162 (setenv "DISPLAY" ":1")
1163 (setenv "GUIX_LOCPATH"
1164 (string-append (assoc-ref inputs "glibc-locales")
1165 "/lib/locale"))
1166 #t)))))
9cc98f8a 1167 (native-inputs
e8a26caa
KK
1168 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1169 ("glibc-locales" ,glibc-locales) ; for tests
1170 ("gobject-introspection" ,gobject-introspection)
a8340482 1171 ("itstool" ,itstool)
bcb354ad
SB
1172 ("intltool" ,intltool)
1173 ("pkg-config" ,pkg-config)
e8a26caa
KK
1174 ("xmllint" ,libxml2)
1175 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1176 (propagated-inputs
1177 ;; Required by gnome-desktop-3.0.pc.
1178 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1179 ("gtk+" ,gtk+)
9cc98f8a 1180 ("iso-codes" ,iso-codes)
9863ce20 1181 ("libseccomp" ,libseccomp)
9cc98f8a 1182 ("libx11" ,libx11)
e8a26caa
KK
1183 ("xkeyboard-config" ,xkeyboard-config)))
1184 (inputs
1185 `(("gdk-pixbuf" ,gdk-pixbuf)
1186 ("glib" ,glib)
9cc98f8a
CR
1187 ("libxext" ,libxext)
1188 ("libxkbfile" ,libxkbfile)
e8a26caa 1189 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1190 (home-page "https://www.gnome.org/")
1191 (synopsis
35b9e423 1192 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1193 (description
1194 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1195on the desktop, but that cannot live in the platform for various reasons.
1196There is no API or ABI guarantee, although we are doing our best to provide
1197stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1198
1199The gnome-about program helps find which version of GNOME is installed.")
1200 ; Some bits under the LGPL.
1dd26275 1201 (license license:gpl2+)))
9cc98f8a 1202
995b7261
AE
1203(define-public gnome-doc-utils
1204 (package
1205 (name "gnome-doc-utils")
1206 (version "0.20.10")
1207 (source
1208 (origin
1209 (method url-fetch)
b38e45d8
EB
1210 (uri (string-append "mirror://gnome/sources/" name "/"
1211 (version-major+minor version) "/"
995b7261
AE
1212 name "-" version ".tar.xz"))
1213 (sha256
1214 (base32
1215 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1216 (build-system gnu-build-system)
c4c4cc05 1217 (native-inputs
995b7261 1218 `(("intltool" ,intltool)
b4ce6300 1219 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1220 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1221 ("libxml2" ,libxml2)
1222 ("libxslt" ,libxslt)
1223 ("pkg-config" ,pkg-config)
1224 ("python-2" ,python-2)))
995b7261
AE
1225 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1226 (synopsis
1227 "Documentation utilities for the Gnome project")
1228 (description
1229 "Gnome-doc-utils is a collection of documentation utilities for the
1230Gnome project. It includes xml2po tool which makes it easier to translate
1231and keep up to date translations of documentation.")
1dd26275 1232 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1233
6c4f7022
DC
1234(define-public gnome-disk-utility
1235 (package
1236 (name "gnome-disk-utility")
e106d0a6 1237 (version "3.32.1")
6c4f7022
DC
1238 (source (origin
1239 (method url-fetch)
1240 (uri (string-append "mirror://gnome/sources/" name "/"
1241 (version-major+minor version) "/"
1242 name "-" version ".tar.xz"))
1243 (sha256
1244 (base32
e106d0a6 1245 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1246 (build-system meson-build-system)
321c73c3
EF
1247 (arguments
1248 '(#:phases
1249 (modify-phases %standard-phases
1250 (add-after 'unpack 'skip-gtk-update-icon-cache
1251 ;; Don't create 'icon-theme.cache'.
1252 (lambda _
1253 (substitute* "meson_post_install.py"
1254 (("gtk-update-icon-cache") "true"))
1255 #t)))))
6c4f7022
DC
1256 (native-inputs
1257 `(("glib:bin" ,glib "bin")
1258 ("intltool" ,intltool)
1259 ("pkg-config" ,pkg-config)
1260 ("docbook-xml" ,docbook-xml)
1261 ("docbook-xsl" ,docbook-xsl)
1262 ("libxml2" ,libxml2)
1263 ("libxslt" ,libxslt)))
1264 (inputs
1265 `(("glib" ,glib)
1266 ("appstream-glib" ,appstream-glib)
1267 ("gnome-settings-daemon" ,gnome-settings-daemon)
1268 ("gtk+" ,gtk+)
1269 ("libcanberra" ,libcanberra)
1270 ("libdvdread" ,libdvdread)
1271 ("libnotify" ,libnotify)
1272 ("libpwquality" ,libpwquality)
1273 ("libsecret" ,libsecret)
1274 ("udisks" ,udisks)))
1275 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1276 (synopsis "Disk management utility for GNOME")
1277 (description "Disk management utility for GNOME.")
1278 (license license:gpl2+)))
1279
3d217317
RG
1280(define-public gnome-font-viewer
1281 (package
1282 (name "gnome-font-viewer")
1283 (version "3.30.0")
1284 (source (origin
1285 (method url-fetch)
1286 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1287 (version-major+minor version)
1288 "/gnome-font-viewer-" version ".tar.xz"))
1289 (sha256
1290 (base32
1291 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1292 (build-system meson-build-system)
1293 (arguments
1294 '(#:phases
1295 (modify-phases %standard-phases
1296 (add-after 'unpack 'patch-post-install-script
1297 (lambda _
1298 (substitute* "meson-postinstall.sh"
1299 (("update-desktop-database") (which "true")))
1300 #t)))))
1301 (native-inputs
1302 `(("gettext" ,gettext-minimal)
1303 ("glib:bin" ,glib "bin")
1304 ("pkg-config" ,pkg-config)))
1305 (inputs
1306 `(("glib" ,glib)
1307 ("gnome-desktop" ,gnome-desktop)
1308 ("gtk+" ,gtk+)))
1309 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1310 (synopsis "GNOME Fonts")
1311 (description "Application to show you the fonts installed on your computer
1312for your use as thumbnails. Selecting any thumbnails shows the full view of how
1313the font would look under various sizes.")
1314 (license license:gpl2+)))
1315
8ff49011
RW
1316(define-public gcr
1317 (package
1318 (name "gcr")
bea6b829 1319 (version "3.28.1")
8ff49011 1320 (source (origin
0daf0efb
RW
1321 (method url-fetch)
1322 (uri (string-append "mirror://gnome/sources/" name "/"
1323 (version-major+minor version) "/"
1324 name "-" version ".tar.xz"))
1325 (sha256
1326 (base32
bea6b829 1327 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1328 (patches
1329 (list
1330 ;; This patch solves an ordering issue that showed up when
1331 ;; running the test suite against newer Glib 2.60. See
1332 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1333 (origin
1334 (method url-fetch)
1335 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1336 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1337 (file-name "gcr-hashtable-ordering.patch")
1338 (sha256
1339 (base32
1340 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1341 (build-system gnu-build-system)
1342 (arguments
0daf0efb
RW
1343 '(#:phases
1344 (modify-phases %standard-phases
1345 ;; These fail because /var/lib/dbus/machine-id is not present in the
1346 ;; build environment.
1347 (add-after 'unpack 'disable-failing-tests
1348 (lambda _
1349 (substitute* "gcr/test-system-prompt.c"
1350 (("g_test_add") "//")
1351 (("return.*") "return 0;"))
1352 #t))
1353 (add-before 'check 'pre-check
1354 (lambda _
1355 ;; Some tests expect to write to $HOME.
1356 (setenv "HOME" "/tmp")
1357 #t)))))
8ff49011
RW
1358 (inputs
1359 `(("dbus" ,dbus)
0daf0efb 1360 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1361 ("libgcrypt" ,libgcrypt)))
1362 (native-inputs
0daf0efb 1363 `(("python" ,python-2) ;for tests
8ff49011
RW
1364 ("pkg-config" ,pkg-config)
1365 ("glib" ,glib "bin")
2af4f5b0
SB
1366 ("gobject-introspection" ,gobject-introspection)
1367 ("intltool" ,intltool)
0daf0efb 1368 ("libxml2" ,libxml2)
bea6b829 1369 ("vala" ,vala)
2af4f5b0 1370 ("xsltproc" ,libxslt)))
8ff49011
RW
1371 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1372 (propagated-inputs
1373 `(("p11-kit" ,p11-kit)
1374 ("glib" ,glib)
1375 ("gtk+" ,gtk+)))
f032d0be 1376 (home-page "https://www.gnome.org")
8ff49011
RW
1377 (synopsis "Libraries for displaying certificates and accessing key stores")
1378 (description
1379 "The GCR package contains libraries used for displaying certificates and
1380accessing key stores. It also provides the viewer for crypto files on the
1381GNOME Desktop.")
1382 (license license:lgpl2.1+)))
1383
c1354b90
LC
1384(define-public libgnome-keyring
1385 (package
1386 (name "libgnome-keyring")
5e8aec2c 1387 (version "3.12.0")
c1354b90
LC
1388 (source (origin
1389 (method url-fetch)
b38e45d8
EB
1390 (uri (string-append "mirror://gnome/sources/" name "/"
1391 (version-major+minor version) "/"
1392 name "-" version ".tar.xz"))
c1354b90
LC
1393 (sha256
1394 (base32
5e8aec2c 1395 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1396 (build-system gnu-build-system)
c1354b90 1397 (inputs
c4c4cc05 1398 `(("libgcrypt" ,libgcrypt)
c1354b90 1399 ("dbus" ,dbus)))
c4c4cc05
JD
1400 (native-inputs
1401 `(("pkg-config" ,pkg-config)
426adbe8 1402 ("glib" ,glib "bin")
c4c4cc05 1403 ("intltool" ,intltool)))
c1354b90
LC
1404 (propagated-inputs
1405 ;; Referred to in .h files and .pc.
1406 `(("glib" ,glib)))
f032d0be 1407 (home-page "https://www.gnome.org")
c1354b90
LC
1408 (synopsis "Accessing passwords from the GNOME keyring")
1409 (description
1410 "Client library to access passwords from the GNOME keyring.")
1411
1412 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1413 (license license:lgpl2.0+)))
c1354b90 1414
e99a3d6f
RW
1415(define-public gnome-keyring
1416 (package
1417 (name "gnome-keyring")
ab35cc6e 1418 (version "3.28.2")
e99a3d6f
RW
1419 (source (origin
1420 (method url-fetch)
1421 (uri (string-append "mirror://gnome/sources/" name "/"
1422 (version-major+minor version) "/"
1423 name "-" version ".tar.xz"))
1424 (sha256
1425 (base32
ab35cc6e 1426 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1427 (build-system gnu-build-system)
1428 (arguments
1429 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1430 ;not exist
1431 #:configure-flags
1432 (list
1433 (string-append "--with-pkcs11-config="
1434 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1435 (string-append "--with-pkcs11-modules="
1436 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1437 #:phases
1438 (modify-phases %standard-phases
ab35cc6e
RW
1439 (add-after 'unpack 'fix-/bin/sh-reference
1440 (lambda _
1441 (substitute* "po/Makefile.in.in"
1442 (("/bin/sh") (which "sh")))
1443 #t))
5120f24f
RW
1444 (add-after 'unpack 'fix-docbook
1445 (lambda* (#:key inputs #:allow-other-keys)
1446 (substitute* "docs/Makefile.am"
1447 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1448 (string-append (assoc-ref inputs "docbook-xsl")
1449 "/xml/xsl/docbook-xsl-"
1450 ,(package-version docbook-xsl)
1451 "/manpages/docbook.xsl")))
1452 (setenv "XML_CATALOG_FILES"
1453 (string-append (assoc-ref inputs "docbook-xml")
1454 "/xml/dtd/docbook/catalog.xml"))
1455 ;; Rerun the whole thing to avoid version mismatch ("This is
1456 ;; Automake 1.15.1, but the definition used by this
1457 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1458 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1459 (invoke "autoconf")
1460 (invoke "aclocal")
1461 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1462 (inputs
1463 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1464 ("linux-pam" ,linux-pam)
ab35cc6e 1465 ("openssh" ,openssh)
e99a3d6f
RW
1466 ("dbus" ,dbus)
1467 ("gcr" ,gcr)))
1468 (native-inputs
1469 `(("pkg-config" ,pkg-config)
1470 ("glib" ,glib "bin")
5120f24f 1471 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1472 ("python" ,python-2) ;for tests
1473 ("intltool" ,intltool)
1474 ("autoconf" ,autoconf)
1475 ("automake" ,automake)
1476 ("libxslt" ,libxslt) ;for documentation
1477 ("docbook-xml" ,docbook-xml-4.2)
1478 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1479 (home-page "https://www.gnome.org")
e99a3d6f
RW
1480 (synopsis "Daemon to store passwords and encryption keys")
1481 (description
1482 "gnome-keyring is a program that keeps passwords and other secrets for
1483users. It is run as a daemon in the session, similar to ssh-agent, and other
1484applications locate it via an environment variable or D-Bus.
1485
1486The program can manage several keyrings, each with its own master password,
1487and there is also a session keyring which is never stored to disk, but
1488forgotten when the session ends.")
1489 (license license:lgpl2.1+)))
1490
c1354b90
LC
1491(define-public evince
1492 (package
1493 (name "evince")
936d5642 1494 (version "3.34.2")
c1354b90
LC
1495 (source (origin
1496 (method url-fetch)
ac631328 1497 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1498 (version-major+minor version) "/"
ac631328 1499 "evince-" version ".tar.xz"))
c1354b90
LC
1500 (sha256
1501 (base32
936d5642 1502 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1503 (build-system glib-or-gtk-build-system)
c1354b90 1504 (arguments
169b8f77 1505 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1506 #:phases
1507 (modify-phases %standard-phases
1508 (add-before 'install 'skip-gtk-update-icon-cache
1509 ;; Don't create 'icon-theme.cache'.
1510 (lambda _
1511 (substitute* "data/Makefile"
1512 (("gtk-update-icon-cache") "true"))
1513 #t)))))
c1354b90 1514 (inputs
9a096881
KK
1515 `(("libarchive" ,libarchive)
1516 ("libgxps" ,libgxps)
1517 ("libspectre" ,libspectre)
c769cf9f 1518 ("djvulibre" ,djvulibre)
c1354b90
LC
1519 ("ghostscript" ,ghostscript)
1520 ("poppler" ,poppler)
c769cf9f
SB
1521 ("libtiff" ,libtiff)
1522 ;; TODO:
c769cf9f
SB
1523 ;; Build libkpathsea as a shared library for DVI support.
1524 ;; ("libkpathsea" ,texlive-bin)
1525 ("gnome-desktop" ,gnome-desktop)
c1354b90 1526 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1527 ("gspell" ,gspell)
c1354b90 1528 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1529 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1530 ("gdk-pixbuf" ,gdk-pixbuf)
1531 ("atk" ,atk)
1532 ("pango" ,pango)
1533 ("gtk+" ,gtk+)
1534 ("glib" ,glib)
1535 ("libxml2" ,libxml2)
c1354b90
LC
1536 ("libsm" ,libsm)
1537 ("libice" ,libice)
96e42467 1538 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1539 ("dconf" ,dconf)
1540 ("libcanberra" ,libcanberra)
c769cf9f 1541 ("libsecret" ,libsecret)
a271096b 1542
c1354b90
LC
1543 ;; For tests.
1544 ("dogtail" ,python2-dogtail)))
96e42467 1545 (native-inputs
bcb354ad
SB
1546 `(("itstool" ,itstool)
1547 ("intltool" ,intltool)
426adbe8 1548 ("glib" ,glib "bin")
169b8f77 1549 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1550 ("pkg-config" ,pkg-config)
1551 ("xmllint" ,libxml2)))
c1354b90 1552 (home-page
f032d0be 1553 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1554 (synopsis "GNOME's document viewer")
1555 (description
1556 "Evince is a document viewer for multiple document formats. It
1557currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1558of Evince is to replace the multiple document viewers that exist
96e42467 1559on the GNOME Desktop with a single simple application.")
1dd26275 1560 (license license:gpl2+)))
c1354b90 1561
22e32e69
AE
1562(define-public gsettings-desktop-schemas
1563 (package
1564 (name "gsettings-desktop-schemas")
c900dabd 1565 (version "3.32.0")
22e32e69
AE
1566 (source
1567 (origin
1568 (method url-fetch)
1569 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1570 (version-major+minor version) "/"
22e32e69
AE
1571 name "-" version ".tar.xz"))
1572 (sha256
1573 (base32
c900dabd
KK
1574 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1575 (build-system meson-build-system)
65209ffa
LC
1576 (arguments
1577 '(#:phases (modify-phases %standard-phases
1578 (add-after 'unpack 'set-adwaita-theme-file-name
1579 (lambda* (#:key inputs #:allow-other-keys)
1580 ;; Provide the correct file name of the default GNOME
1581 ;; background, 'adwaita-timed.xml'.
1582 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1583 (substitute* (find-files "schemas"
1584 "\\.gschema\\.xml\\.in$")
1585 (("@datadir@/backgrounds/gnome")
1586 (string-append theme "/share/backgrounds/gnome")))
1587 #t))))))
22e32e69 1588 (inputs
65209ffa
LC
1589 `(("glib" ,glib)
1590 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1591 (native-inputs
1592 `(("intltool" ,intltool)
426adbe8 1593 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1594 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1595 ("pkg-config" ,pkg-config)))
1596 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1597 (synopsis
1598 "GNOME settings for various desktop components")
1599 (description
1600 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1601for settings shared by various components of the GNOME desktop.")
1dd26275 1602 (license license:lgpl2.1+)))
22e32e69 1603
27477d2d
AE
1604(define-public icon-naming-utils
1605 (package
1606 (name "icon-naming-utils")
1607 (version "0.8.90")
1608 (source
1609 (origin
1610 (method url-fetch)
5cc3096c 1611 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1612 version ".tar.bz2"))
1613 (sha256
1614 (base32
1615 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1616 (build-system gnu-build-system)
1617 (inputs
1618 `(("perl" ,perl)
1619 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1620 (arguments
1621 '(#:phases
dc1d3cde
KK
1622 (modify-phases %standard-phases
1623 (add-after 'install 'set-load-paths
1624 ;; Tell 'icon-name-mapping' where XML::Simple is.
1625 (lambda* (#:key outputs #:allow-other-keys)
1626 (let* ((out (assoc-ref outputs "out"))
1627 (prog (string-append out "/libexec/icon-name-mapping")))
1628 (wrap-program
1629 prog
1630 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1631 #t)))))
27477d2d
AE
1632 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1633 (synopsis
1634 "Utility to implement the Freedesktop Icon Naming Specification")
1635 (description
1636 "To help with the transition to the Freedesktop Icon Naming
1637Specification, the icon naming utility maps the icon names used by the
1638GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1639 (license license:lgpl2.1+)))
27477d2d 1640
7d3f3651
AE
1641(define-public gnome-icon-theme
1642 (package
1643 (name "gnome-icon-theme")
b32f58dd 1644 (version "3.12.0")
7d3f3651
AE
1645 (source
1646 (origin
1647 (method url-fetch)
1648 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1649 (version-major+minor version) "/"
7d3f3651
AE
1650 name "-" version ".tar.xz"))
1651 (sha256
1652 (base32
b32f58dd 1653 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1654 (build-system gnu-build-system)
5613c27d
SB
1655 (arguments
1656 '(#:configure-flags
1657 ;; Don't create 'icon-theme.cache'.
1658 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1659 (true (string-append coreutils "/bin/true")))
1660 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1661 (native-inputs
5613c27d 1662 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1663 ("intltool" ,intltool)
1664 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1665 (home-page "https://wiki.gnome.org/Personalization")
1666 (synopsis "GNOME icon theme")
1667 (description "Icons for the GNOME desktop.")
1dd26275 1668 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1669
14eeefa2
SB
1670;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1671(define-public adwaita-icon-theme
1672 (package (inherit gnome-icon-theme)
1673 (name "adwaita-icon-theme")
9be59d7f 1674 (version "3.32.0")
14eeefa2
SB
1675 (source (origin
1676 (method url-fetch)
1677 (uri (string-append "mirror://gnome/sources/" name "/"
1678 (version-major+minor version) "/"
1679 name "-" version ".tar.xz"))
1680 (sha256
1681 (base32
9be59d7f 1682 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1683 (native-inputs
1684 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1685
ae792dba
RW
1686(define-public tango-icon-theme
1687 (package
1688 (name "tango-icon-theme")
1689 (version "0.8.90")
1690 (source (origin
1691 (method url-fetch)
1692 (uri (string-append "http://tango.freedesktop.org/releases/"
1693 "tango-icon-theme-" version ".tar.bz2"))
1694 (sha256
1695 (base32
1696 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1697 (build-system gnu-build-system)
1698 (native-inputs
1699 `(("icon-naming-utils" ,icon-naming-utils)
1700 ("intltool" ,intltool)
1701 ("imagemagick" ,imagemagick)
1702 ("pkg-config" ,pkg-config)))
1703 (home-page "http://tango-project.org/")
1704 (synopsis "Tango icon theme")
1705 (description "This is an icon theme that follows the Tango visual
1706guidelines.")
1707 (license license:public-domain)))
1708
9167f8e6
LC
1709(define-public shared-mime-info
1710 (package
1711 (name "shared-mime-info")
18138ab9 1712 (version "1.10")
9167f8e6
LC
1713 (source (origin
1714 (method url-fetch)
5cc3096c 1715 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1716 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1717 (sha256
1718 (base32
18138ab9 1719 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1720 (build-system gnu-build-system)
1721 (arguments
1722 ;; The build system appears not to be parallel-safe.
1723 '(#:parallel-build? #f))
1724 (inputs
1725 `(("glib" ,glib)
c4c4cc05 1726 ("libxml2" ,libxml2)))
9167f8e6 1727 (native-inputs
c4c4cc05
JD
1728 `(("intltool" ,intltool)
1729 ("pkg-config" ,pkg-config)))
57e7d748 1730 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1731 (synopsis "Database of common MIME types")
1732 (description
1733 "The shared-mime-info package contains the core database of common types
1734and the update-mime-database command used to extend it. It requires glib2 to
1735be installed for building the update command. Additionally, it uses intltool
1736for translations, though this is only a dependency for the maintainers. This
1737database is translated at Transifex.")
1dd26275 1738 (license license:gpl2+)))
9167f8e6 1739
dd1fcddc
CB
1740(define-public system-config-printer
1741 (package
1742 (name "system-config-printer")
fa01e10d 1743 (version "1.5.12")
a5643044
TGR
1744 (source
1745 (origin
1746 (method url-fetch)
1747 (uri (string-append
1748 "https://github.com/OpenPrinting/system-config-printer/releases/"
1749 "download/" version
1750 "/system-config-printer-" version ".tar.xz"))
1751 (sha256
fa01e10d 1752 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1753 (build-system glib-or-gtk-build-system)
1754 (arguments
1755 `(#:imported-modules ((guix build python-build-system)
1756 ,@%glib-or-gtk-build-system-modules)
1757 #:phases
1758 (modify-phases %standard-phases
1759 (add-after 'unpack 'patch-Makefile.am
1760 (lambda _
1761 ;; The Makefile generates some scripts, so set a valid shebang
1762 (substitute* "Makefile.am"
1763 (("/bin/bash") (which "bash")))
1764 (delete-file "configure")
1765 #t))
1766 (add-after 'unpack 'patch-docbook-xml
1767 (lambda* (#:key inputs #:allow-other-keys)
1768 ;; Modify the man XML otherwise xmlto tries to access the network
1769 (substitute* "man/system-config-printer.xml"
1770 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1771 (string-append (assoc-ref inputs "docbook-xml")
1772 "/xml/dtd/docbook/")))
1773 #t))
1774 (add-after 'install 'wrap-for-python
1775 (@@ (guix build python-build-system) wrap))
1776 (add-after 'install 'wrap
1777 (lambda* (#:key outputs #:allow-other-keys)
1778 (let ((out (assoc-ref outputs "out"))
1779 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1780 (for-each
1781 (lambda (program)
1782 (wrap-program program
1783 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1784 (map (lambda (name)
1785 (string-append out "/bin/" name))
1786 '("system-config-printer"
1787 "system-config-printer-applet"
1788 "install-printerdriver"
1789 "scp-dbus-service"))))
1790 #t)))))
1791 (inputs
1792 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1793 ("gobject-introspection" ,gobject-introspection)
1794 ("python" ,python)
1795 ("cups" ,cups)
1796 ("python-dbus" ,python-dbus)
1797 ("python-pygobject" ,python-pygobject)
1798 ("python-pycups" ,python-pycups)
1799 ("python-requests" ,python-requests)
1800 ("python-pycairo" ,python-pycairo)
1801 ("libnotify" ,libnotify)
1802 ("packagekit" ,packagekit)))
1803 (native-inputs
1804 `(("pkg-config" ,pkg-config)
1805 ("desktop-file-utils" ,desktop-file-utils)
1806 ("glib" ,glib)
1807 ("autoconf" ,autoconf)
1808 ("automake" ,automake)
1809 ("intltool" ,intltool)
1810 ("xmlto" ,xmlto)
1811 ("docbook-xml" ,docbook-xml-4.1.2)
1812 ("docbook-xsl" ,docbook-xsl)
1813 ("libxml2" ,libxml2)))
1814 (home-page "https://github.com/zdohnal/system-config-printer")
1815 (synopsis "CUPS administration tool")
1816 (description
1817 "system-config-printer is a CUPS administration tool. It's written in
1818Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1819configuring CUPS.")
1820 (license license:gpl2+)))
1821
bef4dd92
AE
1822(define-public hicolor-icon-theme
1823 (package
1824 (name "hicolor-icon-theme")
851cb6dd 1825 (version "0.17")
bef4dd92
AE
1826 (source
1827 (origin
1828 (method url-fetch)
5cc3096c 1829 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1830 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1831 (sha256
1832 (base32
851cb6dd 1833 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1834 (build-system gnu-build-system)
1835 (arguments
1836 `(#:tests? #f)) ; no check target
57e7d748 1837 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1838 (synopsis
1839 "Freedesktop icon theme")
1840 (description
1841 "Freedesktop icon theme.")
1dd26275 1842 (license license:gpl2)))
bef4dd92 1843
d9c1a22b
AE
1844(define-public libnotify
1845 (package
1846 (name "libnotify")
195bfa68 1847 (version "0.7.7")
d9c1a22b
AE
1848 (source
1849 (origin
1850 (method url-fetch)
1851 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1852 (version-major+minor version) "/"
d9c1a22b
AE
1853 name "-" version ".tar.xz"))
1854 (sha256
1855 (base32
195bfa68 1856 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1857 (build-system gnu-build-system)
6acf6cec
MB
1858 (arguments
1859 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1860 (propagated-inputs
1861 `(;; In Requires of libnotify.pc.
1862 ("gdk-pixbuf" ,gdk-pixbuf)
1863 ("glib" ,glib)))
d9c1a22b 1864 (inputs
7ef08efa 1865 `(("gtk+" ,gtk+)
c4c4cc05
JD
1866 ("libpng" ,libpng)))
1867 (native-inputs
426adbe8 1868 `(("pkg-config" ,pkg-config)
277a7d82
JN
1869 ("glib" ,glib "bin")
1870 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1871 (home-page "https://developer-next.gnome.org/libnotify/")
1872 (synopsis
1873 "GNOME desktop notification library")
1874 (description
1875 "Libnotify is a library that sends desktop notifications to a
35b9e423 1876notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1877notifications can be used to inform the user about an event or display
1878some form of information without getting in the user's way.")
1dd26275 1879 (license license:lgpl2.1+)))
7a8605ce
CR
1880
1881(define-public libpeas
1882 (package
1883 (name "libpeas")
f2d56e39 1884 (version "1.24.1")
7a8605ce
CR
1885 (source
1886 (origin
1887 (method url-fetch)
1888 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1889 (version-major+minor version) "/"
7a8605ce
CR
1890 name "-" version ".tar.xz"))
1891 (sha256
1892 (base32
f2d56e39
MB
1893 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1894 (build-system meson-build-system)
1895 (arguments
1896 '(#:phases
1897 (modify-phases %standard-phases
1898 (add-before 'check 'start-xserver
1899 (lambda* (#:key inputs #:allow-other-keys)
1900 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1901 (disp ":1"))
1902 (setenv "DISPLAY" disp)
1903 ;; Tests require a running X server.
1904 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1905 #t))))))
7a8605ce 1906 (inputs
2ed6522a
SB
1907 `(("gtk+" ,gtk+)
1908 ("glade" ,glade3)
2ed6522a
SB
1909 ("python" ,python)
1910 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1911 (native-inputs
1912 `(("pkg-config" ,pkg-config)
f2d56e39 1913 ("gettext" ,gettext-minimal)
93622993 1914 ("glib:bin" ,glib "bin")
141aed80 1915 ("gobject-introspection" ,gobject-introspection)
f2d56e39 1916 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
1917 (propagated-inputs
1918 ;; The .pc file "Requires" gobject-introspection.
1919 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1920 (home-page "https://wiki.gnome.org/Libpeas")
1921 (synopsis "GObject plugin system")
1922 (description
d1e4ad1b
TGR
1923 "Libpeas is a gobject-based plugin engine, targeted at giving every
1924application the chance to assume its own extensibility. It also has a set of
1925features including, but not limited to: multiple extension points; on-demand
1926(lazy) programming language support for C, Python and JS; simplicity of the
1927API.")
1dd26275 1928 (license license:lgpl2.0+)))
ed19903d
JD
1929
1930(define-public gtkglext
1931 (package
1932 (name "gtkglext")
1933 (version "1.2.0")
1934 (source (origin
1935 (method url-fetch)
0f971a04 1936 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1937 version "/gtkglext-" version ".tar.gz"))
1938 (sha256
1939 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1940 (patches (search-patches
1941 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1942 (build-system gnu-build-system)
14e2f61a
RW
1943 (arguments
1944 `(#:phases
1945 (modify-phases %standard-phases
1946 ;; Fix a collision between a local variable and a definition from
1947 ;; glibc's string.h.
1948 (add-after 'unpack 'fix-collision
1949 (lambda _
1950 (substitute* "gdk/gdkglshapes.c"
1951 ((" index") " triangle_index"))
1952 #t)))))
ed19903d
JD
1953 (inputs `(("gtk+" ,gtk+-2)
1954 ("mesa" ,mesa)
cc8b02f4 1955 ("glu" ,glu)
ed19903d
JD
1956 ("libx11" ,libx11)
1957 ("libxt" ,libxt)))
426adbe8
LC
1958 (native-inputs `(("pkg-config" ,pkg-config)
1959 ("glib" ,glib "bin")))
a83b6a06 1960 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1961 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1962 (synopsis "OpenGL extension to GTK+")
35b9e423 1963 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1964additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1965API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1966 (license license:lgpl2.1+)))
3600420e
JD
1967
1968(define-public glade3
1969 (package
1970 (name "glade")
c6571adb 1971 (version "3.22.1")
b38e45d8
EB
1972 (source (origin
1973 (method url-fetch)
1974 (uri (string-append "mirror://gnome/sources/" name "/"
1975 (version-major+minor version) "/"
f5ca44b8 1976 name "-" version ".tar.xz"))
3600420e 1977 (sha256
f714d9fe 1978 (base32
c6571adb 1979 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1980 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1981 (arguments
1982 `(#:tests? #f ; needs X, GL, and software rendering
1983 #:phases
1984 (modify-phases %standard-phases
1985 (add-before 'configure 'fix-docbook
1986 (lambda* (#:key inputs #:allow-other-keys)
1987 (substitute* "man/Makefile.in"
1988 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1989 (string-append (assoc-ref inputs "docbook-xsl")
1990 "/xml/xsl/docbook-xsl-"
1991 ,(package-version docbook-xsl)
1992 "/manpages/docbook.xsl")))
1993 #t)))))
3600420e 1994 (inputs
f5ca44b8 1995 `(("gtk+" ,gtk+)
3600420e
JD
1996 ("libxml2" ,libxml2)))
1997 (native-inputs
1998 `(("intltool" ,intltool)
f5ca44b8
RW
1999 ("itstool" ,itstool)
2000 ("libxslt" ,libxslt) ;for xsltproc
2001 ("docbook-xml" ,docbook-xml-4.2)
2002 ("docbook-xsl" ,docbook-xsl)
2003 ("python" ,python-2)
3600420e
JD
2004 ("pkg-config" ,pkg-config)))
2005 (home-page "https://glade.gnome.org")
2006 (synopsis "GTK+ rapid application development tool")
2007 (description "Glade is a rapid application development (RAD) tool to
2008enable quick & easy development of user interfaces for the GTK+ toolkit and
2009the GNOME desktop environment.")
1dd26275
LC
2010 (license license:lgpl2.0+)))
2011
2012(define-public libcroco
2013 (package
2014 (name "libcroco")
8bdacad2 2015 (version "0.6.13")
1dd26275
LC
2016 (source (origin
2017 (method url-fetch)
b38e45d8
EB
2018 (uri (string-append "mirror://gnome/sources/" name "/"
2019 (version-major+minor version) "/"
2020 name "-" version ".tar.xz"))
1dd26275
LC
2021 (sha256
2022 (base32
8bdacad2 2023 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2024 (build-system gnu-build-system)
2025 (native-inputs
2026 `(("pkg-config" ,pkg-config)))
2027 (inputs
2028 `(("glib" ,glib)
2029 ("libxml2" ,libxml2)
2030 ("zlib" ,zlib)))
2031 (home-page "https://github.com/GNOME/libcroco")
2032 (synopsis "CSS2 parsing and manipulation library")
2033 (description
2034 "Libcroco is a standalone CSS2 parsing and manipulation library.
2035The parser provides a low level event driven SAC-like API and a CSS object
2036model like API. Libcroco provides a CSS2 selection engine and an experimental
2037XML/CSS rendering engine.")
2038
2039 ;; LGPLv2.1-only.
2040 (license license:lgpl2.1)))
25178594
LC
2041
2042(define-public libgsf
2043 (package
2044 (name "libgsf")
8d1644a1 2045 (version "1.14.46")
25178594
LC
2046 (source (origin
2047 (method url-fetch)
b38e45d8
EB
2048 (uri (string-append "mirror://gnome/sources/" name "/"
2049 (version-major+minor version) "/"
2050 name "-" version ".tar.xz"))
25178594
LC
2051 (sha256
2052 (base32
8d1644a1 2053 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2054 (build-system gnu-build-system)
2055 (native-inputs
2056 `(("intltool" ,intltool)
2057 ("pkg-config" ,pkg-config)))
2058 (inputs
2059 `(("python" ,python)
2060 ("zlib" ,zlib)
2061 ("bzip2" ,bzip2)))
2062 (propagated-inputs
2063 `(("gdk-pixbuf" ,gdk-pixbuf)
2064 ("glib" ,glib)
2065 ("libxml2" ,libxml2)))
f032d0be 2066 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2067 (synopsis "GNOME's Structured File Library")
2068 (description
2069 "Libgsf aims to provide an efficient extensible I/O abstraction for
2070dealing with different structured file formats.")
2071
2072 ;; LGPLv2.1-only.
2073 (license license:lgpl2.1)))
63016e7c
LC
2074
2075(define-public librsvg
f67417a1 2076 (package
35b256f5 2077 (replacement librsvg/fixed)
f67417a1
MB
2078 (name "librsvg")
2079 (version "2.40.20")
2080 (source (origin
2081 (method url-fetch)
2082 (uri (string-append "mirror://gnome/sources/" name "/"
2083 (version-major+minor version) "/"
2084 name "-" version ".tar.xz"))
2085 (sha256
2086 (base32
2087 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2088 (build-system gnu-build-system)
2089 (arguments
2090 `(#:configure-flags
2091 (list "--disable-static"
2092 "--enable-vala") ; needed for e.g. gnome-mines
2093 #:phases
2094 (modify-phases %standard-phases
2095 (add-before 'configure 'pre-configure
2096 (lambda* (#:key inputs #:allow-other-keys)
2097 (substitute* "gdk-pixbuf-loader/Makefile.in"
2098 ;; By default the gdk-pixbuf loader is installed under
2099 ;; gdk-pixbuf's prefix. Work around that.
2100 (("gdk_pixbuf_moduledir = .*$")
2101 (string-append "gdk_pixbuf_moduledir = "
2102 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2103 "loaders\n"))
2104 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2105 (("gdk_pixbuf_cache_file = .*$")
2106 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2107 #t))
2108 (add-before 'check 'remove-failing-tests
2109 (lambda _
2110 (with-directory-excursion "tests/fixtures/reftests"
2111 (for-each delete-file
2112 '(;; This test fails on i686:
2113 "svg1.1/masking-path-04-b.svg"
2114 ;; This test fails on armhf:
2115 "svg1.1/masking-mask-01-b.svg"
2116 ;; This test fails on aarch64:
2117 "bugs/777834-empty-text-children.svg")))
2118 #t)))))
2119 (native-inputs
2120 `(("pkg-config" ,pkg-config)
2121 ("vala" ,vala)
2122 ("glib" ,glib "bin") ; glib-mkenums, etc.
2123 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2124 (inputs
2125 `(("pango" ,pango)
2126 ("libcroco" ,libcroco)
2127 ("bzip2" ,bzip2)
2128 ("libgsf" ,libgsf)
2129 ("libxml2" ,libxml2)))
2130 (propagated-inputs
2131 ;; librsvg-2.0.pc refers to all of that.
2132 `(("cairo" ,cairo)
2133 ("gdk-pixbuf" ,gdk-pixbuf)
2134 ("glib" ,glib)))
2135 (home-page "https://wiki.gnome.org/LibRsvg")
2136 (synopsis "Render SVG files using Cairo")
2137 (description
2138 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2139library.")
2140 (license license:lgpl2.0+)))
2141
23f33de1
EF
2142(define librsvg/fixed
2143 (package
2144 (inherit librsvg)
2145 (name "librsvg")
2146 (version "2.40.21")
2147 (source (origin
2148 (method url-fetch)
2149 (uri (string-append "mirror://gnome/sources/" name "/"
2150 (version-major+minor version) "/"
2151 name "-" version ".tar.xz"))
2152 (sha256
2153 (base32
2154 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2155
8f523eb9
EF
2156(define* (computed-origin-method gexp-promise hash-algo hash
2157 #:optional (name "source")
2158 #:key (system (%current-system))
2159 (guile (default-guile)))
2160 "Return a derivation that executes the G-expression that results
2161from forcing GEXP-PROMISE."
2162 (mlet %store-monad ((guile (package->derivation guile system)))
2163 (gexp->derivation (or name "computed-origin")
2164 (force gexp-promise)
2165 #:graft? #f ;nothing to graft
2166 #:system system
2167 #:guile-for-build guile)))
2168
2169(define librsvg-next-source
8d6f9168 2170 (let* ((version "2.46.4")
8f523eb9
EF
2171 (upstream-source (origin
2172 (method url-fetch)
2173 (uri (string-append "mirror://gnome/sources/librsvg/"
2174 (version-major+minor version) "/"
2175 "librsvg-" version ".tar.xz"))
2176 (sha256
2177 (base32
8d6f9168 2178 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")))))
8f523eb9
EF
2179 (origin
2180 (method computed-origin-method)
2181 (file-name (string-append "librsvg-" version ".tar.xz"))
2182 (sha256 #f)
2183 (uri
2184 (delay
2185 (with-imported-modules '((guix build utils))
2186 #~(begin
2187 (use-modules (guix build utils))
2188 (set-path-environment-variable
2189 "PATH" '("bin")
2190 (list "/tmp"
2191 #+(canonical-package xz)
2192 #+(canonical-package gzip)
2193 #+(canonical-package tar)))
2194 (invoke "tar" "xvf" #+upstream-source)
2195 (with-directory-excursion (string-append "librsvg-" #$version)
91f0c790
JS
2196 ;; The following crate(s) are needed in addition to the ones replaced:
2197 (begin
2198 (invoke
5213b697
EF
2199 "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor")
2200 (invoke
2201 "tar" "xvf" #+(package-source rust-proc-macro2-0.4) "-C" "vendor")
2202 (invoke
2203 "tar" "xvf" #+(package-source rust-quote-0.6) "-C" "vendor")
2204 (invoke
2205 "tar" "xvf" #+(package-source rust-unicode-xid-0.1) "-C" "vendor")
2206 (invoke
2207 "tar" "xvf" #+(package-source rust-maybe-uninit-2.0) "-C" "vendor"))
8f523eb9
EF
2208 (for-each
2209 (lambda (crate)
2210 (delete-file-recursively (string-append "vendor/" (car crate)))
2211 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
393d7214 2212 '(("aho-corasick" . #+(package-source rust-aho-corasick-0.7))
8f523eb9 2213;; alga 0.9
e19cb895
EF
2214 ("approx" . #+(package-source rust-approx-0.3))
2215 ("arrayvec" . #+(package-source rust-arrayvec-0.4))
8f523eb9 2216 ("atty" . #+(package-source rust-atty-0.2))
91f0c790 2217 ("autocfg" . #+(package-source rust-autocfg-1.0))
8f523eb9
EF
2218 ("bitflags" . #+(package-source rust-bitflags-1))
2219;; block 0.1
e19cb895
EF
2220 ("bstr" . #+(package-source rust-bstr-0.2))
2221 ("byteorder" . #+(package-source rust-byteorder-1.3))
8f523eb9
EF
2222;; cairo-rs 0.7
2223;; cairo-sys-rs 0.9
e19cb895 2224 ("cast" . #+(package-source rust-cast-0.2))
8f523eb9
EF
2225 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
2226 ("clap" . #+(package-source rust-clap-2))
e19cb895
EF
2227 ("cloudabi" . #+(package-source rust-cloudabi-0.0))
2228 ("criterion" . #+(package-source rust-criterion-0.2))
2229 ("criterion-plot" . #+(package-source rust-criterion-plot-0.3))
393d7214
JS
2230 ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7))
2231 ("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.8))
2232 ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.2))
2233 ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.7))
8f523eb9
EF
2234;; cssparser 0.25
2235;; cssparser-macros 0.3
e19cb895
EF
2236 ("csv" . #+(package-source rust-csv-1.1))
2237 ("csv-core" . #+(package-source rust-csv-core-0.1))
8f523eb9
EF
2238;; data-url 0.1
2239;; downcast-rs 1.0
2240 ("dtoa" . #+(package-source rust-dtoa-0.4))
2241;; dtoa-short 0.3
e19cb895
EF
2242 ("either" . #+(package-source rust-either-1.5))
2243 ("encoding" . #+(package-source rust-encoding-0.2))
2244 ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219))
2245 ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219))
2246 ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219))
2247 ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219))
2248 ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219))
2249 ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1))
8f523eb9
EF
2250;; float-cmp 0.5
2251;; fragile 0.3
e19cb895
EF
2252 ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2253 ("futf" . #+(package-source rust-futf-0.1))
8f523eb9
EF
2254;; gdk-pixbuf 0.7
2255;; gdk-pixbuf-sys 0.9
e19cb895 2256 ("generic-array" . #+(package-source rust-generic-array-0.12))
8f523eb9 2257;; gio 0.7
8d6f9168 2258 ("gio-sys" . #+(package-source rust-gio-sys-0.9))
8f523eb9 2259;; glib 0.8
8d6f9168
EF
2260 ("glib-sys" . #+(package-source rust-glib-sys-0.9))
2261 ("gobject-sys" . #+(package-source rust-gobject-sys-0.9))
393d7214 2262 ("idna" . #+(package-source rust-idna-0.2))
e19cb895 2263 ("itertools" . #+(package-source rust-itertools-0.8))
8f523eb9 2264 ("itoa" . #+(package-source rust-itoa-0.4))
e19cb895 2265 ("language-tags" . #+(package-source rust-language-tags-0.2))
21c8ec75 2266 ("lazy_static" . #+(package-source rust-lazy-static-1))
8f523eb9 2267 ("libc" . #+(package-source rust-libc-0.2))
91f0c790 2268 ("libm" . #+(package-source rust-libm-0.1))
8d6f9168 2269 ("locale_config" . #+(package-source rust-locale-config-0.3))
8f523eb9 2270 ("log" . #+(package-source rust-log-0.4))
e19cb895 2271 ("mac" . #+(package-source rust-mac-0.1))
5213b697 2272 ("malloc_buf" . #+(package-source rust-malloc-buf-0.0))
8f523eb9 2273;; markup5ever 0.9
e19cb895 2274 ("matches" . #+(package-source rust-matches-0.1))
8f523eb9 2275;; matrixmultiply 0.2
393d7214
JS
2276 ("memchr" . #+(package-source rust-memchr-2.2))
2277 ("memoffset" . #+(package-source rust-memoffset-0.5))
8f523eb9 2278;; nalgebra 0.18
e19cb895 2279 ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0))
8f523eb9 2280 ("nodrop" . #+(package-source rust-nodrop-0.1))
e19cb895 2281 ("num-complex" . #+(package-source rust-num-complex-0.2))
8f523eb9 2282 ("num-integer" . #+(package-source rust-num-integer-0.1))
5213b697 2283 ("num-rational" . #+(package-source rust-num-rational-0.2))
8f523eb9
EF
2284 ("num-traits" . #+(package-source rust-num-traits-0.2))
2285 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
5213b697
EF
2286 ("objc" . #+(package-source rust-objc-0.2))
2287 ("objc-foundation" . #+(package-source rust-objc-foundation-0.1))
2288 ("objc_id" . #+(package-source rust-objc-id-0.1))
8f523eb9
EF
2289;; pango 0.7
2290;; pango-sys 0.9
2291;; pangocairo 0.8
2292;; pangocairo-sys 0.10
2293 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
e19cb895
EF
2294 ("phf" . #+(package-source rust-phf-0.7))
2295 ("phf_codegen" . #+(package-source rust-phf-codegen-0.7))
2296 ("phf_generator" . #+(package-source rust-phf-generator-0.7))
2297 ("phf_shared" . #+(package-source rust-phf-shared-0.7))
2298 ("pkg-config" . #+(package-source rust-pkg-config-0.3))
2299 ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1))
8f523eb9
EF
2300 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2301;; procedural-masquerade 0.1
2302 ("quote" . #+(package-source rust-quote-1.0))
e19cb895 2303 ("rand" . #+(package-source rust-rand-0.6))
8f523eb9
EF
2304 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2305 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2306 ("rand_core" . #+(package-source rust-rand-core-0.4))
2307 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2308 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2309 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2310 ("rand_os" . #+(package-source rust-rand-os-0.1))
2311 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2312 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
393d7214 2313 ("rand_xoshiro" . #+(package-source rust-rand-xoshiro-0.1))
e19cb895 2314;; rawpointer 0.2
393d7214
JS
2315 ("rayon" . #+(package-source rust-rayon-1.3))
2316 ("rayon-core" . #+(package-source rust-rayon-core-1.7))
8f523eb9
EF
2317;; rctree 0.3
2318 ("rdrand" . #+(package-source rust-rdrand-0.4))
393d7214 2319 ("regex" . #+(package-source rust-regex-1.3))
e19cb895 2320 ("regex-automata" . #+(package-source rust-regex-automata-0.1))
393d7214 2321 ("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
e19cb895 2322 ("rustc_version" . #+(package-source rust-rustc-version-0.2))
8f523eb9
EF
2323 ("ryu" . #+(package-source rust-ryu-1.0))
2324 ("same-file" . #+(package-source rust-same-file-1.0))
2325 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
e19cb895
EF
2326 ("semver" . #+(package-source rust-semver-0.9))
2327 ("semver-parser" . #+(package-source rust-semver-parser-0.7))
8f523eb9
EF
2328 ("serde" . #+(package-source rust-serde-1.0))
2329 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2330 ("serde_json" . #+(package-source rust-serde-json-1.0))
e19cb895
EF
2331 ("siphasher" . #+(package-source rust-siphasher-0.2))
2332 ("smallvec" . #+(package-source rust-smallvec-0.6))
2333 ("string_cache" . #+(package-source rust-string-cache-0.7))
5213b697 2334 ("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4))
e19cb895 2335 ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3))
8f523eb9 2336 ("syn" . #+(package-source rust-syn-1.0))
e19cb895 2337 ("tendril" . #+(package-source rust-tendril-0.4))
8f523eb9 2338 ("textwrap" . #+(package-source rust-textwrap-0.11))
393d7214 2339 ("thread_local" . #+(package-source rust-thread-local-1.0))
e19cb895
EF
2340 ("tinytemplate" . #+(package-source rust-tinytemplate-1.0))
2341 ("typenum" . #+(package-source rust-typenum-1.10))
2342 ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3))
2343 ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1))
8f523eb9
EF
2344 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2345 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
393d7214 2346 ("url" . #+(package-source rust-url-2.1))
e19cb895 2347 ("utf-8" . #+(package-source rust-utf-8-0.7))
8f523eb9
EF
2348 ("walkdir" . #+(package-source rust-walkdir-2.2))
2349 ("winapi" . #+(package-source rust-winapi-0.3))
e19cb895 2350 ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
8f523eb9 2351 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
e19cb895 2352 ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
5213b697 2353 ("xml-rs" . #+(package-source rust-xml-rs-0.8)))))
8f523eb9
EF
2354 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2355 (force-output)
2356 (invoke "tar" "cfa" #$output
2357 ;; Avoid non-determinism in the archive. We set the
2358 ;; mtime of files in the archive to early 1980 because
2359 ;; the build process fails if the mtime of source
2360 ;; files is pre-1980, due to the creation of zip
2361 ;; archives.
2362 "--mtime=@315619200" ; 1980-01-02 UTC
2363 "--owner=root:0"
2364 "--group=root:0"
2365 "--sort=name"
2366 (string-append "librsvg-" #$version))
2367 #t)))))))
2368
f67417a1 2369(define-public librsvg-next
63016e7c
LC
2370 (package
2371 (name "librsvg")
3276e123 2372 (version "2.46.4")
8f523eb9 2373 (source librsvg-next-source)
63016e7c
LC
2374 (build-system gnu-build-system)
2375 (arguments
d953418a
RW
2376 `(#:configure-flags
2377 (list "--disable-static"
2378 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2379 #:make-flags '("CC=gcc")
8f523eb9 2380 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2381 #:phases
b6239e45 2382 (modify-phases %standard-phases
8f523eb9 2383 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2384 (lambda _
8f523eb9
EF
2385 (use-modules (guix build cargo-utils))
2386 (substitute* "librsvg/Cargo.toml"
2387 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
8d6f9168
EF
2388 (substitute* "rsvg_internals/Cargo.toml"
2389 (("\"=") "\""))
b665a246 2390 (generate-all-checksums "vendor")
8f523eb9
EF
2391 (delete-file "Cargo.lock")
2392 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2393 (add-before 'configure 'pre-configure
2394 (lambda* (#:key inputs #:allow-other-keys)
2395 (substitute* "gdk-pixbuf-loader/Makefile.in"
2396 ;; By default the gdk-pixbuf loader is installed under
2397 ;; gdk-pixbuf's prefix. Work around that.
2398 (("gdk_pixbuf_moduledir = .*$")
2399 (string-append "gdk_pixbuf_moduledir = "
2400 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2401 "loaders\n"))
2402 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2403 (("gdk_pixbuf_cache_file = .*$")
2404 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2405 #t))
ec47c07d 2406 (add-before 'check 'remove-failing-tests
b6239e45 2407 (lambda _
64a153bd
MW
2408 (with-directory-excursion "tests/fixtures/reftests"
2409 (for-each delete-file
ec47c07d
MB
2410 '(;; The images produced by these tests differ slightly
2411 ;; from their reference counterparts due to differences
2412 ;; in the build environment (missing fonts, etc). See
2413 ;; <tests/README.md> for details.
2414 ;; These fail on x86_64.
2415 "svg1.1/coords-viewattr-02-b.svg"
2416 "svg1.1/filters-composite-04-f.svg"
2417 "svg1.1/filters-image-01-b.svg"
2418 "svg1.1/filters-conv-02-f.svg"
2419 "svg1.1/filters-conv-04-f.svg"
2420 ;; This test fails on i686:
64a153bd 2421 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2422 ;; This test fails on armhf:
2423 "svg1.1/masking-mask-01-b.svg"
64a153bd 2424 ;; This test fails on aarch64:
ec47c07d 2425 "bugs/777834-empty-text-children.svg")))
b6239e45 2426 #t)))))
63016e7c
LC
2427 (native-inputs
2428 `(("pkg-config" ,pkg-config)
64855281
MB
2429 ;; This is the minimum supported Rust version in Librsvg 2.46.
2430 ("rust" ,rust-1.34)
2431 ("cargo" ,rust-1.34 "cargo")
d953418a 2432 ("vala" ,vala)
44add1ce 2433 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2434 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2435 (inputs
2436 `(("pango" ,pango)
2437 ("libcroco" ,libcroco)
2438 ("bzip2" ,bzip2)
2439 ("libgsf" ,libgsf)
2440 ("libxml2" ,libxml2)))
2441 (propagated-inputs
2442 ;; librsvg-2.0.pc refers to all of that.
2443 `(("cairo" ,cairo)
2444 ("gdk-pixbuf" ,gdk-pixbuf)
2445 ("glib" ,glib)))
2446 (home-page "https://wiki.gnome.org/LibRsvg")
2447 (synopsis "Render SVG files using Cairo")
2448 (description
35b9e423 2449 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2450library.")
cf9dad6c 2451 (license license:lgpl2.1+)))
5698b8b8
JD
2452
2453(define-public libidl
2454 (package
2455 (name "libidl")
2456 (version "0.8.14")
2457 (source (origin
2458 (method url-fetch)
80a06e62
EF
2459 (uri (string-append "mirror://gnome/sources/libIDL/"
2460 (version-major+minor version) "/"
2461 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2462 (sha256
2463 (base32
2464 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2465 (build-system gnu-build-system)
2466 (inputs `(("glib" ,glib)))
2467 (native-inputs
2468 `(("pkg-config" ,pkg-config)
b3546174 2469 ("flex" ,flex)
5698b8b8
JD
2470 ("bison" ,bison)))
2471 (home-page "http://freecode.com/projects/libidl")
2472 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2473 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2474Definition Language (idl) files, which is a specification for defining
2475portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2476GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2477functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2478 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2479 (license license:lgpl2.0+)))
2480
2481
2482(define-public orbit2
2483 (package
2484 (name "orbit2")
2485 (version "2.14.19")
2486 (source (origin
2487 (method url-fetch)
2e6ecc5c 2488 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2489 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2490 (version-major+minor version) "/"
2491 upstream-name "-" version ".tar.bz2")))
5698b8b8 2492 (sha256
a124bbd2
SB
2493 (base32
2494 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2495 (build-system gnu-build-system)
2496 (arguments
a124bbd2 2497 `(#:configure-flags
8aad2e32
LC
2498 '(;; We don't need static libraries, plus they don't build reproducibly
2499 ;; (non-deterministic ordering of .o files in the archive.)
2500 "--disable-static"
2501
2502 ;; The programmer kindly gives us a hook to turn off deprecation
2503 ;; warnings ...
2504 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2505 ;; ... which they then completly ignore !!
2506 #:phases
dc1d3cde
KK
2507 (modify-phases %standard-phases
2508 (add-before 'configure 'ignore-deprecations
2509 (lambda _
2510 (substitute* "linc2/src/Makefile.in"
2511 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2512 #t)))))
5698b8b8
JD
2513 (inputs `(("glib" ,glib)
2514 ("libidl" ,libidl)))
2515 (native-inputs
2516 `(("pkg-config" ,pkg-config)))
2517 (home-page "https://projects.gnome.org/orbit2/")
2518 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2519 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2520featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2521 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2522 ;; a version. SOME of the code files have licence notices for GPLv2+.
2523 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2524 (license license:gpl2+)
2525 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2526
2527
2528(define-public libbonobo
2529 (package
2530 (name "libbonobo")
2531 (version "2.32.1")
2532 (source (origin
2533 (method url-fetch)
5becd025 2534 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2535 (version-major+minor version)
5becd025 2536 "/" name "-" version ".tar.bz2"))
5698b8b8 2537 (sha256
f1fc45a9 2538 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2539 (patches (search-patches
2540 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2541 (build-system gnu-build-system)
2542 (arguments
2543 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2544 `(#:configure-flags
2545 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2546 ;; ... which they then completly ignore !!
2547 #:phases
dc1d3cde
KK
2548 (modify-phases %standard-phases
2549 (add-before 'configure 'ignore-deprecations
2550 (lambda _
2551 (substitute* "activation-server/Makefile.in"
2552 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2553 #t)))
2554
2555 ;; There's apparently a race condition between the server stub
2556 ;; generation and linking of the example under 'samples/echo' that can
2557 ;; lead do undefined references when building in parallel, as reported
2558 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2559 ;; Thus, disable parallel builds.
2560 #:parallel-build? #f))
5698b8b8
JD
2561 (inputs `(("popt" ,popt)
2562 ("libxml2" ,libxml2)))
2563 ;; The following are Required by the .pc file
44add1ce 2564 (propagated-inputs
5698b8b8
JD
2565 `(("glib" ,glib)
2566 ("orbit2" ,orbit2)))
2567 (native-inputs
2568 `(("intltool" ,intltool)
2569 ("pkg-config" ,pkg-config)
221ed17a 2570 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2571 ("flex" ,flex)
2572 ("bison" ,bison)))
2573 (home-page "https://developer.gnome.org/libbonobo/")
2574 (synopsis "Framework for creating reusable components for use in GNOME applications")
2575 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2576use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2577 ;; Licence not explicitly stated. Source files contain no licence notices.
2578 ;; Tarball contains text of both GPLv2 and LGPLv2
2579 ;; GPLv2 covers both conditions
2580 (license license:gpl2+)))
2581
2582
2583(define-public gconf
2584 (package
2585 (name "gconf")
2586 (version "3.2.6")
2587 (source (origin
2588 (method url-fetch)
a124bbd2
SB
2589 (uri
2590 (let ((upstream-name "GConf"))
2591 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2592 (version-major+minor version) "/"
2593 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2594 (sha256
2595 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2596 (build-system gnu-build-system)
2e88d113 2597 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2598 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2599 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2600 ("orbit2" ,orbit2)))
5698b8b8
JD
2601 (native-inputs
2602 `(("intltool" ,intltool)
221ed17a 2603 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2604 ("pkg-config" ,pkg-config)))
2605 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2606 (synopsis "Store application preferences")
2607 (description "Gconf is a system for storing application preferences. It
2608is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2609 (license license:lgpl2.0+)
2610 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2611
2612
2613(define-public gnome-mime-data
2614 (package
2615 (name "gnome-mime-data")
2616 (version "2.18.0")
2617 (source (origin
2618 (method url-fetch)
b38e45d8
EB
2619 (uri (string-append "mirror://gnome/sources/" name "/"
2620 (version-major+minor version) "/"
2621 name "-" version ".tar.bz2"))
5698b8b8
JD
2622 (sha256
2623 (base32
2624 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2625 (build-system gnu-build-system)
2626 (native-inputs
2627 `(("perl" ,perl)
2628 ("intltool" ,intltool)))
3e6add96
LC
2629 (arguments
2630 '(#:phases (modify-phases %standard-phases
2631 (add-after 'configure 'use-our-intltool
2632 (lambda _
2633 ;; Do not use the bundled intltool commands, which lack
2634 ;; the "dotless @INC" fixes of our 'intltool' package.
2635 (substitute* (find-files "." "^Makefile$")
2636 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2637 (string-append "INTLTOOL_" tool " = intltool-"
2638 (string-downcase tool) "\n")))
2639 #t)))))
f032d0be 2640 (home-page "https://www.gnome.org")
35b9e423 2641 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2642 (description "GNOME Mime Data is a module which contains the base MIME
2643and Application database for GNOME. The data stored by this module is
2644designed to be accessed through the MIME functions in GnomeVFS.")
2645 (license license:gpl2+)))
2646
2647
2648(define-public gnome-vfs
2649 (package
2650 (name "gnome-vfs")
2651 (version "2.24.4")
2652 (source (origin
2653 (method url-fetch)
b38e45d8
EB
2654 (uri (string-append "mirror://gnome/sources/" name "/"
2655 (version-major+minor version) "/"
2656 name "-" version ".tar.bz2"))
5698b8b8 2657 (sha256
9e12bc34
MW
2658 (base32
2659 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2660 (build-system gnu-build-system)
2661 (arguments
db5127d8 2662 `(#:phases
dc1d3cde
KK
2663 (modify-phases %standard-phases
2664 (add-before 'configure 'ignore-deprecations
2665 (lambda _
2666 (substitute* '("libgnomevfs/Makefile.in"
2667 "daemon/Makefile.in")
2668 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2669 #t))
2670 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2671 (lambda _
2672 (substitute* "test/test-async-cancel.c"
2673 (("EXIT_FAILURE") "77"))
2674 #t)))))
2e6ecc5c 2675 (inputs `(("libxml2" ,libxml2)
5698b8b8 2676 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2677 ("gconf" ,gconf)
2678 ("gnome-mime-data" ,gnome-mime-data)
2679 ("zlib" ,zlib)))
2680 (native-inputs
221ed17a
EB
2681 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2682 ("intltool" ,intltool)
5698b8b8
JD
2683 ("pkg-config" ,pkg-config)))
2684 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2685 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2686 (description
2687 "GnomeVFS is the core library used to access files and folders in GNOME
2688applications. It provides a file system abstraction which allows applications
2689to access local and remote files with a single consistent API.")
5698b8b8
JD
2690 (license license:lgpl2.0+)))
2691
2692
2693
2694(define-public libgnome
2695 (package
2696 (name "libgnome")
2697 (version "2.32.1")
2698 (source (origin
2699 (method url-fetch)
b38e45d8
EB
2700 (uri (string-append "mirror://gnome/sources/" name "/"
2701 (version-major+minor version) "/"
2702 name "-" version ".tar.bz2"))
5698b8b8
JD
2703 (sha256
2704 (base32
17c3eea7
LC
2705 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2706 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2707 (build-system gnu-build-system)
2708 (arguments
2709 `(#:phases
dc1d3cde
KK
2710 (modify-phases %standard-phases
2711 (add-before 'configure 'enable-deprecated
2712 (lambda _
2713 (substitute* "libgnome/Makefile.in"
2714 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2715 #t)))))
25338e9f 2716 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2717 (native-inputs
221ed17a
EB
2718 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2719 ("intltool" ,intltool)
5698b8b8
JD
2720 ("pkg-config" ,pkg-config)))
2721 ;; The following are listed as Required in the .pc file
2722 ;; (except for libcanberra -- which seems to be oversight on the part
2723 ;; of the upstream developers -- anything that links against libgnome,
2724 ;; must also link against libcanberra
2725 (propagated-inputs
2726 `(("libcanberra" ,libcanberra)
2727 ("libbonobo" ,libbonobo)
2728 ("gconf" ,gconf)
a640d3d5
LC
2729 ("gnome-vfs" ,gnome-vfs)
2730 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2731 (home-page "https://developer.gnome.org/libgnome/")
2732 (synopsis "Useful routines for building applications")
2733 (description "The libgnome library provides a number of useful routines
2734for building modern applications, including session management, activation of
2735files and URIs, and displaying help.")
2736 (license license:lgpl2.0+)))
2737
2738
2739(define-public libart-lgpl
2740 (package
2741 (name "libart-lgpl")
76c9b6aa 2742 (version "2.3.21")
5698b8b8
JD
2743 (source (origin
2744 (method url-fetch)
2745 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2746 (string-append "mirror://gnome/sources/" upstream-name "/"
2747 (version-major+minor version) "/"
2748 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2749 (sha256
2750 (base32
76c9b6aa 2751 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2752 (build-system gnu-build-system)
2753 (native-inputs
2754 `(("pkg-config" ,pkg-config)))
2755 (home-page "https://people.gnome.org/~mathieu/libart")
2756 (synopsis "2D drawing library")
2e6ecc5c 2757 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2758high-quality vector-based 2D library with antialiasing and alpha composition.")
2759 (license license:lgpl2.0+)))
2760
2761
2762
2763(define-public libgnomecanvas
2764 (package
2765 (name "libgnomecanvas")
2766 (version "2.30.3")
2767 (source (origin
2768 (method url-fetch)
b38e45d8
EB
2769 (uri (string-append "mirror://gnome/sources/" name "/"
2770 (version-major+minor version) "/"
2771 name "-" version ".tar.gz"))
5698b8b8
JD
2772 (sha256
2773 (base32
2774 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2775 (build-system gnu-build-system)
2776 ;; Mentioned as Required in the .pc file
2777 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2778 ("gtk+" ,gtk+-2)))
2779 (native-inputs
2780 `(("intltool" ,intltool)
221ed17a 2781 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2782 ("pkg-config" ,pkg-config)))
2783 (home-page "https://developer.gnome.org/libgnomecanvas/")
2784 (synopsis "Flexible widget for creating interactive structured graphics")
2785 (description "The GnomeCanvas widget provides a flexible widget for
2786creating interactive structured graphics.")
2787 (license license:lgpl2.0+)))
2788
eadc734e
RW
2789(define-public libgnomecanvasmm
2790 (package
2791 (name "libgnomecanvasmm")
2792 (version "2.26.0")
2793 (source (origin
2794 (method url-fetch)
2795 (uri (string-append "mirror://gnome/sources/" name "/"
2796 (version-major+minor version) "/"
2797 name "-" version ".tar.bz2"))
2798 (sha256
2799 (base32
2800 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2801 (build-system gnu-build-system)
2802 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2803 (native-inputs
2804 `(("gtkmm-2" ,gtkmm-2)
2805 ("pkg-config" ,pkg-config)))
8e933cb3 2806 (home-page "https://gtkmm.org")
eadc734e
RW
2807 (synopsis "C++ bindings to the GNOME Canvas library")
2808 (description "C++ bindings to the GNOME Canvas library.")
2809 (license license:lgpl2.0+)))
2810
5698b8b8
JD
2811(define-public libgnomeui
2812 (package
2813 (name "libgnomeui")
2814 (version "2.24.5")
2815 (source (origin
2816 (method url-fetch)
b38e45d8
EB
2817 (uri (string-append "mirror://gnome/sources/" name "/"
2818 (version-major+minor version) "/"
2819 name "-" version ".tar.bz2"))
8fa1872a 2820 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2821 (sha256
2822 (base32
2823 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2824 (build-system gnu-build-system)
2825 ;; Mentioned as Required in the .pc file
0a38a497
AE
2826 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2827 ("libgnome" ,libgnome)
2828 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2829 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2830 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2831 ("popt" ,popt)
2832 ("libbonobo" ,libbonobo)
2833 ("libxml2" ,libxml2)
2834 ("libglade" ,libglade)))
2835 (native-inputs
221ed17a
EB
2836 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2837 ("intltool" ,intltool)
5698b8b8
JD
2838 ("pkg-config" ,pkg-config)))
2839 (home-page "https://developer.gnome.org/libgnomeui/")
2840 (synopsis "Additional widgets for applications")
35b9e423 2841 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2842applications. Many of the widgets from libgnomeui have already been
2843ported to GTK+.")
5698b8b8
JD
2844 (license license:lgpl2.0+)))
2845
2846(define-public libglade
2847 (package
2848 (name "libglade")
2849 (version "2.6.4")
2850 (source (origin
2851 (method url-fetch)
b38e45d8
EB
2852 (uri (string-append "mirror://gnome/sources/" name "/"
2853 (version-major+minor version) "/"
2854 name "-" version ".tar.bz2"))
5698b8b8
JD
2855 (sha256
2856 (base32
2857 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2858 (build-system gnu-build-system)
2859 (inputs
92dcc23d
AE
2860 `(("python" ,python))) ;; needed for the optional libglade-convert program
2861 (propagated-inputs
5698b8b8 2862 `(("gtk+-2" ,gtk+-2)
92dcc23d 2863 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2864 (native-inputs
2865 `(("pkg-config" ,pkg-config)))
2866 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2867 (synopsis "Load glade interfaces and access the glade built widgets")
2868 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2869graphical interfaces described in glade files and for accessing the
2870widgets built in the loading process.")
2871 (license license:gpl2+))) ; This is correct. GPL not LGPL
2872
2873(define-public libgnomeprint
eb497b66
LC
2874 ;; This library has been deprecated since 2006; see
2875 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2876 (package
2877 (name "libgnomeprint")
d19db454 2878 (version "2.18.8")
5698b8b8
JD
2879 (source (origin
2880 (method url-fetch)
b38e45d8
EB
2881 (uri (string-append "mirror://gnome/sources/" name "/"
2882 (version-major+minor version) "/"
2883 name "-" version ".tar.bz2"))
5698b8b8
JD
2884 (sha256
2885 (base32
d19db454 2886 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2887 (build-system gnu-build-system)
2888 (inputs
2889 `(("popt" ,popt)
2890 ("libart-lgpl" ,libart-lgpl)
2891 ("gtk+" ,gtk+-2)
44add1ce 2892 ("libxml2" ,libxml2)))
5698b8b8
JD
2893 (native-inputs
2894 `(("intltool" ,intltool)
221ed17a 2895 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2896 ("pkg-config" ,pkg-config)))
2897 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2898 (synopsis "Printing framework for GNOME")
eb497b66
LC
2899 (description
2900 "GNOME-print was a printing framework for GNOME. It has been deprecated
2901since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2902 (license license:lgpl2.0+)))
2903
2904
2905(define-public libgnomeprintui
eb497b66 2906 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2907 (package
2908 (name "libgnomeprintui")
36053d7f 2909 (version "2.18.6")
5698b8b8
JD
2910 (source (origin
2911 (method url-fetch)
b38e45d8
EB
2912 (uri (string-append "mirror://gnome/sources/" name "/"
2913 (version-major+minor version) "/"
2914 name "-" version ".tar.bz2"))
5698b8b8
JD
2915 (sha256
2916 (base32
36053d7f 2917 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2918 (build-system gnu-build-system)
2919 ;; Mentioned as Required in the .pc file
2920 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2921 (inputs `(("gtk+" ,gtk+-2)
2922 ("glib" ,glib)
2923 ("gnome-icon-theme" ,gnome-icon-theme)
2924 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2925 ("libxml2" ,libxml2)))
5698b8b8
JD
2926 (native-inputs
2927 `(("intltool" ,intltool)
2928 ("pkg-config" ,pkg-config)))
2929 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2930 (synopsis "Printing framework for GNOME")
eb497b66 2931 (description (package-description libgnomeprint))
5698b8b8
JD
2932 (license license:lgpl2.0+)))
2933
5698b8b8
JD
2934(define-public libbonoboui
2935 (package
2936 (name "libbonoboui")
2937 (version "2.24.5")
2938 (source (origin
2939 (method url-fetch)
b38e45d8
EB
2940 (uri (string-append "mirror://gnome/sources/" name "/"
2941 (version-major+minor version) "/"
2942 name "-" version ".tar.bz2"))
5698b8b8
JD
2943 (sha256
2944 (base32
2945 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2946 (build-system gnu-build-system)
2947 (arguments
2948 `(#:phases
dc1d3cde
KK
2949 (modify-phases %standard-phases
2950 (add-before 'check 'start-xserver
2951 (lambda* (#:key inputs #:allow-other-keys)
2952 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2953 (disp ":1"))
2954
2955 (setenv "HOME" (getcwd))
2956 (setenv "DISPLAY" disp)
2957 ;; There must be a running X server and make check doesn't start one.
2958 ;; Therefore we must do it.
2959 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2960 ;; Mentioned as Required by the .pc file
2961 (propagated-inputs `(("libxml2" ,libxml2)))
2962 (inputs
2963 `(("popt" ,popt)
2964 ("pangox-compat" ,pangox-compat)
2965 ("libgnome" ,libgnome)
2966 ("libgnomecanvas" ,libgnomecanvas)
2967 ("libglade" ,libglade)))
2968 (native-inputs
221ed17a
EB
2969 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2970 ("intltool" ,intltool)
ff337525 2971 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2972 ("pkg-config" ,pkg-config)))
2973 (home-page "https://developer.gnome.org/libbonoboui/")
2974 (synopsis "Some user interface controls using Bonobo")
2975 (description "The Bonobo UI library provides a number of user interface
2976controls using the Bonobo component framework.")
2977 (license license:lgpl2.0+)))
2978
fecbf86e
SB
2979(define-public libwnck
2980 (package
2981 (name "libwnck")
d3b40696 2982 (version "3.32.0")
fecbf86e
SB
2983 (source (origin
2984 (method url-fetch)
2985 (uri (string-append "mirror://gnome/sources/" name "/"
2986 (version-major+minor version) "/"
2987 name "-" version ".tar.xz"))
2988 (sha256
ad9b8987 2989 (base32
d3b40696
KK
2990 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2991 (build-system meson-build-system)
fecbf86e
SB
2992 (native-inputs
2993 `(("pkg-config" ,pkg-config)
d3b40696
KK
2994 ("glib" ,glib "bin") ; for glib-mkenums
2995 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2996 ("intltool" ,intltool)))
2997 (propagated-inputs
427476d5
SB
2998 `(("gtk+" ,gtk+)
2999 ("libxres" ,libxres)
3000 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3001 (home-page "https://developer.gnome.org/libwnck/")
3002 (synopsis "Window Navigator Construction Kit")
3003 (description
3004 "Libwnck is the Window Navigator Construction Kit, a library for use in
3005writing pagers, tasklists, and more generally applications that are dealing
3006with window management. It tries hard to respect the Extended Window Manager
3007Hints specification (EWMH).")
3008 (license license:lgpl2.0+)))
3009
3010;; stable version for gtk2, required by xfwm4.
dbb7a081 3011(define-public libwnck-2
fecbf86e
SB
3012 (package (inherit libwnck)
3013 (name "libwnck")
3014 (version "2.30.7")
3015 (source (origin
3016 (method url-fetch)
3017 (uri (string-append "mirror://gnome/sources/" name "/"
3018 (version-major+minor version) "/"
3019 name "-" version ".tar.xz"))
3020 (sha256
3021 (base32
3022 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3023 (build-system gnu-build-system)
3024 (native-inputs
3025 `(("pkg-config" ,pkg-config)
3026 ("intltool" ,intltool)))
fecbf86e 3027 (propagated-inputs
427476d5
SB
3028 `(("gtk+" ,gtk+-2)
3029 ("libxres" ,libxres)
3030 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3031
3032(define-public goffice
3033 (package
3034 (name "goffice")
09abffcc 3035 (version "0.10.46")
b804c61e
JD
3036 (source (origin
3037 (method url-fetch)
16243f0b 3038 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3039 (version-major+minor version) "/"
16243f0b 3040 "goffice-" version ".tar.xz"))
b804c61e 3041 (sha256
09abffcc 3042 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 3043 (build-system gnu-build-system)
72a06d3e 3044 (outputs '("out"
355420c6 3045 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3046 (arguments
3047 '(#:configure-flags (list (string-append "--with-html-dir="
3048 (assoc-ref %outputs "doc")
3049 "/share/gtk-doc/html"))))
b804c61e
JD
3050 (inputs
3051 `(("gtk+" ,gtk+)
3052 ("libgsf" ,libgsf)
3053 ("librsvg" ,librsvg)
3054 ("libxslt" ,libxslt)
3055 ("libxml2" ,libxml2)))
3056 (native-inputs
3057 `(("intltool" ,intltool)
f280cdb1 3058 ("glib" ,glib "bin")
b804c61e
JD
3059 ("pkg-config" ,pkg-config)))
3060 (home-page "https://developer.gnome.org/goffice/")
3061 (synopsis "Document-centric objects and utilities")
3062 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3063 (license
b804c61e
JD
3064 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3065 ;; Note: NOT LGPL
3066 (list license:gpl2 license:gpl3))))
3067
c024ae36
RW
3068(define-public goffice-0.8
3069 (package (inherit goffice)
3070 (version "0.8.17")
3071 (source (origin
3072 (method url-fetch)
3073 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3074 (version-major+minor version) "/"
3075 (package-name goffice) "-" version ".tar.xz"))
3076 (sha256
3077 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3078 (arguments
3079 `(#:phases
dc1d3cde
KK
3080 (modify-phases %standard-phases
3081 (add-after 'unpack 'fix-pcre-check
3082 (lambda _
3083 ;; Only glib.h can be included directly. See
3084 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3085 (substitute* "configure"
3086 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3087
3088 ,@(package-arguments goffice)))
c024ae36
RW
3089 (propagated-inputs
3090 ;; libgoffice-0.8.pc mentions libgsf-1
3091 `(("libgsf" ,libgsf)))
3092 (inputs
3093 `(("gtk" ,gtk+-2)
3094 ,@(alist-delete "gtk" (package-inputs goffice))))))
3095
b804c61e
JD
3096(define-public gnumeric
3097 (package
3098 (name "gnumeric")
f0517b5d 3099 (version "1.12.46")
b804c61e
JD
3100 (source (origin
3101 (method url-fetch)
b7fd0217 3102 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3103 (version-major+minor version) "/"
b7fd0217 3104 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3105 (sha256
3106 (base32
f0517b5d 3107 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3108 (build-system glib-or-gtk-build-system)
b804c61e
JD
3109 (arguments
3110 `(;; The gnumeric developers don't worry much about failing tests.
3111 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3112 #:tests? #f
b804c61e 3113 #:phases
7bcbd40d
EF
3114 (modify-phases %standard-phases
3115 (add-before
3116 'configure 'pre-conf
3117 (lambda* (#:key outputs #:allow-other-keys)
3118 ;; Make install tries to write into the directory of goffice
3119 ;; I am informed that this only affects the possibility to embed a
3120 ;; spreadsheet inside an Abiword document. So presumably when we
3121 ;; package Abiword we'll have to refer it to this directory.
3122 (substitute* "configure"
3123 (("^GOFFICE_PLUGINS_DIR=.*")
3124 (string-append "GOFFICE_PLUGINS_DIR="
3125 (assoc-ref outputs "out")
3126 "/goffice/plugins"))))))))
b804c61e
JD
3127 (inputs
3128 `(("glib" ,glib)
3129 ("gtk+" ,gtk+)
3130 ("goffice" ,goffice)
3131 ("libgsf" ,libgsf)
7bcbd40d 3132 ("librsvg" ,librsvg)
b804c61e 3133 ("libxml2" ,libxml2)
7bcbd40d 3134 ("libxslt" ,libxslt)
2e4c5457 3135 ("python" ,python-2)
6983ba56 3136 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3137 ("zlib" ,zlib)))
3138 (native-inputs
6983ba56 3139 `(("bison" ,bison)
1ed398d1 3140 ("docbook-xml" ,docbook-xml)
6983ba56 3141 ("intltool" ,intltool)
3a2efbc8 3142 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3143 ("glib:bin" ,glib "bin")
b804c61e
JD
3144 ("pkg-config" ,pkg-config)))
3145 (home-page "http://www.gnumeric.org")
66672a45
LC
3146 (synopsis "Spreadsheet application")
3147 (description
3148 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3149interoperable with other spreadsheet applications. It has a vast array of
3150features beyond typical spreadsheet functionality, such as support for linear
3151and non-linear solvers, statistical analysis, and telecommunication
3152engineering.")
3153 (license
b804c61e
JD
3154 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3155 (list license:gpl2 license:gpl3))))
6f885c05
FB
3156
3157(define-public gnome-themes-standard
3158 (package
3159 (name "gnome-themes-standard")
0b7b8fb0 3160 (version "3.22.3")
6f885c05
FB
3161 (source
3162 (origin
3163 (method url-fetch)
2e6ecc5c 3164 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3165 (version-major+minor version) "/" name "-"
3166 version ".tar.xz"))
3167 (sha256
3168 (base32
0b7b8fb0 3169 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3170 (build-system gnu-build-system)
8ac70c7f
SB
3171 (arguments
3172 '(#:configure-flags
3173 ;; Don't create 'icon-theme.cache'.
3174 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3175 (true (string-append coreutils "/bin/true")))
3176 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3177 (inputs
3178 `(("gtk+" ,gtk+)
3179 ("gtk+-2" ,gtk+-2)
3180 ("librsvg" ,librsvg)
3181 ("libxml2" ,libxml2)
3182 ("glib" ,glib)))
3183 (native-inputs
3184 `(("intltool" ,intltool)
3185 ("glib:bin" ,glib "bin")
3186 ("pkg-config" ,pkg-config)))
6f885c05
FB
3187 (home-page "https://launchpad.net/gnome-themes-standard")
3188 (synopsis "Default GNOME 3 themes")
3189 (description
3190 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3191 (license license:lgpl2.1+)))
5a659a48 3192
df90c701
RW
3193(define-public seahorse
3194 (package
3195 (name "seahorse")
bcea3c11 3196 (version "3.32.2")
df90c701
RW
3197 (source
3198 (origin
3199 (method url-fetch)
3200 (uri (string-append "mirror://gnome/sources/" name "/"
3201 (version-major+minor version) "/" name "-"
3202 version ".tar.xz"))
3203 (sha256
3204 (base32
bcea3c11 3205 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3206 (patches (search-patches
3207 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3208 (build-system meson-build-system)
3209 (arguments
bcea3c11
KK
3210 '(#:glib-or-gtk? #t
3211 #:phases
af561664
MÁAV
3212 (modify-phases %standard-phases
3213 (add-after 'unpack 'skip-gtk-update-icon-cache
3214 ;; Don't create 'icon-theme.cache'.
3215 (lambda _
3216 (substitute* "build-aux/meson_post_install.py"
3217 (("gtk-update-icon-cache") "true"))
3218 #t)))))
df90c701
RW
3219 (inputs
3220 `(("gtk+" ,gtk+)
3221 ("gcr" ,gcr)
34b979b9 3222 ("gnupg" ,gnupg)
df90c701 3223 ("gpgme" ,gpgme)
34b979b9 3224 ("openldap" ,openldap)
4a1bf090 3225 ("openssh" ,openssh)
af561664 3226 ("avahi" ,avahi)
bcea3c11 3227 ("libpwquality" ,libpwquality)
34b979b9
EF
3228 ("libsecret" ,libsecret)
3229 ("libsoup" ,libsoup)))
df90c701 3230 (native-inputs
af561664 3231 `(("gettext" ,gettext-minimal)
df90c701
RW
3232 ("glib:bin" ,glib "bin")
3233 ("itstool" ,itstool)
bcb354ad 3234 ("pkg-config" ,pkg-config)
af561664 3235 ("vala" ,vala)
bcb354ad 3236 ("xmllint" ,libxml2)))
bcea3c11 3237 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3238 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3239 (description
3240 "Seahorse is a GNOME application for managing encryption keys and
3241passwords in the GNOME keyring.")
3242 (license license:gpl2+)))
3243
5a659a48
SB
3244(define-public vala
3245 (package
3246 (name "vala")
2d6872f6 3247 (version "0.44.5")
5a659a48
SB
3248 (source (origin
3249 (method url-fetch)
3250 (uri (string-append "mirror://gnome/sources/" name "/"
3251 (version-major+minor version) "/"
3252 name "-" version ".tar.xz"))
3253 (sha256
3254 (base32
2d6872f6 3255 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3256 (build-system gnu-build-system)
1ea90625
SB
3257 (arguments
3258 '(#:phases
3259 (modify-phases %standard-phases
f4925a4f 3260 (add-before 'check 'pre-check
1ea90625
SB
3261 (lambda _
3262 (setenv "CC" "gcc")
8839b6be
RW
3263 (substitute* "valadoc/tests/testrunner.sh"
3264 (("export PKG_CONFIG_PATH=" m)
3265 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3266 ;; For missing '/etc/machine-id'.
3267 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3268 #t)))))
5a659a48
SB
3269 (native-inputs
3270 `(("pkg-config" ,pkg-config)
3271 ("flex" ,flex)
3272 ("bison" ,bison)
3273 ("xsltproc" ,libxslt)
3274 ("dbus" ,dbus) ; for dbus tests
3275 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3276 (inputs
3277 `(("graphviz" ,graphviz)))
5a659a48 3278 (propagated-inputs
8839b6be 3279 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3280 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3281 (synopsis "Compiler for the GObject type system")
3282 (description
3283 "Vala is a programming language that aims to bring modern programming
3284language features to GNOME developers without imposing any additional runtime
3285requirements and without using a different ABI compared to applications and
3286libraries written in C.")
3287 (license license:lgpl2.1+)))
ea57378f
SB
3288
3289(define-public vte
3290 (package
3291 (name "vte")
68c47474 3292 (version "0.58.3")
ea57378f
SB
3293 (source (origin
3294 (method url-fetch)
ac87ffb8 3295 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3296 (version-major+minor version) "/"
ac87ffb8 3297 "vte-" version ".tar.xz"))
ea57378f
SB
3298 (sha256
3299 (base32
68c47474
TGR
3300 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3301 (build-system meson-build-system)
ea57378f
SB
3302 (native-inputs
3303 `(("pkg-config" ,pkg-config)
3304 ("intltool" ,intltool)
3305 ("vala" ,vala)
3306 ("gobject-introspection" ,gobject-introspection)
68c47474 3307 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3308 ("gperf" ,gperf)
ea57378f
SB
3309 ("xmllint" ,libxml2)))
3310 (propagated-inputs
68c47474
TGR
3311 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3312 ("gnutls" ,gnutls) ; ditto
3313 ("pcre2" ,pcre2))) ; ditto
f032d0be 3314 (home-page "https://www.gnome.org/")
ea57378f
SB
3315 (synopsis "Virtual Terminal Emulator")
3316 (description
3317 "VTE is a library (libvte) implementing a terminal emulator widget for
3318GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3319gnome-terminal, but can also be used to embed a console/terminal in games,
3320editors, IDEs, etc.")
3321 (license license:lgpl2.1+)))
3322
c44fb4df
MO
3323(define-public vte-ng
3324 (package
3325 (inherit vte)
3326 (name "vte-ng")
24f4fcbe 3327 (version "0.58.2.a")
afd90f8d 3328 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3329 (source (origin
3330 (method git-fetch)
3331 (uri (git-reference (url home-page) (commit version)))
3332 (file-name (git-file-name name version))
3333 (sha256
3334 (base32
24f4fcbe
MB
3335 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3336 (build-system meson-build-system)
c44fb4df
MO
3337 (native-inputs
3338 `(("gtk-doc" ,gtk-doc)
c44fb4df 3339 ,@(package-native-inputs vte)))
c44fb4df 3340 (arguments
24f4fcbe 3341 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3342 (synopsis "Enhanced VTE terminal widget")
3343 (description
3344 "VTE is a library (libvte) implementing a terminal emulator widget for
3345GTK+, this fork provides additional functions exposed for keyboard text
3346selection and URL hints.")))
3347
2776d72c
EF
3348;; provides vte 2.90, required for some terminal emulators
3349;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3350;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3351;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3352;; pantheon-terminal, roxterm are not currently packaged
3353(define-public vte-0.36
3354 (package (inherit vte)
3355 (name "vte")
3356 (version "0.36.5")
3357 (source (origin
3358 (method url-fetch)
3359 (uri (string-append "mirror://gnome/sources/" name "/"
3360 (version-major+minor version) "/"
3361 name "-" version ".tar.xz"))
3362 (sha256
3363 (base32
3364 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3365 (propagated-inputs
3366 `(("gtk" ,gtk+)
3367 ("ncurses" ,ncurses)))))
3368
ea57378f
SB
3369;; stable version for gtk2, required by xfce4-terminal.
3370(define-public vte/gtk+-2
3371 (package (inherit vte)
3372 (name "vte")
3373 (version "0.28.2")
3374 (source (origin
3375 (method url-fetch)
3376 (uri (string-append "mirror://gnome/sources/" name "/"
3377 (version-major+minor version) "/"
3378 name "-" version ".tar.xz"))
3379 (sha256
3380 (base32
7d48938a
EF
3381 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3382 (patches (search-patches
3383 "vte-CVE-2012-2738-pt1.patch"
3384 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3385 (build-system gnu-build-system)
ea57378f
SB
3386 (arguments
3387 '(#:configure-flags '("--disable-python")))
3388 (native-inputs
3389 `(("pkg-config" ,pkg-config)
3390 ("intltool" ,intltool)
3391 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3392 (propagated-inputs
3393 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3394 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3395
cce0da5e
TD
3396(define-public vinagre
3397 (package
3398 (name "vinagre")
3399 (version "3.22.0")
3400 (source (origin
3401 (method url-fetch)
3402 (uri (string-append "mirror://gnome/sources/" name "/"
3403 (version-major+minor version) "/"
3404 name "-" version ".tar.xz"))
684f97f8
EF
3405 (patches (search-patches "vinagre-newer-freerdp.patch"
3406 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3407 (sha256
3408 (base32
3409 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3410 (build-system glib-or-gtk-build-system)
684f97f8 3411 (arguments
7f486d25
MC
3412 ;; Disable -Werror and such, to avoid build failures on compilation
3413 ;; warnings.
3414 '(#:configure-flags '("--enable-compile-warnings=minimum")
3415 #:phases
684f97f8 3416 (modify-phases %standard-phases
1839768c
EF
3417 (add-before 'install 'skip-gtk-update-icon-cache
3418 (lambda _
3419 ;; Don't create 'icon-theme.cache'
3420 (substitute* (find-files "." "^Makefile$")
3421 (("gtk-update-icon-cache") (which "true")))
3422 #t))
684f97f8
EF
3423 (add-after 'unpack 'patch-configure
3424 (lambda _
3425 (substitute* "configure"
3426 (("freerdp") "freerdp2"))
3427 #t)))))
cce0da5e
TD
3428 (native-inputs
3429 `(("pkg-config" ,pkg-config)
3430 ("intltool" ,intltool)
3431 ("itstool" ,itstool)
1839768c 3432 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3433 (inputs
3434 `(("libxml2" ,libxml2)
3435 ("gtk-vnc" ,gtk-vnc)
3436 ("gnome-keyring" ,gnome-keyring)
3437 ("libsecret" ,libsecret)
3438 ("freerdp" ,freerdp)
3439 ("spice" ,spice)
3440 ("spice-gtk" ,spice-gtk)
3441 ("telepathy-glib" ,telepathy-glib)
3442 ("vte" ,vte)))
cce0da5e
TD
3443 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3444 (synopsis "Remote desktop viewer for GNOME")
3445 (description "Vinagre is a remote display client supporting the VNC, SPICE
3446and RDP protocols.")
3447 (license license:gpl3+)))
3448
b47e1b20
FB
3449(define-public dconf
3450 (package
3451 (name "dconf")
1e33331c 3452 (version "0.32.0")
b47e1b20
FB
3453 (source (origin
3454 (method url-fetch)
3455 (uri (string-append
2e6ecc5c 3456 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3457 (version-major+minor version) "/"
3458 name "-" version ".tar.xz"))
3459 (sha256
f05c809f 3460 (base32
1e33331c 3461 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3462 (build-system meson-build-system)
bc036f4c
MB
3463 (propagated-inputs
3464 ;; In Requires of dconf.pc.
3465 `(("glib" ,glib)))
b47e1b20
FB
3466 (inputs
3467 `(("gtk+" ,gtk+)
bc036f4c 3468 ("dbus" ,dbus)))
b47e1b20 3469 (native-inputs
1e33331c
MB
3470 `(("bash-completion" ,bash-completion)
3471 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3472 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3473 ("docbook-xml" ,docbook-xml-4.2)
3474 ("docbook-xsl" ,docbook-xsl)
35fa923d 3475 ("glib:bin" ,glib "bin")
03676d6f 3476 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3477 ("pkg-config" ,pkg-config)
3478 ("vala" ,vala)))
b47e1b20
FB
3479 (arguments
3480 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3481 ; or /etc/machine-id.
35fa923d
MB
3482 #:glib-or-gtk? #t
3483 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3484 (home-page "https://developer.gnome.org/dconf")
3485 (synopsis "Low-level GNOME configuration system")
3486 (description "Dconf is a low-level configuration system. Its main purpose
3487is to provide a backend to GSettings on platforms that don't already have
3488configuration storage systems.")
e20e6b40 3489 (license license:lgpl2.1+)))
109da1c0
AE
3490
3491(define-public json-glib
3492 (package
3493 (name "json-glib")
4115e8ea 3494 (version "1.4.4")
109da1c0
AE
3495 (source (origin
3496 (method url-fetch)
3497 (uri (string-append "mirror://gnome/sources/" name "/"
3498 (version-major+minor version) "/"
3499 name "-" version ".tar.xz"))
3500 (sha256
3501 (base32
4115e8ea 3502 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3503 (build-system meson-build-system)
109da1c0 3504 (native-inputs
98afa184
MB
3505 `(("gettext" ,gettext-minimal)
3506 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3507 ("gobject-introspection" ,gobject-introspection)
3508 ("pkg-config" ,pkg-config)))
3509 (propagated-inputs
88c6b580 3510 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3511 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3512 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3513 (description
3514 "JSON-GLib is a C library based on GLib providing serialization and
3515deserialization support for the JavaScript Object Notation (JSON) format
3516described by RFC 4627. It provides parser and generator GObject classes and
3517various wrappers for the complex data types employed by JSON, such as arrays
3518and objects.")
109da1c0 3519 (license license:lgpl2.1+)))
6f96a359
SB
3520
3521(define-public libxklavier
3522 (package
3523 (name "libxklavier")
5f39050b 3524 (version "5.4")
6f96a359 3525 (source (origin
5f39050b 3526 ;; Note: There's no tarball at ftp.gnome.org for this version.
3527 (method git-fetch)
3528 (uri (git-reference
3529 (url "https://anongit.freedesktop.org/git/libxklavier")
3530 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3531 (sha256
3532 (base32
5f39050b 3533 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3534 (file-name (git-file-name name version))))
6f96a359
SB
3535 (build-system gnu-build-system)
3536 (arguments
5f39050b 3537 '(#:phases
3538 (modify-phases %standard-phases
3539 (add-after 'unpack 'no-configure
3540 (lambda* _
3541 (setenv "NOCONFIGURE" "1")
3542 #t)))
3543 #:configure-flags
6f96a359
SB
3544 (list (string-append "--with-xkb-base="
3545 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3546 "/share/X11/xkb")
3547 "--disable-xmodmap-support")))
6f96a359
SB
3548 (native-inputs
3549 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3550 ("gobject-introspection" ,gobject-introspection)
5f39050b 3551 ("pkg-config" ,pkg-config)
3552 ("gtk-doc" ,gtk-doc)
3553 ("intltool" ,intltool)
3554 ("which" ,which)
3555 ("autoconf" ,autoconf)
3556 ("automake" ,automake)
3557 ("libtool" ,libtool)))
6f96a359
SB
3558 (propagated-inputs
3559 ;; Required by libxklavier.pc.
3560 `(("glib" ,glib)
3561 ("libxml2" ,libxml2)))
3562 (inputs
3563 `(("iso-codes" ,iso-codes)
3564 ("libxi" ,libxi)
3565 ("libxkbfile" ,libxkbfile)
3566 ("xkbcomp" ,xkbcomp)
3567 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3568 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3569 (synopsis "High-level API for X Keyboard Extension")
3570 (description
3571 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3572Extension known as XKB. This library is intended to support XFree86 and other
3573commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3574indicators etc).")
3575 (license license:lgpl2.0+)))
619936a4
LC
3576
3577(define-public python2-rsvg
3578 ;; XXX: This is actually a subset of gnome-python-desktop.
3579 (package
3580 (name "python2-rsvg")
3581 (version "2.32.0")
3582 (source
3583 (origin
3584 (method url-fetch)
3585 (uri (string-append
3586 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3587 version ".tar.bz2"))
3588 (sha256
3589 (base32
3590 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3591 (build-system gnu-build-system)
3592 (native-inputs
3593 `(("pkg-config" ,pkg-config)))
3594 (inputs
3595 `(("python" ,python-2)
3596 ("python2-pygtk" ,python2-pygtk)
3597 ("librsvg" ,librsvg)))
f032d0be 3598 (home-page "https://www.gnome.org")
619936a4
LC
3599 (synopsis "Python bindings to librsvg")
3600 (description
3ad75446 3601 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3602library.")
3603
3604 ;; This is the license of the rsvg bindings. The license of each module
3605 ;; of gnome-python-desktop is given in 'COPYING'.
3606 (license license:lgpl2.1+)))
a31a6d22 3607
f2ca414a
SB
3608(define-public glib-networking
3609 (package
3610 (name "glib-networking")
0d75c64d 3611 (version "2.60.3")
f2ca414a
SB
3612 (source (origin
3613 (method url-fetch)
3614 (uri (string-append "mirror://gnome/sources/glib-networking/"
3615 (version-major+minor version) "/"
fb8fe1e8 3616 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3617 (sha256
3618 (base32
0d75c64d 3619 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3620 (build-system meson-build-system)
f2ca414a 3621 (arguments
0d75c64d 3622 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3623 (native-inputs
3624 `(("pkg-config" ,pkg-config)
3625 ("intltool" ,intltool)))
3626 (inputs
3627 `(("glib" ,glib)
3628 ("gnutls" ,gnutls)
4b8f1313 3629 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3630 (home-page "https://www.gnome.org")
f2ca414a
SB
3631 (synopsis "Network-related GIO modules")
3632 (description
3633 "This package contains various network related extensions for the GIO
3634library.")
3635 (license license:lgpl2.0+)))
3636
ca649680 3637(define-public rest
4510b2da 3638 (package
ca649680 3639 (name "rest")
a4194d16 3640 (version "0.8.1")
4510b2da
SB
3641 (source (origin
3642 (method url-fetch)
3643 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3644 (version-major+minor version) "/"
3645 name "-" version ".tar.xz"))
4510b2da
SB
3646 (sha256
3647 (base32
a4194d16 3648 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3649 (build-system gnu-build-system)
3650 (arguments
3651 '(#:tests? #f ; tests require internet connection
3652 #:configure-flags
3653 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3654 (native-inputs
3655 `(("glib-mkenums" ,glib "bin")
3656 ("gobject-introspection" ,gobject-introspection)
3657 ("pkg-config" ,pkg-config)))
3658 (propagated-inputs
3659 ;; rest-0.7.pc refers to all these.
3660 `(("glib" ,glib)
3661 ("libsoup" ,libsoup)
3662 ("libxml2" ,libxml2)))
24d6cc1d 3663 (home-page "https://www.gtk.org/")
4510b2da
SB
3664 (synopsis "RESTful web api query library")
3665 (description
3666 "This library was designed to make it easier to access web services that
3667claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3668libxml to ease remote use of the RESTful API.")
3669 (license license:lgpl2.1+)))
3670
6e1bb642
SB
3671(define-public libsoup
3672 (package
3673 (name "libsoup")
9ae87870 3674 (version "2.68.3")
6e1bb642
SB
3675 (source (origin
3676 (method url-fetch)
3677 (uri (string-append "mirror://gnome/sources/libsoup/"
3678 (version-major+minor version) "/"
c1b79b36 3679 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3680 (sha256
3681 (base32
9ae87870 3682 "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk"))))
eccaa8bf 3683 (build-system meson-build-system)
6e1bb642
SB
3684 (outputs '("out" "doc"))
3685 (arguments
2deb146f 3686 `(#:modules ((guix build utils)
eccaa8bf 3687 (guix build meson-build-system)
2deb146f
LC
3688 (ice-9 popen))
3689
f8026a79 3690 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3691 #:phases
3692 (modify-phases %standard-phases
eccaa8bf 3693 (add-after 'unpack 'adjust-tests
26c228f9 3694 (lambda _
eccaa8bf
MB
3695 ;; This test fails due to missing /etc/nsswitch.conf
3696 ;; in the build environment.
26c228f9
LC
3697 (substitute* "tests/socket-test.c"
3698 ((".*/sockets/unconnected.*") ""))
2deb146f 3699
f8026a79
MB
3700 ;; These fail because "subdomain.localhost" does not resolve in
3701 ;; the build environment.
3702 (substitute* "tests/hsts-test.c"
3703 ((".*/hsts/basic.*") "")
3704 ((".*/hsts/subdomains.*") "")
3705 ((".*/hsts/superdomain.*") "")
3706 ((".*/hsts/utf8-address.*") ""))
3707 (substitute* "tests/hsts-db-test.c"
3708 ((".*/hsts-db/subdomains.*") ""))
3709
2deb146f
LC
3710 ;; Generate a self-signed certificate that has "localhost" as its
3711 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3712 ;; 3.5.12, tests such as "ssl-tests" fail:
3713 ;;
3714 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3715 ;;
3716 ;; 'certtool' is interactive so we have to pipe it the answers.
3717 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3718 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3719 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3720 (for-each (lambda (line)
3721 (display line pipe)
3722 (newline pipe))
3723 '("" ;Common name
3724 "" ;UID
3725 "Guix" ;Organizational unit name
3726 "GNU" ;Organization name
3727 "" ;Locality name
3728 "" ;State or province
3729 "" ;Country
3730 "" ;subject's domain component (DC)
3731 "" ;E-mail
3732 "" ;serial number
3733 "-1" ;expiration time
3734 "N" ;belong to authority?
3735 "N" ;web client certificate?
3736 "N" ;IPsec IKE?
3737 "Y" ;web server certificate?
3738 "localhost" ;dnsName of subject
3739 "" ;dnsName of subject (end)
3740 "" ;URI of subject
3741 "127.0.0.1" ;IP address of subject
3742 "" ;signing?
06f5bc4e
MB
3743 "" ;encryption (RSA)?
3744 "" ;data encryption?
2deb146f
LC
3745 "" ;sign OCSP requests?
3746 "" ;sign code?
3747 "" ;time stamping?
3748 "" ;email protection?
3749 "" ;URI of the CRL distribution point
3750 "y" ;above info OK?
3751 ))
3752 (close-pipe pipe))
26c228f9 3753 #t))
eccaa8bf
MB
3754 (add-after 'install 'move-doc
3755 (lambda* (#:key outputs #:allow-other-keys)
3756 (let ((out (assoc-ref outputs "out"))
3757 (doc (assoc-ref outputs "doc")))
3758 (mkdir-p (string-append doc "/share"))
3759 (copy-recursively (string-append out "/share/gtk-doc")
3760 (string-append doc "/share/gtk-doc"))
3761 (delete-file-recursively (string-append out "/share/gtk-doc"))
3762 #t))))))
6e1bb642 3763 (native-inputs
26c228f9 3764 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3765 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3766 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3767 ("intltool" ,intltool)
3768 ("pkg-config" ,pkg-config)
3769 ("python" ,python-wrapper)
fd730590 3770 ("vala" ,vala)
6e1bb642
SB
3771 ;; These are needed for the tests.
3772 ;; FIXME: Add PHP once available.
3773 ("curl" ,curl)
2deb146f 3774 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3775 ("httpd" ,httpd)))
3776 (propagated-inputs
3777 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3778 `(("brotli" ,google-brotli)
3779 ("glib" ,glib)
249846bf 3780 ("libpsl" ,libpsl)
eccaa8bf 3781 ("libxml2" ,libxml2)
f8026a79
MB
3782 ("sqlite" ,sqlite)
3783 ("zlib" ,zlib)))
eccaa8bf
MB
3784 (inputs
3785 `(("glib-networking" ,glib-networking)
3786 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3787 (home-page "https://live.gnome.org/LibSoup/")
3788 (synopsis "GLib-based HTTP Library")
3789 (description
3790 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3791and the GLib main loop, to integrate well with GNOME applications.")
3792 (license license:lgpl2.0+)))
3793
bba229a3
SB
3794(define-public libsecret
3795 (package
3796 (name "libsecret")
a866dd18 3797 (version "0.20.1")
bba229a3
SB
3798 (source (origin
3799 (method url-fetch)
3800 (uri (string-append
896dcbc7
EF
3801 "mirror://gnome/sources/libsecret/"
3802 (version-major+minor version) "/"
0ada4e29 3803 "libsecret-" version ".tar.xz"))
bba229a3
SB
3804 (sha256
3805 (base32
a866dd18 3806 "0ir4ynpf8b64xss1azvsi5x6697lik7hkf3z0xxa2qv2xja3xxsp"))))
bba229a3
SB
3807 (build-system gnu-build-system)
3808 (outputs '("out" "doc"))
3809 (arguments
3810 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3811 #:configure-flags
3812 (list (string-append "--with-html-dir="
3813 (assoc-ref %outputs "doc")
3814 "/share/gtk-doc/html"))))
3815 (native-inputs
c06ef010
MB
3816 `(("gettext" ,gettext-minimal)
3817 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3818 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3819 ("pkg-config" ,pkg-config)
3820 ("vala" ,vala)
3821 ("xsltproc" ,libxslt)))
3822 ;; These are needed for the tests.
3823 ;; FIXME: Add gjs once available.
3824 ;("dbus" ,dbus)
3825 ;("python2" ,python-2)
3826 ;("python2-dbus" ,python2-dbus)
3827 ;("python2-pygobject" ,python2-pygobject)
3828 ;("python2-pygobject-2" ,python2-pygobject-2)))
3829 (propagated-inputs
3830 `(("glib" ,glib))) ; required by libsecret-1.pc
3831 (inputs
3832 `(("docbook-xsl" ,docbook-xsl)
3833 ("libgcrypt" ,libgcrypt)
3834 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3835 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3836 (synopsis "GObject bindings for \"Secret Service\" API")
3837 (description
3838 "Libsecret is a GObject based library for storing and retrieving passwords
3839and other secrets. It communicates with the \"Secret Service\" using DBus.")
3840 (license license:lgpl2.1+)))
3841
b6821ee0 3842(define-public five-or-more
3843 (package
3844 (name "five-or-more")
d9795e93 3845 (version "3.32.0")
b6821ee0 3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append "mirror://gnome/sources/" name "/"
3850 (version-major+minor version) "/"
3851 name "-" version ".tar.xz"))
3852 (sha256
3853 (base32
d9795e93
KK
3854 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3855 (build-system meson-build-system)
3856 (arguments
3857 '(#:glib-or-gtk? #t
3858 #:phases
3859 (modify-phases %standard-phases
3860 (add-after 'unpack 'skip-gtk-update-icon-cache
3861 (lambda _
3862 (substitute* "meson_post_install.py"
3863 (("gtk-update-icon-cache") (which "true")))
3864 #t)))))
b6821ee0 3865 (native-inputs
3866 `(("pkg-config" ,pkg-config)
d9795e93 3867 ("appstream-glib" ,appstream-glib)
b6821ee0 3868 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3869 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3870 ("intltool" ,intltool)
3871 ("itstool" ,itstool)
d9795e93 3872 ("vala" ,vala)
b6821ee0 3873 ("xmllint" ,libxml2)))
3874 (inputs
3875 `(("gtk+" ,gtk+)
d9795e93 3876 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3877 ("librsvg" ,librsvg)))
3878 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3879 (synopsis "Logic puzzle game")
3880 (description "Five or More is a game where you try to align
3881 five or more objects of the same color and shape causing them to disappear.
3882 On every turn more objects will appear, until the board is full.
3883 Try to last as long as possible.")
3884 (license license:gpl2+)))
3885
a31a6d22
SB
3886(define-public gnome-mines
3887 (package
3888 (name "gnome-mines")
2d817e41 3889 (version "3.32.2")
a31a6d22
SB
3890 (source
3891 (origin
3892 (method url-fetch)
3893 (uri (string-append "mirror://gnome/sources/" name "/"
3894 (version-major+minor version) "/"
3895 name "-" version ".tar.xz"))
3896 (sha256
3897 (base32
2d817e41 3898 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3899 (build-system meson-build-system)
a31a6d22 3900 (arguments
2d817e41
KK
3901 '(#:glib-or-gtk? #t
3902 #:phases
a31a6d22 3903 (modify-phases %standard-phases
2d817e41
KK
3904 (add-after 'unpack 'skip-gtk-update-icon-cache
3905 (lambda _
3906 (substitute* "build-aux/meson_post_install.py"
3907 (("gtk-update-icon-cache") (which "true")))
3908 #t)))))
a31a6d22 3909 (native-inputs
8c0fab36
RW
3910 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3911 ("pkg-config" ,pkg-config)
a31a6d22
SB
3912 ("desktop-file-utils" ,desktop-file-utils)
3913 ("intltool" ,intltool)
bcb354ad 3914 ("itstool" ,itstool)
8c0fab36
RW
3915 ("vala" ,vala)
3916 ("yelp" ,yelp)
3917 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3918 (inputs
3919 `(("gtk+" ,gtk+)
73992962 3920 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3921 ("librsvg" ,librsvg)))
3922 (home-page "https://wiki.gnome.org/Apps/Mines")
3923 (synopsis "Minesweeper game")
3924 (description
3925 "Mines (previously gnomine) is a puzzle game where you locate mines
3926floating in an ocean using only your brain and a little bit of luck.")
3927 (license license:gpl2+)))
88f70665 3928
dfc407f3
KY
3929(define-public gnome-sudoku
3930 (package
3931 (name "gnome-sudoku")
7dc728c4 3932 (version "3.32.0")
dfc407f3
KY
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append "mirror://gnome/sources/" name "/"
3937 (version-major+minor version) "/"
3938 name "-" version ".tar.xz"))
3939 (sha256
3940 (base32
7dc728c4
KK
3941 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3942 (build-system meson-build-system)
3943 (arguments
3944 '(#:glib-or-gtk? #t
3945 #:phases
3946 (modify-phases %standard-phases
3947 (add-after 'unpack 'skip-gtk-update-icon-cache
3948 (lambda _
3949 (substitute* "build-aux/post_install.py"
3950 (("gtk-update-icon-cache") (which "true")))
3951 #t)))))
dfc407f3
KY
3952 (native-inputs
3953 `(("pkg-config" ,pkg-config)
3954 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3955 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3956 ("intltool" ,intltool)
3957 ("itstool" ,itstool)
7dc728c4 3958 ("vala" ,vala)
dfc407f3
KY
3959 ("xmllint" ,libxml2)))
3960 (inputs
3961 `(("gtk+" ,gtk+)
3962 ("json-glib" ,json-glib)
3963 ("libgee" ,libgee)
3964 ("librsvg" ,librsvg)
3965 ("qqwing" ,qqwing)))
3966 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3967 (synopsis "Japanese logic game")
3968 (description
3969 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3970GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3971possible while still providing features that make playing difficult Sudoku
3972more fun.")
3973 (license license:gpl2+)))
3974
88f70665
AW
3975(define-public gnome-terminal
3976 (package
3977 (name "gnome-terminal")
7dee3942 3978 (version "3.32.2")
88f70665
AW
3979 (source
3980 (origin
3981 (method url-fetch)
3982 (uri (string-append "mirror://gnome/sources/" name "/"
3983 (version-major+minor version) "/"
3984 name "-" version ".tar.xz"))
3985 (sha256
3986 (base32
7dee3942 3987 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3988 (build-system glib-or-gtk-build-system)
3989 (arguments
3990 '(#:configure-flags
3991 (list "--disable-migration" "--disable-search-provider"
3992 "--without-nautilus-extension")
3993 #:phases
3994 (modify-phases %standard-phases
3a4de6b2 3995 (add-before 'configure 'patch-/bin/true
88f70665
AW
3996 (lambda _
3997 (substitute* "configure"
3998 (("/bin/true") (which "true"))))))))
3999 (native-inputs
4000 `(("pkg-config" ,pkg-config)
4001 ("desktop-file-utils" ,desktop-file-utils)
4002 ("intltool" ,intltool)
bcb354ad
SB
4003 ("itstool" ,itstool)
4004 ("xmllint" ,libxml2)))
68702167
MW
4005 (propagated-inputs
4006 `(("dconf" ,dconf)))
88f70665
AW
4007 (inputs
4008 `(("gtk+" ,gtk+)
4009 ("vte" ,vte)
4010 ("gnutls" ,gnutls)
88f70665
AW
4011 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4012 ("util-linux" ,util-linux)
4013 ("vala" ,vala)))
4014 (home-page "https://wiki.gnome.org/Apps/Terminal")
4015 (synopsis "Terminal emulator")
4016 (description
4017 "GNOME Terminal is a terminal emulator application for accessing a
4018UNIX shell environment which can be used to run programs available on
4019your system.
4020
4021It supports several profiles, multiple tabs and implements several
4022keyboard shortcuts.")
4023 (license license:gpl3+)))
75016d07
AW
4024
4025(define-public colord
4026 (package
4027 (name "colord")
f98be942 4028 (version "1.4.4")
75016d07
AW
4029 (source
4030 (origin
4031 (method url-fetch)
5cc3096c 4032 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4033 "colord-" version ".tar.xz"))
75016d07 4034 (sha256
f98be942 4035 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4036 (build-system meson-build-system)
75016d07 4037 (arguments
a68544a8
RW
4038 '(;; FIXME: One test fails:
4039 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4040 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4041 ;; application/x-zerosize
75016d07 4042 #:tests? #f
a68544a8
RW
4043 #:glib-or-gtk? #t
4044 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4045 ;; No dep on systemd.
a68544a8 4046 "-Dsystemd=false"
75016d07
AW
4047 ;; Wants to install to global completion dir;
4048 ;; punt.
a68544a8 4049 "-Dbash_completion=false"
a68544a8
RW
4050 "-Ddaemon_user=colord"
4051 "-Dsane=true"
dac26e22 4052 "-Dvapi=true"
6f20e2dc 4053 ;; Requires spotread.
a68544a8 4054 "-Dargyllcms_sensor=false"
6f20e2dc 4055 ;; TODO: Requires docbook2x.
a68544a8 4056 "-Dman=false")
75016d07
AW
4057 #:phases
4058 (modify-phases %standard-phases
a68544a8
RW
4059 (add-before 'configure 'patch-build-system
4060 (lambda* (#:key outputs #:allow-other-keys)
4061 (substitute* "rules/meson.build"
4062 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4063 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4064 #t))
4065 (add-before 'configure 'set-sqlite3-file-name
4066 (lambda* (#:key inputs #:allow-other-keys)
4067 ;; "colormgr dump" works by invoking the "sqlite3" command.
4068 ;; Record its absolute file name.
4069 (let ((sqlite (assoc-ref inputs "sqlite")))
4070 (substitute* "client/cd-util.c"
4071 (("\"sqlite3\"")
4072 (string-append "\"" sqlite "/bin/sqlite3\"")))
4073 #t))))))
75016d07 4074 (native-inputs
6f20e2dc 4075 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4076 ("gettext" ,gettext-minimal)
75016d07 4077 ("gobject-introspection" ,gobject-introspection)
a68544a8 4078 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4079 ("pkg-config" ,pkg-config)
4080 ("vala" ,vala)))
65cb2d61
SB
4081 (propagated-inputs
4082 ;; colord.pc refers to all these.
4083 `(("glib" ,glib)
6f20e2dc
TGR
4084 ("lcms" ,lcms)
4085 ("udev" ,eudev)))
75016d07 4086 (inputs
65cb2d61 4087 `(("dbus-glib" ,dbus-glib)
a68544a8 4088 ("gusb" ,gusb)
80c7dd1a 4089 ("libgudev" ,libgudev)
75016d07 4090 ("libusb" ,libusb)
75016d07 4091 ("polkit" ,polkit)
a68544a8 4092 ("python" ,python-wrapper)
6f20e2dc 4093 ("sqlite" ,sqlite)
4c928743 4094 ("sane-backends" ,sane-backends)))
57e7d748 4095 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4096 (synopsis "Color management service")
4097 (description "Colord is a system service that makes it easy to manage,
4098install and generate color profiles to accurately color manage input and
4099output devices.")
4100 (license license:gpl2+)))
7b2abd00
AW
4101
4102(define-public geoclue
4103 (package
4104 (name "geoclue")
50e96d25 4105 (version "2.5.5")
7b2abd00
AW
4106 (source
4107 (origin
4108 (method url-fetch)
50e96d25
MB
4109 (uri
4110 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4111 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4112 (sha256
4113 (base32
50e96d25 4114 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4115 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4116 (build-system meson-build-system)
7b2abd00 4117 (arguments
50e96d25 4118 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4119 (native-inputs
4120 `(("pkg-config" ,pkg-config)
758798a9 4121 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4122 ("modem-manager" ,modem-manager)
4123 ("libnotify" ,libnotify)
4124 ("gtk-doc", gtk-doc)
7b2abd00
AW
4125 ("intltool" ,intltool)))
4126 (inputs
54e911bc 4127 `(("avahi" ,avahi)
50e96d25
MB
4128 ("glib:bin" ,glib "bin")
4129 ("glib-networking" ,glib-networking)
7b2abd00
AW
4130 ("json-glib" ,json-glib)
4131 ("libsoup" ,libsoup)))
50e96d25 4132 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4133 (synopsis "Geolocation service")
4134 (description "Geoclue is a D-Bus service that provides location
4135information. The primary goal of the Geoclue project is to make creating
4136location-aware applications as simple as possible, while the secondary goal is
4137to ensure that no application can access location information without explicit
e881752c 4138permission from user.")
7b2abd00 4139 (license license:gpl2+)))
2bfe7437
AW
4140
4141(define-public geocode-glib
4142 (package
4143 (name "geocode-glib")
65de725f 4144 (version "3.26.1")
2bfe7437
AW
4145 (source (origin
4146 (method url-fetch)
4147 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4148 (version-major+minor version) "/"
d485cdc0 4149 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4150 (sha256
4151 (base32
65de725f 4152 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4153 (build-system meson-build-system)
2bfe7437 4154 (arguments
a7dd0c02
RW
4155 `(#:phases
4156 (modify-phases %standard-phases
4157 ;; The tests require a bunch of locales.
4158 (add-before 'check 'set-locales
4159 (lambda* (#:key inputs #:allow-other-keys)
4160 (setenv "GUIX_LOCPATH"
4161 (string-append (assoc-ref inputs "glibc-locales")
4162 "/lib/locale"))
4163 #t)))))
2bfe7437
AW
4164 (native-inputs
4165 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4166 ("glibc-locales" ,glibc-locales) ; for tests
4167 ("gettext" ,gettext-minimal)
2bfe7437 4168 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4169 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4170 ("pkg-config" ,pkg-config)
4171 ("json-glib" ,json-glib)))
4172 (propagated-inputs
4173 ;; geocode-glib-1.0.pc refers to GIO.
4174 `(("glib" ,glib)))
4175 (inputs
4176 `(("libsoup" ,libsoup)))
4177 (home-page "https://github.com/GNOME/geocode-glib/")
4178 (synopsis "Geocoding and reverse-geocoding library")
4179 (description
4180 "geocode-glib is a convenience library for geocoding (finding longitude,
4181and latitude from an address) and reverse geocoding (finding an address from
4182coordinates) using the Nominatim service. geocode-glib caches requests for
4183faster results and to avoid unnecessary server load.")
4184 (license license:lgpl2.0+)))
a1d5bb0e
AW
4185
4186(define-public upower
4187 (package
4188 (name "upower")
df45af90 4189 (version "0.99.11")
a1d5bb0e
AW
4190 (source (origin
4191 (method url-fetch)
df45af90 4192 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4193 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4194 (sha256
4195 (base32
df45af90 4196 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4197 (patches (search-patches "upower-builddir.patch"))
4198 (modules '((guix build utils)))
4199 (snippet
4200 '(begin
4201 ;; Upstream commit
4202 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4203 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4204 ;; 'dbus-configuration-directory' in (gnu services dbus)
4205 ;; expects it in etc/. Thus, move it back to its previous
4206 ;; location.
4207 (substitute* "src/Makefile.in"
4208 (("^dbusconfdir =.*$")
4209 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4210 #t))))
a1d5bb0e
AW
4211 (build-system glib-or-gtk-build-system)
4212 (arguments
4213 '( ;; The tests want to contact the system bus, which can't be done in the
4214 ;; build environment. The integration test can run, but the last of
4215 ;; the up-self-tests doesn't. Disable tests for now.
4216 #:tests? #f
4217 #:configure-flags (list "--localstatedir=/var"
4218 (string-append "--with-udevrulesdir="
4219 (assoc-ref %outputs "out")
9ec54965 4220 "/lib/udev/rules.d"))))
a1d5bb0e 4221 (native-inputs
ebeabe2d
SB
4222 `(("gobject-introspection" ,gobject-introspection)
4223 ("pkg-config" ,pkg-config)
a1d5bb0e 4224 ("intltool" ,intltool)
55409295
LC
4225 ("python" ,python)
4226
4227 ;; For man pages.
4228 ("libxslt" ,libxslt) ;for 'xsltproc'
4229 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4230 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4231 (inputs
ea226291
SB
4232 `(("dbus-glib" ,dbus-glib)
4233 ("libgudev" ,libgudev)
a1d5bb0e 4234 ("libusb" ,libusb)))
d7a503fc
MB
4235 (propagated-inputs
4236 ;; In Requires of upower-glib.pc.
4237 `(("glib" ,glib)))
57e7d748 4238 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4239 (synopsis "System daemon for managing power devices")
4240 (description
4241 "UPower is an abstraction for enumerating power devices,
4242listening to device events and querying history and statistics. Any
4243application or service on the system can access the org.freedesktop.UPower
4244service via the system message bus.")
4245 (license license:gpl2+)))
6a180f6f
AW
4246
4247(define-public libgweather
4248 (package
4249 (name "libgweather")
794ce8ea 4250 (version "3.28.3")
6a180f6f
AW
4251 (source (origin
4252 (method url-fetch)
4253 (uri (string-append "mirror://gnome/sources/" name "/"
4254 (version-major+minor version) "/"
4255 name "-" version ".tar.xz"))
4256 (sha256
4257 (base32
794ce8ea 4258 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4259 (build-system meson-build-system)
6a180f6f 4260 (arguments
cf6cbc34
RW
4261 `(#:tests? #f ; one of two tests requires network access
4262 #:configure-flags
4263 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4264 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4265 "/share/zoneinfo"))))
6a180f6f
AW
4266 (native-inputs
4267 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4268 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4269 ("pkg-config" ,pkg-config)
1d3fcf94 4270 ("vala" ,vala)
6a180f6f
AW
4271 ("intltool" ,intltool)))
4272 (propagated-inputs
4273 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4274 ;; libsoup.
4275 `(("gtk+" ,gtk+)
4276 ("gdk-pixbuf" ,gdk-pixbuf)
4277 ("libxml2" ,libxml2)
cf6cbc34 4278 ("libsoup" ,libsoup)
6a180f6f 4279 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4280 (inputs
4281 `(("tzdata" ,tzdata)))
6a180f6f
AW
4282 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4283 (synopsis "Location, time zone, and weather library for GNOME")
4284 (description
4285 "libgweather is a library to access weather information from online
4286services for numerous locations.")
4287 (license license:gpl2+)))
23a22af6
AW
4288
4289(define-public gnome-settings-daemon
4290 (package
4291 (name "gnome-settings-daemon")
4be0719f 4292 (version "3.32.1")
23a22af6
AW
4293 (source
4294 (origin
4295 (method url-fetch)
4296 (uri (string-append "mirror://gnome/sources/" name "/"
4297 (version-major+minor version) "/"
4298 name "-" version ".tar.xz"))
4299 (sha256
4300 (base32
4be0719f 4301 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4302 (build-system meson-build-system)
23a22af6 4303 (arguments
e644f9fa
RW
4304 `(#:glib-or-gtk? #t
4305 #:configure-flags
4306 (list (string-append "-Dudev_dir="
4307 (assoc-ref %outputs "out")
4d0e085b
RW
4308 "/lib/udev/rules.d/")
4309 ;; Otherwise, the RUNPATH will lack the final path component.
4310 (string-append "-Dc_link_args=-Wl,-rpath="
4311 (assoc-ref %outputs "out")
4312 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4313 ;; Color management test can't reach the colord system service.
23a22af6
AW
4314 #:tests? #f))
4315 (native-inputs
e644f9fa
RW
4316 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4317 ("pkg-config" ,pkg-config)
23a22af6
AW
4318 ("intltool" ,intltool)
4319 ("xsltproc" ,libxslt)
4320 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4321 ("docbook-xml" ,docbook-xml-4.2)
4322 ("docbook-xsl" ,docbook-xsl)))
4323 (inputs
e644f9fa
RW
4324 `(("alsa-lib" ,alsa-lib)
4325 ("colord" ,colord)
ea226291 4326 ("libgudev" ,libgudev)
23a22af6
AW
4327 ("upower" ,upower)
4328 ("polkit" ,polkit)
4329 ("pulseaudio" ,pulseaudio)
4330 ("libcanberra" ,libcanberra)
4331 ("libx11" ,libx11)
4332 ("libxtst" ,libxtst)
4333 ("lcms" ,lcms)
4334 ("libnotify" ,libnotify)
4335 ("geoclue" ,geoclue)
4336 ("geocode-glib" ,geocode-glib)
4337 ("libgweather" ,libgweather)
4338 ("gnome-desktop" ,gnome-desktop)
4339 ("nss" ,nss)
4340 ("cups" ,cups)
ec2b1921
AW
4341 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4342 ("libwacom" ,libwacom)
4343 ("librsvg" ,librsvg)
eee7878f 4344 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4345 ("wayland" ,wayland)
eee7878f 4346 ("network-manager" ,network-manager)))
f032d0be 4347 (home-page "https://www.gnome.org")
23a22af6
AW
4348 (synopsis "GNOME settings daemon")
4349 (description
4350 "This package contains the daemon responsible for setting the various
4351parameters of a GNOME session and the applications that run under it. It
4352handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4353settings, themes, mouse settings, and startup of other daemons.")
4354 (license license:gpl2+)))
1e7464a9
DH
4355
4356(define-public totem-pl-parser
4357 (package
4358 (name "totem-pl-parser")
77425f04 4359 (version "3.26.3")
1e7464a9
DH
4360 (source (origin
4361 (method url-fetch)
e980cbe9
MW
4362 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4363 (version-major+minor version) "/"
1e7464a9
DH
4364 "totem-pl-parser-" version ".tar.xz"))
4365 (sha256
4366 (base32
77425f04 4367 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4368 (build-system meson-build-system)
1e7464a9
DH
4369 (arguments
4370 ;; FIXME: Tests require gvfs.
4371 `(#:tests? #f))
4372 (native-inputs
4373 `(("intltool" ,intltool)
4374 ("glib" ,glib "bin")
4d6d8281 4375 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4376 ("pkg-config" ,pkg-config)))
22a6ad6a 4377 (propagated-inputs
1e7464a9
DH
4378 `(("glib" ,glib)
4379 ("gmime" ,gmime)
1e9b19dd
RW
4380 ("libarchive" ,libarchive)
4381 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4382 ("libxml2" ,libxml2)))
4383 (inputs
0a6e9e13 4384 `(("libsoup" ,libsoup)))
1e7464a9
DH
4385 (home-page "https://projects.gnome.org/totem")
4386 (synopsis "Library to parse and save media playlists for GNOME")
4387 (description "Totem-pl-parser is a GObjects-based library to parse and save
4388playlists in a variety of formats.")
4389 (license license:lgpl2.0+)))
4390
6b888eff
SB
4391(define-public aisleriot
4392 (package
4393 (name "aisleriot")
36ed9b46 4394 (version "3.22.9")
6b888eff
SB
4395 (source (origin
4396 (method url-fetch)
e43f622a 4397 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4398 (version-major+minor version) "/"
e43f622a 4399 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4400 (sha256
4401 (base32
36ed9b46 4402 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4403 (build-system glib-or-gtk-build-system)
4404 (arguments
4405 '(#:configure-flags
4406 '("--with-platform=gtk-only"
4407 "--with-card-theme-formats=svg")))
4408 (native-inputs
4409 `(("desktop-file-utils" ,desktop-file-utils)
4410 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4411 ("intltool" ,intltool)
4412 ("itstool" ,itstool)
4413 ("pkg-config" ,pkg-config)
4414 ("xmllint" ,libxml2)))
4415 (inputs
4416 `(("gtk+" ,gtk+)
226e57d6 4417 ("guile" ,guile-2.2)
6b888eff
SB
4418 ("libcanberra" ,libcanberra)
4419 ("librsvg" ,librsvg)))
4420 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4421 (synopsis "Solitaire card games")
4422 (description
4423 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4424which are easy to play with the aid of a mouse.")
4425 (license license:gpl3+)))
4a79e256 4426
f828d05b
KK
4427(define-public amtk
4428 (package
4429 (name "amtk")
0e08ca14 4430 (version "5.0.2")
f828d05b
KK
4431 (source (origin
4432 (method url-fetch)
bf92ba6b 4433 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4434 (version-major+minor version) "/"
bf92ba6b 4435 "amtk-" version ".tar.xz"))
f828d05b
KK
4436 (sha256
4437 (base32
0e08ca14 4438 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4439 (build-system gnu-build-system)
4440 (arguments
4441 '(#:configure-flags '("--enable-gtk-doc")))
4442 (native-inputs
4443 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4444 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4445 ("gtk-doc" ,gtk-doc)
4446 ("pkg-config" ,pkg-config)))
4447 (inputs
4448 `(("glib" ,glib)
4449 ("gtk+" ,gtk+)))
4450 (home-page "https://wiki.gnome.org/Projects/Amtk")
4451 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4452 (description
4453 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4454It is a basic GtkUIManager replacement based on GAction. It is suitable for
4455both a traditional UI or a modern UI with a GtkHeaderBar.")
4456 (license license:lgpl2.1+)))
4457
4a79e256
SB
4458(define-public devhelp
4459 (package
4460 (name "devhelp")
20db7a3d 4461 (version "3.32.0")
4a79e256
SB
4462 (source (origin
4463 (method url-fetch)
4464 (uri (string-append "mirror://gnome/sources/" name "/"
4465 (version-major+minor version) "/"
4466 name "-" version ".tar.xz"))
4467 (sha256
4468 (base32
20db7a3d 4469 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4470 (build-system meson-build-system)
35407f94 4471 (arguments
20db7a3d
KK
4472 '(#:glib-or-gtk? #t
4473 #:phases
35407f94
EF
4474 (modify-phases %standard-phases
4475 (add-after 'unpack 'skip-gtk-update-icon-cache
4476 ;; Don't create 'icon-theme.cache'.
4477 (lambda _
4478 (substitute* "meson_post_install.py"
4479 (("gtk-update-icon-cache") "true"))
4480 #t)))))
4a79e256
SB
4481 (native-inputs
4482 `(("intltool" ,intltool)
5dd12afc 4483 ("itstool" ,itstool)
11d28bd9
KK
4484 ("gobject-introspection" ,gobject-introspection)
4485 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4486 ("pkg-config" ,pkg-config)))
4487 (inputs
11d28bd9
KK
4488 `(("amtk" ,amtk)
4489 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4490 ("webkitgtk" ,webkitgtk)))
4491 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4492 (synopsis "API documentation browser for GNOME")
4493 (description
4494 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4495natively with GTK-Doc (the API reference system developed for GTK+ and used
4496throughout GNOME for API documentation).")
4497 (license license:gpl2+)))
ba421ab7
MW
4498
4499(define-public cogl
4500 (package
4501 (name "cogl")
54c69ae1 4502 (version "1.22.4")
ba421ab7
MW
4503 (source
4504 (origin
4505 (method url-fetch)
5754f0cf 4506 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4507 (version-major+minor version) "/"
5754f0cf 4508 "cogl-" version ".tar.xz"))
ba421ab7 4509 (sha256
54c69ae1 4510 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4511 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4512 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4513 (build-system gnu-build-system)
4514 (native-inputs
4515 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4516 ("gobject-introspection" ,gobject-introspection)
4517 ;;("xorg-server" ,xorg-server) ; for the test suite
4518 ("pkg-config" ,pkg-config)))
4519 (propagated-inputs
4520 `(("glib" ,glib)
4521 ("gdk-pixbuf" ,gdk-pixbuf)
4522 ("libx11" ,libx11)
4523 ("libxext" ,libxext)
4524 ("libxfixes" ,libxfixes)
4525 ("libxdamage" ,libxdamage)
4526 ("libxcomposite" ,libxcomposite)
4527 ("libxrandr" ,libxrandr)))
4528 (inputs
4529 `(("mesa" ,mesa)
4530 ("cairo" ,cairo)
4531 ("pango" ,pango)
4532 ("gstreamer" ,gstreamer)
31860852
KK
4533 ("gst-plugins-base" ,gst-plugins-base)
4534 ("wayland" ,wayland)))
ba421ab7
MW
4535 (arguments
4536 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4537 "--enable-wayland-egl-platform"
4538 "--enable-wayland-egl-server"
4539
ba421ab7
MW
4540 ;; Arrange to pass an absolute file name to
4541 ;; dlopen for libGL.so.
4542 (string-append "--with-gl-libname="
4543 (assoc-ref %build-inputs "mesa")
4544 "/lib/libGL.so"))
4545 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4546 ;; _FontTransOpen: Unable to Parse address
4547 ;; ${prefix}/share/fonts/X11/misc/
4548 #:tests? #f
4549 #; #:phases
4550 #;
4551 (modify-phases %standard-phases
4552 (add-before 'check 'start-xorg-server
4553 (lambda* (#:key inputs #:allow-other-keys)
4554 ;; The test suite requires a running X server.
4555 (system (format #f "~a/bin/Xvfb :1 &"
4556 (assoc-ref inputs "xorg-server")))
4557 (setenv "DISPLAY" ":1")
4558 #t)))))
4559 (home-page "http://www.cogl3d.org")
4560 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4561 (description
4562 "Cogl is a small library for using 3D graphics hardware to draw pretty
4563pictures. The API departs from the flat state machine style of OpenGL and is
4564designed to make it easy to write orthogonal components that can render
4565without stepping on each others toes.")
4566 (license (list license:expat ; most of the code
4567 license:bsd-3 ; cogl/cogl-point-in-poly.c
4568 license:sgifreeb2.0 ; cogl-path/tesselator/
4569 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4570
4571(define-public clutter
4572 (package
4573 (name "clutter")
6a88e4ee 4574 (version "1.26.2")
fb182b8a
MW
4575 (source
4576 (origin
4577 (method url-fetch)
4578 (uri (string-append "mirror://gnome/sources/" name "/"
4579 (version-major+minor version) "/"
4580 name "-" version ".tar.xz"))
4581 (sha256
4582 (base32
6a88e4ee 4583 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4584 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4585 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4586 (build-system gnu-build-system)
600233bd
LC
4587 (outputs '("out"
4588 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4589 (native-inputs
4590 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4591 ("gobject-introspection" ,gobject-introspection)
4592 ("pkg-config" ,pkg-config)
4593 ("xsltproc" ,libxslt)))
4594 (propagated-inputs
4595 `(("cogl" ,cogl)
4596 ("cairo" ,cairo)
4597 ("atk" ,atk)
4598 ("gtk+" ,gtk+)
4599 ("json-glib" ,json-glib)
4600 ("glib" ,glib)
4601 ("libxcomposite" ,libxcomposite)
4602 ("libxdamage" ,libxdamage)
4603 ("libxext" ,libxext)
4604 ("xinput" ,xinput)))
4605 (inputs
4606 `(("libxkbcommon" ,libxkbcommon)
4607 ("udev" ,eudev)))
4608 (arguments
600233bd
LC
4609 `(#:configure-flags (list "--enable-x11-backend=yes"
4610
4611 ;; This produces share/doc/{clutter,cally}.
4612 (string-append "--with-html-dir="
4613 (assoc-ref %outputs "doc")
4614 "/share/doc"))
fb182b8a
MW
4615 ;; XXX FIXME: Get test suite working. It would probably fail in the
4616 ;; same way the cogl tests fail, since clutter is based on cogl.
4617 #:tests? #f))
4618 (home-page "http://www.clutter-project.org")
476af713 4619 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4620 (description
476af713 4621 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4622creating fast, mainly 2D single window applications such as media box UIs,
4623presentations, kiosk style applications and so on.")
4624 (license license:lgpl2.0+)))
bf7f17ba
MW
4625
4626(define-public clutter-gtk
4627 (package
4628 (name "clutter-gtk")
5d1a3219 4629 (version "1.8.4")
bf7f17ba
MW
4630 (source
4631 (origin
4632 (method url-fetch)
4633 (uri (string-append "mirror://gnome/sources/" name "/"
4634 (version-major+minor version) "/"
4635 name "-" version ".tar.xz"))
4636 (sha256
4637 (base32
5d1a3219 4638 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4639 (build-system gnu-build-system)
4640 (native-inputs
4641 `(("pkg-config" ,pkg-config)
4642 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4643 (propagated-inputs
4644 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4645 `(("clutter" ,clutter)
4646 ("gtk+" ,gtk+)))
4647 (home-page "http://www.clutter-project.org")
476af713 4648 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4649 (description
476af713 4650 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4651creating fast, mainly 2D single window applications such as media box UIs,
4652presentations, kiosk style applications and so on.")
4653 (license license:lgpl2.0+)))
86d6a893
MW
4654
4655(define-public clutter-gst
4656 (package
4657 (name "clutter-gst")
ba07ac19 4658 (version "3.0.27")
86d6a893
MW
4659 (source
4660 (origin
4661 (method url-fetch)
f010f89b 4662 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4663 (version-major+minor version) "/"
f010f89b 4664 "clutter-gst-" version ".tar.xz"))
86d6a893 4665 (sha256
ba07ac19 4666 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4667 (build-system gnu-build-system)
4668 (native-inputs
ba07ac19 4669 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4670 ("pkg-config" ,pkg-config)
4671 ("gobject-introspection" ,gobject-introspection)))
4672 (inputs
4673 `(("clutter" ,clutter)
4674 ("gstreamer" ,gstreamer)
4675 ("gst-plugins-base" ,gst-plugins-base)))
4676 (home-page "http://www.clutter-project.org")
4677 (synopsis "Integration library for using GStreamer with Clutter")
4678 (description
4679 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4680It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4681implements the ClutterGstPlayer interface using playbin. Clutter is an
4682OpenGL-based interactive canvas library.")
86d6a893 4683 (license license:lgpl2.0+)))
607a04ae 4684
30dc88d9
LC
4685(define-public libchamplain
4686 (package
4687 (name "libchamplain")
5564b2c5 4688 (version "0.12.16")
30dc88d9
LC
4689 (source (origin
4690 (method url-fetch)
4691 (uri (string-append
4692 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4693 version ".tar.xz"))
4694 (sha256
4695 (base32
5564b2c5 4696 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4697 (build-system gnu-build-system)
f7c6833f
LF
4698 (arguments '(#:configure-flags '("--enable-vala")))
4699 (native-inputs
4700 `(("gobject-introspection" ,gobject-introspection)
4701 ("pkg-config" ,pkg-config)
4702 ("vala" ,vala)))
30dc88d9
LC
4703 (propagated-inputs
4704 `(("libsoup" ,libsoup)
4705 ("sqlite" ,sqlite)
4706 ("clutter" ,clutter)
4707 ("clutter-gtk" ,clutter-gtk)
4708 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4709 ("cairo" ,cairo)
4710 ("gtk+3" ,gtk+)
4711 ("glib" ,glib)))
f032d0be 4712 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4713 (synopsis "C library providing a ClutterActor to display maps")
4714 (description
4715 "libchamplain is a C library providing a ClutterActor to display maps.
4716It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4717and Perl bindings are also available. It supports numerous free map sources
4718such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4719 (license license:lgpl2.1+)))
4720
607a04ae
MW
4721(define-public gom
4722 (package
4723 (name "gom")
0510440b 4724 (version "0.3.2")
607a04ae
MW
4725 (source
4726 (origin
4727 (method url-fetch)
6c8a0b6f 4728 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4729 (version-major+minor version) "/"
6c8a0b6f 4730 "gom-" version ".tar.xz"))
607a04ae
MW
4731 (sha256
4732 (base32
0510440b 4733 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4734 (build-system gnu-build-system)
4735 (native-inputs
4736 `(("intltool" ,intltool)
4737 ("pkg-config" ,pkg-config)
4738 ("gobject-introspection" ,gobject-introspection)))
4739 (inputs
4740 `(("glib" ,glib)
4741 ("gdk-pixbuf" ,gdk-pixbuf)
4742 ("sqlite" ,sqlite)))
4743 ;; XXX TODO: Figure out how to run the test suite.
4744 (arguments `(#:tests? #f))
4745 (home-page "https://wiki.gnome.org/Projects/Gom")
4746 (synopsis "Object mapper from GObjects to SQLite")
4747 (description
4748 "Gom provides an object mapper from GObjects to SQLite. It helps you
4749write applications that need to store structured data as well as make complex
4750queries upon that data.")
4751 (license license:lgpl2.1+)))
b7a3cf11 4752
865aacc9 4753(define-public libgnome-games-support
f09520db 4754 (package
865aacc9 4755 (name "libgnome-games-support")
4c6d15cf 4756 (version "1.4.4")
f09520db
SB
4757 (source (origin
4758 (method url-fetch)
2d8dca9d 4759 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4760 (version-major+minor version) "/"
2d8dca9d 4761 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4762 (sha256
4763 (base32
4c6d15cf 4764 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4765 (build-system gnu-build-system)
4766 (arguments
4767 '(#:phases
4768 (modify-phases %standard-phases
4769 (add-before 'check 'pre-check
4770 (lambda _
865aacc9 4771 ;; Tests require a writable HOME.
f09520db
SB
4772 (setenv "HOME" (getcwd))
4773 #t)))))
4774 (native-inputs
4775 `(("intltool" ,intltool)
4776 ("pkg-config" ,pkg-config)
4777 ("vala" ,vala)))
4778 (propagated-inputs
865aacc9 4779 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4780 `(("gtk+" ,gtk+)
4781 ("libgee" ,libgee)))
4782 (home-page "https://www.gnome.org/")
4783 (synopsis "Useful functionality shared among GNOME games")
4784 (description
865aacc9 4785 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4786GNOME Games, but it may be used by others.")
4787 (license license:lgpl3+)))
4788
b7a3cf11
SB
4789(define-public gnome-klotski
4790 (package
4791 (name "gnome-klotski")
c1e419c4 4792 (version "3.32.0")
b7a3cf11
SB
4793 (source (origin
4794 (method url-fetch)
4795 (uri (string-append "mirror://gnome/sources/" name "/"
4796 (version-major+minor version) "/"
4797 name "-" version ".tar.xz"))
4798 (sha256
4799 (base32
c1e419c4
KK
4800 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4801 (build-system meson-build-system)
4802 (arguments
4803 '(#:glib-or-gtk? #t
4804 #:phases
4805 (modify-phases %standard-phases
4806 (add-after 'unpack 'skip-gtk-update-icon-cache
4807 ;; Don't create 'icon-theme.cache'.
4808 (lambda _
4809 (substitute* "build-aux/meson_post_install.py"
4810 (("gtk-update-icon-cache") (which "true")))
4811 #t)))))
b7a3cf11
SB
4812 (native-inputs
4813 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4814 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4815 ("intltool" ,intltool)
4816 ("itstool" ,itstool)
bcb354ad 4817 ("pkg-config" ,pkg-config)
c1e419c4 4818 ("vala" ,vala)
bcb354ad 4819 ("xmllint" ,libxml2)))
b7a3cf11
SB
4820 (inputs
4821 `(("gtk+" ,gtk+)
f4eae76f 4822 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4823 ("librsvg" ,librsvg)))
4824 (home-page "https://wiki.gnome.org/Apps/Klotski")
4825 (synopsis "Sliding block puzzles")
4826 (description
4827 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4828the patterned block to the area bordered by green markers. To do so, you will
4829need to slide other blocks out of the way. Complete each puzzle in as few moves
4830as possible!")
4831 (license license:gpl2+)))
8d4791bf
MW
4832
4833(define-public grilo
4834 (package
4835 (name "grilo")
a865e938 4836 (version "0.3.10")
8d4791bf
MW
4837 (source
4838 (origin
4839 (method url-fetch)
4840 (uri (string-append "mirror://gnome/sources/" name "/"
4841 (version-major+minor version) "/"
4842 name "-" version ".tar.xz"))
4843 (sha256
4844 (base32
a865e938 4845 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4846 (build-system meson-build-system)
8d4791bf
MW
4847 (native-inputs
4848 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4849 ("intltool" ,intltool)
4850 ("pkg-config" ,pkg-config)
d48d4c98
KK
4851 ("gobject-introspection" ,gobject-introspection)
4852 ("gtk-doc" ,gtk-doc)
4853 ("vala" ,vala)))
8d4791bf 4854 (inputs
6d7273a0
KK
4855 `(("cyrus-sasl" ,cyrus-sasl)
4856 ("glib" ,glib)
8d4791bf
MW
4857 ("gtk+" ,gtk+)
4858 ("libxml2" ,libxml2)
6d7273a0 4859 ("liboauth" ,liboauth)
8d4791bf
MW
4860 ("libsoup" ,libsoup)
4861 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4862 (native-search-paths
4863 (list (search-path-specification
4864 (variable "GRL_PLUGIN_PATH")
4865 (files (list (string-append "lib/grilo-"
4866 (version-major+minor version)))))))
d48d4c98 4867 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4868 (synopsis "Framework for discovering and browsing media")
4869 (description
4870 "Grilo is a framework focused on making media discovery and browsing easy
4871for application developers.")
4872 (license license:lgpl2.1+)))
7b212526
MW
4873
4874(define-public grilo-plugins
4875 (package
4876 (name "grilo-plugins")
281f6b3a 4877 (version "0.3.10")
7b212526
MW
4878 (source
4879 (origin
4880 (method url-fetch)
4881 (uri (string-append "mirror://gnome/sources/" name "/"
4882 (version-major+minor version) "/"
4883 name "-" version ".tar.xz"))
4884 (sha256
4885 (base32
281f6b3a
RG
4886 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4887 (build-system meson-build-system)
7b212526 4888 (native-inputs
281f6b3a
RG
4889 `(("gettext" ,gettext-minimal)
4890 ("glib:bin" ,glib "bin")
4891 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4892 ("itstool" ,itstool)
4893 ("pkg-config" ,pkg-config)))
281f6b3a 4894 ;; TODO: ahavi, gstreamer
7b212526
MW
4895 (inputs
4896 `(("grilo" ,grilo)
281f6b3a
RG
4897 ;("gmime" ,gmime) ; unused
4898 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4899 ("gom" ,gom)
281f6b3a
RG
4900 ;("gssdp" ,gssdp) ; unused
4901 ;("gupnp" ,gupnp) ; unused
4902 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4903 ("json-glib" ,json-glib)
4904 ("avahi" ,avahi)
281f6b3a
RG
4905 ("libgdata" ,libgdata)
4906 ("libmediaart" ,libmediaart)
4907 ;("librest" ,rest) ; unused
7b212526 4908 ("libsoup" ,libsoup)
281f6b3a
RG
4909 ("totam-pl-parser" ,totem-pl-parser)
4910 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4911 (arguments
281f6b3a
RG
4912 `(#:glib-or-gtk? #t
4913 ;;Disable lua-factory as it needs missing dependencies
4914 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4915 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4916 (synopsis "Plugins for the Grilo media discovery library")
4917 (description
4918 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4919for application developers. This package provides plugins for common media
4920discovery protocols.")
7b212526 4921 (license license:lgpl2.1+)))
4e3fc547
MW
4922
4923(define-public totem
4924 (package
4925 (name "totem")
995ef5ea 4926 (version "3.32.1")
4e3fc547
MW
4927 (source
4928 (origin
4929 (method url-fetch)
4930 (uri (string-append "mirror://gnome/sources/" name "/"
4931 (version-major+minor version) "/"
4932 name "-" version ".tar.xz"))
4933 (sha256
4934 (base32
995ef5ea 4935 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4936 (build-system meson-build-system)
4e3fc547
MW
4937 (native-inputs
4938 `(("pkg-config" ,pkg-config)
4939 ("desktop-file-utils" ,desktop-file-utils)
4940 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4941 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4942 ("intltool" ,intltool)
bcb354ad 4943 ("itstool" ,itstool)
995ef5ea
KK
4944 ("xmllint" ,libxml2)
4945 ("python-pylint" ,python-pylint)
4946 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4947 (propagated-inputs
4948 `(("dconf" ,dconf)))
4949 (inputs
4950 `(("gtk+" ,gtk+)
4951 ("gdk-pixbuf" ,gdk-pixbuf)
4952 ("atk" ,atk)
4953 ("cairo" ,cairo)
4954 ("dbus-glib" ,dbus-glib)
4955 ("clutter" ,clutter)
4956 ("clutter-gtk" ,clutter-gtk)
4957 ("clutter-gst" ,clutter-gst)
6a6db57f 4958 ("xorgproto" ,xorgproto)
4e3fc547
MW
4959 ("libxxf86vm" ,libxxf86vm)
4960 ("libxtst" ,libxtst)
4961 ("libxrandr" ,libxrandr)
4962 ("libxml2" ,libxml2)
4963 ("libsoup" ,libsoup)
4964 ("libpeas" ,libpeas)
4965 ("librsvg" ,librsvg)
4966 ("lirc" ,lirc)
4967 ("gnome-desktop" ,gnome-desktop)
4968 ("gstreamer" ,gstreamer)
4969 ("gst-plugins-base" ,gst-plugins-base)
4970 ("gst-plugins-good" ,gst-plugins-good)
4971 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4972 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4973 ("python" ,python)
995ef5ea 4974 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4975 ("totem-pl-parser" ,totem-pl-parser)
4976 ("grilo" ,grilo)
4977 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4978 ("vala" ,vala)))
4979 (arguments
7ad81b8b
LC
4980 `(#:glib-or-gtk? #t
4981
4982 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4983 ;; all that.
7ad81b8b 4984 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4985
4986 ;; Do not build .a files for the plugins, it's
4987 ;; completely useless. This saves 2 MiB.
7ad81b8b 4988 "--default-library" "shared")
ec5c24f9 4989 #:phases
4e3fc547 4990 (modify-phases %standard-phases
d51b19ad
EF
4991 (add-after 'unpack 'skip-gtk-update-icon-cache
4992 ;; Don't create 'icon-theme.cache'.
4993 (lambda _
4994 (substitute* "meson_post_install.py"
4995 (("gtk-update-icon-cache") "true"))
4996 #t))
6368eb39
DM
4997 (add-before
4998 'install 'disable-cache-generation
4999 (lambda _
5000 (setenv "DESTDIR" "/")
5001 #t))
995ef5ea
KK
5002 (add-before
5003 'check 'pre-check
5004 (lambda _
5005 ;; Tests require a running X server.
5006 (system "Xvfb :1 &")
5007 (setenv "DISPLAY" ":1")
5008 #t))
4e3fc547
MW
5009 (add-after
5010 'install 'wrap-totem
5011 (lambda* (#:key inputs outputs #:allow-other-keys)
5012 (let ((out (assoc-ref outputs "out"))
5013 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5014 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5015 (wrap-program (string-append out "/bin/totem")
5016 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5017 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5018 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5019 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5020 #t)))))
5021 (home-page "https://wiki.gnome.org/Apps/Videos")
5022 (synopsis "Simple media player for GNOME based on GStreamer")
5023 (description "Totem is a simple yet featureful media player for GNOME
5024which can read a large number of file formats.")
5025 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5026 ;; to be used and distributed together with GStreamer and Totem. See
5027 ;; file://COPYING in the source distribution for details.
5028 (license license:gpl2+)))
f0afb0c8
DH
5029
5030(define-public rhythmbox
5031 (package
5032 (name "rhythmbox")
8190e1ed 5033 (version "3.4.3")
f0afb0c8
DH
5034 (source (origin
5035 (method url-fetch)
5036 (uri (string-append "mirror://gnome/sources/" name "/"
5037 (version-major+minor version) "/"
5038 name "-" version ".tar.xz"))
5039 (sha256
5040 (base32
8190e1ed 5041 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
5042 (build-system glib-or-gtk-build-system)
5043 (arguments
5044 `(#:configure-flags
5045 (list "--enable-lirc"
5046 "--enable-python"
5047 "--enable-vala"
5048 "--with-brasero"
5049 "--with-gudev"
5050 "--with-libsecret")
5051 #:phases
5052 (modify-phases %standard-phases
5053 (add-after
5054 'install 'wrap-rhythmbox
5055 (lambda* (#:key inputs outputs #:allow-other-keys)
5056 (let ((out (assoc-ref outputs "out"))
5057 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5058 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5059 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5060 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5061 (wrap-program (string-append out "/bin/rhythmbox")
5062 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5063 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5064 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5065 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5066 #t)))))
5067 (propagated-inputs
5068 `(("dconf" ,dconf)))
5069 (native-inputs
bcb354ad
SB
5070 `(("itstool" ,itstool)
5071 ("intltool" ,intltool)
f0afb0c8
DH
5072 ("glib" ,glib "bin")
5073 ("gobject-introspection" ,gobject-introspection)
5074 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5075 ("pkg-config" ,pkg-config)
5076 ("xmllint" ,libxml2)))
f0afb0c8
DH
5077 (inputs
5078 `(("json-glib" ,json-glib)
5079 ("tdb" ,tdb)
5080 ("gnome-desktop" ,gnome-desktop)
5081 ("python" ,python)
5082 ("python-pygobject" ,python2-pygobject)
5083 ("vala" ,vala)
5084 ("gmime" ,gmime)
f0afb0c8
DH
5085 ("adwaita-icon-theme" ,adwaita-icon-theme)
5086 ("grilo" ,grilo)
5087 ("grilo-plugins" ,grilo-plugins)
5088 ("gstreamer" ,gstreamer)
5089 ("gst-plugins-base" ,gst-plugins-base)
5090 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5091 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5092 ("libgudev" ,libgudev)
f0afb0c8
DH
5093 ;;("libmtp" ,libmtp) FIXME: Not detected
5094 ("libsecret" ,libsecret)
5095 ("libsoup" ,libsoup)
5096 ("libnotify" ,libnotify)
5097 ("libpeas" ,libpeas)
5098 ("lirc" ,lirc)
5099 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5100 ;;("clutter" ,clutter)
5101 ;;("clutter-gtk" ,clutter-gtk)
5102 ;;("clutter-gst" ,clutter-gst)
5103 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5104 ("atk" ,atk)
5105 ("pango" ,pango)
5106 ("gtk+" ,gtk+)
5107 ;; TODO:
5108 ;; * libgpod
5109 ;; * mx
f0afb0c8
DH
5110 ("brasero" ,brasero)))
5111 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5112 (synopsis "Music player for GNOME")
5113 (description "Rhythmbox is a music playing application for GNOME. It
5114supports playlists, song ratings, and any codecs installed through gstreamer.")
5115 (license license:gpl2+)))
f70d8383
DH
5116
5117(define-public eog
5118 (package
5119 (name "eog")
b0f24a82 5120 (version "3.32.2")
f70d8383
DH
5121 (source (origin
5122 (method url-fetch)
5123 (uri (string-append "mirror://gnome/sources/" name "/"
5124 (version-major+minor version) "/"
5125 name "-" version ".tar.xz"))
5126 (sha256
5127 (base32
b0f24a82 5128 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 5129 (build-system meson-build-system)
f70d8383 5130 (arguments
34c44a34
RW
5131 `(#:configure-flags
5132 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5133 (list (string-append "-Dc_link_args=-Wl,-rpath="
5134 (assoc-ref %outputs "out") "/lib/eog"))
5135 #:phases
f70d8383 5136 (modify-phases %standard-phases
7a034665
EF
5137 (add-after 'unpack 'skip-gtk-update-icon-cache
5138 ;; Don't create 'icon-theme.cache'.
5139 (lambda _
5140 (substitute* "meson_post_install.py"
5141 (("gtk-update-icon-cache") "true"))
5142 #t))
61fb581f
RW
5143 (add-after 'install 'wrap-eog
5144 (lambda* (#:key outputs #:allow-other-keys)
5145 (let ((out (assoc-ref outputs "out"))
5146 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5147 (wrap-program (string-append out "/bin/eog")
5148 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5149 #t)))))
f70d8383
DH
5150 (propagated-inputs
5151 `(("dconf" ,dconf)))
5152 (native-inputs
5153 `(("intltool" ,intltool)
b3546174 5154 ("itstool" ,itstool)
f70d8383
DH
5155 ("glib" ,glib "bin")
5156 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5157 ("pkg-config" ,pkg-config)
5158 ("xmllint" ,libxml2)))
f70d8383
DH
5159 (inputs
5160 `(("gnome-desktop" ,gnome-desktop)
5161 ("shared-mime-info" ,shared-mime-info)
5162 ("adwaita-icon-theme" ,adwaita-icon-theme)
5163 ("exempi" ,exempi)
5164 ("lcms" ,lcms)
5165 ("libexif" ,libexif)
5166 ("libpeas" ,libpeas)
5167 ("libjpeg" ,libjpeg)
5168 ("librsvg" ,librsvg)
5169 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5170 ("gtk+" ,gtk+)))
5171 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5172 (synopsis "GNOME image viewer")
5173 (description "Eye of GNOME is the GNOME image viewer. It
5174supports image conversion, rotation, and slideshows.")
5175 (license license:gpl2+)))
41af5e7b 5176
0c3f8cb8
LC
5177(define-public eog-plugins
5178 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5179 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5180 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5181 ;; 'XDG_DATA_DIRS' appropriately set.
5182 (package
5183 (name "eog-plugins")
54b74cc6 5184 (version "3.26.4")
0c3f8cb8
LC
5185 (source (origin
5186 (method url-fetch)
f3b88ed2 5187 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5188 (version-major+minor version) "/"
f3b88ed2 5189 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5190 (sha256
5191 (base32
54b74cc6 5192 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5193 (build-system gnu-build-system)
5194 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5195 (synopsis "Extensions for the Eye of GNOME image viewer")
5196 (native-inputs
5197 `(("pkg-config" ,pkg-config)
5198 ("gettext" ,gnu-gettext)))
5199 (inputs
5200 `(("eog" ,eog)
5201 ("glib" ,glib)
5202 ("gtk+" ,gtk+)
5203 ("libpeas" ,libpeas)
5204 ("libexif" ,libexif)
5205 ("libchamplain" ,libchamplain)))
5206 (description
5207 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5208notably:
5209
5210@itemize
5211@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5212@item @dfn{Map}, which displays a map of where the picture was taken on the
5213side panel;
5214@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5215@end itemize\n")
5216
5217 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5218 ;; long suspicious byte stream that goes to a
5219 ;; ".gresource.eog_postasa_plugin" ELF section.
5220 (license license:gpl2+)))
5221
41af5e7b
SB
5222(define-public libgudev
5223 (package
5224 (name "libgudev")
b78f5118 5225 (version "232")
41af5e7b
SB
5226 (source (origin
5227 (method url-fetch)
5228 (uri (string-append "mirror://gnome/sources/" name "/"
5229 version "/" name "-" version ".tar.xz"))
5230 (sha256
5231 (base32
b78f5118 5232 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5233 (build-system gnu-build-system)
b78f5118
RW
5234 (arguments
5235 '(#:configure-flags
5236 ;; umockdev depends on libgudev.
5237 (list "--disable-umockdev")))
41af5e7b
SB
5238 (native-inputs
5239 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5240 ("gobject-introspection" ,gobject-introspection)
5241 ("pkg-config" ,pkg-config)))
5242 (propagated-inputs
5243 `(("glib" ,glib))) ; required by gudev-1.0.pc
5244 (inputs
5245 `(("udev" ,eudev)))
5246 (home-page "https://wiki.gnome.org/Projects/libgudev")
5247 (synopsis "GObject bindings for libudev")
5248 (description
5249 "This library provides GObject bindings for libudev. It was originally
5250part of udev-extras, then udev, then systemd. It's now a project on its own.")
5251 (license license:lgpl2.1+)))
3dc8828f
SB
5252
5253(define-public gvfs
5254 (package
5255 (name "gvfs")
12fe4846 5256 (version "1.40.1")
3dc8828f
SB
5257 (source (origin
5258 (method url-fetch)
1d68eb32 5259 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5260 (version-major+minor version) "/"
1d68eb32 5261 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5262 (sha256
5263 (base32
12fe4846 5264 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5265 (build-system meson-build-system)
3dc8828f 5266 (arguments
e762d943
RW
5267 '(#:glib-or-gtk? #t
5268 #:configure-flags
5269 (list "-Dsystemduserunitdir=no"
5270 "-Dtmpfilesdir=no"
5271 ;; Otherwise, the RUNPATH will lack the final path component.
5272 (string-append "-Dc_link_args=-Wl,-rpath="
5273 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5274 (native-inputs
5275 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5276 ("gettext" ,gettext-minimal)
5277 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5278 ("pkg-config" ,pkg-config)
5279 ("xsltproc" ,libxslt)))
5280 (inputs
5281 `(("avahi" ,avahi)
5282 ("docbook-xml" ,docbook-xml-4.2)
5283 ("docbook-xsl" ,docbook-xsl)
5284 ("dbus" ,dbus)
e762d943 5285 ("elogind" ,elogind)
3dc8828f 5286 ("fuse" ,fuse)
24a78aa6 5287 ("gcr" ,gcr)
3dc8828f 5288 ("glib" ,glib)
e762d943 5289 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5290 ("libarchive" ,libarchive)
5291 ("libbluray" ,libbluray)
8852ca24 5292 ("libcap" ,libcap)
3dc8828f
SB
5293 ("libcdio-paranoia" ,libcdio-paranoia)
5294 ("libgcrypt" ,libgcrypt)
e762d943 5295 ("libgdata" ,libgdata)
3dc8828f
SB
5296 ("libgphoto2" ,libgphoto2)
5297 ("libgudev" ,libgudev)
0ab9f949 5298 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5299 ("libmtp" ,libmtp)
e762d943 5300 ("libnfs" ,libnfs)
3dc8828f
SB
5301 ("libsecret" ,libsecret)
5302 ("libsmbclient" ,samba)
5303 ("libsoup" ,libsoup)
5304 ("libxml2" ,libxml2)
e762d943 5305 ("openssh" ,openssh)
8852ca24 5306 ("polkit" ,polkit)
3dc8828f
SB
5307 ("udisks" ,udisks)))
5308 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5309 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5310 (description
8f65585b 5311 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5312abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5313to all applications using the GIO API. It also supports exposing the GVFS
5314mounts to non-GIO applications using FUSE.
5315
5316GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5317DAV, and others.")
5318 (license license:lgpl2.0+)))
7c88b6bd
AW
5319
5320(define-public gusb
5321 (package
5322 (name "gusb")
536b3274 5323 (version "0.3.0")
7c88b6bd 5324 (source (origin
bbfb36f9
EF
5325 (method git-fetch)
5326 (uri (git-reference
5327 (url "https://github.com/hughsie/libgusb.git")
5328 (commit version)))
5329 (file-name (git-file-name name version))
7c88b6bd
AW
5330 (sha256
5331 (base32
bbfb36f9 5332 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5333 (build-system meson-build-system)
7c88b6bd 5334 (native-inputs
536b3274 5335 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5336 ("pkg-config" ,pkg-config)
5337 ("vala" ,vala)
7c88b6bd
AW
5338 ("gtk-doc" ,gtk-doc)))
5339 (propagated-inputs
5340 ;; Both of these are required by gusb.pc.
5341 `(("glib" ,glib)
5342 ("libusb" ,libusb)))
5343 (arguments
536b3274 5344 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5345 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5346 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5347 (description
5348 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5349asynchronous control, bulk and interrupt transfers with proper cancellation
5350and integration into a mainloop. This makes it easy to integrate low level
5351USB transfers with your high-level application or system daemon.")
5352 (license license:lgpl2.1+)))
0abe1d86
AW
5353
5354(define-public simple-scan
5355 (package
5356 (name "simple-scan")
52beda0d 5357 (version "3.34.4")
d9f6d587
TGR
5358 (source
5359 (origin
5360 (method url-fetch)
5361 (uri (string-append "mirror://gnome/sources/simple-scan/"
5362 (version-major+minor version) "/"
5363 "simple-scan-" version ".tar.xz"))
5364 (sha256
52beda0d 5365 (base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z"))))
d9f6d587
TGR
5366 (build-system meson-build-system)
5367 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5368 (arguments
5369 '(#:glib-or-gtk? #t))
0abe1d86
AW
5370 (inputs
5371 `(("gtk" ,gtk+)
5372 ("zlib" ,zlib)
5373 ("cairo" ,cairo)
c501f592 5374 ("colord" ,colord)
0abe1d86
AW
5375 ("gdk-pixbuf" ,gdk-pixbuf)
5376 ("gusb" ,gusb)
4c928743 5377 ("libsane" ,sane-backends)))
0abe1d86 5378 (native-inputs
b94a6ca0 5379 `(("gettext" ,gettext-minimal)
0abe1d86 5380 ("itstool" ,itstool)
c501f592 5381 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5382 ("pkg-config" ,pkg-config)
bcb354ad
SB
5383 ("vala" ,vala)
5384 ("xmllint" ,libxml2)))
dff0eedb 5385 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5386 (synopsis "Document and image scanner")
d9f6d587
TGR
5387 (description
5388 "Document Scanner is an easy-to-use application that lets you connect your
5389scanner and quickly capture images and documents in an appropriate format. It
5390supports any scanner for which a suitable SANE driver is available, which is
5391almost all of them.")
0abe1d86 5392 (license license:gpl3+)))
7549f984 5393
ab466d79
RW
5394(define-public eolie
5395 (package
5396 (name "eolie")
fa8ef3ed 5397 (version "0.9.63")
ab466d79
RW
5398 (source (origin
5399 (method url-fetch)
00014781 5400 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5401 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5402 "eolie-" version ".tar.xz"))
ab466d79
RW
5403 (sha256
5404 (base32
fa8ef3ed 5405 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5406 (build-system meson-build-system)
ab466d79 5407 (arguments
00014781
RW
5408 `(#:glib-or-gtk? #t
5409 #:phases
ab466d79 5410 (modify-phases %standard-phases
f0c68100
EF
5411 (add-after 'unpack 'skip-gtk-update-icon-cache
5412 ;; Don't create 'icon-theme.cache'.
5413 (lambda _
5414 (substitute* "meson_post_install.py"
5415 (("gtk-update-icon-cache") "true"))
5416 #t))
ab466d79
RW
5417 (add-after 'wrap 'wrap-more
5418 (lambda* (#:key inputs outputs #:allow-other-keys)
5419 (let* ((out (assoc-ref outputs "out"))
5420 ;; These libraries must be on LD_LIBRARY_PATH.
5421 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5422 "atk" "gtk+" "gsettings-desktop-schemas"
5423 "gobject-introspection"))
5424 (path (string-join
5425 (map (lambda (lib)
5426 (string-append (assoc-ref inputs lib) "/lib"))
5427 libs)
5428 ":")))
5429 (wrap-program (string-append out "/bin/eolie")
5430 `("LD_LIBRARY_PATH" ":" prefix (,path))
5431 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5432 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5433 #t)))))
5434 (native-inputs
f85ca6ed 5435 `(("intltool" ,intltool)
ab466d79 5436 ("itstool" ,itstool)
d95f1041 5437 ("pkg-config" ,pkg-config)
d95f1041 5438 ("python" ,python)
f0c68100 5439 ("glib:bin" ,glib "bin")))
ab466d79
RW
5440 (inputs
5441 `(("gobject-introspection" ,gobject-introspection)
5442 ("glib-networking" ,glib-networking)
5443 ("cairo" ,cairo)
5444 ("gtk+" ,gtk+)
5445 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5446 ("python" ,python-wrapper)
d72f76df 5447 ("python-dateutil" ,python-dateutil)
00014781 5448 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5449 ("python-pygobject" ,python-pygobject)
5450 ("python-pycairo" ,python-pycairo)
00014781 5451 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5452 ("libsecret" ,libsecret)
5453 ("gtkspell3" ,gtkspell3)
5454 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5455 ("webkitgtk" ,webkitgtk)))
166b2c97 5456 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5457 (synopsis "Web browser for GNOME")
5458 (description
5459 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5460a secret password store, an adblocker, and a modern UI.")
5461 (license license:gpl3+)))
5462
7549f984
SB
5463(define-public epiphany
5464 (package
5465 (name "epiphany")
60680365 5466 (version "3.32.5")
7549f984
SB
5467 (source (origin
5468 (method url-fetch)
dd3266ec 5469 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5470 (version-major+minor version) "/"
dd3266ec 5471 "epiphany-" version ".tar.xz"))
7549f984
SB
5472 (sha256
5473 (base32
60680365 5474 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5475
5476 (build-system meson-build-system)
7549f984
SB
5477 (arguments
5478 ;; FIXME: tests run under Xvfb, but fail with:
5479 ;; /src/bookmarks/ephy-bookmarks/create:
5480 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5481 ;; subsystem
5482 ;; FAIL
6f48d9db 5483 '(#:tests? #f
e19f9c24 5484 #:glib-or-gtk? #t
bb7ff88f
EF
5485 #:phases
5486 (modify-phases %standard-phases
5487 (add-after 'unpack 'skip-gtk-update-icon-cache
5488 ;; Don't create 'icon-theme.cache'.
5489 (lambda _
5490 (substitute* "post_install.py"
5491 (("gtk-update-icon-cache") "true"))
5492 #t)))
e19f9c24
LF
5493 #:configure-flags
5494 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5495 (list (string-append "-Dc_link_args=-Wl,-rpath="
5496 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5497 (propagated-inputs
5498 `(("dconf" ,dconf)))
7549f984 5499 (native-inputs
fc5c5b92
R
5500 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5501 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5502 ("intltool" ,intltool)
7549f984 5503 ("itstool" ,itstool)
bcb354ad
SB
5504 ("pkg-config" ,pkg-config)
5505 ("xmllint" ,libxml2)))
7549f984
SB
5506 (inputs
5507 `(("avahi" ,avahi)
5508 ("gcr" ,gcr)
fc5c5b92 5509 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5510 ("glib-networking" ,glib-networking)
5511 ("gnome-desktop" ,gnome-desktop)
5512 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5513 ("json-glib" ,json-glib)
7549f984 5514 ("iso-codes" ,iso-codes)
8748e29c 5515 ("libdazzle" ,libdazzle)
7549f984
SB
5516 ("libnotify" ,libnotify)
5517 ("libsecret" ,libsecret)
7549f984 5518 ("libxslt" ,libxslt)
fc5c5b92 5519 ("nettle" ,nettle) ; for hogweed
7549f984 5520 ("sqlite" ,sqlite)
f85ca6ed 5521 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5522 (home-page "https://wiki.gnome.org/Apps/Web")
5523 (synopsis "GNOME web browser")
5524 (description
5525 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5526principles are simplicity and standards compliance.")
5527 (license license:gpl2+)))
a3856b2c
SB
5528
5529(define-public d-feet
5530 (package
5531 (name "d-feet")
458e9221 5532 (version "0.3.14")
a3856b2c
SB
5533 (source (origin
5534 (method url-fetch)
5535 (uri (string-append "mirror://gnome/sources/" name "/"
5536 (version-major+minor version) "/"
5537 name "-" version ".tar.xz"))
5538 (sha256
5539 (base32
458e9221 5540 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5541 (build-system glib-or-gtk-build-system)
5542 (arguments
5543 '(#:out-of-source? #f ; tests need to run in the source directory.
5544 #:phases
5545 (modify-phases %standard-phases
5546 (add-before
5547 'check 'pre-check
86aff791 5548 (lambda _
a3856b2c
SB
5549 ;; The test suite requires a running X server.
5550 (system "Xvfb :1 &")
5551 (setenv "DISPLAY" ":1")
5552 ;; Don't fail on missing '/etc/machine-id'.
5553 (setenv "DBUS_FATAL_WARNINGS" "0")
5554 ;; tests.py and window.py don't meet E402:
5555 ;; E402 module level import not at top of file
5556 (substitute* "src/tests/Makefile"
86aff791
MW
5557 (("--ignore=E123") "--ignore=E123,E402"))
5558 #t))
a3856b2c
SB
5559 (add-after
5560 'install 'wrap-program
5561 (lambda* (#:key outputs #:allow-other-keys)
5562 (let ((prog (string-append (assoc-ref outputs "out")
5563 "/bin/d-feet")))
5564 (wrap-program prog
5565 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5566 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5567 #t))))))
a3856b2c
SB
5568 (native-inputs
5569 `(("intltool" ,intltool)
5570 ("itstool" ,itstool)
5571 ("pkg-config" ,pkg-config)
5572 ("python-pep8" ,python-pep8)
5573 ("xmllint" ,libxml2)
ff337525 5574 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5575 (inputs
5576 `(("gobject-introspection" ,gobject-introspection)
5577 ("gtk+" ,gtk+)
5578 ("python" ,python-wrapper)
458e9221 5579 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5580 ("python-pygobject" ,python-pygobject)))
5581 (home-page "https://wiki.gnome.org/Apps/DFeet")
5582 (synopsis "D-Bus debugger")
5583 (description
5584 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5585of running programs and invoke methods on those interfaces.")
5586 (license license:gpl2+)))
c3b97bd9
SB
5587
5588(define-public yelp-xsl
5589 (package
5590 (name "yelp-xsl")
b3640e79 5591 (version "3.32.1")
c3b97bd9
SB
5592 (source (origin
5593 (method url-fetch)
5594 (uri (string-append "mirror://gnome/sources/" name "/"
5595 (version-major+minor version) "/"
5596 name "-" version ".tar.xz"))
5597 (sha256
5598 (base32
b3640e79 5599 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5600 (build-system gnu-build-system)
5601 (native-inputs
5602 `(("intltool" ,intltool)
5603 ("itstool" ,itstool)
5604 ("xmllint" ,libxml2)))
5605 (home-page "https://wiki.gnome.org/Apps/Yelp")
5606 (synopsis "XSL stylesheets for Yelp")
5607 (description
5608 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5609to format Docbook and Mallard documents.")
5610 (license license:gpl2+)))
de3d612a
SB
5611
5612(define-public yelp
5613 (package
5614 (name "yelp")
1f1b6d60 5615 (version "3.32.2")
de3d612a
SB
5616 (source (origin
5617 (method url-fetch)
5618 (uri (string-append "mirror://gnome/sources/" name "/"
5619 (version-major+minor version) "/"
5620 name "-" version ".tar.xz"))
5621 (sha256
5622 (base32
1f1b6d60 5623 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5624 (build-system glib-or-gtk-build-system)
5625 (native-inputs
5626 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5627 ("intltool" ,intltool)
5628 ("itstool" ,itstool)
5629 ("pkg-config" ,pkg-config)))
5630 (propagated-inputs
5631 `(("dconf" ,dconf)))
5632 (inputs
ad1b7d8b
SB
5633 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5634 ("libxslt" ,libxslt)
de3d612a 5635 ("sqlite" ,sqlite)
4c28ca1d
SB
5636 ("webkitgtk" ,webkitgtk)
5637 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5638 (home-page "https://wiki.gnome.org/Apps/Yelp")
5639 (synopsis "GNOME help browser")
5640 (description
5641 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5642man, info, and HTML documents. It can locate documents according to the
5643freedesktop.org help system specification.")
5644 (license license:gpl2+)))
122d0d10
SB
5645
5646(define-public yelp-tools
5647 (package
5648 (name "yelp-tools")
2089bca5 5649 (version "3.28.0")
122d0d10
SB
5650 (source (origin
5651 (method url-fetch)
5652 (uri (string-append "mirror://gnome/sources/" name "/"
5653 (version-major+minor version) "/"
5654 name "-" version ".tar.xz"))
5655 (sha256
5656 (base32
2089bca5 5657 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5658 (build-system gnu-build-system)
5659 (native-inputs
5660 `(("pkg-config" ,pkg-config)))
5661 (propagated-inputs
5662 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5663 `(("itstool" ,itstool)
5664 ("xmllint" ,libxml2)
5665 ("xsltproc" ,libxslt)))
5666 (inputs
5667 `(("yelp-xsl" ,yelp-xsl)))
5668 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5669 (synopsis "Yelp documentation tools")
5670 (description
5671 "Yelp-tools is a collection of scripts and build utilities to help create,
5672manage, and publish documentation for Yelp and the web. Most of the heavy
5673lifting is done by packages like yelp-xsl and itstool. This package just
5674wraps things up in a developer-friendly way.")
5675 (license license:gpl2+)))
af8f9f23 5676
4ed041d9
MB
5677(define-public yelp-tools/fixed
5678 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5679 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5680 ;; the next rebuild cycle.
5681 (hidden-package
5682 (package/inherit
5683 yelp-tools
5684 (propagated-inputs
5685 `(("itstool" ,itstool/fixed)
5686 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5687
af8f9f23
RW
5688(define-public libgee
5689 (package
5690 (name "libgee")
4c2c5ae6 5691 (version "0.20.2")
af8f9f23
RW
5692 (source (origin
5693 (method url-fetch)
84a1b007 5694 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5695 (version-major+minor version) "/"
84a1b007 5696 "libgee-" version ".tar.xz"))
af8f9f23
RW
5697 (sha256
5698 (base32
4c2c5ae6 5699 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
5700 (build-system gnu-build-system)
5701 (arguments
5702 `(#:phases
5703 (modify-phases %standard-phases
5704 (add-after 'unpack 'fix-introspection-install-dir
5705 (lambda* (#:key outputs #:allow-other-keys)
5706 (let ((out (assoc-ref outputs "out")))
5707 (substitute* "gee/Makefile.in"
5708 (("@INTROSPECTION_GIRDIR@")
5709 (string-append out "/share/gir-1.0/"))
5710 (("@INTROSPECTION_TYPELIBDIR@")
5711 (string-append out "/lib/girepository-1.0/")))))))))
5712 (native-inputs
5713 `(("glib" ,glib "bin")
5714 ("pkg-config" ,pkg-config)))
5715 (inputs
5716 `(("glib" ,glib)
5717 ("gobject-introspection" ,gobject-introspection)))
5718 (home-page "https://wiki.gnome.org/Projects/Libgee")
5719 (synopsis "GObject collection library")
5720 (description
5721 "Libgee is a utility library providing GObject-based interfaces and
5722classes for commonly used data structures.")
5723 (license license:lgpl2.1+)))
b0f9c4b8
RW
5724
5725(define-public gexiv2
5726 (package
5727 (name "gexiv2")
b1a8b408 5728 (version "0.12.0")
b0f9c4b8
RW
5729 (source (origin
5730 (method url-fetch)
5731 (uri (string-append "mirror://gnome/sources/" name "/"
5732 (version-major+minor version) "/"
5733 name "-" version ".tar.xz"))
5734 (sha256
5735 (base32
b1a8b408 5736 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5737 (build-system meson-build-system)
b0f9c4b8 5738 (native-inputs
b1a8b408
KK
5739 `(("gcr" ,gcr)
5740 ("glib" ,glib "bin")
5741 ("pkg-config" ,pkg-config)
5742 ("vala" ,vala)))
b0f9c4b8
RW
5743 (propagated-inputs
5744 ;; Listed in "Requires" section of gexiv2.pc
5745 `(("exiv2" ,exiv2)))
5746 (inputs
5747 `(("glib" ,glib)
5748 ("gobject-introspection" ,gobject-introspection)))
5749 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5750 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5751 (description
5752 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5753allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5754metadata in photo and video files of various formats.")
5755 (license license:gpl2+)))
fed5a689
RW
5756
5757(define-public shotwell
5758 (package
5759 (name "shotwell")
bcea20cc 5760 (version "0.30.8")
fed5a689
RW
5761 (source (origin
5762 (method url-fetch)
5497d682 5763 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5764 (version-major+minor version) "/"
5497d682 5765 "shotwell-" version ".tar.xz"))
fed5a689
RW
5766 (sha256
5767 (base32
bcea20cc 5768 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5769 (build-system meson-build-system)
5770 (arguments
5a0beca3
EF
5771 '(#:glib-or-gtk? #t
5772 #:phases
5773 (modify-phases %standard-phases
5774 (add-after 'unpack 'skip-gtk-update-icon-cache
5775 (lambda _
5776 (substitute* "build-aux/meson/postinstall.py"
5777 (("gtk-update-icon-cache") (which "true"))
5778 (("update-desktop-database") (which "true")))
5779 #t)))))
735b8db6
TGR
5780 (propagated-inputs
5781 `(("dconf" ,dconf)))
fed5a689 5782 (native-inputs
5a0beca3
EF
5783 `(("gettext" ,gettext-minimal)
5784 ("glib:bin" ,glib "bin")
735b8db6 5785 ("itstool" ,itstool)
3b79afa6 5786 ("pkg-config" ,pkg-config)
735b8db6 5787 ("vala" ,vala)))
fed5a689 5788 (inputs
5a0beca3
EF
5789 `(("gcr" ,gcr)
5790 ("gexiv2" ,gexiv2)
fed5a689 5791 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5792 ("gstreamer" ,gstreamer)
5793 ("json-glib" ,json-glib)
dfb0323d 5794 ("libgdata" ,libgdata)
fed5a689 5795 ("libgee" ,libgee)
5a0beca3
EF
5796 ("libgphoto2" ,libgphoto2)
5797 ("libgudev" ,libgudev)
fed5a689 5798 ("libraw" ,libraw)
fed5a689
RW
5799 ("libsoup" ,libsoup)
5800 ("libxml2" ,libxml2)
5a0beca3
EF
5801 ("sqlite" ,sqlite)
5802 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5803 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5804 (synopsis "Photo manager for GNOME 3")
5805 (description
5806 "Shotwell is a digital photo manager designed for the GNOME desktop
5807environment. It allows you to import photos from disk or camera, organize
5808them by keywords and events, view them in full-window or fullscreen mode, and
5809share them with others via social networking and more.")
5810 (license license:lgpl2.1+)))
293ff8b2
DT
5811
5812(define-public file-roller
5813 (package
5814 (name "file-roller")
dcae4270 5815 (version "3.32.3")
293ff8b2
DT
5816 (source (origin
5817 (method url-fetch)
f89a27c6 5818 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5819 (version-major+minor version) "/"
f89a27c6 5820 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5821 (sha256
5822 (base32
dcae4270 5823 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5824 (build-system meson-build-system)
293ff8b2 5825 (native-inputs
0a500745
RW
5826 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5827 ("intltool" ,intltool)
4c96e5d1 5828 ("itstool" ,itstool)
0a500745
RW
5829 ("pkg-config" ,pkg-config)
5830 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5831 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5832 ;; TODO: Add libnautilus.
5833 (inputs
5834 `(("gtk+" ,gtk+)
5835 ("gdk-pixbuf" ,gdk-pixbuf)
5836 ("json-glib" ,json-glib)
5837 ("libarchive" ,libarchive)
5838 ("libnotify" ,libnotify)
4c96e5d1 5839 ("nettle" ,nettle)
293ff8b2
DT
5840 ("libxml2" ,libxml2)))
5841 (synopsis "Graphical archive manager for GNOME")
5842 (description "File Roller is an archive manager for the GNOME desktop
5843environment that allows users to view, unpack, and create compressed archives
5844such as gzip tarballs.")
5845 (home-page "http://fileroller.sourceforge.net/")
5846 (license license:gpl2+)))
7ce49365
SB
5847
5848(define-public gnome-session
5849 (package
5850 (name "gnome-session")
1fc2ec79 5851 (version "3.32.0")
7ce49365
SB
5852 (source (origin
5853 (method url-fetch)
5854 (uri (string-append "mirror://gnome/sources/" name "/"
5855 (version-major+minor version) "/"
5856 name "-" version ".tar.xz"))
5857 (sha256
5858 (base32
1fc2ec79 5859 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5860 (arguments
df278071
RW
5861 '(#:glib-or-gtk? #t
5862 #:phases
2914af3c
AW
5863 (modify-phases %standard-phases
5864 (add-before 'configure 'pre-configure
5865 (lambda* (#:key outputs #:allow-other-keys)
5866 ;; Use elogind instead of systemd.
df278071
RW
5867 (substitute* "meson.build"
5868 (("libsystemd-login") "libelogind")
5869 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5870 (substitute* "gnome-session/gsm-systemd.c"
5871 (("#include <systemd/sd-login.h>")
5872 "#include <elogind/sd-login.h>"))
df278071 5873 ;; Remove uses of the systemd daemon.
803ab416
SB
5874 (substitute* "gnome-session/gsm-autostart-app.c"
5875 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5876 #t))
5877 (add-after 'install 'wrap-gnome-session
5878 (lambda* (#:key inputs outputs #:allow-other-keys)
5879 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5880 (let ((glib (assoc-ref inputs "glib:bin"))
5881 (out (assoc-ref outputs "out")))
5882 (wrap-program (string-append out "/bin/gnome-session")
5883 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5884 #t))))
6cbc8d57 5885
2914af3c 5886 #:configure-flags
df278071
RW
5887 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5888 "-Dman=false" ; FIXME: disabled because of docbook validation error
5889 "-Dsystemd_journal=false")))
5890 (build-system meson-build-system)
7ce49365
SB
5891 (native-inputs
5892 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5893 ("pkg-config" ,pkg-config)
5894 ("intltool" ,intltool)
df278071
RW
5895 ("xsltproc" ,libxslt)
5896 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5897 ("docbook-xsl" ,docbook-xsl)
5898 ("docbook-xml" ,docbook-xml)
5899 ("xmlto" ,xmlto)))
7ce49365 5900 (inputs
2914af3c
AW
5901 `(("elogind" ,elogind)
5902 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5903 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5904 ("gtk+" ,gtk+)
5905 ("json-glib" ,json-glib)
5906 ("libsm" ,libsm)
5907 ("libxcomposite" ,libxcomposite)
5908 ("libxtst" ,libxtst)
5909 ("mesa" ,mesa)
5910 ("upower" ,upower)
5911 ("xtrans" ,xtrans)))
5912 (synopsis "Session manager for GNOME")
5913 (description
5914 "This package contains the GNOME session manager, as well as a
5915configuration program to choose applications starting on login.")
5916 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5917 (license license:gpl2+)))
f47ba77e
SB
5918
5919(define-public gjs
5920 (package
5921 (name "gjs")
d054fbf5 5922 (version "1.56.2")
f47ba77e
SB
5923 (source (origin
5924 (method url-fetch)
5925 (uri (string-append "mirror://gnome/sources/" name "/"
5926 (version-major+minor version) "/"
5927 name "-" version ".tar.xz"))
5928 (sha256
5929 (base32
d054fbf5 5930 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5931 (build-system gnu-build-system)
5932 (arguments
5933 '(#:phases
5934 (modify-phases %standard-phases
5935 (add-before
5936 'check 'pre-check
5937 (lambda _
fc119619
MW
5938 ;; The test suite requires a running X server.
5939 (system "Xvfb :1 &")
5940 (setenv "DISPLAY" ":1")
5941
f47ba77e
SB
5942 ;; For the missing /etc/machine-id.
5943 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5944
144f94d0
KK
5945 ;; Our mozjs-38 package does not compile the required Intl API
5946 ;; support for these failing tests.
5947 (substitute* "installed-tests/js/testLocale.js"
5948 ((".*toBeDefined.*") "")
5949 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5950 (substitute* "installed-tests/scripts/testCommandLine.sh"
5951 (("Valentín") "")
5952 (("☭") ""))
f47ba77e
SB
5953 #t)))))
5954 (native-inputs
8a831c6f 5955 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5956 ("pkg-config" ,pkg-config)
5957 ("xmllint" ,libxml2)
5958 ;; For testing
5959 ("dbus-launch" ,dbus)
5960 ("uuidgen" ,util-linux)
ebebee94 5961 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5962 (propagated-inputs
5963 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5964 `(("cairo" ,cairo)
5965 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5966 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5967 (inputs
5968 `(("gtk+" ,gtk+)
5969 ("readline" ,readline)))
5970 (synopsis "Javascript bindings for GNOME")
f032d0be 5971 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5972 (description
5973 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5974javascript engine and the GObject introspection framework.")
5975 (license license:gpl2+)))
329d731b
DH
5976
5977(define-public gedit
5978 (package
5979 (name "gedit")
480c9226 5980 (version "3.32.2")
329d731b
DH
5981 (source (origin
5982 (method url-fetch)
5983 (uri (string-append "mirror://gnome/sources/" name "/"
5984 (version-major+minor version) "/"
5985 name "-" version ".tar.xz"))
5986 (sha256
5987 (base32
480c9226
KK
5988 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5989 (build-system meson-build-system)
329d731b 5990 (arguments
480c9226
KK
5991 `(#:glib-or-gtk? #t
5992 #:configure-flags
5993 ;; Otherwise, the RUNPATH will lack the final path component.
5994 (list (string-append "-Dc_link_args=-Wl,-rpath="
5995 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5996
5997 ;; XXX: Generated .h files are sometimes used before being built.
5998 #:parallel-build? #f
5999
480c9226 6000 #:phases
329d731b 6001 (modify-phases %standard-phases
480c9226
KK
6002 (add-after 'unpack 'skip-gtk-update-icon-cache
6003 ;; Don't create 'icon-theme.cache'.
6004 (lambda _
6005 (substitute* "build-aux/meson/post_install.py"
6006 (("gtk-update-icon-cache") (which "true")))
6007 #t))
6008 (add-after 'unpack 'patch-libgd-fetch
6009 (lambda* (#:key inputs #:allow-other-keys)
6010 (let ((libgd (assoc-ref inputs "libgd")))
6011 ;; Calling git is unnecessary because libgd is fetched as a
6012 ;; native input to this package.
6013 (substitute* "meson.build"
6014 ((".*git.*") ""))
6015 (copy-recursively libgd "subprojects/libgd")
6016 #t)))
6017 (add-after 'install 'wrap-gedit
6018 (lambda* (#:key inputs outputs #:allow-other-keys)
6019 (let ((out (assoc-ref outputs "out"))
6020 (gtksourceview (assoc-ref inputs "gtksourceview"))
6021 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6022 (python-path (getenv "PYTHONPATH")))
6023 (wrap-program (string-append out "/bin/gedit")
6024 ;; For plugins.
6025 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6026 `("PYTHONPATH" ":" prefix (,python-path))
6027 ;; For language-specs.
6028 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6029 "/share")))))
6030 #t)))))
329d731b
DH
6031 (propagated-inputs
6032 `(("dconf" ,dconf)))
6033 (native-inputs
480c9226
KK
6034 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6035 ("intltool" ,intltool)
b3546174 6036 ("itstool" ,itstool)
480c9226 6037 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6038 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6039 ("libgd"
6040 ,(origin
6041 (method git-fetch)
6042 (uri (git-reference
6043 (url "https://gitlab.gnome.org/GNOME/libgd")
6044 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6045 (file-name (git-file-name "libgd" version))
6046 (sha256
6047 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6048 ("pkg-config" ,pkg-config)))
6049 (inputs
6050 `(("glib" ,glib)
0d2df50c 6051 ("gspell" ,gspell)
329d731b 6052 ("gtk+" ,gtk+)
480c9226 6053 ("gtksourceview" ,gtksourceview)
329d731b
DH
6054 ("libpeas" ,libpeas)
6055 ("libxml2" ,libxml2)
329d731b
DH
6056 ("iso-codes" ,iso-codes)
6057 ("python-pygobject" ,python-pygobject)
6058 ("python" ,python)
6059 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6060 ("libx11" ,libx11)
6061 ("vala" ,vala)
6062 ("adwaita-icon-theme" ,adwaita-icon-theme)
6063 ("libsoup" ,libsoup)
6064 ("gnome-desktop" ,gnome-desktop)))
6065 (home-page "https://wiki.gnome.org/Apps/Gedit")
6066 (synopsis "GNOME text editor")
6067 (description "While aiming at simplicity and ease of use, gedit is a
6068powerful general purpose text editor.")
6069 (license license:gpl2+)))
b7179363
SB
6070
6071(define-public zenity
6072 (package
6073 (name "zenity")
4f581bd0 6074 (version "3.32.0")
b7179363
SB
6075 (source (origin
6076 (method url-fetch)
5958df04 6077 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6078 (version-major+minor version) "/"
5958df04 6079 "zenity-" version ".tar.xz"))
b7179363
SB
6080 (sha256
6081 (base32
4f581bd0 6082 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6083 (build-system gnu-build-system)
6084 (native-inputs
b94a6ca0 6085 `(("gettext" ,gettext-minimal)
b7179363
SB
6086 ("itstool" ,itstool)
6087 ("pkg-config" ,pkg-config)))
6088 (inputs
6089 `(("libnotify" ,libnotify)
6090 ("webkitgtk" ,webkitgtk)))
6091 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6092 (home-page "https://www.gnome.org")
b7179363
SB
6093 (description
6094 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6095to display dialog boxes from the commandline and shell scripts.")
6096 (license license:lgpl2.0+)))
60c3627c
SB
6097
6098(define-public mutter
6099 (package
6100 (name "mutter")
edf43f68 6101 (version "3.32.2")
60c3627c 6102 (source (origin
86c44e72
KK
6103 (method url-fetch)
6104 (uri (string-append "mirror://gnome/sources/" name "/"
6105 (version-major+minor version) "/"
6106 name "-" version ".tar.xz"))
60c3627c
SB
6107 (sha256
6108 (base32
edf43f68 6109 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
6110 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6111 ;; versions of cogl and clutter. As a result, many of the inputs,
6112 ;; propagated-inputs, and configure flags used in cogl and clutter are
6113 ;; needed here as well.
edf43f68 6114 (build-system meson-build-system)
60c3627c 6115 (arguments
edf43f68
KK
6116 '(;; XXX: All mutter tests fail with the following error:
6117 ;; Settings schema 'org.gnome.mutter' is not installed
6118 #:tests? #f
6119 #:glib-or-gtk? #t
6120 #:configure-flags
6121 ;; Otherwise, the RUNPATH will lack the final path component.
6122 (list (string-append "-Dc_link_args=-Wl,-rpath="
6123 (assoc-ref %outputs "out") "/lib:"
6124 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
6125
6126 ;; The following flags are needed for the bundled clutter
edf43f68 6127 (string-append "-Dxwayland_path="
d633f2f6
RH
6128 (assoc-ref %build-inputs "xorg-server-xwayland")
6129 "/bin/Xwayland")
6130
a88d5a0c 6131 ;; the remaining flags are needed for the bundled cogl
edf43f68 6132 (string-append "-Dopengl_libname="
a88d5a0c 6133 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6134 "/lib/libGL.so"))
6135 #:phases
6136 (modify-phases %standard-phases
edf43f68
KK
6137 (add-after 'unpack 'disable-werror
6138 (lambda _
6139 ;; XXX: build fails with [-Werror]:
6140 ;; backends/meta-cursor-renderer.c:112:5: error:
6141 ;; implicit declaration of function ?roundf?
6142 (substitute* "meson.build"
6143 (("'-Werror=.*',") ""))
6144 #t))
86c44e72
KK
6145 ;; Replace references to systemd libraries to elogind references.
6146 (add-before 'configure 'use-elogind
6147 (lambda _
edf43f68 6148 (substitute* (list "meson.build"
86c44e72
KK
6149 "src/backends/native/meta-launcher.c"
6150 "src/core/main.c")
6151 (("systemd") "elogind"))
6152 #t)))))
60c3627c
SB
6153 (native-inputs
6154 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6155 ("gobject-introspection" ,gobject-introspection)
6156 ("intltool" ,intltool)
f23052a6 6157 ("pkg-config" ,pkg-config)
edf43f68 6158 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6159 ;; For git build
6160 ("autoconf" ,autoconf)
6161 ("automake" ,automake)
6162 ("libtool" ,libtool)))
60c3627c 6163 (propagated-inputs
a88d5a0c
MW
6164 `(;; libmutter.pc refers to these:
6165 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6166 ("gtk+" ,gtk+)
6167 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6168 ("atk" ,atk)
6169 ("cairo" ,cairo)
6170 ("gdk-pixbuf" ,gdk-pixbuf)
6171 ("glib" ,glib)
a88d5a0c
MW
6172 ("json-glib" ,json-glib)
6173 ("libinput" ,libinput)
6174 ("libx11" ,libx11)
6175 ("libxcomposite" ,libxcomposite)
6176 ("libxdamage" ,libxdamage)
6177 ("libxext" ,libxext)
6178 ("libxfixes" ,libxfixes)
6179 ("libxkbcommon" ,libxkbcommon)
6180 ("libxrandr" ,libxrandr)
6181 ("mesa" ,mesa)
6182 ("pango" ,pango)
6183 ("udev" ,eudev)
a88d5a0c 6184 ("xinput" ,xinput)))
60c3627c 6185 (inputs
86c44e72
KK
6186 `(("elogind" ,elogind)
6187 ("gnome-desktop" ,gnome-desktop)
edf43f68 6188 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6189 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6190 ("libgudev" ,libgudev)
60c3627c
SB
6191 ("libice" ,libice)
6192 ("libsm" ,libsm)
edf43f68 6193 ("libwacom" ,libwacom)
60c3627c 6194 ("libxkbfile" ,libxkbfile)
a88d5a0c 6195 ("libxrandr" ,libxrandr)
86c44e72 6196 ("libxtst" ,libxtst)
edf43f68 6197 ("pipewire" ,pipewire)
60c3627c
SB
6198 ("startup-notification" ,startup-notification)
6199 ("upower-glib" ,upower)
6200 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6201 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6202 ("zenity" ,zenity)))
6203 (synopsis "Window and compositing manager")
f032d0be 6204 (home-page "https://www.gnome.org")
60c3627c
SB
6205 (description
6206 "Mutter is a window and compositing manager that displays and manages your
6207desktop via OpenGL. Mutter combines a sophisticated display engine using the
6208Clutter toolkit with solid window-management logic inherited from the Metacity
6209window manager.")
86c44e72 6210 (license license:gpl2+)))
685cee87
SB
6211
6212(define-public gnome-online-accounts
6213 (package
6214 (name "gnome-online-accounts")
aa200347 6215 (version "3.32.1")
685cee87
SB
6216 (source (origin
6217 (method url-fetch)
6218 (uri (string-append "mirror://gnome/sources/" name "/"
6219 (version-major+minor version) "/"
6220 name "-" version ".tar.xz"))
6221 (sha256
6222 (base32
aa200347 6223 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6224 (outputs '("out" "lib"))
685cee87 6225 (build-system glib-or-gtk-build-system)
14c297fd
TS
6226 (arguments
6227 `(#:configure-flags
6228 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6229 #:phases
6230 (modify-phases %standard-phases
6231 (add-before 'configure 'patch-libgoa-output
6232 (lambda* (#:key outputs #:allow-other-keys)
6233 (let ((lib (assoc-ref outputs "lib")))
6234 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6235 (("@prefix@") lib)
6236 (("@exec_prefix@") lib)
6237 (("@libdir@") (string-append lib "/lib"))
6238 (("@includedir@") (string-append lib "/include"))
6239 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6240 ;; Make sure gobject-introspection knows about the output
6241 ;; too (see <https://bugs.gnu.org/36535>).
6242 (setenv "outputs" "out lib")
14c297fd 6243 #t))))))
685cee87
SB
6244 (native-inputs
6245 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6246 ("gobject-introspection" ,gobject-introspection)
6247 ("intltool" ,intltool)
6248 ("pkg-config" ,pkg-config)
ebb2873d 6249 ("vala" ,vala)
685cee87
SB
6250 ("xsltproc" ,libxslt)))
6251 (propagated-inputs
6252 `(("glib" ,glib) ; required by goa-1.0.pc
6253 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6254 (inputs
6255 `(("docbook-xsl" ,docbook-xsl)
6256 ("json-glib" ,json-glib)
6257 ("libsecret" ,libsecret)
6258 ("rest" ,rest)
685cee87
SB
6259 ("webkitgtk" ,webkitgtk)))
6260 (synopsis "Single sign-on framework for GNOME")
6261 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6262 (description
6263 "GNOME Online Accounts provides interfaces so that applications and
6264libraries in GNOME can access the user's online accounts. It has providers for
6265Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6266Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6267 (license license:lgpl2.0+)))
df217748
SB
6268
6269(define-public evolution-data-server
6270 (package
6271 (name "evolution-data-server")
2196a8d4 6272 (version "3.32.4")
df217748
SB
6273 (source (origin
6274 (method url-fetch)
6275 (uri (string-append "mirror://gnome/sources/" name "/"
6276 (version-major+minor version) "/"
6277 name "-" version ".tar.xz"))
43190ac6
MB
6278 (patches (search-patches "evolution-data-server-locales.patch"
6279 "evolution-data-server-libical-compat.patch"))
df217748
SB
6280 (sha256
6281 (base32
2196a8d4 6282 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6283 (build-system cmake-build-system)
df217748 6284 (arguments
b468eedc
RW
6285 '(#:configure-flags
6286 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6287 (runpaths (map (lambda (s)
6288 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6289 '("addressbook-backends" "calendar-backends"
6290 "camel-providers" "credential-modules"
6291 "registry-modules"))))
6292 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6293 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6294 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6295 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6296 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6297 (string-append lib "/evolution-data-server;")
6298 (string-join runpaths ";"))
6299 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6300 #:phases
6301 (modify-phases %standard-phases
b468eedc
RW
6302 (add-after 'unpack 'disable-failing-tests
6303 (lambda _
6304 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6305 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6306 (delete-file-recursively "tests/book-migration")
6307 (substitute* "tests/CMakeLists.txt"
6308 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6309 ;; tests/libebook/client/test-book-client-view-operations:8077):
6310 ;; e-data-server-WARNING **:
6311 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6312 ;; runtime check failed:
6313 ;; (!g_main_context_pending (closure->main_context))
6314 (substitute* "tests/libebook/client/CMakeLists.txt"
6315 (("test-book-client-view-operations") ""))
b468eedc 6316 #t))
743aebd7 6317 (add-after 'unpack 'patch-paths
df217748 6318 (lambda _
b468eedc
RW
6319 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6320 "tests/libedata-book/data-test-utils.c"
6321 "tests/libedata-book/test-book-cache-utils.c"
6322 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6323 (("/bin/rm") (which "rm")))
ac033c7b
MB
6324 #t))
6325 (add-before 'configure 'dont-override-rpath
6326 (lambda _
6327 (substitute* "CMakeLists.txt"
6328 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6329 ;; Remove it so the configure flag is respected.
6330 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6331 #t)))))
df217748
SB
6332 (native-inputs
6333 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6334 ("gobject-introspection" ,gobject-introspection)
6335 ("gperf" ,gperf)
6336 ("intltool" ,intltool)
6337 ("pkg-config" ,pkg-config)
a73c1cf8 6338 ("vala" ,vala)
743aebd7 6339 ("python" ,python-wrapper)))
df217748
SB
6340 (propagated-inputs
6341 ;; These are all in the Requires field of .pc files.
6342 `(("gtk+" ,gtk+)
6343 ("libical" ,libical)
6344 ("libsecret" ,libsecret)
6345 ("libsoup" ,libsoup)
6346 ("nss" ,nss)
6347 ("sqlite" ,sqlite)))
6348 (inputs
6349 `(("bdb" ,bdb)
6350 ("gcr" ,gcr)
14c297fd 6351 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6352 ("json-glib" ,json-glib)
b468eedc 6353 ("libcanberra" ,libcanberra)
743aebd7
MB
6354 ("libgweather" ,libgweather)
6355 ("mit-krb5" ,mit-krb5)
891199c6
MW
6356 ("openldap" ,openldap)
6357 ("webkitgtk" ,webkitgtk)))
df217748
SB
6358 (synopsis "Store address books and calendars")
6359 (home-page "https://wiki.gnome.org/Apps/Evolution")
6360 (description
6361 "This package provides a unified backend for programs that work with
6362contacts, tasks, and calendar information. It was originally developed for
6363Evolution (hence the name), but is now used by other packages as well.")
6364 (license license:lgpl2.0)))
bd7dfafa
SB
6365
6366(define-public caribou
6367 (package
6368 (name "caribou")
fe964bb5 6369 (version "0.4.21")
bd7dfafa
SB
6370 (source (origin
6371 (method url-fetch)
6372 (uri (string-append "mirror://gnome/sources/" name "/"
6373 (version-major+minor version) "/"
6374 name "-" version ".tar.xz"))
6375 (sha256
6376 (base32
fe964bb5 6377 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6378 (build-system glib-or-gtk-build-system)
6379 (arguments
6380 '(#:phases
6381 (modify-phases %standard-phases
6382 (add-before
6383 'build 'pre-build
6384 (lambda* (#:key outputs #:allow-other-keys)
6385 (let ((out (assoc-ref outputs "out")))
6386 ;; Use absolute shared library path in Caribou-1.0.typelib.
6387 (substitute* "libcaribou/Makefile"
6388 (("--shared-library=libcaribou.so")
6389 (string-append "--shared-library="
6390 out "/lib/libcaribou.so")))
6391 #t)))
6392 (add-after 'install 'wrap-programs
6393 (lambda* (#:key outputs #:allow-other-keys)
6394 (let* ((out (assoc-ref outputs "out"))
6395 (python-path (getenv "PYTHONPATH"))
6396 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6397 (for-each
6398 (lambda (prog)
6399 (wrap-program prog
6400 `("PYTHONPATH" ":" prefix (,python-path))
6401 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6402 (list (string-append out "/bin/caribou-preferences")
6403 (string-append out "/libexec/antler-keyboard"))))
6404 #t)))))
6405 (native-inputs
6406 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6407 ("gobject-introspection" ,gobject-introspection)
6408 ("intltool" ,intltool)
6409 ("pkg-config" ,pkg-config)
9f7f5ba2 6410 ("python" ,python)
bd7dfafa
SB
6411 ("vala" ,vala)
6412 ("xsltproc" ,libxslt)))
6413 (propagated-inputs
6414 ;; caribou-1.0.pc refers to all these.
6415 `(("libgee" ,libgee)
6416 ("libxklavier" ,libxklavier)
6417 ("libxtst" ,libxtst)
6418 ("gtk+" ,gtk+)))
6419 (inputs
6420 `(("clutter" ,clutter)
6421 ("dconf" ,dconf)
6422 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6423 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6424 (synopsis "Text entry and UI navigation application")
6425 (home-page "https://wiki.gnome.org/Projects/Caribou")
6426 (description
6427 "Caribou is an input assistive technology intended for switch and pointer
6428users.")
6429 (license license:lgpl2.1)))
ba5dd105 6430
ba5dd105
SB
6431(define-public network-manager
6432 (package
6433 (name "network-manager")
6425d87a 6434 (version "1.18.4")
ba5dd105
SB
6435 (source (origin
6436 (method url-fetch)
6437 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6438 (version-major+minor version) "/"
6439 "NetworkManager-" version ".tar.xz"))
7d1861e2 6440 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6441 (sha256
6442 (base32
6425d87a 6443 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6444 (modules '((guix build utils)))
fd070f35 6445 (snippet
02710a9b
RW
6446 '(begin
6447 (substitute* "src/devices/wwan/nm-modem-manager.c"
6448 (("systemd") "elogind"))
6449 #t))))
ba5dd105
SB
6450 (build-system gnu-build-system)
6451 (outputs '("out"
6452 "doc")) ; 8 MiB of gtk-doc HTML
6453 (arguments
6454 '(#:configure-flags
6455 (let ((out (assoc-ref %outputs "out"))
6456 (doc (assoc-ref %outputs "doc"))
6457 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6458 "/sbin/dhclient")))
02710a9b
RW
6459 (list "--with-libnm-glib" ; needed by network-manager-applet
6460 "--with-systemd-journal=no"
6461 "--with-session-tracking=elogind"
6462 "--with-suspend-resume=elogind"
fd070f35
CM
6463 "--with-consolekit=no"
6464 "--with-crypto=gnutls"
ba5dd105
SB
6465 "--disable-config-plugin-ibft"
6466 "--sysconfdir=/etc"
6467 "--localstatedir=/var"
6468 (string-append "--with-udev-dir="
6469 out "/lib/udev")
6470 (string-append "--with-dbus-sys-dir="
6471 out "/etc/dbus-1/system.d")
6472 (string-append "--with-html-dir="
6473 doc "/share/gtk-doc/html")
6474 (string-append "--with-dhclient=" dhclient)))
6475 #:phases
6476 (modify-phases %standard-phases
02710a9b
RW
6477 ;; This bare "ls" invocation breaks some tests.
6478 (add-after 'unpack 'patch-ls-invocation
6479 (lambda _
6480 (substitute* "build-aux/ltmain.sh"
6481 (("`ls -")
6482 (string-append "`" (which "ls") " -")))
6483 #t))
b4f59d87
AW
6484 (add-before 'configure 'pre-configure
6485 (lambda _
6486 ;; These tests try to test aspects of network-manager's
6487 ;; functionality within restricted containers, but they don't
6488 ;; cope with being already in the Guix build jail as that jail
6489 ;; lacks some features that they would like to proxy over (like
6490 ;; a /sys mount).
d04687dc
HG
6491 (substitute* '("Makefile.in")
6492 (("src/platform/tests/test-address-linux") " ")
6493 (("src/platform/tests/test-cleanup-linux") " ")
6494 (("src/platform/tests/test-link-linux") " ")
6495 (("src/platform/tests/test-route-linux") " ")
02710a9b 6496 (("src/devices/tests/test-acd") "")
d04687dc
HG
6497 (("src/devices/tests/test-arping") " ")
6498 (("src/devices/tests/test-lldp") " ")
6499 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6500 #t))
45f80fce
RW
6501 (add-after 'unpack 'delete-failing-tests
6502 (lambda _
02710a9b 6503 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6504 ;; ERROR:libnm-core/tests/test-general.c:5842:
6505 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6506 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6507 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6508 ;; ERROR:libnm-core/tests/test-setting.c:907:
6509 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6510 (substitute* "Makefile.in"
6511 (("libnm-core/tests/test-general") " ")
6512 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6513 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6514 #t))
ba5dd105
SB
6515 (add-before 'check 'pre-check
6516 (lambda _
6517 ;; For the missing /etc/machine-id.
6518 (setenv "DBUS_FATAL_WARNINGS" "0")
6519 #t))
6520 (replace 'install
6521 (lambda _
45f80fce
RW
6522 (invoke "make"
6523 "sysconfdir=/tmp"
6524 "rundir=/tmp"
6525 "statedir=/tmp"
6526 "nmstatedir=/tmp/nm"
6527 "install")
6528 #t)))))
b93502d6
DC
6529 (propagated-inputs
6530 `(("glib" ,glib)))
ba5dd105
SB
6531 (native-inputs
6532 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6533 ("gobject-introspection" ,gobject-introspection)
d04687dc 6534 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6535 ("intltool" ,intltool)
d04687dc
HG
6536 ("libxslt" ,libxslt)
6537 ("libxml2" ,libxml2)
ba5dd105
SB
6538 ("pkg-config" ,pkg-config)
6539 ;; For testing.
6540 ("python" ,python-wrapper)
6541 ("python-dbus" ,python-dbus)
6542 ("python-pygobject" ,python-pygobject)))
6543 (inputs
02710a9b
RW
6544 `(("coreutils" ,coreutils) ; for ls
6545 ("curl" ,curl)
856ca567
KK
6546 ("cyrus-sasl" ,cyrus-sasl)
6547 ("dbus-glib" ,dbus-glib)
ba5dd105 6548 ("dnsmasq" ,dnsmasq)
856ca567 6549 ("eudev" ,eudev)
ba5dd105
SB
6550 ("gnutls" ,gnutls)
6551 ("iptables" ,iptables)
6552 ("isc-dhcp" ,isc-dhcp)
d04687dc 6553 ("jansson" ,jansson)
ba5dd105
SB
6554 ("libgcrypt" ,libgcrypt)
6555 ("libgudev" ,libgudev)
6556 ("libndp" ,libndp)
6557 ("libnl" ,libnl)
6558 ("libsoup" ,libsoup)
142bdcbc 6559 ("modem-manager" ,modem-manager)
c27e02bf 6560 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6561 ("polkit" ,polkit)
6562 ("ppp" ,ppp)
6563 ("readline" ,readline)
fd070f35
CM
6564 ("util-linux" ,util-linux)
6565 ("elogind" ,elogind)))
ba5dd105 6566 (synopsis "Network connection manager")
f032d0be 6567 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6568 (description
6569 "NetworkManager is a system network service that manages your network
6570devices and connections, attempting to keep active network connectivity when
6571available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6572devices, and provides VPN integration with a variety of different VPN
6573services.")
29d2f451
LC
6574 (license license:gpl2+)
6575 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6576
f2b96b3a
LC
6577(define-public network-manager-openvpn
6578 (package
6579 (name "network-manager-openvpn")
be1c4b07 6580 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6581 (version "1.8.10")
f2b96b3a
LC
6582 (source (origin
6583 (method url-fetch)
6584 (uri (string-append
6585 "mirror://gnome/sources/NetworkManager-openvpn/"
6586 (version-major+minor version)
6587 "/NetworkManager-openvpn-" version ".tar.xz"))
6588 (sha256
6589 (base32
7d87eede 6590 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6591 (build-system gnu-build-system)
6592 (arguments
633422b0
JL
6593 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6594 #:phases
6595 (modify-phases %standard-phases
6596 (add-after 'configure 'patch-path
6597 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6598 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6599 "/sbin/openvpn"))
6600 (modprobe (string-append (assoc-ref inputs "kmod")
6601 "/bin/modprobe"))
6602 (pretty-ovpn (string-append "\"" ovpn "\"")))
6603 (for-each
6604 (lambda (file)
6605 (substitute* file
6606 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6607 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6608 (("\"/sbin/openvpn\"") pretty-ovpn)
6609 (("/sbin/modprobe") modprobe)))
6610 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6611 #t)))))
f2b96b3a
LC
6612 (native-inputs
6613 `(("pkg-config" ,pkg-config)
6614 ("intltool" ,intltool)))
6615 (inputs
6616 `(("gtk+" ,gtk+)
633422b0 6617 ("kmod" ,kmod)
f2b96b3a
LC
6618 ("openvpn" ,openvpn)
6619 ("network-manager" ,network-manager)
6620 ("network-manager-applet" ,network-manager-applet) ;for libnma
6621 ("libsecret" ,libsecret)))
6622 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6623 (synopsis "OpenVPN plug-in for NetworkManager")
6624 (description
6625 "This extension of NetworkManager allows it to take care of connections
6626to virtual private networks (VPNs) via OpenVPN.")
6627 (license license:gpl2+)
6628 (properties `((upstream-name . "NetworkManager-openvpn")))))
6629
d376129f
JL
6630(define-public network-manager-vpnc
6631 (package
6632 (name "network-manager-vpnc")
6633 (version "1.2.6")
6634 (source (origin
6635 (method url-fetch)
6636 (uri (string-append
6637 "mirror://gnome/sources/NetworkManager-vpnc/"
6638 (version-major+minor version)
6639 "/NetworkManager-vpnc-" version ".tar.xz"))
6640 (sha256
6641 (base32
6642 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6643 (build-system gnu-build-system)
6644 (arguments
6645 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6646 #:phases
6647 (modify-phases %standard-phases
6648 (add-after 'configure 'patch-path
6649 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6650 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6651 "/sbin/vpnc"))
6652 (modprobe (string-append (assoc-ref inputs "kmod")
6653 "/bin/modprobe"))
6654 (pretty-ovpn (string-append "\"" vpnc "\"")))
6655 (substitute* "src/nm-vpnc-service.c"
6656 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6657 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6658 (("\"/sbin/vpnc\"") pretty-ovpn)
6659 (("/sbin/modprobe") modprobe)))
6660 #t)))))
6661 (native-inputs
6662 `(("pkg-config" ,pkg-config)
6663 ("intltool" ,intltool)))
6664 (inputs
6665 `(("gtk+" ,gtk+)
6666 ("kmod" ,kmod)
6667 ("vpnc" ,vpnc)
6668 ("network-manager" ,network-manager)
6669 ("network-manager-applet" ,network-manager-applet) ;for libnma
6670 ("libsecret" ,libsecret)))
6671 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6672 (synopsis "VPNC plug-in for NetworkManager")
6673 (description
6674 "Support for configuring virtual private networks based on VPNC.
6675Compatible with Cisco VPN concentrators configured to use IPsec.")
6676 (license license:gpl2+)
6677 (properties `((upstream-name . "NetworkManager-vpnc")))))
6678
8378c87a
EF
6679(define-public network-manager-openconnect
6680 (package
6681 (name "network-manager-openconnect")
6682 (version "1.2.6")
6683 (source (origin
6684 (method url-fetch)
6685 (uri (string-append
6686 "mirror://gnome/sources/NetworkManager-openconnect/"
6687 (version-major+minor version)
6688 "/NetworkManager-openconnect-" version ".tar.xz"))
6689 (sha256
6690 (base32
6691 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6692 (build-system gnu-build-system)
6693 (arguments
6694 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6695 #:phases
6696 (modify-phases %standard-phases
6697 (add-after 'configure 'patch-path
6698 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6699 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6700 "/sbin/openconnect"))
6701 (modprobe (string-append (assoc-ref inputs "kmod")
6702 "/bin/modprobe"))
6703 (pretty-ovpn (string-append "\"" openconnect "\"")))
6704 (substitute* "src/nm-openconnect-service.c"
6705 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6706 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6707 (("/sbin/modprobe") modprobe)))
6708 #t)))))
6709 (native-inputs
6710 `(("intltool" ,intltool)
6711 ("network-manager-applet" ,network-manager-applet) ;for libnma
6712 ("pkg-config" ,pkg-config)))
6713 (inputs
6714 `(("gcr" ,gcr)
6715 ("gtk+" ,gtk+)
6716 ("kmod" ,kmod)
6717 ("libsecret" ,libsecret)
6718 ("libxml2" ,libxml2)
6719 ("network-manager" ,network-manager)
6720 ("openconnect" ,openconnect)))
6721 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6722 (synopsis "OpenConnect plug-in for NetworkManager")
6723 (description
6724 "This extension of NetworkManager allows it to take care of connections
6725to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6726Cisco's AnyConnect SSL VPN.")
6727 (license license:gpl2+)
e52b9534
LC
6728 (properties `((upstream-name . "NetworkManager-openconnect")
6729
6730 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6731 ;; file refers to account "nm-openconnect". Specify it here
6732 ;; so that 'network-manager-service-type' creates it.
6733 (user-accounts . ("nm-openconnect"))))))
8378c87a 6734
e5e1df4d
DC
6735(define-public mobile-broadband-provider-info
6736 (package
6737 (name "mobile-broadband-provider-info")
310c89e3 6738 (version "20190116")
e5e1df4d
DC
6739 (source (origin
6740 (method url-fetch)
6741 (uri (string-append
6742 "mirror://gnome/sources/"
6743 "mobile-broadband-provider-info/" version "/"
6744 "mobile-broadband-provider-info-" version ".tar.xz"))
6745 (sha256
6746 (base32
310c89e3 6747 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6748 (build-system gnu-build-system)
6749 (arguments
310c89e3 6750 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6751 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6752 (synopsis "Database of broadband connection configuration")
6753 (description "Database of broadband connection configuration.")
6754 (license license:public-domain)))
6755
4d62a9d3
SB
6756(define-public network-manager-applet
6757 (package
6758 (name "network-manager-applet")
8fc3a337 6759 (version "1.8.24")
4d62a9d3
SB
6760 (source (origin
6761 (method url-fetch)
3df63444 6762 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6763 (version-major+minor version) "/"
3df63444 6764 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6765 (sha256
6766 (base32
8fc3a337 6767 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6768 (build-system meson-build-system)
6769 (arguments
be1c4b07
TGR
6770 '(#:configure-flags
6771 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6772 (list "-Dlibnm_gtk=true")
6773 #:glib-or-gtk? #t))
4d62a9d3
SB
6774 (native-inputs
6775 `(("intltool" ,intltool)
cd7f718e 6776 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6777 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6778 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6779 ("pkg-config" ,pkg-config)))
6780 (propagated-inputs
6781 ;; libnm-gtk.pc refers to all these.
6782 `(("dbus-glib" ,dbus-glib)
6783 ("gtk+" ,gtk+)
6784 ("network-manager" ,network-manager)))
6785 (inputs
cd7f718e
RW
6786 `(("gcr" ,gcr)
6787 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6788 ("libgudev" ,libgudev)
6789 ("libnotify" ,libnotify)
2116bfb3 6790 ("libsecret" ,libsecret)
240cee8a
KK
6791 ("libselinux" ,libselinux)
6792 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6793 ("modem-manager" ,modem-manager)
6794 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6795 (synopsis "Applet for managing network connections")
f032d0be 6796 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6797 (description
6798 "This package contains a systray applet for NetworkManager. It displays
6799the available networks and allows users to easily switch between them.")
6800 (license license:gpl2+)))
56196594
RW
6801
6802(define-public libxml++
6803 (package
6804 (name "libxml++")
8344a85e 6805 (version "3.0.1")
56196594
RW
6806 (source (origin
6807 (method url-fetch)
6808 (uri (string-append "mirror://gnome/sources/" name "/"
6809 (version-major+minor version) "/"
6810 name "-" version ".tar.xz"))
6811 (sha256
6812 (base32
8344a85e 6813 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6814 (build-system gnu-build-system)
6815 ;; libxml++-3.0.pc refers to all these.
6816 (propagated-inputs
6817 `(("libxml2" ,libxml2)
6818 ("glibmm" ,glibmm)))
6819 (native-inputs
6820 `(("perl" ,perl)
6821 ("pkg-config" ,pkg-config)))
6822 (home-page "http://libxmlplusplus.sourceforge.net/")
6823 (synopsis "C++ wrapper for XML parser library libxml2")
6824 (description
6825 "This package provides a C++ wrapper for the XML parser library
6826libxml2.")
6827 (license license:lgpl2.1+)))
df12f04a 6828
b61d9627
AW
6829(define-public libxml++-2
6830 (package
6831 (inherit libxml++)
6832 (name "libxml++")
6833 (version "2.40.1")
6834 (source (origin
6835 (method url-fetch)
6836 (uri (string-append "mirror://gnome/sources/" name "/"
6837 (version-major+minor version) "/"
6838 name "-" version ".tar.xz"))
6839 (sha256
6840 (base32
6841 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6842
df12f04a
SB
6843(define-public gdm
6844 (package
6845 (name "gdm")
bcca95dc 6846 (version "3.32.0")
df12f04a
SB
6847 (source (origin
6848 (method url-fetch)
6849 (uri (string-append "mirror://gnome/sources/" name "/"
6850 (version-major+minor version) "/"
6851 name "-" version ".tar.xz"))
6852 (sha256
6853 (base32
bcca95dc 6854 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6855 (build-system glib-or-gtk-build-system)
df12f04a
SB
6856 (arguments
6857 '(#:configure-flags
af37e6bb 6858 `("--without-plymouth"
957dbc0a 6859 "--disable-systemd-journal"
51bc8357
TS
6860
6861 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6862 ;; instead of having to replace it (i.e., stopping the mingetty
6863 ;; service for TTY 1 before starting GDM).
6864 "--with-initial-vt=7"
6865
89c86562
TS
6866 ;; Use '/etc/environment' for locale settings instead of the
6867 ;; systemd-specific '/etc/locale.conf'.
6868 "--with-lang-file=/etc/environment"
6869
b74ef0ba
RW
6870 ,(string-append "--with-udevdir="
6871 (assoc-ref %outputs "out") "/lib/udev")
6872
af37e6bb
AW
6873 "--localstatedir=/var"
6874 ,(string-append "--with-default-path="
6875 (string-join '("/run/setuid-programs"
6876 "/run/current-system/profile/bin"
6877 "/run/current-system/profile/sbin")
957dbc0a
AW
6878 ":"))
6879 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6880 ;; XDG_DATA_DIRS so that it finds its schemas.
6881 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6882 #:phases
6883 (modify-phases %standard-phases
6884 (add-before
6885 'configure 'pre-configure
e8c6e771 6886 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6887 ;; We don't have <systemd/sd-daemon.h>.
6888 (substitute* '("common/gdm-log.c"
6889 "daemon/gdm-server.c"
6890 "daemon/gdm-session-worker.c"
6891 "daemon/gdm-session-worker-job.c")
6892 (("#include <systemd/sd-daemon\\.h>") ""))
6893 ;; Use elogind for sd-login.
6894 (substitute* '("common/gdm-common.c"
6895 "daemon/gdm-manager.c"
6896 "libgdm/gdm-user-switching.c")
6897 (("#include <systemd/sd-login\\.h>")
6898 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6899 ;; Check for elogind.
6900 (substitute* '("configure")
6901 (("libsystemd")
6902 "libelogind"))
af37e6bb
AW
6903 ;; Look for system-installed sessions in
6904 ;; /run/current-system/profile/share.
6905 (substitute* '("libgdm/gdm-sessions.c"
6906 "daemon/gdm-session.c"
6907 "daemon/gdm-display.c"
6908 "daemon/gdm-launch-environment.c")
6909 (("DATADIR \"/x")
6910 "\"/run/current-system/profile/share/x")
6911 (("DATADIR \"/wayland")
6912 "\"/run/current-system/profile/share/wayland")
6913 (("DATADIR \"/gnome")
6914 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6915 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6916 "GDM_DBUS_DAEMON"
c9ff92b5 6917 "GDM_X_SERVER"
41fa9f18 6918 "GDM_X_SESSION"
c9ff92b5
TS
6919 ;; XXX: Remove this once GNOME Shell is
6920 ;; a dependency of GDM.
6921 "XDG_DATA_DIRS")))
6922 (substitute* "daemon/gdm-session.c"
6923 (("set_up_session_environment \\(self\\);")
6924 (apply string-append
6925 "set_up_session_environment (self);\n"
6926 (map (lambda (name)
6927 (string-append
6928 "gdm_session_set_environment_variable "
6929 "(self, \"" name "\","
6930 "g_getenv (\"" name "\"));\n"))
6931 propagate)))))
a430a350
TS
6932 ;; Find the configuration file using an environment variable.
6933 (substitute* '("common/gdm-settings.c")
e0e6756f 6934 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6935 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6936 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6937 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6938 ;; Use service-supplied path to X.
6939 (substitute* '("daemon/gdm-server.c")
6940 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6941 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6942 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6943 (("\"dbus-daemon\"")
6944 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6945 (("X_SERVER")
41fa9f18
TS
6946 "g_getenv (\"GDM_X_SERVER\")")
6947 (("GDMCONFDIR \"/Xsession\"")
6948 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6949 ;; Use an absolute path for GNOME Session.
6950 (substitute* "daemon/gdm-launch-environment.c"
6951 (("\"gnome-session\"")
6952 (string-append "\"" (assoc-ref inputs "gnome-session")
6953 "/bin/gnome-session\"")))
e8c6e771
TS
6954 ;; Do not automatically select the placeholder session.
6955 (substitute* "daemon/gdm-session.c"
6956 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6957 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6958 "(g_strcmp0(search_dirs[i], \""
6959 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6960 "\") == 0 && "
6961 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6962 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6963 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6964 #t))
8caa4589
TS
6965 ;; GDM requires that there be at least one desktop entry
6966 ;; file. This phase installs a hidden one that simply
6967 ;; fails. This enables users to use GDM with a
6968 ;; '~/.xsession' script with no other desktop entry files.
6969 ;; See <https://bugs.gnu.org/35068>.
6970 (add-after 'install 'install-placeholder-desktop-entry
6971 (lambda* (#:key inputs outputs #:allow-other-keys)
6972 (let* ((out (assoc-ref outputs "out"))
6973 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6974 (fail (string-append sessions "/fail.desktop")))
6975 (mkdir-p sessions)
6976 (with-output-to-file fail
6977 (lambda ()
6978 (for-each
6979 display
6980 '("[Desktop Entry]\n"
6981 "Encoding=UTF-8\n"
6982 "Type=Application\n"
6983 "Name=Fail\n"
6984 "Comment=This session fails immediately.\n"
6985 "NoDisplay=true\n"
6986 "Exec=false\n"))))
6987 #t)))
69544798
TS
6988 ;; GDM needs GNOME Session to run these applications. We link
6989 ;; their autostart files in `share/gdm/greeter/autostart'
6990 ;; because GDM explicitly tells GNOME Session to look there.
6991 ;;
6992 ;; XXX: GNOME Shell should be linked here too, but currently
6993 ;; GNOME Shell depends on GDM.
6994 (add-after 'install 'link-autostart-files
6995 (lambda* (#:key inputs outputs #:allow-other-keys)
6996 (let* ((out (assoc-ref outputs "out"))
6997 (autostart (string-append out "/share/gdm/"
6998 "greeter/autostart"))
6999 (settings (assoc-ref inputs "gnome-settings-daemon")))
7000 (mkdir-p autostart)
7001 (with-directory-excursion autostart
7002 (for-each (lambda (desktop)
7003 (symlink desktop (basename desktop)))
7004 (find-files (string-append settings "/etc/xdg"))))
7005 #t))))))
df12f04a
SB
7006 (native-inputs
7007 `(("dconf" ,dconf)
7008 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7009 ("gobject-introspection" ,gobject-introspection)
7010 ("intltool" ,intltool)
7011 ("itstool" ,itstool)
7012 ("pkg-config" ,pkg-config)
7013 ("xmllint" ,libxml2)))
7014 (inputs
7015 `(("accountsservice" ,accountsservice)
7016 ("check" ,check) ; for testing
7017 ("elogind" ,elogind)
def6d6b6 7018 ("gnome-session" ,gnome-session)
69544798 7019 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7020 ("gtk+" ,gtk+)
7021 ("iso-codes" ,iso-codes)
7022 ("libcanberra" ,libcanberra)
7023 ("linux-pam" ,linux-pam)))
7024 (synopsis "Display manager for GNOME")
f032d0be 7025 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7026 (description
7027 "GNOME Display Manager is a system service that is responsible for
7028providing graphical log-ins and managing local and remote displays.")
7029 (license license:gpl2+)))
8e1dd04f
SB
7030
7031(define-public libgtop
7032 (package
7033 (name "libgtop")
015fc036 7034 (version "2.40.0")
8e1dd04f
SB
7035 (source (origin
7036 (method url-fetch)
59487fc2 7037 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7038 (version-major+minor version) "/"
59487fc2 7039 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7040 (sha256
7041 (base32
015fc036 7042 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7043 (build-system gnu-build-system)
7044 (native-inputs
7045 `(("gobject-introspection" ,gobject-introspection)
7046 ("intltool" ,intltool)
7047 ("perl" ,perl)
7048 ("pkg-config" ,pkg-config)))
7049 (propagated-inputs
7050 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7051 (synopsis "Portable system access library")
7052 (home-page "https://www.gnome.org/")
7053 (description
7054 "LibGTop is a library to get system specific data such as CPU and memory
7055usage and information about running processes.")
7056 (license license:gpl2+)))
b96c4260
SB
7057
7058(define-public gnome-bluetooth
7059 (package
7060 (name "gnome-bluetooth")
723afae6 7061 (version "3.32.1")
b96c4260
SB
7062 (source (origin
7063 (method url-fetch)
7064 (uri (string-append "mirror://gnome/sources/" name "/"
7065 (version-major+minor version) "/"
7066 name "-" version ".tar.xz"))
7067 (sha256
7068 (base32
723afae6 7069 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 7070 (build-system meson-build-system)
b96c4260
SB
7071 (native-inputs
7072 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7073 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7074 ("gobject-introspection" ,gobject-introspection)
7075 ("intltool" ,intltool)
7076 ("pkg-config" ,pkg-config)
7077 ("xmllint" ,libxml2)))
7078 (propagated-inputs
7079 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7080 `(("glib" ,glib)
7081 ("gtk+" ,gtk+)))
b96c4260 7082 (inputs
723afae6
KK
7083 `(("eudev" ,eudev)
7084 ("libcanberra" ,libcanberra)
b96c4260
SB
7085 ("libnotify" ,libnotify)))
7086 (synopsis "GNOME Bluetooth subsystem")
7087 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7088 (description
7089 "This package contains tools for managing and manipulating Bluetooth
7090devices using the GNOME desktop.")
7091 (license license:lgpl2.1+)))
b645146f
SB
7092
7093(define-public gnome-control-center
7094 (package
7095 (name "gnome-control-center")
a6938bac 7096 (version "3.32.2")
b645146f
SB
7097 (source (origin
7098 (method url-fetch)
7099 (uri (string-append "mirror://gnome/sources/" name "/"
7100 (version-major+minor version) "/"
7101 name "-" version ".tar.xz"))
7102 (sha256
7103 (base32
a6938bac 7104 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 7105 (build-system meson-build-system)
b645146f 7106 (arguments
59dac026
RW
7107 '(#:glib-or-gtk? #t
7108 #:configure-flags
64c70430
KK
7109 (list "-Dcheese=false"
7110 (string-append "-Dgnome_session_libexecdir="
7111 (assoc-ref %build-inputs "gnome-session")
7112 "/libexec"))
59dac026 7113 #:phases
b645146f
SB
7114 (modify-phases %standard-phases
7115 (add-before 'configure 'patch-paths
7116 (lambda* (#:key inputs #:allow-other-keys)
7117 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7118 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7119 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7120 (nm-applet (assoc-ref inputs "network-manager-applet"))
7121 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7122 (substitute* "panels/datetime/tz.h"
7123 (("/usr/share/zoneinfo/zone.tab")
7124 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7125 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7126 (("/usr/share/locale")
7127 (string-append libc "/share/locale")))
1df38cfc
LC
7128 (substitute* "panels/region/cc-region-panel.c"
7129 (("\"gkbd-keyboard-display")
7130 (string-append "\"" libgnomekbd
7131 "/bin/gkbd-keyboard-display")))
341225ac
LC
7132 (substitute* '("panels/network/net-device-wifi.c"
7133 "panels/network/net-device.c"
7134 "panels/network/connection-editor/net-connection-editor.c")
7135 (("\"nm-connection-editor")
7136 (string-append "\"" nm-applet
7137 "/bin/nm-connection-editor")))
1acd107c
FP
7138 (substitute* '("panels/user-accounts/run-passwd.c")
7139 (("/usr/bin/passwd")
7140 "/run/setuid-programs/passwd"))
64c70430
KK
7141 (substitute* "panels/info/cc-info-overview-panel.c"
7142 (("DATADIR \"/gnome/gnome-version.xml\"")
7143 (string-append "\"" gnome-desktop
7144 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7145 #t))))))
7146 (native-inputs
7147 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7148 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7149 ("intltool" ,intltool)
7150 ("pkg-config" ,pkg-config)
a6938bac
KK
7151 ("xsltproc" ,libxslt)
7152 ;; For tests
7153 ("hicolor-icon-theme" ,hicolor-icon-theme)
7154 ("python-dbusmock" ,python-dbusmock)
7155 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7156 (inputs
7157 `(("accountsservice" ,accountsservice)
7158 ("clutter-gtk" ,clutter-gtk)
7159 ("colord-gtk" ,colord-gtk)
7160 ("cups" ,cups)
7161 ("dconf" ,dconf)
7162 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7163 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7164 ("gnome-bluetooth" ,gnome-bluetooth)
7165 ("gnome-desktop" ,gnome-desktop)
7166 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7167 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7168 ("gnome-session" ,gnome-session)
b645146f
SB
7169 ("gnome-settings-daemon" ,gnome-settings-daemon)
7170 ("grilo" ,grilo)
a6938bac 7171 ("gsound" ,gsound)
b645146f
SB
7172 ("ibus" ,ibus)
7173 ("libcanberra" ,libcanberra)
1df38cfc 7174 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7175 ("libgudev" ,libgudev)
7176 ("libgtop" ,libgtop)
7177 ("libpwquality" ,libpwquality)
982c0b36 7178 ("libsecret" ,libsecret)
b645146f
SB
7179 ("libsoup" ,libsoup)
7180 ("libxml2" ,libxml2)
7181 ("libwacom" ,libwacom)
7182 ("mesa" ,mesa)
7183 ("mit-krb5" ,mit-krb5)
7184 ("modem-manager" ,modem-manager)
7185 ("network-manager-applet" ,network-manager-applet)
7186 ("polkit" ,polkit)
7187 ("pulseaudio" ,pulseaudio)
7188 ("smbclient" ,samba)
7189 ("tzdata" ,tzdata)
982c0b36 7190 ("udisks" ,udisks)
b645146f
SB
7191 ("upower" ,upower)))
7192 (synopsis "Utilities to configure the GNOME desktop")
7193 (home-page "https://www.gnome.org/")
7194 (description
7195 "This package contains configuration applets for the GNOME desktop,
7196allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7197properties, sound setup, desktop theme and background, user interface
7198properties, screen resolution, and other GNOME parameters.")
7199 (license license:gpl2+)))
a4df5756
SB
7200
7201(define-public gnome-shell
7202 (package
7203 (name "gnome-shell")
d5e615ca 7204 (version "3.32.2")
a4df5756
SB
7205 (source (origin
7206 (method url-fetch)
7207 (uri (string-append "mirror://gnome/sources/" name "/"
7208 (version-major+minor version) "/"
7209 name "-" version ".tar.xz"))
7210 (sha256
7211 (base32
d5e615ca 7212 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7213 (patches (search-patches "gnome-shell-theme.patch"))
7214 (modules '((guix build utils)))
7215 (snippet
7216 #~(begin
a76d0f03
LC
7217 ;; Copy images for use on the GDM log-in screen.
7218 (copy-file #$(file-append %artwork-repository
7219 "/slim/0.x/background.png")
7220 "data/theme/guix-background.png")
45fef894
LC
7221 (copy-file #$(file-append %artwork-repository
7222 "/logo/Guix-horizontal-white.svg")
7223 "data/theme/guix-logo.svg")
a76d0f03 7224 #t))))
2b0c755d 7225 (build-system meson-build-system)
a4df5756 7226 (arguments
08185081
MB
7227 `(#:glib-or-gtk? #t
7228 #:disallowed-references ((,glib "bin")
11e1df56
LC
7229 ,inkscape ,libxslt
7230 ,ruby-sass)
2b0c755d
RW
7231 #:configure-flags
7232 (list "-Dsystemd=false"
7233 ;; Otherwise, the RUNPATH will lack the final path component.
7234 (string-append "-Dc_link_args=-Wl,-rpath="
7235 (assoc-ref %outputs "out")
7236 "/lib/gnome-shell"))
11e1df56 7237
08185081 7238 #:modules ((guix build meson-build-system)
11e1df56
LC
7239 (guix build utils)
7240 (srfi srfi-1))
7241
2b0c755d 7242 #:phases
a4df5756 7243 (modify-phases %standard-phases
2b0c755d 7244 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7245 (lambda* (#:key outputs #:allow-other-keys)
7246 (let* ((out (assoc-ref outputs "out"))
7247 (keysdir (string-append
7248 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7249 (substitute* "meson.build"
7250 (("keysdir =.*")
7251 (string-append "keysdir = '" keysdir "'\n")))
7252 #t)))
ebfe259f
MB
7253 (add-before 'configure 'convert-logo-to-png
7254 (lambda* (#:key inputs #:allow-other-keys)
7255 ;; Convert the logo from SVG to PNG.
7256 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7257 "data/theme/guix-logo.svg")))
ba00235a 7258 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7259 (lambda* (#:key inputs #:allow-other-keys)
7260 (substitute* "js/misc/ibusManager.js"
7261 (("'ibus-daemon'")
7262 (string-append "'" (assoc-ref inputs "ibus")
7263 "/bin/ibus-daemon'")))
d6fda4d3
LC
7264 (substitute* "js/ui/status/keyboard.js"
7265 (("'gkbd-keyboard-display'")
7266 (string-append "'" (assoc-ref inputs "libgnomekbd")
7267 "/bin/gkbd-keyboard-display'")))
2472cdec 7268 #t))
2b0c755d
RW
7269 (add-before 'check 'pre-check
7270 (lambda* (#:key inputs #:allow-other-keys)
7271 ;; Tests require a running X server.
7272 (system "Xvfb :1 &")
7273 (setenv "DISPLAY" ":1")
7274 #t))
7275 (add-after 'install 'wrap-programs
7276 (lambda* (#:key inputs outputs #:allow-other-keys)
7277 (let ((out (assoc-ref outputs "out"))
7278 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7279 (python-path (getenv "PYTHONPATH")))
7280 (wrap-program (string-append out "/bin/gnome-shell")
7281 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7282 ;; FIXME: gnome-shell loads these libraries with unqualified
7283 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7284 ;; alternative might be to patch gnome-shell.
7285 `("LD_LIBRARY_PATH" ":" prefix
7286 ,(map (lambda (pkg)
7287 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7288 '("gdk-pixbuf"
7289 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7290 (for-each
7291 (lambda (prog)
7292 (wrap-program (string-append out "/bin/" prog)
7293 `("PYTHONPATH" ":" prefix (,python-path))
7294 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7295 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7296 #t)))
11e1df56
LC
7297 (replace 'glib-or-gtk-wrap
7298 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7299 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7300 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7301 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7302 ;; phase. Fix that since we don't need these.
7303 (wrap #:inputs (fold alist-delete inputs
7304 '("inkscape" "intltool" "glib:bin"))
7305 #:outputs outputs)))))))
a4df5756
SB
7306 (native-inputs
7307 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7308 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7309 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7310 ("inkscape" ,inkscape)
a4df5756
SB
7311 ("intltool" ,intltool)
7312 ("pkg-config" ,pkg-config)
7313 ("python" ,python)
2b0c755d
RW
7314 ("ruby-sass" ,ruby-sass)
7315 ("sassc" ,sassc)
a76d0f03 7316 ("xsltproc" ,libxslt)
2b0c755d 7317 ;; For tests
0b4504f6 7318 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7319 (inputs
7320 `(("accountsservice" ,accountsservice)
7321 ("caribou" ,caribou)
7322 ("docbook-xsl" ,docbook-xsl)
7323 ("evolution-data-server" ,evolution-data-server)
7324 ("gcr" ,gcr)
7325 ("gdm" ,gdm)
c5db31d4 7326 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7327 ("gjs" ,gjs)
7328 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7329 ("gnome-desktop" ,gnome-desktop)
7330 ("gnome-settings-daemon" ,gnome-settings-daemon)
7331 ("gst-plugins-base" ,gst-plugins-base)
7332 ("ibus" ,ibus)
7333 ("libcanberra" ,libcanberra)
7334 ("libcroco" ,libcroco)
d6fda4d3 7335 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7336 ("libgweather" ,libgweather)
7337 ("libsoup" ,libsoup)
7338 ("mesa-headers" ,mesa-headers)
7339 ("mutter" ,mutter)
7340 ("network-manager-applet" ,network-manager-applet)
7341 ("polkit" ,polkit)
7342 ("pulseaudio" ,pulseaudio)
7343 ("python-pygobject" ,python-pygobject)
7344 ("startup-notification" ,startup-notification)
7345 ("telepathy-logger" ,telepathy-logger)
7346 ("upower" ,upower)
30e760f0
MB
7347 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7348 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7349 ("librsvg" ,librsvg)
2b0c755d 7350 ("geoclue" ,geoclue)))
a4df5756
SB
7351 (synopsis "Desktop shell for GNOME")
7352 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7353 (description
7354 "GNOME Shell provides core user interface functions for the GNOME desktop,
7355like switching to windows and launching applications.")
7356 (license license:gpl2+)))
c3f29bc9
RS
7357
7358(define-public gtk-vnc
7359 (package
7360 (name "gtk-vnc")
965ff023 7361 (version "0.9.0")
c3f29bc9
RS
7362 (source
7363 (origin
7364 (method url-fetch)
7365 (uri (string-append "mirror://gnome/sources/" name "/"
7366 (version-major+minor version) "/"
7367 name "-" version ".tar.xz"))
7368 (sha256
7369 (base32
965ff023 7370 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7371 (build-system gnu-build-system)
7372 (arguments
7373 '(#:configure-flags '("--with-gtk=3.0")))
7374 (propagated-inputs
7375 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7376 (inputs
7377 `(("cyrus-sasl" ,cyrus-sasl)
7378 ("gnutls" ,gnutls)
7379 ("libgcrypt" ,libgcrypt)
7380 ("pulseaudio" ,pulseaudio)))
7381 (native-inputs
7382 `(("glib:bin" ,glib "bin")
7383 ("gobject-introspection" ,gobject-introspection)
7384 ("intltool" ,intltool)
7385 ("pkg-config" ,pkg-config)
2f17e939 7386 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7387 ("vala" ,vala)))
7388 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7389 (synopsis "VNC viewer widget for GTK+")
7390 (description
7391 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7392applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7393GTK-VNC implements client side RFB protocol and authentication extensions such
7394as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7395 (license license:lgpl2.1+)))
8b877545 7396
dc69fe18
MW
7397(define-public gnome-autoar
7398 (package
7399 (name "gnome-autoar")
c7da8510 7400 (version "0.2.3")
dc69fe18
MW
7401 (source (origin
7402 (method url-fetch)
7403 (uri (string-append "mirror://gnome/sources/" name "/"
7404 (version-major+minor version) "/"
7405 name "-" version ".tar.xz"))
7406 (sha256
7407 (base32
c7da8510 7408 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7409 (build-system glib-or-gtk-build-system)
7410 (native-inputs
7411 `(("gnome-common" ,gnome-common)
7412 ("gobject-introspection" ,gobject-introspection)
7413 ("pkg-config" ,pkg-config)))
7414 (propagated-inputs
7415 `(("libarchive" ,libarchive))) ; XXX document why
7416 (inputs
0a6e9e13 7417 `(("gtk+" ,gtk+)))
dc69fe18
MW
7418 (synopsis "Archives integration support for GNOME")
7419 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7420 (description
7421 "GNOME Autoar is a library which makes creating and extracting archives
7422easy, safe, and automatic.")
7423 (license license:lgpl2.1+)))
7424
b64e217f
MW
7425(define-public tracker
7426 (package
7427 (name "tracker")
5ada561c 7428 (version "2.2.2")
b64e217f
MW
7429 (source (origin
7430 (method url-fetch)
b5b0fd23 7431 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7432 (version-major+minor version) "/"
b5b0fd23 7433 "tracker-" version ".tar.xz"))
b64e217f
MW
7434 (sha256
7435 (base32
5ada561c
KK
7436 "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6"))))
7437 (build-system meson-build-system)
c8bdf589 7438 (arguments
5ada561c
KK
7439 `(#:glib-or-gtk? #t
7440 #:configure-flags
7441 ;; Otherwise, the RUNPATH will lack the final path component.
7442 (list (string-append "-Dc_link_args=-Wl,-rpath="
7443 (assoc-ref %outputs "out") "/lib:"
7444 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7445 #:phases
c8bdf589
RW
7446 (modify-phases %standard-phases
7447 (add-after 'unpack 'disable-broken-tests
7448 (lambda _
c8bdf589
RW
7449 ;; These fail because the SPARQL backend could not be loaded.
7450 ;; That's because /etc/machine-id is missing, but
7451 ;; DBUS_FATAL_WARNINGS does not help here.
5ada561c
KK
7452 (substitute* "tests/libtracker-sparql/meson.build"
7453 (("'sparql',") ""))
7454 (substitute* "tests/tracker-steroids/meson.build"
7455 (("test\\(.*") ""))
c8bdf589
RW
7456 #t))
7457 ;; Two tests fail if LANG is not set.
7458 (add-before 'check 'pre-check
7459 (lambda _
7460 (setenv "LANG" "en_US.UTF-8")
7461 ;; For the missing /etc/machine-id.
7462 (setenv "DBUS_FATAL_WARNINGS" "0")
7463 #t)))))
b64e217f 7464 (native-inputs
5ada561c
KK
7465 `(("glib:bin" ,glib "bin")
7466 ("gnome-common" ,gnome-common)
b64e217f 7467 ("gobject-introspection" ,gobject-introspection)
5ada561c 7468 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7469 ("intltool" ,intltool)
7470 ("pkg-config" ,pkg-config)
7471 ("vala" ,vala)))
7472 (inputs
7473 `(("gtk+" ,gtk+)
7474 ("dbus" ,dbus)
44ed6284 7475 ("sqlite" ,sqlite)
c8bdf589 7476 ("python" ,python)
b64e217f 7477 ("poppler" ,poppler)
b64e217f
MW
7478 ("libpng" ,libpng)
7479 ("libtiff" ,libtiff)
b64e217f 7480 ("zlib" ,zlib)
b64e217f 7481 ("libxml2" ,libxml2)
b64e217f 7482 ("libunistring" ,libunistring)
0ef48cd9 7483 ("json-glib" ,json-glib)
b64e217f 7484 ("openjpeg" ,openjpeg-1)
b64e217f 7485 ("libseccomp" ,libseccomp)
0ef48cd9 7486 ("libsoup" ,libsoup)
5ada561c
KK
7487 ("libuuid" ,util-linux)
7488 ("network-manager" ,network-manager)))
b64e217f
MW
7489 (synopsis "Metadata database, indexer and search tool")
7490 (home-page "https://wiki.gnome.org/Projects/Tracker")
7491 (description
7492 "Tracker is an advanced framework for first class objects with associated
7493metadata and tags. It provides a one stop solution for all metadata, tags,
7494shared object databases, search tools and indexing.")
7495 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7496 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7497 (license (list license:gpl2+
7498 license:lgpl2.1+
7499 license:lgpl2.0+))))
7500
03be9874
KK
7501(define-public tracker-miners
7502 (package
7503 (name "tracker-miners")
7504 (version "2.2.2")
7505 (source (origin
7506 (method url-fetch)
7507 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7508 (version-major+minor version)
7509 "/tracker-miners-" version ".tar.xz"))
7510 (sha256
7511 (base32
7512 "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw"))))
7513 (build-system meson-build-system)
7514 (arguments
7515 `(#:glib-or-gtk? #t
7516 #:configure-flags
7517 (list "-Dminer_rss=false" ; libgrss is required.
7518 ;; Ensure the RUNPATH contains all installed library locations.
7519 (string-append "-Dc_link_args=-Wl,-rpath="
7520 (assoc-ref %outputs "out")
7521 "/lib/tracker-miners-2.0")
7522 ;; TODO: Enable functional tests. Currently, the following error
7523 ;; appears:
7524 ;; Exception: The functional tests require DConf to be the default
7525 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7526 "-Dfunctional_tests=false")))
7527 (native-inputs
7528 `(("dbus" ,dbus)
7529 ("intltool" ,intltool)
7530 ("glib:bin" ,glib "bin")
7531 ("gobject-introspection" ,gobject-introspection)
7532 ("pkg-config" ,pkg-config)
7533 ("python-pygobject" ,python-pygobject)))
7534 (inputs
7535 `(("exempi" ,exempi)
7536 ("ffmpeg" ,ffmpeg)
7537 ("flac" ,flac)
7538 ("giflib" ,giflib)
7539 ("glib" ,glib)
7540 ("gstreamer" ,gstreamer)
7541 ("icu4c" ,icu4c)
7542 ("libcue" ,libcue)
7543 ("libexif" ,libexif)
7544 ("libgsf" ,libgsf)
7545 ("libgxps" ,libgxps)
7546 ("libiptcdata" ,libiptcdata)
7547 ("libjpeg" ,libjpeg)
7548 ("libosinfo" ,libosinfo)
7549 ("libpng" ,libpng)
7550 ("libseccomp" ,libseccomp)
7551 ("libtiff" ,libtiff)
7552 ("libvorbis" ,libvorbis)
7553 ("libxml2" ,libxml2)
7554 ("poppler" ,poppler)
7555 ("taglib" ,taglib)
7556 ("totem-pl-parser" ,totem-pl-parser)
7557 ("tracker" ,tracker)
7558 ("upower" ,upower)
7559 ("zlib" ,zlib)))
7560 (synopsis "Metadata database, indexer and search tool")
7561 (home-page "https://wiki.gnome.org/Projects/Tracker")
7562 (description
7563 "Tracker is an advanced framework for first class objects with associated
7564metadata and tags. It provides a one stop solution for all metadata, tags,
7565shared object databases, search tools and indexing.")
7566 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7567 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7568 (license (list license:gpl2+
7569 license:lgpl2.1+
7570 license:lgpl2.0+))))
7571
8b877545
RS
7572(define-public nautilus
7573 (package
7574 (name "nautilus")
d682c599 7575 (version "3.32.3")
8b877545
RS
7576 (source (origin
7577 (method url-fetch)
7578 (uri (string-append "mirror://gnome/sources/" name "/"
7579 (version-major+minor version) "/"
7580 name "-" version ".tar.xz"))
7581 (sha256
7582 (base32
d682c599 7583 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7584 (build-system meson-build-system)
8b877545 7585 (arguments
35e2d0cf 7586 '(#:glib-or-gtk? #t
8b877545
RS
7587 ;; XXX: FAIL: check-nautilus
7588 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7589 #:tests? #f))
7590 (native-inputs
35e2d0cf
R
7591 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7592 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7593 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7594 ("gobject-introspection" ,gobject-introspection)
7595 ("intltool" ,intltool)
7596 ("pkg-config" ,pkg-config)))
8b877545 7597 (inputs
8b877545 7598 `(("dconf" ,dconf)
caf6c363 7599 ("gexiv2" ,gexiv2)
dd05e731 7600 ("gvfs" ,gvfs)
8b877545
RS
7601 ("exempi" ,exempi)
7602 ("gnome-desktop" ,gnome-desktop)
09d88905 7603 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7604 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7605 ("libseccomp" ,libseccomp)
35e2d0cf 7606 ("libselinux" ,libselinux)
09d88905 7607 ("tracker" ,tracker)
3cafb9d4 7608 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7609 ;; XXX: gtk+ is required by libnautilus-extension.pc
7610 ;;
7611 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7612 ;; package. See:
7613 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7614 ("gtk+" ,gtk+)
8b877545
RS
7615 ("libexif" ,libexif)
7616 ("libxml2" ,libxml2)))
7617 (synopsis "File manager for GNOME")
7618 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7619 (description
7620 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7621design and behaviour, giving the user a simple way to navigate and manage its
7622files.")
7623 (license license:gpl2+)))
3c697ffd
JR
7624
7625(define-public baobab
7626 (package
7627 (name "baobab")
e0c5f20c 7628 (version "3.32.0")
3c697ffd
JR
7629 (source (origin
7630 (method url-fetch)
7631 (uri (string-append
7632 "mirror://gnome/sources/" name "/"
7633 (version-major+minor version) "/"
7634 name "-" version ".tar.xz"))
7635 (sha256
7636 (base32
e0c5f20c 7637 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7638 (build-system meson-build-system)
7639 (arguments
7640 '(#:glib-or-gtk? #t))
3c697ffd
JR
7641 (native-inputs
7642 `(("intltool" ,intltool)
7643 ("pkg-config" ,pkg-config)
d233d373
RJ
7644 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7645 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7646 ("itstool" ,itstool)
7647 ("xmllint" ,libxml2)
7648 ("glib" ,glib "bin")
7649 ("vala" ,vala)))
7650 (inputs
7651 `(("gtk+" ,gtk+)))
7652 (synopsis "Disk usage analyzer for GNOME")
7653 (description
7654 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7655usage in the GNOME desktop environment. It can easily scan device volumes or
7656a specific user-requested directory branch (local or remote). Once the scan
7657is complete it provides a graphical representation of each selected folder.")
7658 (home-page "https://wiki.gnome.org/Apps/Baobab")
7659 (license license:gpl2+)))
dc050251 7660
fdba447c
RS
7661(define-public gnome-backgrounds
7662 (package
7663 (name "gnome-backgrounds")
e04e8a8c 7664 (version "3.32.0")
fdba447c
RS
7665 (source
7666 (origin
7667 (method url-fetch)
7668 (uri (string-append "mirror://gnome/sources/" name "/"
7669 (version-major+minor version) "/"
7670 name "-" version ".tar.xz"))
7671 (sha256
7672 (base32
e04e8a8c 7673 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7674 (build-system meson-build-system)
fdba447c
RS
7675 (native-inputs
7676 `(("intltool" ,intltool)))
e04e8a8c 7677 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7678 (synopsis "Background images for the GNOME desktop")
7679 (description
7680 "GNOME backgrounds package contains a collection of graphics files which
7681can be used as backgrounds in the GNOME Desktop environment. Additionally,
7682the package creates the proper framework and directory structure so that you
7683can add your own files to the collection.")
7684 (license (list license:gpl2+
7685 license:cc-by2.0
7686 license:cc-by-sa2.0
7687 license:cc-by-sa3.0))))
7688
b784b1a9
RS
7689(define-public gnome-screenshot
7690 (package
7691 (name "gnome-screenshot")
6acf4033 7692 (version "3.32.0")
b784b1a9
RS
7693 (source
7694 (origin
7695 (method url-fetch)
7696 (uri (string-append "mirror://gnome/sources/" name "/"
7697 (version-major+minor version) "/"
7698 name "-" version ".tar.xz"))
7699 (sha256
7700 (base32
6acf4033 7701 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7702 (build-system meson-build-system)
b784b1a9
RS
7703 (native-inputs
7704 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7705 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7706 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7707 ("intltool" ,intltool)
8356aefa 7708 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7709 ("pkg-config" ,pkg-config)))
7710 (inputs
7711 `(("gtk+" ,gtk+)
7712 ("libcanberra" ,libcanberra)
7713 ("libx11" ,libx11)
7714 ("libxext" ,libxext)))
676e7cb4 7715 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7716 (synopsis "Take pictures of your screen")
7717 (description
7718 "GNOME Screenshot is a utility used for taking screenshots of the entire
7719screen, a window or a user defined area of the screen, with optional
7720beautifying border effects.")
7721 (license license:gpl2+)))
7722
66d59111
RS
7723(define-public dconf-editor
7724 (package
7725 (name "dconf-editor")
66261451 7726 (version "3.32.0")
66d59111
RS
7727 (source
7728 (origin
7729 (method url-fetch)
7730 (uri (string-append "mirror://gnome/sources/" name "/"
7731 (version-major+minor version) "/"
7732 name "-" version ".tar.xz"))
7733 (sha256
7734 (base32
66261451 7735 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7736 (build-system meson-build-system)
86f2124b
LC
7737 (arguments
7738 '(#:phases (modify-phases %standard-phases
7739 (add-before 'configure 'set-glib-minimum-version
7740 (lambda _
7741 ;; Change the minimum required GLib version so that
7742 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7743 ;; do that, it complains that "55" is not an even
7744 ;; number. See <https://bugs.gnu.org/37503>.
7745 (substitute* "editor/meson.build"
7746 (("2\\.55\\.1") "2.60.0"))
7747 #t)))))
66d59111
RS
7748 (native-inputs
7749 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7750 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7751 ("intltool" ,intltool)
294ff39d
RW
7752 ("pkg-config" ,pkg-config)
7753 ("vala" ,vala)))
66d59111
RS
7754 (inputs
7755 `(("dconf" ,dconf)
7756 ("gtk+" ,gtk+)
7757 ("libxml2" ,libxml2)))
7758 (home-page "https://git.gnome.org/browse/dconf-editor")
7759 (synopsis "Graphical editor for GNOME's dconf configuration system")
7760 (description
7761 "Dconf-editor is a graphical tool for browsing and editing the dconf
7762configuration system for GNOME. It allows users to configure desktop
7763software that do not provide their own configuration interface.")
7764 (license license:lgpl2.1+)))
7765
96d36f38
AW
7766(define-public gnome-default-applications
7767 (package
7768 (name "gnome-default-applications")
7769 (version "0")
7770 (build-system trivial-build-system)
7771 (source #f)
7772 (propagated-inputs
8ad4f0aa
LC
7773 `(("nautilus" ,nautilus)
7774 ("evince" ,evince)))
96d36f38
AW
7775 (arguments
7776 `(#:modules ((guix build utils))
7777 #:builder
7778 (begin
7779 (use-modules (guix build utils))
7780 (let* ((out (assoc-ref %outputs "out"))
7781 (apps (string-append out "/share/applications")))
7782 (mkdir-p apps)
7783 (call-with-output-file (string-append apps "/defaults.list")
7784 (lambda (port)
7785 (format port "[Default Applications]\n")
8ad4f0aa
LC
7786 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7787 (format port "application/pdf=evince.desktop\n")
7788 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7789 #t))))
7790 (synopsis "Default MIME type associations for the GNOME desktop")
7791 (description
7792 "Given many installed packages which might handle a given MIME type, a
7793user running the GNOME desktop probably has some preferences: for example,
7794that folders be opened by default by the Nautilus file manager, not the Baobab
7795disk usage analyzer. This package establishes that set of default MIME type
7796associations for GNOME.")
7797 (license license:gpl3+)
7798 (home-page #f)))
7799
3f1ed953
RG
7800(define-public libgovirt
7801 (package
7802 (name "libgovirt")
7803 (version "0.3.6")
7804 (source (origin
7805 (method url-fetch)
7806 (uri (string-append "mirror://gnome/sources/" name "/"
7807 (version-major+minor version) "/"
7808 name "-" version ".tar.xz"))
7809 (sha256
7810 (base32
7811 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7812 (build-system glib-or-gtk-build-system)
7813 (native-inputs
7814 `(("gettext" ,gettext-minimal)
7815 ("glib:bin" ,glib "bin")
7816 ("gobject-introspection" ,gobject-introspection)
7817 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7818 ("gtk+:bin" ,gtk+ "bin")
7819 ("pkg-config" ,pkg-config)))
7820 (inputs
7821 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7822 ("librest" ,rest)))
7823 (synopsis "GoVirt Library")
7824 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7825 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7826 (license license:gpl2+)))
7827
8672e5e9
RG
7828(define-public gnome-weather
7829 (package
7830 (name "gnome-weather")
7831 (version "3.34.0")
7832 (source (origin
7833 (method url-fetch)
7834 (uri (string-append "mirror://gnome/sources/" name "/"
7835 (version-major+minor version) "/"
7836 name "-" version ".tar.xz"))
7837 (sha256
7838 (base32
7839 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7840 (build-system meson-build-system)
7841 (native-inputs
7842 `(("gettext" ,gettext-minimal)
7843 ("glib:bin" ,glib "bin")
7844 ("gobject-introspection" ,gobject-introspection)
7845 ("gtk+:bin" ,gtk+ "bin")
7846 ("pkg-config" ,pkg-config)))
7847 (inputs
7848 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7849 ("appstream-glib" ,appstream-glib)
7850 ("geoclue" ,geoclue)
7851 ("gdk-pixbuf" ,gdk-pixbuf)
7852 ("gjs" ,gjs)
7853 ("gnome-desktop" ,gnome-desktop)
7854 ("libgweather" ,libgweather)))
7855 (synopsis "Weather monitoring for GNOME desktop")
7856 (description "GNOME Weather is a small application that allows you to
7857monitor the current weather conditions for your city, or anywhere in the
7858world.")
7859 (home-page "https://wiki.gnome.org/Apps/Weather")
7860 (license license:gpl2+)))
7861
dc050251
SB
7862(define-public gnome
7863 (package
7864 (name "gnome")
7865 (version (package-version gnome-shell))
7866 (source #f)
7867 (build-system trivial-build-system)
e3cfef22 7868 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7869 (propagated-inputs
8d8c6bff 7870 ;; TODO: Add or remove packages according to:
a8cda7f5 7871 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7872 `(
8d8c6bff 7873 ;; GNOME-Core-OS-Services
7922b6f7 7874 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7875 ("network-manager" ,network-manager)
7876 ("packagekit" ,packagekit)
7877 ("upower" ,upower)
7878 ;; GNOME-Core-Shell
7879 ("adwaita-icon-theme" ,adwaita-icon-theme)
7880 ("gdm" ,gdm)
7881 ("glib-networking" ,glib-networking)
7882 ("gnome-backgrounds" ,gnome-backgrounds)
7883 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7884 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7885 ("gnome-control-center" ,gnome-control-center)
7886 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7887 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7888 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7889 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7890 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7891 ("gnome-session" ,gnome-session)
7892 ("gnome-settings-daemon" ,gnome-settings-daemon)
7893 ("gnome-shell-extensions" ,gnome-shell-extensions)
7894 ("gnome-shell" ,gnome-shell)
7895 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7896 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7897 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7898 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7899 ("gvfs" ,gvfs)
7900 ("mutter" ,mutter)
7901 ("orca" ,orca)
d36fa50f
RG
7902 ("rygel" ,rygel)
7903 ("sushi" ,sushi)
8d8c6bff
RG
7904 ;; GNOME-Core-Utilities
7905 ("baobab" ,baobab)
7906 ("cheese" ,cheese)
7907 ("eog" ,eog)
7908 ("epiphany" ,epiphany)
7909 ("evince" ,evince)
7910 ("file-roller" ,file-roller)
7911 ("gedit" ,gedit)
d36fa50f 7912 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7913 ("gnome-calculator" ,gnome-calculator)
7914 ("gnome-calendar" ,gnome-calendar)
7915 ("gnome-characters" ,gnome-characters)
7916 ("gnome-clocks" ,gnome-clocks)
7917 ("gnome-contacts" ,gnome-contacts)
7918 ("gnome-disk-utility" ,gnome-disk-utility)
7919 ("gnome-font-viewer" ,gnome-font-viewer)
7920 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7921 ; TODO: ("gnome-music" ,gnome-music)
7922 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7923 ("gnome-screenshot" ,gnome-screenshot)
7924 ("gnome-system-monitor" ,gnome-system-monitor)
7925 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7926 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7927 ("nautilus" ,nautilus)
7928 ("simple-scan" ,simple-scan)
7929 ("totem" ,totem)
7922b6f7
RG
7930 ("yelp" ,yelp)
7931 ;; Others
7932 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7933 ("gnome-online-accounts" ,gnome-online-accounts)
7934
7935 ;; Packages not part of GNOME proper but that are needed for a good
7936 ;; experience. See <https://bugs.gnu.org/39646>.
7937 ;; XXX: Find out exactly which ones are needed and why.
7938 ("font-cantarell" ,font-cantarell)
7939 ("font-dejavu" ,font-dejavu)
7940 ("at-spi2-core" ,at-spi2-core)
7941 ("dbus" ,dbus)
7942 ("dconf" ,dconf)
7943 ("desktop-file-utils" ,desktop-file-utils)
7944 ("gnome-default-applications" ,gnome-default-applications)
7945 ("gnome-themes-standard" ,gnome-themes-standard)
7946 ("gst-plugins-base" ,gst-plugins-base)
7947 ("gst-plugins-good" ,gst-plugins-good)
7948 ("gucharmap" ,gucharmap)
7949 ("pinentry-gnome3" ,pinentry-gnome3)
7950 ("pulseaudio" ,pulseaudio)
7951 ("shared-mime-info" ,shared-mime-info)
7952 ("system-config-printer" ,system-config-printer)
7953 ("xdg-user-dirs" ,xdg-user-dirs)
7954 ("yelp" ,yelp)
7955 ("zenity" ,zenity)))
fe4e698d 7956 (synopsis "The GNU desktop environment")
dc050251
SB
7957 (home-page "https://www.gnome.org/")
7958 (description
fe4e698d
LC
7959 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7960applications for browsing the web, editing text and images, creating
7961documents and diagrams, playing media, scanning, and much more.")
dc050251 7962 (license license:gpl2+)))
4a526711
DT
7963
7964(define-public byzanz
7965 ;; The last stable release of Byzanz was in 2011, but there have been many
7966 ;; useful commits made to the Byzanz repository since then that it would be
7967 ;; silly to use such an old release.
7968 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7969 (package
7970 (name "byzanz")
7971 (version (string-append "0.2-1." (string-take commit 7)))
7972 (source (origin
7973 (method git-fetch)
7974 (uri (git-reference
5f13bf09 7975 (url "https://git.gnome.org/browse/byzanz")
4a526711 7976 (commit commit)))
5a6527e4 7977 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7978 (sha256
7979 (base32
7980 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7981 (build-system glib-or-gtk-build-system)
7982 (arguments
7983 '(#:phases
7984 (modify-phases %standard-phases
189be331 7985 (replace 'bootstrap
4a526711
DT
7986 (lambda _
7987 ;; The build system cleverly detects that we're not building from
7988 ;; a release tarball and turns on -Werror for GCC.
7989 ;; Unsurprisingly, there is a warning during compilation that
7990 ;; causes the build to fail unnecessarily, so we remove the flag.
7991 (substitute* '("configure.ac")
7992 (("-Werror") ""))
7993 ;; The autogen.sh script in gnome-common will run ./configure
7994 ;; by default, which is problematic because source shebangs
7995 ;; have not yet been patched.
7996 (setenv "NOCONFIGURE" "t")
7997 (zero? (system* "sh" "autogen.sh")))))))
7998 (native-inputs
7999 `(("autoconf" ,autoconf)
8000 ("automake" ,automake)
8001 ("gnome-common" ,gnome-common)
8002 ("intltool" ,intltool)
8003 ("libtool" ,libtool)
8004 ("pkg-config" ,pkg-config)
8005 ("which" ,which)))
8006 (inputs
8007 `(("glib" ,glib)
8008 ("gstreamer" ,gstreamer)
8009 ("gst-plugins-base" ,gst-plugins-base)
8010 ("gtk+" ,gtk+)))
8011 (synopsis "Desktop recording program")
8012 (description "Byzanz is a simple desktop recording program with a
8013command-line interface. It can record part or all of an X display for a
8014specified duration and save it as a GIF encoded animated image file.")
8015 (home-page "https://git.gnome.org/browse/byzanz")
8016 (license license:gpl2+))))
3a9a4c51 8017
0ec171ec
MS
8018(define-public gsound
8019 (package
8020 (name "gsound")
8021 (version "1.0.2")
8022 (source (origin
8023 (method url-fetch)
8024 (uri (string-append "mirror://gnome/sources/" name "/"
8025 (version-major+minor version) "/"
8026 name "-" version ".tar.xz"))
8027 (sha256
8028 (base32
8029 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8030 (build-system glib-or-gtk-build-system)
8031 (native-inputs
8032 `(("pkg-config" ,pkg-config)
8033 ("gobject-introspection" ,gobject-introspection)
8034 ("vala" ,vala)))
8035 (inputs
8036 `(("glib" ,glib)
8037 ("libcanberra" ,libcanberra)))
8038 (home-page "https://wiki.gnome.org/Projects/GSound")
8039 (synopsis "GObject wrapper for libcanberra")
8040 (description
8041 "GSound is a small library for playing system sounds. It's designed to be
8042used via GObject Introspection, and is a thin wrapper around the libcanberra C
8043library.")
8044 (license license:lgpl2.1+)))
8045
3a9a4c51
RS
8046(define-public libzapojit
8047 (package
8048 (name "libzapojit")
8049 (version "0.0.3")
8050 (source (origin
8051 (method url-fetch)
8052 (uri (string-append "mirror://gnome/sources/" name "/"
8053 (version-major+minor version) "/"
8054 name "-" version ".tar.xz"))
8055 (sha256
8056 (base32
8057 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8058 (build-system gnu-build-system)
8059 (native-inputs
8060 `(("gobject-introspection" ,gobject-introspection)
8061 ("intltool" ,intltool)
8062 ("pkg-config" ,pkg-config)))
8063 (inputs
14c297fd 8064 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8065 ("json-glib" ,json-glib)
8066 ("rest" ,rest)))
8067 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8068 (synopsis "Library for accessing SkyDrive and Hotmail")
8069 (description
8070 "Libzapojit is a GLib-based library for accessing online service APIs of
8071Microsoft SkyDrive and Hotmail, using their REST protocols.")
8072 (license license:lgpl2.1+)))
9365ee1c 8073
60e2a9ae
MS
8074(define-public gnome-clocks
8075 (package
8076 (name "gnome-clocks")
c76d0dbc 8077 (version "3.32.0")
60e2a9ae
MS
8078 (source (origin
8079 (method url-fetch)
8080 (uri (string-append "mirror://gnome/sources/" name "/"
8081 (version-major+minor version) "/"
8082 name "-" version ".tar.xz"))
8083 (sha256
8084 (base32
c76d0dbc 8085 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
8086 (build-system meson-build-system)
8087 (arguments
8088 '(#:glib-or-gtk? #t))
8089 (native-inputs
8090 `(("vala" ,vala)
8091 ("pkg-config" ,pkg-config)
8092 ("glib" ,glib "bin") ; for glib-compile-resources
8093 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8094 ("desktop-file-utils" ,desktop-file-utils)
8095 ("gettext" ,gettext-minimal)
8096 ("itstool" ,itstool)))
8097 (inputs
8098 `(("glib" ,glib)
8099 ("gtk+" ,gtk+)
8100 ("gsound" ,gsound)
8101 ("geoclue" ,geoclue)
8102 ("geocode-glib" ,geocode-glib)
8103 ("libgweather" ,libgweather)
8104 ("gnome-desktop" ,gnome-desktop)))
8105 (home-page "https://wiki.gnome.org/Apps/Clocks")
8106 (synopsis "GNOME's clock application")
8107 (description
8108 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8109desktop. It supports world clock, stop watch, alarms, and count down timer.")
8110 (license license:gpl3+)))
8111
3c474897
KY
8112(define-public gnome-calendar
8113 (package
8114 (name "gnome-calendar")
339b59bf 8115 (version "3.32.2")
3c474897
KY
8116 (source (origin
8117 (method url-fetch)
8118 (uri (string-append "mirror://gnome/sources/" name "/"
8119 (version-major+minor version) "/"
8120 name "-" version ".tar.xz"))
8121 (sha256
8122 (base32
339b59bf 8123 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
8124 (build-system meson-build-system)
8125 (arguments
8126 '(#:glib-or-gtk? #t
8127 ;; gnome-calendar has to be installed before the tests can be run
8128 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
8129 #:tests? #f))
3c474897 8130 (native-inputs
a49d3e37
MS
8131 `(("gettext" ,gettext-minimal)
8132 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
8133 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
8134 ("pkg-config" ,pkg-config)))
8135 (inputs
a49d3e37 8136 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8137 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8138 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8139 ("libdazzle" ,libdazzle)
b63c06f1 8140 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8141 ("libgweather" ,libgweather)
8142 ("geoclue" ,geoclue)))
3c474897
KY
8143 (home-page "https://wiki.gnome.org/Apps/Calendar")
8144 (synopsis "GNOME's calendar application")
8145 (description
8146 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8147desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8148 (license license:gpl3+)))
8149
57b14665
MS
8150(define-public gnome-todo
8151 (package
8152 (name "gnome-todo")
9f3c6c88 8153 (version "3.28.1")
57b14665
MS
8154 (source (origin
8155 (method url-fetch)
8156 (uri (string-append "mirror://gnome/sources/" name "/"
8157 (version-major+minor version) "/"
8158 name "-" version ".tar.xz"))
8159 (sha256
8160 (base32
9f3c6c88 8161 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8162 (build-system meson-build-system)
8163 (arguments
8164 '(#:glib-or-gtk? #t
8165 #:phases (modify-phases %standard-phases
8166 (add-after
8167 'install 'wrap-gnome-todo
8168 (lambda* (#:key inputs outputs #:allow-other-keys)
8169 (let ((out (assoc-ref outputs "out"))
8170 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8171 (python-path (getenv "PYTHONPATH")))
8172 (wrap-program (string-append out "/bin/gnome-todo")
8173 ;; XXX: gi plugins are broken.
8174 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8175 ;; For plugins.
8176 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8177 `("PYTHONPATH" ":" prefix (,python-path))))
8178 #t)))))
8179 (native-inputs
8180 `(("gettext" ,gettext-minimal)
8181 ("gobject-introspection" ,gobject-introspection)
8182 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8183 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8184 ("pkg-config" ,pkg-config)))
8185 (inputs
8186 `(("rest" ,rest) ; For Todoist plugin
8187 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8188 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8189 ("libical" ,libical)
8190 ("libpeas" ,libpeas)
8191 ("python-pygobject" ,python-pygobject)
8192 ("evolution-data-server" ,evolution-data-server)
14c297fd 8193 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8194 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8195 (home-page "https://wiki.gnome.org/Apps/Todo")
8196 (synopsis "GNOME's ToDo Application")
8197 (description
8198 "GNOME To Do is a simplistic personal task manager designed to perfectly
8199fit the GNOME desktop.")
8200 (license license:gpl3+)))
8201
ab179eaf
SB
8202(define-public gnome-dictionary
8203 (package
8204 (name "gnome-dictionary")
cf81ddef 8205 (version "3.26.1")
ab179eaf
SB
8206 (source (origin
8207 (method url-fetch)
8208 (uri (string-append "mirror://gnome/sources/" name "/"
8209 (version-major+minor version) "/"
8210 name "-" version ".tar.xz"))
8211 (sha256
8212 (base32
cf81ddef
LC
8213 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8214 (build-system meson-build-system)
2776b5d5
MB
8215 (arguments '(#:glib-or-gtk? #t
8216 #:phases (modify-phases %standard-phases
8217 (add-after 'unpack 'patch-install-script
8218 (lambda _
8219 ;; This script attempts to compile glib schemas
8220 ;; and create an empty MIME database. We do
8221 ;; that elsewhere, so prevent it from running.
8222 (substitute* "build-aux/post-install.sh"
8223 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8224 #t)))))
ab179eaf
SB
8225 (native-inputs
8226 `(("glib:bin" ,glib "bin")
8227 ("gobject-introspection" ,gobject-introspection)
8228 ("intltool" ,intltool)
8229 ("itstool" ,itstool)
8230 ("pkg-config" ,pkg-config)
8231 ("xmllint" ,libxml2)))
8232 (inputs
8233 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8234 ("gtk+" ,gtk+)))
8235 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8236 (synopsis "Look up words in dictionary sources")
8237 (description
8238 "GNOME Dictionary can look for the definition or translation of a word in
8239existing databases over the internet.")
8240 (license license:gpl3+)))
8241
d13f3a03 8242(define-public gnome-tweaks
9365ee1c 8243 (package
d13f3a03 8244 (name "gnome-tweaks")
652af676 8245 (version "3.32.0")
9365ee1c
JN
8246 (source (origin
8247 (method url-fetch)
d13f3a03 8248 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8249 (version-major+minor version) "/"
d13f3a03
RW
8250 "gnome-tweaks-" version ".tar.xz"))
8251 (patches
8252 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8253 (sha256
8254 (base32
652af676 8255 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8256 (build-system meson-build-system)
9365ee1c 8257 (arguments
d13f3a03
RW
8258 `(#:glib-or-gtk? #t
8259 #:configure-flags '("-Dlocalstatedir=/tmp"
8260 "-Dsysconfdir=/tmp")
9365ee1c 8261 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8262 ,@%meson-build-system-modules)
8263 #:phases
8264 (modify-phases %standard-phases
8265 (add-after 'install 'wrap
8266 (@@ (guix build python-build-system) wrap))
8267 (add-after 'wrap 'wrap-gi-typelib
8268 (lambda* (#:key inputs outputs #:allow-other-keys)
8269 (let ((out (assoc-ref outputs "out"))
8270 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8271 (wrap-program (string-append out "/bin/gnome-tweaks")
8272 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8273 #t)))))
9365ee1c 8274 (native-inputs
c7fc414e
RH
8275 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8276 ("intltool" ,intltool)
9365ee1c
JN
8277 ("pkg-config" ,pkg-config)))
8278 (inputs
c7fc414e
RH
8279 `(("gnome-desktop" ,gnome-desktop)
8280 ("gtk+" ,gtk+)
9365ee1c
JN
8281 ("gobject-introspection" ,gobject-introspection)
8282 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8283 ("libnotify" ,libnotify)
8284 ("libsoup" ,libsoup)
8285 ("nautilus" ,nautilus)
8286 ("python" ,python)
8287 ("python-pygobject" ,python-pygobject)))
9365ee1c 8288 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8289 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8290 (description
d13f3a03 8291 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8292GNOME 3. This includes things like the fonts used in user interface elements,
8293alternative user interface themes, changes in window management behavior,
8294GNOME Shell appearance and extension, etc.")
8295 (license license:gpl3+)))
813f814a 8296
d13f3a03
RW
8297;; This package has been renamed by upstream.
8298(define-public gnome-tweak-tool
8299 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8300
32ac717c
DT
8301(define-public gnome-shell-extensions
8302 (package
8303 (name "gnome-shell-extensions")
ae4c05e0 8304 (version "3.32.1")
32ac717c
DT
8305 (source (origin
8306 (method url-fetch)
8307 (uri (string-append "mirror://gnome/sources/" name "/"
8308 (version-major+minor version) "/"
8309 name "-" version ".tar.xz"))
8310 (sha256
8311 (base32
ae4c05e0 8312 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8313 (build-system meson-build-system)
32ac717c 8314 (arguments
100f625b 8315 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8316 (native-inputs
c9ea8873
LP
8317 `(("glib:bin" ,glib "bin")
8318 ("intltool" ,intltool)
32ac717c
DT
8319 ("pkg-config" ,pkg-config)))
8320 (propagated-inputs
c9ea8873 8321 `(("glib" ,glib)))
32ac717c
DT
8322 (synopsis "Extensions for GNOME Shell")
8323 (description "GNOME Shell extensions modify and extend GNOME Shell
8324functionality and behavior.")
8325 (home-page "https://extensions.gnome.org/")
8326 (license license:gpl3+)))
8327
813f814a
DT
8328(define-public arc-theme
8329 (package
8330 (name "arc-theme")
37781323 8331 (version "20190917")
813f814a 8332 (source (origin
a18f8eaf
BH
8333 (method git-fetch)
8334 (uri (git-reference
8335 (url "https://github.com/NicoHood/arc-theme.git")
8336 (commit version)))
8337 (file-name (git-file-name name version))
813f814a
DT
8338 (sha256
8339 (base32
37781323 8340 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8341 (build-system gnu-build-system)
d88884fa
EF
8342 (arguments
8343 '(#:phases
8344 (modify-phases %standard-phases
8345 ;; autogen.sh calls configure at the end of the script.
8346 (replace 'bootstrap
4690e3a4
MC
8347 (lambda _ (invoke "autoreconf" "-vfi")))
8348 (add-before 'build 'set-home ;placate Inkscape
8349 (lambda _
8350 (setenv "HOME" (getcwd))
8351 #t)))))
813f814a
DT
8352 (native-inputs
8353 `(("autoconf" ,autoconf)
8354 ("automake" ,automake)
a18f8eaf
BH
8355 ("glib" ,glib "bin") ; for glib-compile-resources
8356 ("gnome-shell" ,gnome-shell)
8357 ("gtk+" ,gtk+)
8358 ("inkscape" ,inkscape)
8359 ("optipng" ,optipng)
8360 ("pkg-config" ,pkg-config)
bed24ecf 8361 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8362 (synopsis "A flat GTK+ theme with transparent elements")
8363 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
83642, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8365like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8366 (home-page "https://github.com/horst3180/arc-theme")
8367 ;; No "or later" language found.
a18f8eaf 8368 (license license:gpl3+)))
9987c57c 8369
d935e6a1 8370(define-public faba-icon-theme
9987c57c 8371 (package
d935e6a1 8372 (name "faba-icon-theme")
2eee7ee3 8373 (version "4.3")
d935e6a1
BT
8374 (source
8375 (origin
757e4027
TGR
8376 (method git-fetch)
8377 (uri (git-reference
8378 (url "https://github.com/snwh/faba-icon-theme.git")
8379 (commit (string-append "v" version))))
8380 (file-name (git-file-name name version))
d935e6a1 8381 (sha256
757e4027 8382 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8383 (build-system meson-build-system)
9987c57c 8384 (arguments
82da291a 8385 `(#:phases
9987c57c 8386 (modify-phases %standard-phases
82da291a 8387 (add-before 'configure 'disable-post-install
9987c57c 8388 (lambda _
82da291a
JL
8389 (substitute* "meson.build"
8390 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8391 (native-inputs
8392 `(("autoconf" ,autoconf)
8393 ("automake" ,automake)))
d935e6a1
BT
8394 (synopsis "Faba icon theme")
8395 (description
8396 "Faba is a minimal icon set used as a basis for other themes such as
8397Moka")
8398 (home-page "https://snwh.org/moka")
8399 (license (list license:lgpl3+
8400 license:cc-by-sa4.0))))
8401
9987c57c
DT
8402(define-public moka-icon-theme
8403 (package
8b0e4177 8404 (inherit faba-icon-theme)
9987c57c 8405 (name "moka-icon-theme")
105a3625 8406 (version "5.4.0")
8c3f2170
TGR
8407 (source
8408 (origin
8409 (method git-fetch)
8410 (uri (git-reference
8411 (url "https://github.com/snwh/moka-icon-theme.git")
8412 (commit (string-append "v" version))))
8413 (file-name (git-file-name name version))
8414 (sha256
8415 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8416 (propagated-inputs
8417 ;; Moka is based on Faba by using it as a fallback icon set instead of
8418 ;; bundling it, so we need to add it as a propagated input.
8419 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8420 (synopsis "Moka icon theme")
8421 (description "Moka is a stylized desktop icon set, designed to be clear,
8422simple and consistent.")
fedde43b
BT
8423 (license (list license:gpl3+
8424 license:cc-by-sa4.0))))
6fd8f8d6
DT
8425
8426(define-public arc-icon-theme
8427 (package
8428 (name "arc-icon-theme")
c4180240 8429 (version "20161122")
bbf66cbf
TGR
8430 (source
8431 (origin
8432 (method git-fetch)
8433 (uri (git-reference
8434 (url "https://github.com/horst3180/arc-icon-theme.git")
8435 (commit version)))
8436 (file-name (git-file-name name version))
8437 (sha256
8438 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8439 (build-system gnu-build-system)
9e1ede95
JL
8440 (arguments
8441 `(#:phases
8442 (modify-phases %standard-phases
8443 (add-after 'unpack 'disable-configure-during-bootstrap
8444 (lambda _
8445 (substitute* "autogen.sh"
8446 (("^\"\\$srcdir/configure\".*") ""))
8447 #t)))))
6fd8f8d6
DT
8448 (native-inputs
8449 `(("autoconf" ,autoconf)
8450 ("automake" ,automake)))
8451 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8452 (propagated-inputs
8453 `(("moka-icon-theme" ,moka-icon-theme)))
8454 (synopsis "Arc icon theme")
8455 (description "The Arc icon theme provides a set of icons matching the
8456style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8457the Moka icon theme.")
8458 (home-page "https://github.com/horst3180/arc-icon-theme")
8459 (license license:gpl3+)))
6064a4e8
LF
8460
8461(define-public folks
8462 (package
8463 (name "folks")
d23495fa 8464 (version "0.11.4")
6064a4e8
LF
8465 (source (origin
8466 (method url-fetch)
8467 (uri (string-append
e5f4796e 8468 "mirror://gnome/sources/folks/"
6064a4e8 8469 (version-major+minor version) "/"
e5f4796e 8470 "folks-" version ".tar.xz"))
6064a4e8
LF
8471 (sha256
8472 (base32
d23495fa 8473 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8474 (build-system glib-or-gtk-build-system)
8475 (inputs
8476 `(("bdb" ,bdb)
8477 ("dbus-glib" ,dbus-glib)
8478 ("evolution-data-server" ,evolution-data-server)
8479 ("glib" ,glib)
8480 ("libgee" ,libgee)
8481 ("telepathy-glib" ,telepathy-glib)))
8482 (native-inputs
8483 `(("gobject-introspection" ,gobject-introspection)
8484 ("intltool" ,intltool)
8485 ("pkg-config" ,pkg-config)
8486 ("vala" ,vala)))
8487 (synopsis "Library to aggregate data about people")
8488 (description "Libfolks is a library that aggregates information about people
8489from multiple sources (e.g., Telepathy connection managers for IM contacts,
8490Evolution Data Server for local contacts, libsocialweb for web service contacts,
8491etc.) to create metacontacts. It's written in Vala, which generates C code when
8492compiled.")
8493 (home-page "https://wiki.gnome.org/Projects/Folks")
8494 (license license:lgpl2.1+)))
01ea778f
LF
8495
8496(define-public gfbgraph
8497 (package
8498 (name "gfbgraph")
8499 (version "0.2.3")
8500 (source (origin
8501 (method url-fetch)
8502 (uri (string-append
237d4cf7 8503 "mirror://gnome/sources/gfbgraph/"
01ea778f 8504 (version-major+minor version) "/"
237d4cf7 8505 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8506 (sha256
8507 (base32
8508 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8509 (build-system glib-or-gtk-build-system)
8510 (arguments
8511 `(#:tests? #f ; Tests appear to require the network.
8512 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8513 #:configure-flags '("--disable-gtk-doc"
8514 "--disable-static"
8515 "--enable-introspection")))
8516 (native-inputs
8517 `(("pkg-config" ,pkg-config)
8518 ("gobject-introspection" ,gobject-introspection)))
8519 (inputs
8520 `(("json-glib" ,json-glib)
14c297fd 8521 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8522 ("rest" ,rest)))
8523 (synopsis "GLib/GObject wrapper for the Facebook API")
8524 (description "This library allows you to use the Facebook API from
8525GLib/GObject code.")
8526 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8527 (license license:lgpl2.1+)))
3920868c 8528
8529(define-public libgnomekbd
8530 (package
8531 (name "libgnomekbd")
70f2b0f9 8532 (version "3.26.1")
3920868c 8533 (source (origin
8534 (method url-fetch)
d47fa82d 8535 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8536 (version-major+minor version) "/"
d47fa82d 8537 "libgnomekbd-" version ".tar.xz"))
3920868c 8538 (sha256
8539 (base32
70f2b0f9 8540 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8541 (build-system gnu-build-system)
8542 (native-inputs
8543 `(("pkg-config" ,pkg-config)
8544 ("glib" ,glib "bin")
8545 ("intltool" ,intltool)))
8546 (propagated-inputs
8547 ;; Referred to in .h files and .pc.
8548 `(("glib" ,glib)
8549 ("gtk+" ,gtk+)
8550 ("libxklavier" ,libxklavier)))
8551 (home-page "https://www.gnome.org")
8552 (synopsis "GNOME keyboard configuration library")
8553 (description
8554 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8555environment, which can notably display keyboard layouts.")
8556 (license license:lgpl2.0+)))
85327d0d 8557
8558;;; This package is no longer maintained:
8559;;; https://wiki.gnome.org/Attic/LibUnique
8560;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8561;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8562(define-public libunique
8563 (package
8564 (name "libunique")
8565 (version "3.0.2")
8566 (source (origin
8567 (method url-fetch)
8568 (uri (string-append "mirror://gnome/sources/" name "/"
8569 (version-major+minor version) "/"
8570 name "-" version ".tar.xz"))
8571 (sha256
8572 (base32
8573 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8574 (build-system glib-or-gtk-build-system)
8575 (arguments
8576 `(#:configure-flags '("--disable-static"
8577 "--disable-dbus" ; use gdbus
8578 "--enable-introspection")))
8579 (native-inputs
8580 `(("pkg-config" ,pkg-config)
8581 ("gobject-introspection" ,gobject-introspection)
8582 ("glib:bin" ,glib "bin")
8583 ("gtk-doc" ,gtk-doc)))
8584 (propagated-inputs
8585 ;; Referred to in .h files and .pc.
8586 `(("gtk+" ,gtk+)))
8587 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8588 (synopsis "Library for writing single instance applications")
8589 (description
8590 "Libunique is a library for writing single instance applications. If you
8591launch a single instance application twice, the second instance will either just
8592quit or will send a message to the running instance. Libunique makes it easy to
8593write this kind of application, by providing a base class, taking care of all
8594the IPC machinery needed to send messages to a running instance, and also
8595handling the startup notification side.")
8596 (license license:lgpl2.1+)))
54021cd8
RS
8597
8598(define-public gnome-calculator
8599 (package
8600 (name "gnome-calculator")
07ace641 8601 (version "3.32.2")
54021cd8
RS
8602 (source
8603 (origin
8604 (method url-fetch)
8605 (uri (string-append "mirror://gnome/sources/" name "/"
8606 (version-major+minor version) "/"
8607 name "-" version ".tar.xz"))
8608 (sha256
8609 (base32
07ace641 8610 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8611 (build-system meson-build-system)
8612 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8613 (native-inputs
8614 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8615 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8616 ("intltool" ,intltool)
8617 ("itstool" ,itstool)
2d475910 8618 ("vala" ,vala)
54021cd8
RS
8619 ("pkg-config" ,pkg-config)))
8620 (inputs
112e9083 8621 `(("glib" ,glib)
07ace641 8622 ("gtksourceview" ,gtksourceview)
54021cd8 8623 ("libsoup" ,libsoup)
112e9083 8624 ("libxml2" ,libxml2)
2c2da7ec 8625 ("mpc" ,mpc)
54021cd8
RS
8626 ("mpfr" ,mpfr)))
8627 (home-page "https://wiki.gnome.org/Apps/Calculator")
8628 (synopsis "Desktop calculator")
8629 (description
8630 "Calculator is an application that solves mathematical equations and
8631is suitable as a default application in a Desktop environment.")
8632 (license license:gpl3)))
0bd69759
RS
8633
8634(define-public xpad
8635 (package
8636 (name "xpad")
c85626bb 8637 (version "5.1.0")
0bd69759
RS
8638 (source
8639 (origin
8640 (method url-fetch)
08fda9c6
R
8641 (uri (string-append "https://launchpad.net/xpad/trunk/"
8642 version "/+download/"
0bd69759
RS
8643 name "-" version ".tar.bz2"))
8644 (sha256
8645 (base32
c85626bb 8646 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8647 (build-system gnu-build-system)
8648 (native-inputs
08fda9c6
R
8649 `(("autoconf" ,autoconf)
8650 ("automake" ,automake)
8651 ("gtk+:bin" ,gtk+ "bin")
8652 ("intltool" ,intltool)
0bd69759
RS
8653 ("pkg-config" ,pkg-config)))
8654 (inputs
c72647fb 8655 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8656 ("libsm" ,libsm)))
8657 (home-page "https://wiki.gnome.org/Apps/Xpad")
8658 (synopsis "Virtual sticky note")
8659 (description
8660 "Xpad is a sticky note that strives to be simple, fault tolerant,
8661and customizable. Xpad consists of independent pad windows, each is
8662basically a text box in which notes can be written.")
8663 (license license:gpl3+)))
3ad7dce1
RS
8664
8665(define-public gucharmap
c60063ea
RW
8666 (let ((unicode-files
8667 '(("Blocks.txt"
1f8b5515 8668 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8669 ("DerivedAge.txt"
1f8b5515 8670 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8671 ("NamesList.txt"
1f8b5515 8672 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8673 ("Scripts.txt"
1f8b5515 8674 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8675 ("UnicodeData.txt"
1f8b5515 8676 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8677 ("Unihan.zip"
1f8b5515 8678 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8679 (package
8680 (name "gucharmap")
1f8b5515 8681 (version "12.0.1")
c60063ea
RW
8682 (source
8683 (origin
8684 (method url-fetch)
8685 (uri (string-append "mirror://gnome/sources/" name "/"
8686 (version-major+minor version) "/"
8687 name "-" version ".tar.xz"))
8688 (sha256
8689 (base32
1f8b5515 8690 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8691 (build-system glib-or-gtk-build-system)
8692 (arguments
8693 `(#:modules ((ice-9 match)
8694 (guix build glib-or-gtk-build-system)
8695 (guix build utils))
8696 #:configure-flags
8697 (list "--with-unicode-data=../unicode-data")
8698 #:phases
8699 (modify-phases %standard-phases
8700 (add-after 'unpack 'prepare-unicode-data
8701 (lambda* (#:key inputs #:allow-other-keys)
8702 (mkdir-p "../unicode-data")
8703 (with-directory-excursion "../unicode-data"
8704 (for-each (match-lambda
8705 ((file _)
8706 (install-file (assoc-ref inputs file) ".")))
8707 ',unicode-files))
8708 #t)))))
8709 (native-inputs
8710 `(("desktop-file-utils" ,desktop-file-utils)
8711 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8712 ("gobject-introspection" ,gobject-introspection)
8713 ("intltool" ,intltool)
8714 ("itstool" ,itstool)
8715 ("pkg-config" ,pkg-config)
8716 ,@(map (match-lambda
8717 ((file hash)
8718 `(,file
8719 ,(origin
8720 (method url-fetch)
8721 (uri (string-append
1f8b5515 8722 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8723 file))
8724 (sha256 (base32 hash))))))
8725 unicode-files)
8726 ("unzip" ,unzip)))
8727 (inputs
8728 `(("gtk+" ,gtk+)
8729 ("xmllint" ,libxml2)))
8730 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8731 (synopsis "Unicode character picker and font browser")
8732 (description
8733 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8734characters and categories for the installed fonts, and to examine their
8735detailed properties. It is an easy way to find the character you might
8736only know by its Unicode name or code point.")
c60063ea 8737 (license license:gpl3+))))
04ce840a
RS
8738
8739(define-public bluefish
8740 (package
8741 (name "bluefish")
ea8afaf3 8742 (version "2.2.10")
04ce840a
RS
8743 (source
8744 (origin
8745 (method url-fetch)
8746 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8747 name "-" version ".tar.gz"))
8748 (sha256
8749 (base32
ea8afaf3 8750 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8751 (build-system gnu-build-system)
8752 (native-inputs
8753 `(("desktop-file-utils" ,desktop-file-utils)
8754 ("intltool" ,intltool)
8755 ("pkg-config" ,pkg-config)))
8756 (inputs
8757 `(("enchant" ,enchant)
8758 ("gtk+" ,gtk+)
8759 ("python" ,python-2)
8760 ("xmllint" ,libxml2)
8761 ("gucharmap" ,gucharmap)))
8762 (home-page "http://bluefish.openoffice.nl")
8763 (synopsis "Web development studio")
8764 (description
8765 "Bluefish is an editor targeted towards programmers and web developers,
8766with many options to write web sites, scripts and other code.
8767Bluefish supports many programming and markup languages.")
8768 (license license:gpl3+)))
1f6a73ee
RS
8769
8770(define-public gnome-system-monitor
8771 (package
8772 (name "gnome-system-monitor")
083cffaf 8773 (version "3.32.1")
1f6a73ee
RS
8774 (source
8775 (origin
8776 (method url-fetch)
8777 (uri (string-append "mirror://gnome/sources/" name "/"
8778 (version-major+minor version) "/"
8779 name "-" version ".tar.xz"))
8780 (sha256
8781 (base32
083cffaf 8782 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8783 (build-system meson-build-system)
8784 (arguments
8785 '(#:glib-or-gtk? #t
8786 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8787 (native-inputs
8788 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8789 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8790 ("intltool" ,intltool)
8791 ("itstool" ,itstool)
8792 ("libgtop" ,libgtop)
4985d9aa 8793 ("polkit" ,polkit)
1f6a73ee
RS
8794 ("pkg-config" ,pkg-config)))
8795 (inputs
8796 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8797 ("gtk+" ,gtk+)
8798 ("gtkmm" ,gtkmm)
8799 ("librsvg" ,librsvg)
4985d9aa
RW
8800 ("libxml2" ,libxml2)
8801 ("libwnck" ,libwnck)))
1f6a73ee
RS
8802 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8803 (synopsis "Process viewer and system resource monitor for GNOME")
8804 (description
8805 "GNOME System Monitor is a GNOME process viewer and system monitor with
8806an attractive, easy-to-use interface. It has features, such as a tree view
8807for process dependencies, icons for processes, the ability to hide processes,
8808graphical time histories of CPU/memory/swap usage and the ability to
8809kill/reinice processes.")
8810 (license license:gpl2+)))
3e00ac47
SB
8811
8812(define-public python-pyatspi
8813 (package
8814 (name "python-pyatspi")
4f937a32 8815 (version "2.34.0")
3e00ac47
SB
8816 (source (origin
8817 (method url-fetch)
8818 (uri (string-append
8819 "mirror://gnome/sources/pyatspi/"
8820 (version-major+minor version)
8821 "/pyatspi-" version ".tar.xz"))
8822 (sha256
8823 (base32
4f937a32 8824 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8825 (build-system gnu-build-system)
b95af3f6
JL
8826 (arguments
8827 `(#:phases
8828 (modify-phases %standard-phases
8829 (add-before 'build 'fix-atk-load
8830 (lambda _
8831 (substitute* "pyatspi/__init__.py"
8832 (("from gi.repository import Atspi")
8833 "gi.require_version('Gtk', '3.0')
8834from gi.repository import Gtk
8835from gi.repository import Atspi"))
8836 #t)))))
3e00ac47
SB
8837 (native-inputs
8838 `(("pkg-config" ,pkg-config)))
8839 (inputs
8840 `(("python" ,python)
8841 ("python-pygobject" ,python-pygobject)))
8842 (synopsis "Python client bindings for D-Bus AT-SPI")
8843 (home-page "https://wiki.linuxfoundation.org/accessibility\
8844/atk/at-spi/at-spi_on_d-bus")
8845 (description
8846 "This package includes a python client library for the AT-SPI D-Bus
8847accessibility infrastructure.")
8848 (license license:lgpl2.0)
8849 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8850
8851(define-public orca
8852 (package
8853 (name "orca")
089e8585 8854 (version "3.32.0")
53201c0d
SB
8855 (source (origin
8856 (method url-fetch)
8857 (uri (string-append
8858 "mirror://gnome/sources/" name "/"
8859 (version-major+minor version) "/"
8860 name "-" version ".tar.xz"))
8861 (sha256
8862 (base32
089e8585 8863 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8864 (build-system glib-or-gtk-build-system)
8865 (arguments
8866 '(#:phases
8867 (modify-phases %standard-phases
8868 (add-before 'configure 'qualify-xkbcomp
8869 (lambda* (#:key inputs #:allow-other-keys)
8870 (let ((xkbcomp (string-append
8871 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8872 (substitute* "src/orca/orca.py"
8873 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8874 #t))
8875 (add-after 'install 'wrap-orca
8876 (lambda* (#:key outputs #:allow-other-keys)
8877 (let* ((out (assoc-ref outputs "out"))
8878 (prog (string-append out "/bin/orca")))
8879 (wrap-program prog
8880 `("GI_TYPELIB_PATH" ":" prefix
8881 (,(getenv "GI_TYPELIB_PATH")))
8882 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8883 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8884 `("PYTHONPATH" ":" prefix
8885 (,(getenv "PYTHONPATH")))))
8886 #t)))))
8887 (native-inputs
8888 `(("intltool" ,intltool)
8889 ("itstool" ,itstool)
8890 ("pkg-config" ,pkg-config)
8891 ("xmllint" ,libxml2)))
8892 (inputs
8893 `(("at-spi2-atk" ,at-spi2-atk)
8894 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8895 ("gstreamer" ,gstreamer)
8896 ("gst-plugins-base" ,gst-plugins-base)
8897 ("gst-plugins-good" ,gst-plugins-good)
8898 ("gtk+" ,gtk+)
8899 ("python" ,python)
8900 ("python-pygobject" ,python-pygobject)
8901 ("python-pyatspi" ,python-pyatspi)
8902 ("python-speechd" ,speech-dispatcher)
8903 ("xkbcomp" ,xkbcomp)))
8904 (synopsis
8905 "Screen reader for individuals who are blind or visually impaired")
8906 (home-page "https://wiki.gnome.org/Projects/Orca")
8907 (description
8908 "Orca is a screen reader that provides access to the graphical desktop
8909via speech and refreshable braille. Orca works with applications and toolkits
8910that support the Assistive Technology Service Provider Interface (AT-SPI).")
8911 (license license:lgpl2.1+)))
411ba511
LC
8912
8913(define-public gspell
8914 (package
8915 (name "gspell")
7a6bbe9b 8916 (version "1.8.2")
411ba511
LC
8917 (source (origin
8918 (method url-fetch)
8919 (uri (string-append "mirror://gnome/sources/" name "/"
8920 (version-major+minor version) "/"
8921 name "-" version ".tar.xz"))
8922 (sha256
8923 (base32
7a6bbe9b 8924 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8925 (patches (search-patches "gspell-dash-test.patch"))))
8926 (build-system glib-or-gtk-build-system)
8927 (arguments
8928 '(#:phases
8929 (modify-phases %standard-phases
8930 (add-before 'check 'pre-check
8931 (lambda* (#:key inputs #:allow-other-keys)
8932 ;; Tests require a running X server.
8933 (system "Xvfb :1 &")
8934 (setenv "DISPLAY" ":1")
8935
8936 ;; For the missing /etc/machine-id.
8937 (setenv "DBUS_FATAL_WARNINGS" "0")
8938
8939 ;; Allow Enchant and its Aspell backend to find the en_US
8940 ;; dictionary.
8941 (setenv "ASPELL_DICT_DIR"
8942 (string-append (assoc-ref inputs "aspell-dict-en")
8943 "/lib/aspell"))
8944 #t)))))
8945 (inputs
eccd35be 8946 `(("gtk+" ,gtk+)
a801ae4c
TGR
8947 ("glib" ,glib)
8948 ("iso-codes" ,iso-codes)))
411ba511
LC
8949 (native-inputs
8950 `(("glib" ,glib "bin")
26ba3f07 8951 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8952 ("pkg-config" ,pkg-config)
8953 ("xmllint" ,libxml2)
8954
8955 ;; For tests.
a801ae4c 8956 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8957 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8958 (propagated-inputs
9b1bb757 8959 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8960 (home-page "https://wiki.gnome.org/Projects/gspell")
8961 (synopsis "GNOME's alternative spell checker")
8962 (description
8963 "gspell provides a flexible API to add spell-checking to a GTK+
8964application. It provides a GObject API, spell-checking to text entries and
8965text views, and buttons to choose the language.")
8966 (license license:gpl2+)))
d1d739fa
CM
8967
8968(define-public gnome-planner
8969 (package
8970 (name "gnome-planner")
8971 (version "0.14.6")
8972 (source (origin
8973 (method url-fetch)
8974 (uri (string-append "mirror://gnome/sources/planner/"
8975 (version-major+minor version) "/planner-"
8976 version ".tar.xz"))
8977 (sha256
8978 (base32
8979 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8980 (build-system glib-or-gtk-build-system)
8981 (arguments
8982 ;; Disable the Python bindings because the Planner program functions
8983 ;; without them, and (as of 2017-06-13) we have not packaged all of
8984 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8985 `(#:configure-flags
8986 (list "--disable-python"
8987 ,@(if (string=? "aarch64-linux" (%current-system))
8988 '("--build=aarch64-unknown-linux-gnu")
8989 '()))))
d1d739fa
CM
8990 (inputs
8991 `(("libgnomecanvas" ,libgnomecanvas)
8992 ("libgnomeui" ,libgnomeui)
8993 ("libglade" ,libglade)
8994 ("gnome-vfs" ,gnome-vfs)
8995 ("gconf" ,gconf)
8996 ("libxml2" ,libxml2)
8997 ("libxslt" ,libxslt)
8998 ("gtk+" ,gtk+)
8999 ("glib" ,glib)))
9000 (native-inputs
9001 `(("intltool" ,intltool)
9002 ("scrollkeeper" ,scrollkeeper)
9003 ("pkg-config" ,pkg-config)))
9004 (home-page "https://wiki.gnome.org/Apps/Planner")
9005 (synopsis "Project management software for the GNOME desktop")
9006 (description
9007 "GNOME Planner is a project management tool based on the Work Breakdown
9008Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9009the resources, tasks, and constraints that you define, Planner generates
9010various views into a project. For example, Planner can show a Gantt chart of
9011the project. It can show a detailed summary of tasks including their
9012duration, cost, and current progress. It can also show a report of resource
9013utilization that highlights under-utilized and over-utilized resources. These
9014views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9015 (license license:gpl2+)))
64fce637
RS
9016
9017(define-public lollypop
9018 (package
9019 (name "lollypop")
ca32627a 9020 (version "1.2.7")
64fce637
RS
9021 (source
9022 (origin
9023 (method url-fetch)
b98eace8 9024 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 9025 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 9026 "lollypop-" version ".tar.xz"))
64fce637 9027 (sha256
ca32627a 9028 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 9029 (build-system meson-build-system)
64fce637
RS
9030 (arguments
9031 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
9032 ,@%meson-build-system-modules)
9033 #:glib-or-gtk? #t
5fc9b6c1
EF
9034 #:tests? #f ; no test suite
9035 #:phases
9036 (modify-phases %standard-phases
5fc9b6c1
EF
9037 (add-after 'install 'wrap-program
9038 (lambda* (#:key outputs #:allow-other-keys)
9039 (let ((out (assoc-ref outputs "out"))
9040 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9041 (wrap-program (string-append out "/bin/lollypop")
9042 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9043 #t))
8ac8b3b3
TGR
9044 (add-after 'install 'wrap-python
9045 (@@ (guix build python-build-system) wrap))
9046 (add-after 'install 'wrap-glib-or-gtk
9047 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
9048 (native-inputs
9049 `(("intltool" ,intltool)
9050 ("itstool" ,itstool)
aa498fc0
TD
9051 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9052 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9053 ("pkg-config" ,pkg-config)))
9054 (inputs
9055 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9056 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9057 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9058 ("libnotify" ,libnotify)
9059 ("libsecret" ,libsecret)
9060 ("libsoup" ,libsoup)
9061 ("python" ,python)
9062 ("python-beautifulsoup4" ,python-beautifulsoup4)
9063 ("python-gst" ,python-gst)
d029afdd 9064 ("python-pil" ,python-pillow)
64fce637 9065 ("python-pycairo" ,python-pycairo)
7460f346 9066 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
9067 ("python-pylast" ,python-pylast)
9068 ("totem-pl-parser" ,totem-pl-parser)
9069 ("webkitgtk" ,webkitgtk)))
9070 (propagated-inputs
9071 `(;; gst-plugins-base is required to start Lollypop,
9072 ;; the others are required to play streaming.
64fce637
RS
9073 ("gst-plugins-good" ,gst-plugins-good)
9074 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9075 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9076 (synopsis "GNOME music playing application")
9077 (description
9078 "Lollypop is a music player designed to play well with GNOME desktop.
9079Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9080from artists and tracks from the web. It also fetches cover artworks
9081automatically and it can stream songs from online music services and charts.")
9082 (license license:gpl3+)))
d831d49d
AW
9083
9084(define-public gnome-video-effects
9085 (package
9086 (name "gnome-video-effects")
9087 (version "0.4.3")
9088 (source (origin
9089 (method url-fetch)
9090 (uri (string-append "mirror://gnome/sources/" name "/"
9091 (version-major+minor version) "/" name "-"
9092 version ".tar.xz"))
9093 (sha256
9094 (base32
9095 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9096 (build-system glib-or-gtk-build-system)
9097 (arguments
9098 `(#:out-of-source? #f))
9099 (native-inputs
9100 `(("glib:bin" ,glib "bin")
9101 ("intltool" ,intltool)
9102 ("gettext" ,gettext-minimal)
9103 ("pkg-config" ,pkg-config)))
9104 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9105 (synopsis "Video effects for Cheese and other GNOME applications")
9106 (description
9107 "A collection of GStreamer video filters and effects to be used in
9108photo-booth-like software, such as Cheese.")
9109 (license license:gpl2+)))
3511c780
AW
9110
9111(define-public cheese
9112 (package
9113 (name "cheese")
dd33b337 9114 (version "3.32.1")
3511c780
AW
9115 (source (origin
9116 (method url-fetch)
9117 (uri (string-append "mirror://gnome/sources/" name "/"
9118 (version-major+minor version) "/" name "-"
9119 version ".tar.xz"))
9120 (sha256
9121 (base32
dd33b337 9122 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
9123 (arguments
9124 ;; Tests require GDK.
9125 `(#:tests? #f
9126 #:phases
9127 (modify-phases %standard-phases
9128 (add-before 'install 'skip-gtk-update-icon-cache
9129 (lambda _
9130 ;; Don't create 'icon-theme.cache'
9131 (substitute* "Makefile"
9132 (("gtk-update-icon-cache") (which "true")))
9133 #t))
9134 (add-after 'install 'wrap-cheese
9135 (lambda* (#:key inputs outputs #:allow-other-keys)
9136 (let ((out (assoc-ref outputs "out"))
9137 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9138 (wrap-program (string-append out "/bin/cheese")
9139 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9140 #t)))))
9141 (build-system glib-or-gtk-build-system)
9142 (native-inputs
9143 `(("glib:bin" ,glib "bin")
9144 ("intltool" ,intltool)
9145 ("itstool" ,itstool)
9146 ("libxml2" ,libxml2)
9147 ("pkg-config" ,pkg-config)
9148 ("vala" ,vala)))
9149 (propagated-inputs
6a19f03e
RW
9150 `(("gnome-video-effects" ,gnome-video-effects)
9151 ("clutter" ,clutter)
3511c780
AW
9152 ("clutter-gst" ,clutter-gst)
9153 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9154 ("libcanberra" ,libcanberra)
3511c780
AW
9155 ("gdk-pixbuf" ,gdk-pixbuf)
9156 ("glib" ,glib)
6a19f03e
RW
9157 ("gstreamer" ,gstreamer)))
9158 (inputs
9159 `(("gnome-desktop" ,gnome-desktop)
3511c780 9160 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9161 ("gst-plugins-base" ,gst-plugins-base)
9162 ("gst-plugins-bad" ,gst-plugins-bad)
9163 ("gtk+" ,gtk+)
3511c780
AW
9164 ("libx11" ,libx11)
9165 ("libxtst" ,libxtst)))
9166 (home-page "https://wiki.gnome.org/Apps/Cheese")
9167 (synopsis "Webcam photo booth software for GNOME")
9168 (description
9169 "Cheese uses your webcam to take photos and videos. Cheese can also
9170apply fancy special effects and lets you share the fun with others.")
9171 (license license:gpl2+)))
3c5dbd2b 9172
9173(define-public sound-juicer
9174 (package
9175 (name "sound-juicer")
9176 (version "3.24.0")
9177 (source
9178 (origin
9179 (method url-fetch)
9180 (uri (string-append "mirror://gnome/sources/" name "/"
9181 (version-major+minor version) "/"
9182 name "-" version ".tar.xz"))
9183 (sha256
9184 (base32
9185 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9186 (build-system glib-or-gtk-build-system)
9187 (native-inputs
9188 `(("desktop-file-utils" ,desktop-file-utils)
9189 ("intltool" ,intltool)
9190 ("itstool" ,itstool)
9191 ("pkg-config" ,pkg-config)
9192 ("xmllint" ,libxml2)))
9193 (inputs
9194 `(("gtk+" ,gtk+)
9195 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9196 ("gstreamer" ,gstreamer)
9197 ("gst-plugins-base" ,gst-plugins-base)
9198 ("gst-plugins-good" ,gst-plugins-good)
9199 ("iso-codes" ,iso-codes)
9200 ("libbrasero-media3" ,brasero)
9201 ("libcanberra" ,libcanberra)
9202 ("libdiscid" ,libdiscid)
9203 ("libmusicbrainz" ,libmusicbrainz)
9204 ("neon" ,neon)))
9205 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9206 (synopsis "Audio music cd ripper")
9207 (description "Sound Juicer extracts audio from compact discs and convert it
9208into audio files that a personal computer or digital audio player can play.
9209It supports ripping to any audio codec supported by a GStreamer plugin, such as
9210mp3, Ogg Vorbis and FLAC")
9211 (license license:gpl2+)))
4e3fdeb7 9212
0d3f1708
CB
9213(define-public soundconverter
9214 (package
9215 (name "soundconverter")
fa75a213 9216 (version "3.0.1")
0d3f1708
CB
9217 (source
9218 (origin
9219 (method url-fetch)
9220 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9221 version "/+download/"
9222 "soundconverter-" version ".tar.xz"))
9223
9224 (sha256
fa75a213 9225 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9226 (patches
9227 (search-patches
9228 "soundconverter-remove-gconf-dependency.patch"))))
9229 (build-system glib-or-gtk-build-system)
9230 (arguments
9231 `(#:imported-modules ((guix build python-build-system)
9232 (guix build glib-or-gtk-build-system)
9233 ,@%gnu-build-system-modules)
9234
9235 #:modules ((guix build glib-or-gtk-build-system)
9236 (guix build utils)
9237 ((guix build gnu-build-system) #:prefix gnu:)
9238 ((guix build python-build-system) #:prefix python:))
9239
9240 #:phases
9241 (modify-phases %standard-phases
0d3f1708
CB
9242 (add-after 'install 'wrap-soundconverter-for-python
9243 (assoc-ref python:%standard-phases 'wrap))
9244 (add-after 'install 'wrap-soundconverter
9245 (lambda* (#:key inputs outputs #:allow-other-keys)
9246 (let ((out (assoc-ref outputs "out"))
9247 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9248 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9249 (wrap-program (string-append out "/bin/soundconverter")
9250 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9251 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9252 #t)))))
9253 (native-inputs
9254 `(("intltool" ,intltool)
9255 ("pkg-config" ,pkg-config)
9256 ("glib:bin" ,glib "bin")))
9257 (inputs
9258 `(("gtk+" ,gtk+)
9259 ("python" ,python)
9260 ("python-pygobject" ,python-pygobject)
9261 ("gstreamer" ,gstreamer)
9262 ("gst-plugins-base" ,gst-plugins-base)))
9263 (home-page "http://soundconverter.org/")
9264 (synopsis "Convert between audio formats with a graphical interface")
9265 (description
9266 "SoundConverter supports converting between many audio formats including
9267Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9268configurable file renaming. ")
9269 (license license:gpl3)))
9270
4e3fdeb7 9271(define-public workrave
89f2d736
TGR
9272 (package
9273 (name "workrave")
aa51d92c 9274 (version "1.10.34")
89f2d736
TGR
9275 (source
9276 (origin
9277 (method git-fetch)
9278 (uri (git-reference
9279 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9280 (commit (string-append "v" (string-map
9281 (match-lambda (#\. #\_) (chr chr))
9282 version)))))
89f2d736
TGR
9283 (file-name (git-file-name name version))
9284 (sha256
aa51d92c 9285 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 9286 (build-system glib-or-gtk-build-system)
d1c96847
MC
9287 (inputs `(("glib" ,glib)
9288 ("gtk+" ,gtk+)
9289 ("gdk-pixbuf" ,gdk-pixbuf)
9290 ("gtkmm" ,gtkmm)
9291 ("glibmm" ,glibmm)
9292 ("libx11" ,libx11)
9293 ("libxtst" ,libxtst)
9294 ("dconf" ,dconf)
9295 ("libice" ,libice)
9296 ("libsm" ,libsm)
9297 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9298 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9299 ("pkg-config" ,pkg-config)
9300 ("gettext" ,gnu-gettext)
9301 ("autoconf" ,autoconf)
9302 ("autoconf-archive" , autoconf-archive)
9303 ("automake" ,automake)
9304 ("libtool" ,libtool)
9305 ("intltool" ,intltool)
89f2d736 9306 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9307 ("python3" ,python-3)
9308 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9309 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9310 (description
9311 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9312repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9313micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9314 (home-page "http://www.workrave.org")
9315 (license license:gpl3+)))
312afa7d
LC
9316
9317(define-public ghex
9318 (package
9319 (name "ghex")
3748992a 9320 (version "3.18.4")
312afa7d
LC
9321 (source (origin
9322 (method url-fetch)
2fbab848 9323 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9324 (version-major+minor version) "/"
2fbab848 9325 "ghex-" version ".tar.xz"))
312afa7d
LC
9326 (sha256
9327 (base32
3748992a
KK
9328 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9329 (build-system meson-build-system)
9330 (arguments
9331 '(#:glib-or-gtk? #t
9332 #:phases
9333 (modify-phases %standard-phases
9334 (add-after 'unpack 'skip-gtk-update-icon-cache
9335 ;; Don't create 'icon-theme.cache'.
9336 (lambda _
9337 (substitute* "meson_post_install.py"
9338 (("gtk-update-icon-cache") (which "true")))
9339 #t)))))
312afa7d
LC
9340 (native-inputs
9341 `(("pkg-config" ,pkg-config)
3748992a 9342 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9343 ("gnome-common" ,gnome-common)
9344 ("which" ,which)
9345 ("intltool" ,intltool)
9346 ("yelp-tools" ,yelp-tools)
2fbab848 9347 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9348 (inputs
9349 `(("atk" ,atk)
9350 ("gtk" ,gtk+)))
9351 (synopsis "GNOME hexadecimal editor")
9352 (description "The GHex program can view and edit files in two ways:
9353hexadecimal or ASCII. It is useful for editing binary files in general.")
9354 (home-page "https://wiki.gnome.org/Apps/Ghex")
9355 (license license:gpl2)))
4b2ed6c2
RW
9356
9357(define-public libdazzle
9358 (package
9359 (name "libdazzle")
64fa66ba 9360 (version "3.33.90")
4b2ed6c2
RW
9361 (source (origin
9362 (method url-fetch)
687b4909 9363 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9364 (version-major+minor version) "/"
687b4909 9365 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9366 (sha256
9367 (base32
64fa66ba 9368 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9369 (build-system meson-build-system)
9370 (arguments
9371 `(#:phases
9372 (modify-phases %standard-phases
4b2ed6c2
RW
9373 (add-before 'check 'pre-check
9374 (lambda _
9375 ;; Tests require a running X server.
9376 (system "Xvfb :1 &")
9377 (setenv "DISPLAY" ":1")
9378 #t)))))
9379 (native-inputs
687b4909 9380 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9381 ("pkg-config" ,pkg-config)
687b4909 9382 ;; For tests.
ff337525 9383 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9384 (inputs
9385 `(("glib" ,glib)
9386 ("gobject-introspection" ,gobject-introspection)
9387 ("gtk+" ,gtk+)
9388 ("vala" ,vala)))
9389 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9390 (synopsis "Companion library to GObject and Gtk+")
9391 (description "The libdazzle library is a companion library to GObject and
9392Gtk+. It provides various features that the authors wish were in the
9393underlying library but cannot for various reasons. In most cases, they are
9394wildly out of scope for those libraries. In other cases, they are not quite
9395generic enough to work for everyone.")
9396 (license license:gpl3+)))
7d3bb433
RW
9397
9398(define-public evolution
9399 (package
9400 (name "evolution")
06141f83 9401 (version "3.32.4")
7d3bb433
RW
9402 (source (origin
9403 (method url-fetch)
9404 (uri (string-append "mirror://gnome/sources/evolution/"
9405 (version-major+minor version) "/"
9406 "evolution-" version ".tar.xz"))
9407 (sha256
9408 (base32
06141f83 9409 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9410 (build-system cmake-build-system)
9411 (arguments
5229bea1
KK
9412 `(#:imported-modules (,@%cmake-build-system-modules
9413 (guix build glib-or-gtk-build-system))
9414 #:modules ((guix build cmake-build-system)
9415 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9416 (guix build utils))
9417 #:configure-flags
7d3bb433 9418 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9419 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9420 ; in four years and cannot be built.
5229bea1
KK
9421 #:phases
9422 (modify-phases %standard-phases
9423 ;; The build system attempts to install user interface modules to the
9424 ;; output directory of the "evolution-data-server" package. This
9425 ;; change redirects that change.
9426 (add-after 'unpack 'patch-ui-module-dir
9427 (lambda* (#:key outputs #:allow-other-keys)
9428 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9429 (("\\$\\{edsuimoduledir\\}")
9430 (string-append (assoc-ref outputs "out")
9431 "/lib/evolution-data-server/ui-modules")))
9432 #t))
9433 (add-after 'install 'glib-or-gtk-compile-schemas
9434 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9435 (add-after 'install 'glib-or-gtk-wrap
9436 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9437 (native-inputs
ad6e168b 9438 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9439 ("pkg-config" ,pkg-config)
9440 ("intltool" ,intltool)
9441 ("itstool" ,itstool)))
9442 (inputs
9443 `(("enchant" ,enchant)
9444 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9445 ("gcr" ,gcr)
ad6e168b 9446 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9447 ("gnome-autoar" ,gnome-autoar)
9448 ("gnome-desktop" ,gnome-desktop)
9449 ("gtkspell3" ,gtkspell3)
9450 ("highlight" ,highlight)
9451 ("libcanberra" ,libcanberra)
b63c06f1 9452 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9453 ("libgweather" ,libgweather)
9454 ("libnotify" ,libnotify)
9455 ("libsoup" ,libsoup)
9456 ("nss" ,nss)
9457 ("openldap" ,openldap)
9458 ("webkitgtk" ,webkitgtk)
9459 ("ytnef" ,ytnef)))
9460 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9461 (synopsis "Manage your email, contacts and schedule")
9462 (description "Evolution is a personal information management application
9463that provides integrated mail, calendaring and address book
9464functionality.")
9465 ;; See COPYING for details.
23dbe621 9466 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9467 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9468 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9469
9470(define-public gthumb
9471 (package
9472 (name "gthumb")
8280676b 9473 (version "3.8.2")
169d63f5
AT
9474 (source (origin
9475 (method url-fetch)
9476 (uri (string-append "mirror://gnome/sources/gthumb/"
9477 (version-major+minor version) "/"
9478 "gthumb-" version ".tar.xz"))
9479 (sha256
9480 (base32
8280676b 9481 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9482 (build-system meson-build-system)
9483 (arguments
9484 `(#:glib-or-gtk? #t
9485 #:configure-flags
9486 ;; Ensure the RUNPATH contains all installed library locations.
9487 (list (string-append "-Dc_link_args=-Wl,-rpath="
9488 (assoc-ref %outputs "out")
9489 "/lib/gthumb/extensions")
9490 (string-append "-Dcpp_link_args=-Wl,-rpath="
9491 (assoc-ref %outputs "out")
9492 "/lib/gthumb/extensions"))))
9493 (native-inputs
9494 `(("pkg-config" ,pkg-config)
9495 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9496 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9497 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9498 ("intltool" ,intltool)
9499 ("itstool" ,itstool)))
9500 (inputs
9501 `(("exiv2" ,exiv2)
9502 ("gtk" ,gtk+)
9503 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9504 ("gstreamer" ,gstreamer)
9505 ("clutter" ,clutter)
9506 ("clutter-gst" ,clutter-gst)
9507 ("clutter-gtk" ,clutter-gtk)
9508 ("libjpeg" ,libjpeg)
9509 ("libtiff" ,libtiff)
9510 ("libraw" ,libraw)))
9511 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9512 (synopsis "GNOME image viewer and browser")
9513 (description "GThumb is an image viewer, browser, organizer, editor and
9514advanced image management tool")
9515 (license license:gpl2+)))
08be02be
AT
9516
9517(define-public terminator
9518 (package
9519 (name "terminator")
9520 (version "1.91")
9521 (source (origin
9522 (method url-fetch)
9523 (uri (string-append "https://launchpad.net/" name "/"
9524 "gtk3/" version "/" "+download/"
9525 name "-" version ".tar.gz"))
9526 (sha256
9527 (base32
9528 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9529 (build-system python-build-system)
9530 (native-inputs
9531 `(("intltool" ,intltool)
9532 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9533 ("gettext" ,gettext-minimal)
9534 ("pkg-config" ,pkg-config)))
9535 (inputs
9536 `(("cairo" ,cairo)
9537 ("gobject-introspection" ,gobject-introspection)
96681d4b 9538 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9539 ("python2-pycairo" ,python2-pycairo)
9540 ("python2-pygobject" ,python2-pygobject)
9541 ("python2-psutil" ,python2-psutil)
9542 ("vte" ,vte)))
9543 (arguments
96681d4b
TGR
9544 `(#:python ,python-2 ; Python 3 isn't supported
9545 #:imported-modules ((guix build glib-or-gtk-build-system)
9546 ,@%python-build-system-modules)
9547 #:modules ((guix build python-build-system)
9548 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9549 (guix build utils))
08be02be
AT
9550 #:phases
9551 (modify-phases %standard-phases
9552 (add-after
9553 'install 'wrap-program
9554 (lambda* (#:key outputs #:allow-other-keys)
9555 (let ((prog (string-append (assoc-ref outputs "out")
9556 "/bin/terminator")))
9557 (wrap-program prog
9558 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9559 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9560 #t)))
9561 (add-after 'wrap-program 'glib-or-gtk-wrap
9562 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9563 (home-page "https://gnometerminator.blogspot.com/")
9564 (synopsis "Store and run multiple GNOME terminals in one window")
9565 (description
9566 "Terminator allows you to run multiple GNOME terminals in a grid and
9567+tabs, and it supports drag and drop re-ordering of terminals.")
9568 (license license:gpl2)))
213315d4
JF
9569
9570(define-public libhandy
9571 (package
9572 (name "libhandy")
f6501b9f 9573 (version "0.0.12")
213315d4
JF
9574 (source
9575 (origin
9576 (method git-fetch)
9577 (uri (git-reference
9578 (url "https://source.puri.sm/Librem5/libhandy")
9579 (commit (string-append "v" version))))
9580 (file-name (git-file-name name version))
9581 (sha256
f6501b9f 9582 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9583 (build-system meson-build-system)
9584 (arguments
9585 `(#:configure-flags
9586 '("-Dglade_catalog=disabled"
9587 "-Dgtk_doc=true")
9588 #:phases
9589 (modify-phases %standard-phases
213315d4
JF
9590 (add-before 'check 'pre-check
9591 (lambda _
9592 ;; Tests require a running X server.
9593 (system "Xvfb :1 &")
9594 (setenv "DISPLAY" ":1")
9595 #t)))))
9596 (inputs
9597 `(("gtk+" ,gtk+)))
9598 (native-inputs
9599 `(("glib:bin" ,glib "bin")
9600 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9601 ("vala" ,vala)
9602 ("gtk-doc" ,gtk-doc)
9603 ("pkg-config" ,pkg-config)
9604 ("gettext" ,gettext-minimal)
d41ee146
TGR
9605
9606 ;; Test suite dependencies.
ff337525 9607 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9608 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9609 (home-page "https://source.puri.sm/Librem5/libhandy")
9610 (synopsis "Library full of GTK+ widgets for mobile phones")
9611 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9612interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9613for usage on small and big screens.")
213315d4 9614 (license license:lgpl2.1+)))
a830d14d
GL
9615
9616(define-public libgit2-glib
9617 (package
9618 (name "libgit2-glib")
9619 (version "0.28.0.1")
9620 (source (origin
9621 (method url-fetch)
9622 (uri (string-append "mirror://gnome/sources/" name "/"
9623 (version-major+minor version) "/"
9624 name "-" version ".tar.xz"))
9625 (sha256
9626 (base32
9627 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
9628 (build-system meson-build-system)
9629 (native-inputs
9630 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9631 ("gobject-introspection" ,gobject-introspection)
9632 ("intltool" ,intltool)
9633 ("libssh2" ,libssh2)
9634 ("pkg-config" ,pkg-config)
9635 ("python-pygobject" ,python-pygobject)
9636 ("python-wrapper" ,python-wrapper)
9637 ("vala" ,vala)))
9638 (inputs
9639 `(("glib" ,glib)
9640 ("libgit2" ,libgit2)))
9641 (synopsis "GLib wrapper around the libgit2 Git access library")
9642 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9643access library. It only implements the core plumbing functions, not really the
9644higher level porcelain stuff.")
9645 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9646 (license license:gpl2+)))
93beace0 9647
08db81c9
LP
9648(define-public gitg
9649 (package
9650 (name "gitg")
9651 (version "3.32.1")
9652 (source (origin
9653 (method url-fetch)
9654 (uri (string-append "mirror://gnome/sources/" name "/"
9655 (version-major+minor version) "/"
9656 name "-" version ".tar.xz"))
9657 (sha256
9658 (base32
9659 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9660 (build-system meson-build-system)
9661 (arguments
9662 `(#:glib-or-gtk? #t
9663 #:phases
9664 (modify-phases %standard-phases
9665 (add-after 'unpack 'disable-post-install-partially
9666 (lambda _
9667 (substitute* "meson_post_install.py"
9668 (("'python'") ; there are no python sources to compile
9669 (string-append "'" (which "true") "'"))
9670 (("gtk-update-icon-cache") (which "true")))
9671 #t))
9672 (add-after 'unpack 'fix-test-sources
9673 (lambda _
9674 (substitute* "tests/libgitg/test-commit.vala"
9675 (("/bin/bash") (which "bash")))
9676 #t))
9677 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9678 (lambda* (#:key outputs #:allow-other-keys)
9679 (let ((prog (string-append (assoc-ref outputs "out")
9680 "/bin/gitg")))
9681 (wrap-program prog
9682 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9683 #t))))))
9684 (inputs
9685 `(("glib" ,glib)
9686 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9687 ("gtk+" ,gtk+)
9688 ("gtkspell3" ,gtkspell3)
9689 ("gtksourceview" ,gtksourceview-3)
9690 ("json-glib" ,json-glib)
9691 ("libdazzle" ,libdazzle)
9692 ("libgee" ,libgee)
9693 ("libgit2" ,libgit2) ; propagated by libgit2-glib
9694 ("libgit2-glib" ,libgit2-glib)
9695 ("libpeas" ,libpeas)
9696 ("libsecret" ,libsecret)
9697 ("libsoup" ,libsoup)
9698 ("libxml2" ,libxml2)))
9699 (native-inputs
9700 `(("glib:bin" ,glib "bin")
9701 ("gtk+:bin" ,gtk+ "bin")
9702 ("gobject-introspection" ,gobject-introspection)
9703 ("intltool" ,intltool)
9704 ("pkg-config" ,pkg-config)
9705 ("vala" ,vala)))
9706 (synopsis "Graphical user interface for git")
9707 (description
9708 "gitg is a graphical user interface for git. It aims at being a small,
9709fast and convenient tool to visualize the history of git repositories.
9710Besides visualization, gitg also provides several utilities to manage your
9711repository and commit your work.")
9712 (home-page "https://wiki.gnome.org/Apps/Gitg")
9713 (license license:gpl2+)))
9714
1e600ed0
RW
9715(define-public gamin
9716 (package
9717 (name "gamin")
9718 (version "0.1.10")
9719 (source (origin
9720 (method url-fetch)
9721 (uri (string-append "mirror://gnome/sources/" name "/"
9722 (version-major+minor version) "/"
9723 name "-" version ".tar.bz2"))
9724 (sha256
9725 (base32
9726 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9727 (build-system gnu-build-system)
9728 (arguments
9729 `(#:phases
9730 (modify-phases %standard-phases
9731 (add-after 'unpack 'remove-deprecated-macro
9732 (lambda _
9733 (substitute* '("server/gam_node.c"
9734 "server/gam_subscription.h"
9735 "server/gam_node.h"
9736 "server/gam_subscription.c")
9737 (("G_CONST_RETURN") "const"))
9738 #t)))))
9739 (inputs
9740 `(("glib" ,glib)))
9741 (native-inputs
9742 `(("intltool" ,intltool)
9743 ("pkg-config" ,pkg-config)))
9744 (home-page "https://people.gnome.org/~veillard/gamin/")
9745 (synopsis "File alteration monitor")
9746 (description
9747 "Gamin is a file and directory monitoring system defined to be a subset
9748of the FAM (File Alteration Monitor) system. This is a service provided by a
9749library which allows to detect when a file or a directory has been modified.")
9750 (license license:gpl2+)))
9751
93beace0
DW
9752(define-public gnome-mahjongg
9753 (package
9754 (name "gnome-mahjongg")
9755 (version "3.35.1")
9756 (source (origin
9757 (method git-fetch)
9758 (uri (git-reference
9759 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9760 (commit version)))
9761 (file-name (git-file-name name version))
9762 (sha256
9763 (base32
9764 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9765 (build-system meson-build-system)
9766 (arguments
9767 `(#:glib-or-gtk? #t))
9768 (native-inputs
9769 `(("appstream-glib" ,appstream-glib)
9770 ("gettext" ,gettext-minimal)
9771 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9772 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9773 ("itstool" ,itstool)
9774 ("pkg-config" ,pkg-config)
9775 ("vala" ,vala)))
9776 (propagated-inputs
9777 `(("dconf" ,dconf)))
9778 (inputs
9779 `(("glib" ,glib)
9780 ("gtk+" ,gtk+)
9781 ("librsvg" ,librsvg)))
9782 (synopsis "Mahjongg tile-matching game")
9783 (description "GNOME Mahjongg is a game based on the classic Chinese
9784tile-matching game Mahjong. It features multiple board layouts, tile themes,
9785and a high score table.")
9786 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9787 (license license:gpl2+)))
f825476c 9788
76ea7632
RG
9789(define-public gnome-themes-extra
9790 (package
9791 (name "gnome-themes-extra")
9792 (version "3.28")
9793 (source
9794 (origin
9795 (method url-fetch)
9796 (uri (string-append "mirror://gnome/sources/" name "/"
9797 (version-major+minor version) "/" name "-"
9798 version ".tar.xz"))
9799 (sha256
9800 (base32
9801 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9802 (build-system gnu-build-system)
885424bf
RG
9803 (arguments
9804 '(#:configure-flags
9805 ;; Don't create 'icon-theme.cache'.
9806 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9807 (true (string-append coreutils "/bin/true")))
9808 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9809 (native-inputs
9810 `(("glib:bin" ,glib "bin")
9811 ("intltool" ,intltool)
9812 ("pkg-config" ,pkg-config)))
9813 (inputs
9814 `(("glib" ,glib)
9815 ("gtk+" ,gtk+)
9816 ("gtk+-2" ,gtk+-2)
9817 ("librsvg" ,librsvg)
9818 ("libxml2" ,libxml2)))
9819 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9820 (synopsis "GNOME Extra Themes")
9821 (description "This package provides themes and related elements that don't
9822really fit in other upstream packages. It offers legacy support for GTK+ 2
9823versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9824index files needed for Adwaita to be used outside of GNOME.")
9825 (license license:lgpl2.1+)))
9826
f825476c
LP
9827(define-public polari
9828 (package
9829 (name "polari")
9830 (version "3.32.2")
9831 (source (origin
9832 (method url-fetch)
9833 (uri (string-append "mirror://gnome/sources/polari/"
9834 (version-major+minor version)
9835 "/polari-" version ".tar.xz"))
9836 (sha256
9837 (base32
9838 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9839 (build-system meson-build-system)
9840 (arguments
9841 `(#:glib-or-gtk? #t
9842 #:phases
9843 (modify-phases %standard-phases
9844 (add-after 'unpack 'skip-gtk-update-icon-cache
9845 (lambda _
9846 (substitute* "meson/meson-postinstall.sh"
9847 (("gtk-update-icon-cache") (which "true")))
9848 #t))
9849 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9850 (lambda* (#:key outputs #:allow-other-keys)
9851 (let ((prog (string-append (assoc-ref outputs "out")
9852 "/bin/polari")))
9853 (wrap-program prog
9854 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9855 #t))))))
9856 (inputs
9857 `(("glib" ,glib)
9858 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9859 ("gspell" ,gspell)
9860 ("gtk+" ,gtk+)
9861 ("gjs" ,gjs)
9862 ("libsecret" ,libsecret)
9863 ("libsoup" ,libsoup)
9864 ("telepathy-glib" ,telepathy-glib)
9865 ("telepathy-logger" ,telepathy-logger)))
9866 (native-inputs
9867 `(("glib:bin" ,glib "bin")
9868 ("gobject-introspection" ,gobject-introspection)
9869 ("intltool" ,intltool)
9870 ("pkg-config" ,pkg-config)
9871 ("yelp-tools" ,yelp-tools)))
9872 (propagated-inputs
9873 `(("telepathy-idle" ,telepathy-idle)
9874 ("telepathy-mission-control" ,telepathy-mission-control)))
9875 (synopsis "Simple IRC Client")
9876 (description
9877 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9878integrate seamlessly with the GNOME desktop.")
9879 (home-page "https://wiki.gnome.org/Apps/Polari")
9880 (license license:gpl2+)))