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