gnu: gnunet-gtk: Update to 0.12.0.
[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>
ed783404 11;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
f2d56e39 37;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
4690e3a4 42;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
50e96d25 43;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
d36fa50f 45;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
63db190a 49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
995b7261
AE
50;;;
51;;; This file is part of GNU Guix.
52;;;
53;;; GNU Guix is free software; you can redistribute it and/or modify it
54;;; under the terms of the GNU General Public License as published by
55;;; the Free Software Foundation; either version 3 of the License, or (at
56;;; your option) any later version.
57;;;
58;;; GNU Guix is distributed in the hope that it will be useful, but
59;;; WITHOUT ANY WARRANTY; without even the implied warranty of
60;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61;;; GNU General Public License for more details.
62;;;
63;;; You should have received a copy of the GNU General Public License
64;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
65
66(define-module (gnu packages gnome)
ed19903d 67 #:use-module (gnu packages)
ba5dd105 68 #:use-module (gnu packages admin)
411ba511 69 #:use-module (gnu packages aspell)
75016d07 70 #:use-module (gnu packages autotools)
7b212526 71 #:use-module (gnu packages avahi)
b29909b4 72 #:use-module (gnu packages backup)
6a180f6f 73 #:use-module (gnu packages base)
1e33331c 74 #:use-module (gnu packages bash)
5698b8b8 75 #:use-module (gnu packages bison)
aa51d92c 76 #:use-module (gnu packages boost)
5fc9b6c1 77 #:use-module (gnu packages build-tools)
df217748 78 #:use-module (gnu packages calendar)
b29909b4 79 #:use-module (gnu packages cdrom)
df12f04a 80 #:use-module (gnu packages check)
d61a894b 81 #:use-module (gnu packages cmake)
b29909b4 82 #:use-module (gnu packages compression)
8f523eb9 83 #:use-module (gnu packages crates-io)
23a22af6 84 #:use-module (gnu packages cups)
6e1bb642 85 #:use-module (gnu packages curl)
c3f29bc9 86 #:use-module (gnu packages cyrus-sasl)
6e1bb642 87 #:use-module (gnu packages databases)
255d1bbe 88 #:use-module (gnu packages dbm)
c769cf9f 89 #:use-module (gnu packages djvu)
ba5dd105 90 #:use-module (gnu packages dns)
b4ce6300 91 #:use-module (gnu packages docbook)
b29909b4 92 #:use-module (gnu packages documentation)
329d731b 93 #:use-module (gnu packages enchant)
b29909b4
TGR
94 #:use-module (gnu packages flex)
95 #:use-module (gnu packages fonts)
e762d943 96 #:use-module (gnu packages file-systems)
a56be436 97 #:use-module (gnu packages fontutils)
b29909b4 98 #:use-module (gnu packages freedesktop)
dfc407f3 99 #:use-module (gnu packages game-development)
fed5a689 100 #:use-module (gnu packages gettext)
b29909b4
TGR
101 #:use-module (gnu packages ghostscript)
102 #:use-module (gnu packages gl)
995b7261 103 #:use-module (gnu packages glib)
c1354b90 104 #:use-module (gnu packages gnupg)
23a22af6 105 #:use-module (gnu packages gnuzilla)
8d8c6bff 106 #:use-module (gnu packages geo)
b29909b4
TGR
107 #:use-module (gnu packages gperf)
108 #:use-module (gnu packages graphviz)
85f5dc19 109 #:use-module (gnu packages gstreamer)
d9c1a22b 110 #:use-module (gnu packages gtk)
6b888eff 111 #:use-module (gnu packages guile)
b645146f 112 #:use-module (gnu packages ibus)
03be9874 113 #:use-module (gnu packages icu4c)
b29909b4
TGR
114 #:use-module (gnu packages image)
115 #:use-module (gnu packages imagemagick)
116 #:use-module (gnu packages inkscape)
9cc98f8a 117 #:use-module (gnu packages iso-codes)
b29909b4 118 #:use-module (gnu packages kerberos)
85f5dc19 119 #:use-module (gnu packages libcanberra)
b64e217f 120 #:use-module (gnu packages libunistring)
75016d07 121 #:use-module (gnu packages libusb)
b29909b4 122 #:use-module (gnu packages linux)
4e3fc547 123 #:use-module (gnu packages lirc)
7b212526 124 #:use-module (gnu packages lua)
b29909b4 125 #:use-module (gnu packages mail)
03be9874 126 #:use-module (gnu packages mp3)
b29909b4 127 #:use-module (gnu packages multiprecision)
64fce637 128 #:use-module (gnu packages music)
b29909b4
TGR
129 #:use-module (gnu packages ncurses)
130 #:use-module (gnu packages nettle)
ba5dd105 131 #:use-module (gnu packages networking)
5fc9b6c1 132 #:use-module (gnu packages ninja)
aff0cce9 133 #:use-module (gnu packages nss)
b29909b4 134 #:use-module (gnu packages openldap)
b645146f 135 #:use-module (gnu packages password-utils)
de1215e2 136 #:use-module (gnu packages pcre)
b29909b4 137 #:use-module (gnu packages pdf)
27477d2d 138 #:use-module (gnu packages perl)
f70d8383 139 #:use-module (gnu packages photo)
995b7261 140 #:use-module (gnu packages pkg-config)
b29909b4
TGR
141 #:use-module (gnu packages polkit)
142 #:use-module (gnu packages popt)
7d3bb433 143 #:use-module (gnu packages pretty-print)
23a22af6 144 #:use-module (gnu packages pulseaudio)
995b7261 145 #:use-module (gnu packages python)
00014781
RW
146 #:use-module (gnu packages python-crypto)
147 #:use-module (gnu packages python-web)
44d10b1f 148 #:use-module (gnu packages python-xyz)
cce0da5e 149 #:use-module (gnu packages rdesktop)
b29909b4 150 #:use-module (gnu packages readline)
a76d0f03 151 #:use-module (gnu packages ruby)
ec47c07d 152 #:use-module (gnu packages rust)
b29909b4 153 #:use-module (gnu packages samba)
75016d07 154 #:use-module (gnu packages scanner)
240cee8a 155 #:use-module (gnu packages selinux)
c27e02bf 156 #:use-module (gnu packages slang)
b29909b4
TGR
157 #:use-module (gnu packages speech)
158 #:use-module (gnu packages spice)
cd0322a3 159 #:use-module (gnu packages sqlite)
4a1bf090 160 #:use-module (gnu packages ssh)
8f9ac901 161 #:use-module (gnu packages tex)
33dc54b0 162 #:use-module (gnu packages time)
a7fd7b68 163 #:use-module (gnu packages tls)
3c5dbd2b 164 #:use-module (gnu packages version-control)
b29909b4 165 #:use-module (gnu packages video)
59132b80 166 #:use-module (gnu packages virtualization)
f2b96b3a 167 #:use-module (gnu packages vpn)
a18f8eaf 168 #:use-module (gnu packages web)
b29909b4
TGR
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
a76d0f03 174 #:use-module (gnu artwork)
8f523eb9 175 #:use-module (guix build-system cargo)
b29909b4
TGR
176 #:use-module (guix build-system cmake)
177 #:use-module (guix build-system glib-or-gtk)
178 #:use-module (guix build-system gnu)
179 #:use-module (guix build-system meson)
08be02be 180 #:use-module (guix build-system python)
b29909b4
TGR
181 #:use-module (guix build-system trivial)
182 #:use-module (guix download)
183 #:use-module (guix git-download)
184 #:use-module ((guix licenses) #:prefix license:)
185 #:use-module (guix packages)
186 #:use-module (guix utils)
a76d0f03 187 #:use-module (guix gexp)
8f523eb9
EF
188 #:use-module (guix monads)
189 #:use-module (guix store)
4e3fdeb7 190 #:use-module (ice-9 match)
c024ae36 191 #:use-module (srfi srfi-1))
85f5dc19
AE
192
193(define-public brasero
194 (package
195 (name "brasero")
e2bf423a 196 (version "3.12.2")
85f5dc19
AE
197 (source (origin
198 (method url-fetch)
d1df7554 199 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 200 (version-major+minor version) "/"
d1df7554 201 "brasero-" version ".tar.xz"))
85f5dc19
AE
202 (sha256
203 (base32
e2bf423a 204 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 205 (build-system glib-or-gtk-build-system)
e8627cd9
DH
206 (arguments
207 `(#:configure-flags (list
208 (string-append "--with-girdir="
209 (assoc-ref %outputs "out")
210 "/share/gir-1.0")
211 (string-append "--with-typelibdir="
212 (assoc-ref %outputs "out")
ce426deb
TD
213 "/lib/girepository-1.0"))
214 #:phases
215 (modify-phases %standard-phases
216 (add-before 'configure 'embed-growisofs
217 (lambda* (#:key inputs #:allow-other-keys)
218 (substitute* "plugins/growisofs/burn-growisofs.c"
219 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 220 #t)))))
85f5dc19
AE
221 (propagated-inputs
222 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
223 (native-inputs
224 `(("intltool" ,intltool)
ba549e17 225 ("itstool" ,itstool)
426adbe8 226 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 227 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 228 ("pkg-config" ,pkg-config)))
85f5dc19 229 (inputs
ce426deb
TD
230 `(("dvd+rw-tools" ,dvd+rw-tools)
231 ("glib" ,glib)
85f5dc19
AE
232 ("gnome-doc-utils" ,gnome-doc-utils)
233 ("gstreamer" ,gstreamer)
234 ("gst-plugins-base" ,gst-plugins-base)
235 ("gtk+" ,gtk+)
85f5dc19
AE
236 ("libcanberra" ,libcanberra)
237 ("libice" ,libice)
238 ("libnotify" ,libnotify)
239 ("libsm" ,libsm)
e8627cd9 240 ("libxml2" ,libxml2)
e8627cd9 241 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 242 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
243 (synopsis "CD/DVD burning tool for Gnome")
244 (description "Brasero is an application to burn CD/DVD for the Gnome
245Desktop. It is designed to be as simple as possible and has some unique
246features to enable users to create their discs easily and quickly.")
1dd26275 247 (license license:gpl2+)))
995b7261 248
e05ce17d
RG
249(define-public phodav
250 (package
251 (name "phodav")
252 (version "2.4")
253 (source (origin
254 (method url-fetch)
255 (uri (string-append "mirror://gnome/sources/" name "/"
256 (version-major+minor version) "/"
257 name "-" version ".tar.xz"))
258 (sha256
259 (base32
260 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
261 (build-system meson-build-system)
262 (native-inputs
263 `(("gettext" ,gettext-minimal)
264 ("glib:bin" ,glib "bin")
265 ("gtk-doc" ,gtk-doc)
266 ("pkg-config" ,pkg-config)))
267 (inputs
268 `(("avahi" ,avahi)
269 ("libgudev" ,libgudev)
270 ("libsoup" ,libsoup)))
271 (synopsis "WebDav server implementation using libsoup")
272 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
273but it is generic enough to be reused in other projects,
274in particular in the GNOME desktop.")
275 (home-page "https://wiki.gnome.org/phodav")
276 (license license:lgpl2.1+)))
277
29ae18db
RG
278(define-public gnome-color-manager
279 (package
280 (name "gnome-color-manager")
281 (version "3.32.0")
282 (source (origin
283 (method url-fetch)
284 (uri (string-append "mirror://gnome/sources/" name "/"
285 (version-major+minor version) "/"
286 name "-" version ".tar.xz"))
287 (sha256
288 (base32
289 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
290 (build-system meson-build-system)
291 (arguments
292 `(#:glib-or-gtk? #t
293 #:phases
294 (modify-phases %standard-phases
295 (add-before
296 'check 'pre-check
297 (lambda _
298 ;; Tests require a running X server.
299 (system "Xvfb :1 &")
300 (setenv "DISPLAY" ":1")
301 #t)))))
302 (native-inputs
303 `(("desktop-file-utils" ,desktop-file-utils)
304 ("gettext" ,gettext-minimal)
305 ("glib:bin" ,glib "bin")
306 ("gtk+:bin" ,gtk+ "bin")
307 ("itstool" ,itstool)
308 ("pkg-config" ,pkg-config)
309 ("xorg-server" ,xorg-server-for-tests)))
310 (inputs
311 `(("adwaita-icon-theme" ,adwaita-icon-theme)
312 ("appstream-glib" ,appstream-glib)
313 ("colord-gtk" ,colord-gtk)
314 ("exiv2" ,exiv2)
315 ("gnome-desktop" ,gnome-desktop)
316 ("libcanberra" ,libcanberra)
317 ("libexif" ,libexif)
318 ("libtiff" ,libtiff)
319 ("libxrandr" ,libxrandr)
320 ("libxtst" ,libxtst)
321 ("libxxf86vm" ,libxxf86vm)
322 ("vte" ,vte)
323 ("xorgproto" ,xorgproto)))
324 (synopsis "Color profile manager for the GNOME desktop")
325 (description "GNOME Color Manager is a session framework that makes
326it easy to manage, install and generate color profiles
327in the GNOME desktop.")
328 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 329 (license license:gpl2+)))
29ae18db 330
e05471a1
RG
331(define-public gnome-online-miners
332 (package
333 (name "gnome-online-miners")
334 (version "3.30.0")
335 (source (origin
336 (method url-fetch)
337 (uri (string-append "mirror://gnome/sources/" name "/"
338 (version-major+minor version) "/"
339 name "-" version ".tar.xz"))
340 (sha256
341 (base32
342 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
343 (build-system glib-or-gtk-build-system)
344 (native-inputs
345 `(("gettext" ,gettext-minimal)
346 ("glib:bin" ,glib "bin")
29ae18db 347 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
348 ("gtk+:bin" ,gtk+ "bin")
349 ("pkg-config" ,pkg-config)))
350 (inputs
351 `(("gnome-online-accounts" ,gnome-online-accounts)
352 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
353 ("grilo" ,grilo)
354 ("libgdata" ,libgdata)
355 ("libgfbgraph" ,gfbgraph)
356 ("libzapojit" ,libzapojit)
357 ("rest" ,rest)
358 ("tracker" ,tracker)))
359 (synopsis "Web Crawlers for GNOME")
360 (description "GNOME Online Miners provides a set of crawlers that
361go through your online content and index them locally in Tracker.
362It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
363 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 364 (license license:gpl2+)))
e05471a1 365
e2aed29c
RG
366(define-public gssdp
367 (package
368 (name "gssdp")
369 (version "1.2.2")
370 (source (origin
371 (method url-fetch)
372 (uri (string-append "mirror://gnome/sources/" name "/"
373 (version-major+minor version) "/"
374 name "-" version ".tar.xz"))
375 (sha256
376 (base32
377 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
378 (build-system meson-build-system)
379 (native-inputs
380 `(("gettext" ,gettext-minimal)
381 ("glib:bin" ,glib "bin")
382 ("gobject-introspection" ,gobject-introspection)
383 ("gtk-doc" ,gtk-doc)
384 ("pkg-config" ,pkg-config)
385 ("vala" ,vala)))
386 (inputs
387 `(("gtk+" ,gtk+)
388 ("libsoup" ,libsoup)))
389 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
390Protocol} for GNOME")
391 (description "This package provides a library to handle resource discovery
392and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
393a debugging tool, @command{gssdp-device-sniffer}.")
394 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
395 (license license:lgpl2.0+)))
396
291a85b2
RG
397(define-public gupnp
398 (package
399 (name "gupnp")
400 (version "1.2.2")
401 (source (origin
402 (method url-fetch)
403 (uri (string-append "mirror://gnome/sources/" name "/"
404 (version-major+minor version) "/"
405 name "-" version ".tar.xz"))
406 (sha256
407 (base32
408 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
409 (build-system meson-build-system)
410 (native-inputs
411 `(("gettext" ,gettext-minimal)
412 ("glib:bin" ,glib "bin")
413 ("gobject-introspection" ,gobject-introspection)
414 ("gtk-doc" ,gtk-doc)
415 ("pkg-config" ,pkg-config)
416 ("vala" ,vala)))
417 (inputs
418 `(("gssdp" ,gssdp)
419 ("gtk+" ,gtk+)
420 ("libsoup" ,libsoup)))
421 (synopsis "PnP API for GNOME")
422 (description "This package provides GUPnP, an object-oriented framework
423for creating UPnP devices and control points, written in C using
424@code{GObject} and @code{libsoup}.")
425 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
426 (license license:lgpl2.0+)))
427
747d7fe4
RG
428(define-public gupnp-dlna
429 (package
430 (name "gupnp-dlna")
431 (version "0.10.5")
432 (source (origin
433 (method url-fetch)
434 (uri (string-append "mirror://gnome/sources/" name "/"
435 (version-major+minor version) "/"
436 name "-" version ".tar.xz"))
437 (sha256
438 (base32
439 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
440 (build-system gnu-build-system)
441 (native-inputs
442 `(("gettext" ,gettext-minimal)
443 ("glib:bin" ,glib "bin")
444 ("gobject-introspection" ,gobject-introspection)
445 ("gtk-doc" ,gtk-doc)
446 ("libxml" ,libxml2)
447 ("pkg-config" ,pkg-config)
448 ("vala" ,vala)))
449 (inputs
450 `(("gstreamer" ,gstreamer)
451 ("gupnp" ,gupnp)))
452 (propagated-inputs
453 `(("gst-plugins-base" ,gst-plugins-base)
454 ("gst-plugins-good" ,gst-plugins-good)))
455 (synopsis "GUPnP DLNA for GNOME")
456 (description "This package provides a small utility library to
457support DLNA-related tasks such as media profile guessing, transcoding to a
458given profile, etc. DLNA is a subset of UPnP A/V.")
459 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
460 (license license:lgpl2.0+)))
461
1b4cb628
RG
462(define-public gupnp-av
463 (package
464 (name "gupnp-av")
465 (version "0.12.11")
466 (source (origin
467 (method url-fetch)
468 (uri (string-append "mirror://gnome/sources/" name "/"
469 (version-major+minor version) "/"
470 name "-" version ".tar.xz"))
471 (sha256
472 (base32
473 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
474 (build-system gnu-build-system)
475 (native-inputs
476 `(("gettext" ,gettext-minimal)
477 ("glib:bin" ,glib "bin")
478 ("gobject-introspection" ,gobject-introspection)
479 ("gtk-doc" ,gtk-doc)
480 ("libxml" ,libxml2)
481 ("pkg-config" ,pkg-config)))
482 (inputs
483 `(("gtk+" ,gtk+)
484 ("gupnp" ,gupnp)))
485 (synopsis "GUPnP A/V for GNOME")
486 (description "This package provides a small library for handling
487and implementation of UPnP A/V profiles.")
488 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
489 (license license:lgpl2.0+)))
490
02ebbca8
RG
491(define-public libmediaart
492 (package
493 (name "libmediaart")
494 (version "1.9.4")
495 (source (origin
496 (method url-fetch)
497 (uri (string-append "mirror://gnome/sources/" name "/"
498 (version-major+minor version) "/"
499 name "-" version ".tar.xz"))
500 (sha256
501 (base32
502 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
503 (build-system gnu-build-system)
504 (native-inputs
505 `(("glib:bin" ,glib "bin")
506 ("pkg-config" ,pkg-config)))
507 (inputs
508 `(("gdk-pixbuf" ,gdk-pixbuf)
509 ("gettext" ,gettext-minimal)
510 ("gobject-introspection" ,gobject-introspection)
511 ("gtk+:doc", gtk+ "doc")
512 ("vala" ,vala)))
513 (synopsis "Media art library for the GNOME desktop")
514 (description
515 "The libmediaart library is the foundation for media art caching,
516extraction, and lookup for applications on the desktop.")
517 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
518 (license license:lgpl2.1+)))
519
a26680eb
RG
520(define-public gnome-initial-setup
521 (package
522 (name "gnome-initial-setup")
523 (version "3.32.1")
524 (source (origin
525 (method url-fetch)
526 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
527 (version-major+minor version)
528 "/gnome-initial-setup-" version ".tar.xz"))
529 (sha256
530 (base32
531 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
532 (build-system meson-build-system)
533 (arguments
a65cc579
DM
534 '(#:configure-flags '(;; Enable camera support for user selfie.
535 "-Dcheese=auto"
536 "-Dsystemd=false")))
a26680eb
RG
537 (native-inputs
538 `(("gettext" ,gettext-minimal)
539 ("glib:bin" ,glib "bin")
540 ("gobject-introspection" ,gobject-introspection)
541 ("gtk+:bin" ,gtk+ "bin")
542 ("pkg-config" ,pkg-config)))
543 (inputs
544 `(("accountsservice" ,accountsservice)
545 ;("adwaita-icon-theme" ,adwaita-icon-theme)
546 ("gdm" ,gdm)
547 ("geoclue" ,geoclue)
548 ("gnome-desktop" ,gnome-desktop)
549 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
550 ("gnome-online-accounts" ,gnome-online-accounts)
551 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
552 ("gstreamer" ,gstreamer)
553 ("ibus" ,ibus)
554 ("json-glib" ,json-glib)
555 ("krb5" ,mit-krb5)
556 ("libgweather" ,libgweather)
557 ("libsecret" ,libsecret)
558 ("network-manager" ,network-manager)
559 ("network-manager-applet" ,network-manager-applet)
560 ("packagekit" ,packagekit)
561 ("polkit" ,polkit)
562 ("pwquality" ,libpwquality)
563 ("rest" ,rest)
564 ("upower" ,upower)
565 ("webkitgtk" ,webkitgtk)))
566 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
567 (description "This package provides a set-up wizard when a
568user logs into GNOME for the first time. It typically provides a
569tour of all gnome components and allows the user to set them up.")
a26680eb
RG
570 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
571 (license license:gpl2)))
572
b5f01392
RG
573(define-public gnome-user-share
574 (package
575 (name "gnome-user-share")
576 (version "3.33.1")
577 (source (origin
578 (method url-fetch)
579 (uri (string-append "mirror://gnome/sources/" name "/"
580 (version-major+minor version) "/"
581 name "-" version ".tar.xz"))
582 (sha256
583 (base32
584 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
585 (build-system meson-build-system)
586 (arguments
587 `(#:glib-or-gtk? #t
588 #:configure-flags
589 `("-Dsystemd=false"
590 ;; Enable nautilus extension for file sharing.
591 "-Dnautilus_extension=true")))
592 (native-inputs
593 `(("gettext" ,gettext-minimal)
594 ("glib:bin" ,glib "bin")
595 ("gobject-introspection" ,gobject-introspection)
596 ("gtk+:bin" ,gtk+ "bin")
597 ("pkg-config" ,pkg-config)
598 ("yelp-tools" ,yelp-tools)))
599 (inputs
600 `(("glib" ,glib)
601 ("gnome-bluetooth" ,gnome-bluetooth)
602 ("gtk+" ,gtk+)
603 ("libcanberra" ,libcanberra)
604 ("libnotify" ,libnotify)
605 ("nautilus" ,nautilus))) ; For nautilus extension.
606 (synopsis "File sharing for GNOME desktop")
607 (description "GNOME User Share is a small package that binds together
608various free software projects to bring easy to use user-level file
609sharing to the masses.")
610 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 611 (license license:gpl2+)))
b5f01392 612
04b201bb
RG
613(define-public sushi
614 (package
615 (name "sushi")
616 (version "3.32.1")
617 (source (origin
618 (method url-fetch)
619 (uri (string-append "mirror://gnome/sources/" name "/"
620 (version-major+minor version) "/"
621 name "-" version ".tar.xz"))
622 (sha256
623 (base32
624 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
625 (build-system meson-build-system)
626 (arguments
627 `(#:glib-or-gtk? #t
628 #:phases
629 (modify-phases %standard-phases
630 (add-after 'glib-or-gtk-wrap 'wrap-typelib
631 (lambda* (#:key outputs #:allow-other-keys)
632 (let ((prog (string-append (assoc-ref outputs "out")
633 "/bin/sushi")))
634 ;; Put existing typelibs before sushi's deps, so as to correctly
635 ;; infer gdk-pixbuf
636 (wrap-program prog
637 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
638 #t))))))
639 (native-inputs
640 `(("glib:bin" ,glib "bin")
641 ("gettext" ,gettext-minimal)
642 ("gobject-introspection" ,gobject-introspection)
643 ("pkg-config" ,pkg-config)))
644 (inputs
645 `(("clutter" ,clutter)
646 ("clutter-gst" ,clutter-gst)
647 ("clutter-gtk" ,clutter-gtk)
648 ("evince" ,evince) ; For file previewing.
649 ("freetype" ,freetype)
650 ("gdk-pixbuf" ,gdk-pixbuf)
651 ("gjs" ,gjs)
652 ("gst-plugins-base" ,gst-plugins-base)
653 ("gstreamer" ,gstreamer)
654 ("gtksourceview" ,gtksourceview-3)
655 ("harfbuzz" ,harfbuzz)
656 ("libepoxy" ,libepoxy)
657 ("libmusicbrainz" ,libmusicbrainz)
658 ("libxml2" ,libxml2)
659 ("neon" ,neon)
660 ("webkitgtk" ,webkitgtk)))
661 (synopsis "File previewer for the GNOME desktop")
662 (description "Sushi is a DBus-activated service that allows applications to
663preview files on the GNOME desktop.")
664 (home-page "https://gitlab.gnome.org/GNOME/sushi")
665 (license license:gpl2+)))
666
89af0902
RG
667(define-public rygel
668 (package
669 (name "rygel")
670 (version "0.38.3")
671 (source (origin
672 (method url-fetch)
673 (uri (string-append "mirror://gnome/sources/" name "/"
674 (version-major+minor version) "/"
675 name "-" version ".tar.xz"))
676 (sha256
677 (base32
678 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
679 (build-system gnu-build-system)
680 (native-inputs
681 `(("gettext" ,gettext-minimal)
682 ("gobject-introspection" ,gobject-introspection)
683 ("gtk-doc" ,gtk-doc)
684 ("pkg-config" ,pkg-config)
685 ("vala" ,vala)))
686 (inputs
687 `(("gdk-pixbuf" ,gdk-pixbuf)
688 ("gssdp" ,gssdp)
689 ("gstreamer" ,gstreamer)
690 ("gst-plugins-base" ,gst-plugins-base)
691 ("gtk+" ,gtk+)
692 ("gupnp" ,gupnp)
693 ("gupnp-av" ,gupnp-av)
694 ("gupnp-dlna" ,gupnp-dlna)
695 ("libgee" ,libgee)
696 ("libmediaart" ,libmediaart)
697 ("libsoup" ,libsoup)
698 ("libxslt" ,libxslt)
699 ("libunistring" ,libunistring)
700 ("tracker" ,tracker)))
701 (synopsis "Share audio, video, and pictures with other devices")
702 (description
703 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
704MediaRenderer}) for GNOME that allows you to easily share audio, video, and
705pictures, and to control a media player on your home network.
706
707Rygel achieves interoperability with other devices by trying to conform to the
708strict requirements of DLNA and by converting media on-the-fly to formats that
709client devices can handle.")
710 (home-page "https://wiki.gnome.org/Projects/Rygel")
711 (license (list
712 ;; For logo (data/icons/*).
713 license:cc-by-sa3.0
714 ;; For all others.
715 license:lgpl2.1+))))
716
47e87093
RG
717(define-public libnma
718 (package
719 (name "libnma")
720 (version "1.8.26")
721 (source (origin
722 (method url-fetch)
723 (uri (string-append "mirror://gnome/sources/" name "/"
724 (version-major+minor version) "/"
725 name "-" version ".tar.xz"))
726 (sha256
727 (base32
728 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
729 (build-system meson-build-system)
730 (arguments
731 `(#:glib-or-gtk? #t))
732 (native-inputs
733 `(("gettext" ,gettext-minimal)
734 ("glib:bin" ,glib "bin")
735 ("gtk-doc" ,gtk-doc)
736 ("gobject-introspection" ,gobject-introspection)
737 ("pkg-config" ,pkg-config)))
738 (inputs
739 `(("adwaita-icon-theme" ,adwaita-icon-theme)
740 ("gcr" ,gcr)
741 ("gtk+" ,gtk+)
742 ("iso-codes" ,iso-codes)
743 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
744 ("network-manager" ,network-manager)))
745 (synopsis "Network Manager's applet library")
746 (description "Libnma is an applet library for Network Manager. It was
747initially part of network-manager-applet and has now become a separate
748project.")
749 (home-page "https://gitlab.gnome.org/GNOME/libnma")
750
751 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
752 ;; "LGPL-2.1+".
753 (license license:gpl2+)))
754
30416265
RG
755(define-public gnome-menus
756 (package
757 (name "gnome-menus")
758 (version "3.32.0")
759 (source (origin
760 (method url-fetch)
761 (uri (string-append "mirror://gnome/sources/gnome-menus/"
762 (version-major+minor version) "/"
763 name "-" version ".tar.xz"))
764 (sha256
765 (base32
766 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
767 (build-system gnu-build-system)
768 (native-inputs
769 `(("gettext" ,gettext-minimal)
770 ("glib" ,glib)
771 ("pkg-config" ,pkg-config)))
772 (synopsis "Menu support for GNOME desktop")
773 (description "GNOME Menus contains the libgnome-menu library, the layout
774configuration files for the GNOME menu, as well as a simple menu editor.")
775 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 776 (license license:lgpl2.0+)))
30416265 777
d61a894b
CB
778(define-public deja-dup
779 (package
780 (name "deja-dup")
781 (version "34.3")
782 (source (origin
783 (method url-fetch)
784 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
785 (sha256
786 (base32
787 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
788 (patches
789 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
790 (build-system glib-or-gtk-build-system)
791 (arguments
792 `(#:modules ((guix build gnu-build-system)
793 ((guix build cmake-build-system) #:prefix cmake:)
794 (guix build glib-or-gtk-build-system)
795 (guix build utils))
796 #:imported-modules (,@%glib-or-gtk-build-system-modules
797 (guix build cmake-build-system))
798 #:test-target "test"
799 #:configure-flags (list (string-append
800 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
801 (string-append
802 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
803 #:phases
804 (modify-phases %standard-phases
805 (add-after 'unpack 'patch-lockfile-deletion
806 (lambda rest
807 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
808 (("/bin/rm")
809 (which "rm")))))
810 (replace 'configure
811 (assoc-ref cmake:%standard-phases 'configure))
812 (delete 'check) ;; Fails due to issues with DBus
813 (add-after 'install 'wrap-deja-dup
814 (lambda* (#:key inputs outputs #:allow-other-keys)
815 (let ((python (assoc-ref inputs "python"))
816 (python-path (getenv "PYTHONPATH"))
817 (duplicity (assoc-ref inputs "duplicity"))
818 (out (assoc-ref outputs "out")))
819 (for-each
820 (lambda (program)
821 (wrap-program program
822 `("PATH" ":" prefix (,(string-append python "/bin")
823 ,(string-append duplicity "/bin"))))
824 (wrap-program program
825 `("PYTHONPATH" ":" prefix (,python-path))))
826
827 (find-files (string-append out "/bin")))
828 #t))))))
829 (inputs
830 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
831 ("gobject-introspection" ,gobject-introspection)
832 ("duplicity" ,duplicity)
61506fe5 833 ("python" ,python-2)
d61a894b
CB
834 ("python-pygobject" ,python2-pygobject)
835 ("gtk+" ,gtk+)
836 ("libnotify" ,libnotify)
837 ("libpeas" ,libpeas)
838 ("libsecret" ,libsecret)
839 ("packagekit" ,packagekit)))
840 (native-inputs
841 `(("pkg-config" ,pkg-config)
842 ("vala" ,vala)
843 ("gettext" ,gettext-minimal)
844 ("itstool" ,itstool)
845 ("intltool" ,intltool)
c69959f0 846 ("cmake" ,cmake-minimal)))
d61a894b
CB
847 (home-page "https://launchpad.net/deja-dup")
848 (synopsis "Simple backup tool, for regular encrypted backups")
849 (description
850 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
851uses duplicity as the backend, which supports incremental backups and storage
852either on a local, or remote machine via a number of methods.")
853 (license license:gpl3+)))
854
823b77fb
RG
855(define-public gnome-user-docs
856 (package
857 (name "gnome-user-docs")
858 (version "3.32.3")
859 (source
860 (origin
861 (method url-fetch)
862 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
863 (version-major+minor version)
864 "/gnome-user-docs-" version ".tar.xz"))
865 (sha256
866 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
867 (build-system gnu-build-system)
868 (native-inputs
869 `(("gettext" ,gettext-minimal)
870 ("itstool" ,itstool)
871 ("pkg-config" ,pkg-config)
872 ("xmllint" ,libxml2)))
873 (synopsis "User documentation for the GNOME desktop")
874 (description
875 "The GNOME User Documentation explains how to use the GNOME desktop and its
876components. It covers usage and setup of the core GNOME programs by end-users
877and system administrators.")
878 (home-page "https://live.gnome.org/DocumentationProject")
879 (license license:cc-by3.0)))
880
be93299d
RG
881(define-public gnome-getting-started-docs
882 (package
883 (name "gnome-getting-started-docs")
884 (version "3.32.2")
885 (source
886 (origin
887 (method url-fetch)
888 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
889 (version-major+minor version)
890 "/gnome-getting-started-docs-" version ".tar.xz"))
891 (sha256
892 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
893 (build-system gnu-build-system)
894 (native-inputs
895 `(("gettext" ,gettext-minimal)
896 ("itstool" ,itstool)
897 ("pkg-config" ,pkg-config)
898 ("xmllint" ,libxml2)))
899 (synopsis "Help to get new users started with the GNOME desktop")
900 (description
901 "The GNOME Getting Started Documentation contains GNOME's intuitive
902\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
903
904It is normally used together with @command{gnome-initial-setup}, but is also
905useful as a tutorial and users' guide for new or less experienced users.")
906 (home-page "https://live.gnome.org/DocumentationProject")
907 (license license:cc-by-sa3.0)))
908
a56be436
RJ
909(define-public dia
910 ;; This version from GNOME's repository includes fixes for compiling with
911 ;; recent versions of the build tools. The latest activity on the
912 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
913 ;; fixes in 2016.
914 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
915 (package
916 (name "dia")
914c8cdf 917 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
918 (source (origin
919 (method git-fetch)
920 (uri (git-reference
914c8cdf 921 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 922 (commit commit)))
914c8cdf 923 (file-name (git-file-name name version))
a56be436
RJ
924 (sha256
925 (base32
926 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
927 (build-system gnu-build-system)
928 (inputs
a315afa3 929 `(("freetype" ,freetype)
a56be436
RJ
930 ("gdk-pixbuf" ,gdk-pixbuf)
931 ("gtk+" ,gtk+-2)
a315afa3 932 ("libart-lgpl" ,libart-lgpl)
a56be436 933 ("libxml2" ,libxml2)
a315afa3 934 ("pango" ,pango)))
a56be436 935 (native-inputs
a315afa3 936 `(("autoconf" ,autoconf)
a56be436 937 ("automake" ,automake)
a315afa3
EF
938 ("intltool" ,intltool)
939 ("glib" ,glib "bin")
a56be436
RJ
940 ("libtool" ,libtool)
941 ("perl" ,perl)
a315afa3 942 ("pkg-config" ,pkg-config)
a56be436
RJ
943 ("python-wrapper" ,python-wrapper)))
944 (arguments
945 `(#:phases
946 (modify-phases %standard-phases
4b3e91de 947 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 948 (lambda _
4b3e91de
EF
949 (setenv "NOCONFIGURE" "true")
950 #t)))))
a56be436
RJ
951 (home-page "https://wiki.gnome.org/Apps/Dia")
952 (synopsis "Diagram creation for GNOME")
953 (description "Dia can be used to draw different types of diagrams, and
954includes support for UML static structure diagrams (class diagrams), entity
955relationship modeling, and network diagrams. The program supports various file
956formats like PNG, SVG, PDF and EPS.")
957 (license license:gpl2+))))
958
d0b19e44
RW
959;; This is the unstable release, but it is required for the current stable
960;; release of gvfs (1.38.1).
adc5cb1b
KK
961(define-public libgdata
962 (package
963 (name "libgdata")
d0b19e44 964 (version "0.17.9")
adc5cb1b
KK
965 (source (origin
966 (method url-fetch)
967 (uri (string-append "mirror://gnome/sources/" name "/"
968 (version-major+minor version) "/"
969 name "-" version ".tar.xz"))
970 (sha256
971 (base32
d0b19e44 972 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
973 (build-system gnu-build-system)
974 (arguments
975 '(#:phases
976 (modify-phases %standard-phases
448052b7
TGR
977 (add-before 'check 'disable-failing-tests
978 (lambda _
979 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
980 ;; They have been removed in libgdata 0.17.6, so just do the same.
981 (substitute* "gdata/tests/Makefile"
982 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
983 #t)))))
984 (native-inputs
985 `(("glib:bin" ,glib "bin")
986 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
987 ("intltool" ,intltool)
988 ("pkg-config" ,pkg-config)
989 ("uhttpmock" ,uhttpmock)))
990 (inputs
991 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 992 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
993 (propagated-inputs
994 `(("gcr" ,gcr)
d0b19e44 995 ("glib" ,glib)
14c297fd 996 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 997 ("json-glib" ,json-glib)
adc5cb1b 998 ("liboauth" ,liboauth)
d0b19e44 999 ("libsoup" ,libsoup)
adc5cb1b
KK
1000 ("libxml2" ,libxml2)))
1001 (home-page "https://wiki.gnome.org/Projects/libgdata")
1002 (synopsis "Library for accessing online service APIs")
1003 (description
1004 "libgdata is a GLib-based library for accessing online service APIs using
1005the GData protocol — most notably, Google's services. It provides APIs to
1006access the common Google services, and has full asynchronous support.")
1007 (license license:lgpl2.1+)))
1008
94e10cf4
KK
1009(define-public libgxps
1010 (package
1011 (name "libgxps")
66470a5a 1012 (version "0.3.1")
94e10cf4
KK
1013 (source (origin
1014 (method url-fetch)
7f10628c 1015 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1016 (version-major+minor version) "/"
1017 name "-" version ".tar.xz"))
1018 (sha256
1019 (base32
66470a5a 1020 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1021 (build-system meson-build-system)
94e10cf4
KK
1022 (native-inputs
1023 `(("gobject-introspection" ,gobject-introspection)
1024 ("pkg-config" ,pkg-config)))
1025 (inputs
c8d62d93 1026 `(("gtk+" ,gtk+)
b6b3e512 1027 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1028 ("lcms" ,lcms)
0a6e9e13 1029 ("libtiff" ,libtiff)))
c8d62d93
MB
1030 (propagated-inputs
1031 ;; In Requires of libgxps.pc.
1032 `(("cairo" ,cairo)
1033 ("glib" ,glib)
1034 ("libarchive" ,libarchive)))
94e10cf4
KK
1035 (home-page "https://wiki.gnome.org/Projects/libgxps")
1036 (synopsis "GObject-based library for handling and rendering XPS documents")
1037 (description
1038 "libgxps is a GObject-based library for handling and rendering XPS
1039documents. This package also contains binaries that can convert XPS documents
1040to other formats.")
1041 (license license:lgpl2.1+)))
1042
4e09f57a
RG
1043(define-public gnome-characters
1044 (package
1045 (name "gnome-characters")
1046 (version "3.30.0")
1047 (source
1048 (origin
1049 (method url-fetch)
1050 (uri (string-append "mirror://gnome/sources/"
1051 "gnome-characters/" (version-major+minor version)
1052 "/gnome-characters-" version ".tar.xz"))
1053 (sha256
1054 (base32
1055 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1056 (build-system meson-build-system)
5757c641 1057 (arguments
1058 `(#:glib-or-gtk? #t
1059 #:phases (modify-phases %standard-phases
1060 (add-after 'install 'wrap
1061 (lambda* (#:key outputs #:allow-other-keys)
1062 ;; GNOME Characters needs Typelib files from GTK and
1063 ;; gnome-desktop.
1064 (wrap-program (string-append (assoc-ref outputs "out")
1065 "/bin/gnome-characters")
1066 `("GI_TYPELIB_PATH" ":" prefix
1067 (,(getenv "GI_TYPELIB_PATH"))))
1068 #t)))))
4e09f57a
RG
1069 (native-inputs
1070 `(("gettext" ,gettext-minimal)
1071 ("glib:bin" ,glib "bin")
1072 ("gtk+:bin" ,gtk+ "bin")
1073 ("pkg-config" ,pkg-config)
1074 ("python" ,python-minimal)))
1075 (inputs
1076 `(("gjs" ,gjs)
1077 ("gtk+" ,gtk+)
5757c641 1078 ("libunistring" ,libunistring)
1079 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1080 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1081 (synopsis "Find and insert unusual characters")
1082 (description "Characters is a simple utility application to find
1083and insert unusual characters. It allows you to quickly find the
1084character you are looking for by searching for keywords.")
1085 (license license:bsd-3)))
1086
7aab13f1
ML
1087(define-public gnome-common
1088 (package
1089 (name "gnome-common")
af83490d 1090 (version "3.18.0")
7aab13f1
ML
1091 (source
1092 (origin
1093 (method url-fetch)
1094 (uri (string-append "mirror://gnome/sources/" name "/"
1095 (version-major+minor version) "/"
1096 name "-" version ".tar.xz"))
1097 (sha256
1098 (base32
af83490d 1099 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1100 (build-system gnu-build-system)
1101 (home-page "https://www.gnome.org/")
1102 (synopsis "Bootstrap GNOME modules built from Git")
1103 (description "gnome-common contains various files needed to bootstrap
1104GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1105can be used to configure a source directory checked out from Git and some
1106commonly used macros.")
1107 (license license:gpl2+)))
1108
4e868d22
RG
1109(define-public gnome-contacts
1110 (package
1111 (name "gnome-contacts")
6a6138b2 1112 (version "3.32.1")
4e868d22
RG
1113 (source (origin
1114 (method url-fetch)
1115 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1116 (version-major+minor version) "/"
1117 name "-" version ".tar.xz"))
1118 (sha256
1119 (base32
6a6138b2 1120 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1121 (build-system meson-build-system)
1122 (arguments
1123 `(#:phases
1124 (modify-phases %standard-phases
1125 (add-after 'unpack 'generate-vapis
1126 (lambda* (#:key inputs #:allow-other-keys)
1127 ;; To generate goa's missing .vapi file
1128 (define goa
1129 (assoc-ref inputs "gnome-online-accounts:lib"))
1130
1131 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1132 "--library=goa-1.0"
1133 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1134 #t)))))
1135 (native-inputs
1136 `(("glib:bin" ,glib "bin")
1137 ("gtk+:bin" ,gtk+ "bin")
1138 ("pkg-config" ,pkg-config)))
1139 (inputs
1140 `(("cheese" ,cheese)
1141 ("docbook-xml" ,docbook-xml)
1142 ("dockbook-xsl" ,docbook-xsl)
1143 ("evolution-data-server" ,evolution-data-server)
1144 ("gettext" ,gettext-minimal)
1145 ("gnome-desktop" ,gnome-desktop)
1146 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1147 ("gobject-introspection" ,gobject-introspection)
1148 ("gst-plugins-base" ,gst-plugins-base)
1149 ("gtk+" ,gtk+)
1150 ("libgee" ,libgee)
1151 ("libxslt" ,libxslt)
1152 ("telepathy-glib" ,telepathy-glib)
1153 ("vala" ,vala)))
1154 (propagated-inputs
1155 `(("folks", folks)
1156 ("telepathy-mission-control" ,telepathy-mission-control)))
1157 (synopsis "GNOME's integrated address book")
1158 (description
1159 "GNOME Contacts organizes your contact information from online and
1160offline sources, providing a centralized place for managing your contacts.")
1161 (home-page "https://wiki.gnome.org/Apps/Contacts")
1162 (license license:gpl2+)))
1163
9cc98f8a
CR
1164(define-public gnome-desktop
1165 (package
1166 (name "gnome-desktop")
e8a26caa 1167 (version "3.32.2")
9cc98f8a
CR
1168 (source
1169 (origin
1170 (method url-fetch)
b38e45d8
EB
1171 (uri (string-append "mirror://gnome/sources/" name "/"
1172 (version-major+minor version) "/"
9cc98f8a
CR
1173 name "-" version ".tar.xz"))
1174 (sha256
1175 (base32
e8a26caa
KK
1176 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1177 (build-system meson-build-system)
a0fe7c06
CB
1178 (arguments
1179 '(#:phases
1180 (modify-phases %standard-phases
1181 (add-before 'configure 'patch-path
1182 (lambda* (#:key inputs #:allow-other-keys)
1183 (let ((libc (assoc-ref inputs "libc")))
1184 (substitute* "libgnome-desktop/gnome-languages.c"
1185 (("\"locale\"")
1186 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1187 #t)))
1188 (add-before 'check 'pre-check
1189 (lambda* (#:key inputs #:allow-other-keys)
1190 ;; Tests require a running X server and locales.
1191 (system "Xvfb :1 &")
1192 (setenv "DISPLAY" ":1")
1193 (setenv "GUIX_LOCPATH"
1194 (string-append (assoc-ref inputs "glibc-locales")
1195 "/lib/locale"))
1196 #t)))))
9cc98f8a 1197 (native-inputs
e8a26caa
KK
1198 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1199 ("glibc-locales" ,glibc-locales) ; for tests
1200 ("gobject-introspection" ,gobject-introspection)
a8340482 1201 ("itstool" ,itstool)
bcb354ad
SB
1202 ("intltool" ,intltool)
1203 ("pkg-config" ,pkg-config)
e8a26caa
KK
1204 ("xmllint" ,libxml2)
1205 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1206 (propagated-inputs
1207 ;; Required by gnome-desktop-3.0.pc.
1208 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1209 ("gtk+" ,gtk+)
9cc98f8a 1210 ("iso-codes" ,iso-codes)
9863ce20 1211 ("libseccomp" ,libseccomp)
9cc98f8a 1212 ("libx11" ,libx11)
e8a26caa
KK
1213 ("xkeyboard-config" ,xkeyboard-config)))
1214 (inputs
1215 `(("gdk-pixbuf" ,gdk-pixbuf)
1216 ("glib" ,glib)
9cc98f8a
CR
1217 ("libxext" ,libxext)
1218 ("libxkbfile" ,libxkbfile)
e8a26caa 1219 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1220 (home-page "https://www.gnome.org/")
1221 (synopsis
35b9e423 1222 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1223 (description
1224 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1225on the desktop, but that cannot live in the platform for various reasons.
1226There is no API or ABI guarantee, although we are doing our best to provide
1227stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1228
1229The gnome-about program helps find which version of GNOME is installed.")
1230 ; Some bits under the LGPL.
1dd26275 1231 (license license:gpl2+)))
9cc98f8a 1232
995b7261
AE
1233(define-public gnome-doc-utils
1234 (package
1235 (name "gnome-doc-utils")
1236 (version "0.20.10")
1237 (source
1238 (origin
1239 (method url-fetch)
b38e45d8
EB
1240 (uri (string-append "mirror://gnome/sources/" name "/"
1241 (version-major+minor version) "/"
995b7261
AE
1242 name "-" version ".tar.xz"))
1243 (sha256
1244 (base32
1245 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1246 (build-system gnu-build-system)
c4c4cc05 1247 (native-inputs
995b7261 1248 `(("intltool" ,intltool)
b4ce6300 1249 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1250 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1251 ("libxml2" ,libxml2)
1252 ("libxslt" ,libxslt)
1253 ("pkg-config" ,pkg-config)
1254 ("python-2" ,python-2)))
995b7261
AE
1255 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1256 (synopsis
1257 "Documentation utilities for the Gnome project")
1258 (description
1259 "Gnome-doc-utils is a collection of documentation utilities for the
1260Gnome project. It includes xml2po tool which makes it easier to translate
1261and keep up to date translations of documentation.")
1dd26275 1262 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1263
6c4f7022
DC
1264(define-public gnome-disk-utility
1265 (package
1266 (name "gnome-disk-utility")
e106d0a6 1267 (version "3.32.1")
6c4f7022
DC
1268 (source (origin
1269 (method url-fetch)
1270 (uri (string-append "mirror://gnome/sources/" name "/"
1271 (version-major+minor version) "/"
1272 name "-" version ".tar.xz"))
1273 (sha256
1274 (base32
e106d0a6 1275 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1276 (build-system meson-build-system)
321c73c3
EF
1277 (arguments
1278 '(#:phases
1279 (modify-phases %standard-phases
1280 (add-after 'unpack 'skip-gtk-update-icon-cache
1281 ;; Don't create 'icon-theme.cache'.
1282 (lambda _
1283 (substitute* "meson_post_install.py"
1284 (("gtk-update-icon-cache") "true"))
1285 #t)))))
6c4f7022
DC
1286 (native-inputs
1287 `(("glib:bin" ,glib "bin")
1288 ("intltool" ,intltool)
1289 ("pkg-config" ,pkg-config)
1290 ("docbook-xml" ,docbook-xml)
1291 ("docbook-xsl" ,docbook-xsl)
1292 ("libxml2" ,libxml2)
1293 ("libxslt" ,libxslt)))
1294 (inputs
1295 `(("glib" ,glib)
1296 ("appstream-glib" ,appstream-glib)
1297 ("gnome-settings-daemon" ,gnome-settings-daemon)
1298 ("gtk+" ,gtk+)
1299 ("libcanberra" ,libcanberra)
1300 ("libdvdread" ,libdvdread)
1301 ("libnotify" ,libnotify)
1302 ("libpwquality" ,libpwquality)
1303 ("libsecret" ,libsecret)
1304 ("udisks" ,udisks)))
1305 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1306 (synopsis "Disk management utility for GNOME")
1307 (description "Disk management utility for GNOME.")
1308 (license license:gpl2+)))
1309
3d217317
RG
1310(define-public gnome-font-viewer
1311 (package
1312 (name "gnome-font-viewer")
1313 (version "3.30.0")
1314 (source (origin
1315 (method url-fetch)
1316 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1317 (version-major+minor version)
1318 "/gnome-font-viewer-" version ".tar.xz"))
1319 (sha256
1320 (base32
1321 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1322 (build-system meson-build-system)
1323 (arguments
1324 '(#:phases
1325 (modify-phases %standard-phases
1326 (add-after 'unpack 'patch-post-install-script
1327 (lambda _
1328 (substitute* "meson-postinstall.sh"
1329 (("update-desktop-database") (which "true")))
1330 #t)))))
1331 (native-inputs
1332 `(("gettext" ,gettext-minimal)
1333 ("glib:bin" ,glib "bin")
1334 ("pkg-config" ,pkg-config)))
1335 (inputs
1336 `(("glib" ,glib)
1337 ("gnome-desktop" ,gnome-desktop)
1338 ("gtk+" ,gtk+)))
1339 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1340 (synopsis "GNOME Fonts")
1341 (description "Application to show you the fonts installed on your computer
1342for your use as thumbnails. Selecting any thumbnails shows the full view of how
1343the font would look under various sizes.")
1344 (license license:gpl2+)))
1345
8ff49011
RW
1346(define-public gcr
1347 (package
1348 (name "gcr")
bea6b829 1349 (version "3.28.1")
8ff49011 1350 (source (origin
0daf0efb
RW
1351 (method url-fetch)
1352 (uri (string-append "mirror://gnome/sources/" name "/"
1353 (version-major+minor version) "/"
1354 name "-" version ".tar.xz"))
1355 (sha256
1356 (base32
bea6b829 1357 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1358 (patches
1359 (list
1360 ;; This patch solves an ordering issue that showed up when
1361 ;; running the test suite against newer Glib 2.60. See
1362 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1363 (origin
1364 (method url-fetch)
1365 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1366 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1367 (file-name "gcr-hashtable-ordering.patch")
1368 (sha256
1369 (base32
1370 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1371 (build-system gnu-build-system)
1372 (arguments
0daf0efb
RW
1373 '(#:phases
1374 (modify-phases %standard-phases
1375 ;; These fail because /var/lib/dbus/machine-id is not present in the
1376 ;; build environment.
1377 (add-after 'unpack 'disable-failing-tests
1378 (lambda _
1379 (substitute* "gcr/test-system-prompt.c"
1380 (("g_test_add") "//")
1381 (("return.*") "return 0;"))
1382 #t))
1383 (add-before 'check 'pre-check
1384 (lambda _
1385 ;; Some tests expect to write to $HOME.
1386 (setenv "HOME" "/tmp")
1387 #t)))))
8ff49011
RW
1388 (inputs
1389 `(("dbus" ,dbus)
0daf0efb 1390 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1391 ("libgcrypt" ,libgcrypt)))
1392 (native-inputs
0daf0efb 1393 `(("python" ,python-2) ;for tests
8ff49011
RW
1394 ("pkg-config" ,pkg-config)
1395 ("glib" ,glib "bin")
2af4f5b0
SB
1396 ("gobject-introspection" ,gobject-introspection)
1397 ("intltool" ,intltool)
0daf0efb 1398 ("libxml2" ,libxml2)
bea6b829 1399 ("vala" ,vala)
2af4f5b0 1400 ("xsltproc" ,libxslt)))
8ff49011
RW
1401 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1402 (propagated-inputs
1403 `(("p11-kit" ,p11-kit)
1404 ("glib" ,glib)
1405 ("gtk+" ,gtk+)))
f032d0be 1406 (home-page "https://www.gnome.org")
8ff49011
RW
1407 (synopsis "Libraries for displaying certificates and accessing key stores")
1408 (description
1409 "The GCR package contains libraries used for displaying certificates and
1410accessing key stores. It also provides the viewer for crypto files on the
1411GNOME Desktop.")
1412 (license license:lgpl2.1+)))
1413
c1354b90
LC
1414(define-public libgnome-keyring
1415 (package
1416 (name "libgnome-keyring")
5e8aec2c 1417 (version "3.12.0")
c1354b90
LC
1418 (source (origin
1419 (method url-fetch)
b38e45d8
EB
1420 (uri (string-append "mirror://gnome/sources/" name "/"
1421 (version-major+minor version) "/"
1422 name "-" version ".tar.xz"))
c1354b90
LC
1423 (sha256
1424 (base32
5e8aec2c 1425 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1426 (build-system gnu-build-system)
c1354b90 1427 (inputs
c4c4cc05 1428 `(("libgcrypt" ,libgcrypt)
c1354b90 1429 ("dbus" ,dbus)))
c4c4cc05
JD
1430 (native-inputs
1431 `(("pkg-config" ,pkg-config)
426adbe8 1432 ("glib" ,glib "bin")
c4c4cc05 1433 ("intltool" ,intltool)))
c1354b90
LC
1434 (propagated-inputs
1435 ;; Referred to in .h files and .pc.
1436 `(("glib" ,glib)))
f032d0be 1437 (home-page "https://www.gnome.org")
c1354b90
LC
1438 (synopsis "Accessing passwords from the GNOME keyring")
1439 (description
1440 "Client library to access passwords from the GNOME keyring.")
1441
1442 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1443 (license license:lgpl2.0+)))
c1354b90 1444
e99a3d6f
RW
1445(define-public gnome-keyring
1446 (package
1447 (name "gnome-keyring")
ab35cc6e 1448 (version "3.28.2")
e99a3d6f
RW
1449 (source (origin
1450 (method url-fetch)
1451 (uri (string-append "mirror://gnome/sources/" name "/"
1452 (version-major+minor version) "/"
1453 name "-" version ".tar.xz"))
1454 (sha256
1455 (base32
ab35cc6e 1456 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1457 (build-system gnu-build-system)
1458 (arguments
1459 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1460 ;not exist
1461 #:configure-flags
1462 (list
1463 (string-append "--with-pkcs11-config="
1464 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1465 (string-append "--with-pkcs11-modules="
1466 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1467 #:phases
1468 (modify-phases %standard-phases
ab35cc6e
RW
1469 (add-after 'unpack 'fix-/bin/sh-reference
1470 (lambda _
1471 (substitute* "po/Makefile.in.in"
1472 (("/bin/sh") (which "sh")))
1473 #t))
5120f24f
RW
1474 (add-after 'unpack 'fix-docbook
1475 (lambda* (#:key inputs #:allow-other-keys)
1476 (substitute* "docs/Makefile.am"
1477 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1478 (string-append (assoc-ref inputs "docbook-xsl")
1479 "/xml/xsl/docbook-xsl-"
1480 ,(package-version docbook-xsl)
1481 "/manpages/docbook.xsl")))
1482 (setenv "XML_CATALOG_FILES"
1483 (string-append (assoc-ref inputs "docbook-xml")
1484 "/xml/dtd/docbook/catalog.xml"))
1485 ;; Rerun the whole thing to avoid version mismatch ("This is
1486 ;; Automake 1.15.1, but the definition used by this
1487 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1488 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1489 (invoke "autoconf")
1490 (invoke "aclocal")
1491 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1492 (inputs
1493 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1494 ("linux-pam" ,linux-pam)
ab35cc6e 1495 ("openssh" ,openssh)
e99a3d6f
RW
1496 ("dbus" ,dbus)
1497 ("gcr" ,gcr)))
1498 (native-inputs
1499 `(("pkg-config" ,pkg-config)
1500 ("glib" ,glib "bin")
5120f24f 1501 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1502 ("python" ,python-2) ;for tests
1503 ("intltool" ,intltool)
1504 ("autoconf" ,autoconf)
1505 ("automake" ,automake)
1506 ("libxslt" ,libxslt) ;for documentation
1507 ("docbook-xml" ,docbook-xml-4.2)
1508 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1509 (home-page "https://www.gnome.org")
e99a3d6f
RW
1510 (synopsis "Daemon to store passwords and encryption keys")
1511 (description
1512 "gnome-keyring is a program that keeps passwords and other secrets for
1513users. It is run as a daemon in the session, similar to ssh-agent, and other
1514applications locate it via an environment variable or D-Bus.
1515
1516The program can manage several keyrings, each with its own master password,
1517and there is also a session keyring which is never stored to disk, but
1518forgotten when the session ends.")
1519 (license license:lgpl2.1+)))
1520
c1354b90
LC
1521(define-public evince
1522 (package
1523 (name "evince")
936d5642 1524 (version "3.34.2")
c1354b90
LC
1525 (source (origin
1526 (method url-fetch)
ac631328 1527 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1528 (version-major+minor version) "/"
ac631328 1529 "evince-" version ".tar.xz"))
c1354b90
LC
1530 (sha256
1531 (base32
936d5642 1532 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1533 (build-system glib-or-gtk-build-system)
c1354b90 1534 (arguments
169b8f77 1535 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1536 #:phases
1537 (modify-phases %standard-phases
1538 (add-before 'install 'skip-gtk-update-icon-cache
1539 ;; Don't create 'icon-theme.cache'.
1540 (lambda _
1541 (substitute* "data/Makefile"
1542 (("gtk-update-icon-cache") "true"))
1543 #t)))))
c1354b90 1544 (inputs
9a096881
KK
1545 `(("libarchive" ,libarchive)
1546 ("libgxps" ,libgxps)
1547 ("libspectre" ,libspectre)
c769cf9f 1548 ("djvulibre" ,djvulibre)
c1354b90
LC
1549 ("ghostscript" ,ghostscript)
1550 ("poppler" ,poppler)
c769cf9f
SB
1551 ("libtiff" ,libtiff)
1552 ;; TODO:
c769cf9f
SB
1553 ;; Build libkpathsea as a shared library for DVI support.
1554 ;; ("libkpathsea" ,texlive-bin)
1555 ("gnome-desktop" ,gnome-desktop)
c1354b90 1556 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1557 ("gspell" ,gspell)
c1354b90 1558 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1559 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1560 ("gdk-pixbuf" ,gdk-pixbuf)
1561 ("atk" ,atk)
1562 ("pango" ,pango)
1563 ("gtk+" ,gtk+)
1564 ("glib" ,glib)
1565 ("libxml2" ,libxml2)
c1354b90
LC
1566 ("libsm" ,libsm)
1567 ("libice" ,libice)
96e42467 1568 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1569 ("dconf" ,dconf)
1570 ("libcanberra" ,libcanberra)
c769cf9f 1571 ("libsecret" ,libsecret)
a271096b 1572
c1354b90
LC
1573 ;; For tests.
1574 ("dogtail" ,python2-dogtail)))
96e42467 1575 (native-inputs
bcb354ad
SB
1576 `(("itstool" ,itstool)
1577 ("intltool" ,intltool)
426adbe8 1578 ("glib" ,glib "bin")
169b8f77 1579 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1580 ("pkg-config" ,pkg-config)
1581 ("xmllint" ,libxml2)))
c1354b90 1582 (home-page
f032d0be 1583 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1584 (synopsis "GNOME's document viewer")
1585 (description
1586 "Evince is a document viewer for multiple document formats. It
1587currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1588of Evince is to replace the multiple document viewers that exist
96e42467 1589on the GNOME Desktop with a single simple application.")
1dd26275 1590 (license license:gpl2+)))
c1354b90 1591
22e32e69
AE
1592(define-public gsettings-desktop-schemas
1593 (package
1594 (name "gsettings-desktop-schemas")
c900dabd 1595 (version "3.32.0")
22e32e69
AE
1596 (source
1597 (origin
1598 (method url-fetch)
1599 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1600 (version-major+minor version) "/"
22e32e69
AE
1601 name "-" version ".tar.xz"))
1602 (sha256
1603 (base32
c900dabd
KK
1604 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1605 (build-system meson-build-system)
65209ffa
LC
1606 (arguments
1607 '(#:phases (modify-phases %standard-phases
1608 (add-after 'unpack 'set-adwaita-theme-file-name
1609 (lambda* (#:key inputs #:allow-other-keys)
1610 ;; Provide the correct file name of the default GNOME
1611 ;; background, 'adwaita-timed.xml'.
1612 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1613 (substitute* (find-files "schemas"
1614 "\\.gschema\\.xml\\.in$")
1615 (("@datadir@/backgrounds/gnome")
1616 (string-append theme "/share/backgrounds/gnome")))
1617 #t))))))
22e32e69 1618 (inputs
65209ffa
LC
1619 `(("glib" ,glib)
1620 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1621 (native-inputs
1622 `(("intltool" ,intltool)
426adbe8 1623 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1624 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1625 ("pkg-config" ,pkg-config)))
1626 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1627 (synopsis
1628 "GNOME settings for various desktop components")
1629 (description
1630 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1631for settings shared by various components of the GNOME desktop.")
1dd26275 1632 (license license:lgpl2.1+)))
22e32e69 1633
27477d2d
AE
1634(define-public icon-naming-utils
1635 (package
1636 (name "icon-naming-utils")
1637 (version "0.8.90")
1638 (source
1639 (origin
1640 (method url-fetch)
5cc3096c 1641 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1642 version ".tar.bz2"))
1643 (sha256
1644 (base32
1645 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1646 (build-system gnu-build-system)
1647 (inputs
1648 `(("perl" ,perl)
1649 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1650 (arguments
1651 '(#:phases
dc1d3cde
KK
1652 (modify-phases %standard-phases
1653 (add-after 'install 'set-load-paths
1654 ;; Tell 'icon-name-mapping' where XML::Simple is.
1655 (lambda* (#:key outputs #:allow-other-keys)
1656 (let* ((out (assoc-ref outputs "out"))
1657 (prog (string-append out "/libexec/icon-name-mapping")))
1658 (wrap-program
1659 prog
1660 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1661 #t)))))
27477d2d
AE
1662 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1663 (synopsis
1664 "Utility to implement the Freedesktop Icon Naming Specification")
1665 (description
1666 "To help with the transition to the Freedesktop Icon Naming
1667Specification, the icon naming utility maps the icon names used by the
1668GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1669 (license license:lgpl2.1+)))
27477d2d 1670
7d3f3651
AE
1671(define-public gnome-icon-theme
1672 (package
1673 (name "gnome-icon-theme")
b32f58dd 1674 (version "3.12.0")
7d3f3651
AE
1675 (source
1676 (origin
1677 (method url-fetch)
1678 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1679 (version-major+minor version) "/"
7d3f3651
AE
1680 name "-" version ".tar.xz"))
1681 (sha256
1682 (base32
b32f58dd 1683 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1684 (build-system gnu-build-system)
5613c27d
SB
1685 (arguments
1686 '(#:configure-flags
1687 ;; Don't create 'icon-theme.cache'.
1688 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1689 (true (string-append coreutils "/bin/true")))
1690 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1691 (native-inputs
5613c27d 1692 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1693 ("intltool" ,intltool)
1694 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1695 (home-page "https://wiki.gnome.org/Personalization")
1696 (synopsis "GNOME icon theme")
1697 (description "Icons for the GNOME desktop.")
1dd26275 1698 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1699
14eeefa2
SB
1700;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1701(define-public adwaita-icon-theme
1702 (package (inherit gnome-icon-theme)
1703 (name "adwaita-icon-theme")
9be59d7f 1704 (version "3.32.0")
14eeefa2
SB
1705 (source (origin
1706 (method url-fetch)
1707 (uri (string-append "mirror://gnome/sources/" name "/"
1708 (version-major+minor version) "/"
1709 name "-" version ".tar.xz"))
1710 (sha256
1711 (base32
9be59d7f 1712 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1713 (native-inputs
1714 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1715
ae792dba
RW
1716(define-public tango-icon-theme
1717 (package
1718 (name "tango-icon-theme")
1719 (version "0.8.90")
1720 (source (origin
1721 (method url-fetch)
1722 (uri (string-append "http://tango.freedesktop.org/releases/"
1723 "tango-icon-theme-" version ".tar.bz2"))
1724 (sha256
1725 (base32
1726 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1727 (build-system gnu-build-system)
1728 (native-inputs
1729 `(("icon-naming-utils" ,icon-naming-utils)
1730 ("intltool" ,intltool)
1731 ("imagemagick" ,imagemagick)
1732 ("pkg-config" ,pkg-config)))
1733 (home-page "http://tango-project.org/")
1734 (synopsis "Tango icon theme")
1735 (description "This is an icon theme that follows the Tango visual
1736guidelines.")
1737 (license license:public-domain)))
1738
9167f8e6
LC
1739(define-public shared-mime-info
1740 (package
1741 (name "shared-mime-info")
18138ab9 1742 (version "1.10")
9167f8e6
LC
1743 (source (origin
1744 (method url-fetch)
5cc3096c 1745 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1746 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1747 (sha256
1748 (base32
18138ab9 1749 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1750 (build-system gnu-build-system)
1751 (arguments
1752 ;; The build system appears not to be parallel-safe.
1753 '(#:parallel-build? #f))
1754 (inputs
1755 `(("glib" ,glib)
c4c4cc05 1756 ("libxml2" ,libxml2)))
9167f8e6 1757 (native-inputs
c4c4cc05
JD
1758 `(("intltool" ,intltool)
1759 ("pkg-config" ,pkg-config)))
57e7d748 1760 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1761 (synopsis "Database of common MIME types")
1762 (description
1763 "The shared-mime-info package contains the core database of common types
1764and the update-mime-database command used to extend it. It requires glib2 to
1765be installed for building the update command. Additionally, it uses intltool
1766for translations, though this is only a dependency for the maintainers. This
1767database is translated at Transifex.")
1dd26275 1768 (license license:gpl2+)))
9167f8e6 1769
dd1fcddc
CB
1770(define-public system-config-printer
1771 (package
1772 (name "system-config-printer")
fa01e10d 1773 (version "1.5.12")
a5643044
TGR
1774 (source
1775 (origin
1776 (method url-fetch)
1777 (uri (string-append
1778 "https://github.com/OpenPrinting/system-config-printer/releases/"
1779 "download/" version
1780 "/system-config-printer-" version ".tar.xz"))
1781 (sha256
fa01e10d 1782 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1783 (build-system glib-or-gtk-build-system)
1784 (arguments
1785 `(#:imported-modules ((guix build python-build-system)
1786 ,@%glib-or-gtk-build-system-modules)
1787 #:phases
1788 (modify-phases %standard-phases
1789 (add-after 'unpack 'patch-Makefile.am
1790 (lambda _
1791 ;; The Makefile generates some scripts, so set a valid shebang
1792 (substitute* "Makefile.am"
1793 (("/bin/bash") (which "bash")))
1794 (delete-file "configure")
1795 #t))
1796 (add-after 'unpack 'patch-docbook-xml
1797 (lambda* (#:key inputs #:allow-other-keys)
1798 ;; Modify the man XML otherwise xmlto tries to access the network
1799 (substitute* "man/system-config-printer.xml"
1800 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1801 (string-append (assoc-ref inputs "docbook-xml")
1802 "/xml/dtd/docbook/")))
1803 #t))
1804 (add-after 'install 'wrap-for-python
1805 (@@ (guix build python-build-system) wrap))
1806 (add-after 'install 'wrap
1807 (lambda* (#:key outputs #:allow-other-keys)
1808 (let ((out (assoc-ref outputs "out"))
1809 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1810 (for-each
1811 (lambda (program)
1812 (wrap-program program
1813 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1814 (map (lambda (name)
1815 (string-append out "/bin/" name))
1816 '("system-config-printer"
1817 "system-config-printer-applet"
1818 "install-printerdriver"
1819 "scp-dbus-service"))))
1820 #t)))))
1821 (inputs
1822 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1823 ("gobject-introspection" ,gobject-introspection)
1824 ("python" ,python)
1825 ("cups" ,cups)
1826 ("python-dbus" ,python-dbus)
1827 ("python-pygobject" ,python-pygobject)
1828 ("python-pycups" ,python-pycups)
1829 ("python-requests" ,python-requests)
1830 ("python-pycairo" ,python-pycairo)
1831 ("libnotify" ,libnotify)
1832 ("packagekit" ,packagekit)))
1833 (native-inputs
1834 `(("pkg-config" ,pkg-config)
1835 ("desktop-file-utils" ,desktop-file-utils)
1836 ("glib" ,glib)
1837 ("autoconf" ,autoconf)
1838 ("automake" ,automake)
1839 ("intltool" ,intltool)
1840 ("xmlto" ,xmlto)
1841 ("docbook-xml" ,docbook-xml-4.1.2)
1842 ("docbook-xsl" ,docbook-xsl)
1843 ("libxml2" ,libxml2)))
1844 (home-page "https://github.com/zdohnal/system-config-printer")
1845 (synopsis "CUPS administration tool")
1846 (description
1847 "system-config-printer is a CUPS administration tool. It's written in
1848Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1849configuring CUPS.")
1850 (license license:gpl2+)))
1851
bef4dd92
AE
1852(define-public hicolor-icon-theme
1853 (package
1854 (name "hicolor-icon-theme")
851cb6dd 1855 (version "0.17")
bef4dd92
AE
1856 (source
1857 (origin
1858 (method url-fetch)
5cc3096c 1859 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1860 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1861 (sha256
1862 (base32
851cb6dd 1863 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1864 (build-system gnu-build-system)
1865 (arguments
1866 `(#:tests? #f)) ; no check target
57e7d748 1867 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1868 (synopsis
1869 "Freedesktop icon theme")
1870 (description
1871 "Freedesktop icon theme.")
1dd26275 1872 (license license:gpl2)))
bef4dd92 1873
d9c1a22b
AE
1874(define-public libnotify
1875 (package
1876 (name "libnotify")
195bfa68 1877 (version "0.7.7")
d9c1a22b
AE
1878 (source
1879 (origin
1880 (method url-fetch)
1881 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1882 (version-major+minor version) "/"
d9c1a22b
AE
1883 name "-" version ".tar.xz"))
1884 (sha256
1885 (base32
195bfa68 1886 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1887 (build-system gnu-build-system)
6acf6cec
MB
1888 (arguments
1889 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1890 (propagated-inputs
1891 `(;; In Requires of libnotify.pc.
1892 ("gdk-pixbuf" ,gdk-pixbuf)
1893 ("glib" ,glib)))
d9c1a22b 1894 (inputs
7ef08efa 1895 `(("gtk+" ,gtk+)
c4c4cc05
JD
1896 ("libpng" ,libpng)))
1897 (native-inputs
426adbe8 1898 `(("pkg-config" ,pkg-config)
277a7d82
JN
1899 ("glib" ,glib "bin")
1900 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1901 (home-page "https://developer-next.gnome.org/libnotify/")
1902 (synopsis
1903 "GNOME desktop notification library")
1904 (description
1905 "Libnotify is a library that sends desktop notifications to a
35b9e423 1906notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1907notifications can be used to inform the user about an event or display
1908some form of information without getting in the user's way.")
1dd26275 1909 (license license:lgpl2.1+)))
7a8605ce
CR
1910
1911(define-public libpeas
1912 (package
1913 (name "libpeas")
f2d56e39 1914 (version "1.24.1")
7a8605ce
CR
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1919 (version-major+minor version) "/"
7a8605ce
CR
1920 name "-" version ".tar.xz"))
1921 (sha256
1922 (base32
f2d56e39
MB
1923 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1924 (build-system meson-build-system)
1925 (arguments
1926 '(#:phases
1927 (modify-phases %standard-phases
1928 (add-before 'check 'start-xserver
1929 (lambda* (#:key inputs #:allow-other-keys)
1930 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1931 (disp ":1"))
1932 (setenv "DISPLAY" disp)
1933 ;; Tests require a running X server.
1934 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1935 #t))))))
7a8605ce 1936 (inputs
2ed6522a
SB
1937 `(("gtk+" ,gtk+)
1938 ("glade" ,glade3)
2ed6522a
SB
1939 ("python" ,python)
1940 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1941 (native-inputs
1942 `(("pkg-config" ,pkg-config)
f2d56e39 1943 ("gettext" ,gettext-minimal)
93622993 1944 ("glib:bin" ,glib "bin")
141aed80 1945 ("gobject-introspection" ,gobject-introspection)
f2d56e39 1946 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
1947 (propagated-inputs
1948 ;; The .pc file "Requires" gobject-introspection.
1949 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1950 (home-page "https://wiki.gnome.org/Libpeas")
1951 (synopsis "GObject plugin system")
1952 (description
d1e4ad1b
TGR
1953 "Libpeas is a gobject-based plugin engine, targeted at giving every
1954application the chance to assume its own extensibility. It also has a set of
1955features including, but not limited to: multiple extension points; on-demand
1956(lazy) programming language support for C, Python and JS; simplicity of the
1957API.")
1dd26275 1958 (license license:lgpl2.0+)))
ed19903d
JD
1959
1960(define-public gtkglext
1961 (package
1962 (name "gtkglext")
1963 (version "1.2.0")
1964 (source (origin
1965 (method url-fetch)
0f971a04 1966 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1967 version "/gtkglext-" version ".tar.gz"))
1968 (sha256
1969 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1970 (patches (search-patches
1971 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1972 (build-system gnu-build-system)
14e2f61a
RW
1973 (arguments
1974 `(#:phases
1975 (modify-phases %standard-phases
1976 ;; Fix a collision between a local variable and a definition from
1977 ;; glibc's string.h.
1978 (add-after 'unpack 'fix-collision
1979 (lambda _
1980 (substitute* "gdk/gdkglshapes.c"
1981 ((" index") " triangle_index"))
1982 #t)))))
ed19903d
JD
1983 (inputs `(("gtk+" ,gtk+-2)
1984 ("mesa" ,mesa)
cc8b02f4 1985 ("glu" ,glu)
ed19903d
JD
1986 ("libx11" ,libx11)
1987 ("libxt" ,libxt)))
426adbe8
LC
1988 (native-inputs `(("pkg-config" ,pkg-config)
1989 ("glib" ,glib "bin")))
a83b6a06 1990 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1991 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1992 (synopsis "OpenGL extension to GTK+")
35b9e423 1993 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1994additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1995API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1996 (license license:lgpl2.1+)))
3600420e
JD
1997
1998(define-public glade3
1999 (package
2000 (name "glade")
c6571adb 2001 (version "3.22.1")
b38e45d8
EB
2002 (source (origin
2003 (method url-fetch)
2004 (uri (string-append "mirror://gnome/sources/" name "/"
2005 (version-major+minor version) "/"
f5ca44b8 2006 name "-" version ".tar.xz"))
3600420e 2007 (sha256
f714d9fe 2008 (base32
c6571adb 2009 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2010 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2011 (arguments
2012 `(#:tests? #f ; needs X, GL, and software rendering
2013 #:phases
2014 (modify-phases %standard-phases
2015 (add-before 'configure 'fix-docbook
2016 (lambda* (#:key inputs #:allow-other-keys)
2017 (substitute* "man/Makefile.in"
2018 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2019 (string-append (assoc-ref inputs "docbook-xsl")
2020 "/xml/xsl/docbook-xsl-"
2021 ,(package-version docbook-xsl)
2022 "/manpages/docbook.xsl")))
2023 #t)))))
3600420e 2024 (inputs
f5ca44b8 2025 `(("gtk+" ,gtk+)
3600420e
JD
2026 ("libxml2" ,libxml2)))
2027 (native-inputs
2028 `(("intltool" ,intltool)
f5ca44b8
RW
2029 ("itstool" ,itstool)
2030 ("libxslt" ,libxslt) ;for xsltproc
2031 ("docbook-xml" ,docbook-xml-4.2)
2032 ("docbook-xsl" ,docbook-xsl)
2033 ("python" ,python-2)
3600420e
JD
2034 ("pkg-config" ,pkg-config)))
2035 (home-page "https://glade.gnome.org")
2036 (synopsis "GTK+ rapid application development tool")
2037 (description "Glade is a rapid application development (RAD) tool to
2038enable quick & easy development of user interfaces for the GTK+ toolkit and
2039the GNOME desktop environment.")
1dd26275
LC
2040 (license license:lgpl2.0+)))
2041
2042(define-public libcroco
2043 (package
2044 (name "libcroco")
8bdacad2 2045 (version "0.6.13")
1dd26275
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"))
1dd26275
LC
2051 (sha256
2052 (base32
8bdacad2 2053 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2054 (build-system gnu-build-system)
2055 (native-inputs
2056 `(("pkg-config" ,pkg-config)))
2057 (inputs
2058 `(("glib" ,glib)
2059 ("libxml2" ,libxml2)
2060 ("zlib" ,zlib)))
2061 (home-page "https://github.com/GNOME/libcroco")
2062 (synopsis "CSS2 parsing and manipulation library")
2063 (description
2064 "Libcroco is a standalone CSS2 parsing and manipulation library.
2065The parser provides a low level event driven SAC-like API and a CSS object
2066model like API. Libcroco provides a CSS2 selection engine and an experimental
2067XML/CSS rendering engine.")
2068
2069 ;; LGPLv2.1-only.
2070 (license license:lgpl2.1)))
25178594
LC
2071
2072(define-public libgsf
2073 (package
2074 (name "libgsf")
8d1644a1 2075 (version "1.14.46")
25178594
LC
2076 (source (origin
2077 (method url-fetch)
b38e45d8
EB
2078 (uri (string-append "mirror://gnome/sources/" name "/"
2079 (version-major+minor version) "/"
2080 name "-" version ".tar.xz"))
25178594
LC
2081 (sha256
2082 (base32
8d1644a1 2083 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2084 (build-system gnu-build-system)
2085 (native-inputs
2086 `(("intltool" ,intltool)
2087 ("pkg-config" ,pkg-config)))
2088 (inputs
2089 `(("python" ,python)
2090 ("zlib" ,zlib)
2091 ("bzip2" ,bzip2)))
2092 (propagated-inputs
2093 `(("gdk-pixbuf" ,gdk-pixbuf)
2094 ("glib" ,glib)
2095 ("libxml2" ,libxml2)))
f032d0be 2096 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2097 (synopsis "GNOME's Structured File Library")
2098 (description
2099 "Libgsf aims to provide an efficient extensible I/O abstraction for
2100dealing with different structured file formats.")
2101
2102 ;; LGPLv2.1-only.
2103 (license license:lgpl2.1)))
63016e7c
LC
2104
2105(define-public librsvg
f67417a1 2106 (package
35b256f5 2107 (replacement librsvg/fixed)
f67417a1
MB
2108 (name "librsvg")
2109 (version "2.40.20")
2110 (source (origin
2111 (method url-fetch)
2112 (uri (string-append "mirror://gnome/sources/" name "/"
2113 (version-major+minor version) "/"
2114 name "-" version ".tar.xz"))
2115 (sha256
2116 (base32
2117 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2118 (build-system gnu-build-system)
2119 (arguments
2120 `(#:configure-flags
2121 (list "--disable-static"
2122 "--enable-vala") ; needed for e.g. gnome-mines
2123 #:phases
2124 (modify-phases %standard-phases
2125 (add-before 'configure 'pre-configure
2126 (lambda* (#:key inputs #:allow-other-keys)
2127 (substitute* "gdk-pixbuf-loader/Makefile.in"
2128 ;; By default the gdk-pixbuf loader is installed under
2129 ;; gdk-pixbuf's prefix. Work around that.
2130 (("gdk_pixbuf_moduledir = .*$")
2131 (string-append "gdk_pixbuf_moduledir = "
2132 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2133 "loaders\n"))
2134 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2135 (("gdk_pixbuf_cache_file = .*$")
2136 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2137 #t))
2138 (add-before 'check 'remove-failing-tests
2139 (lambda _
2140 (with-directory-excursion "tests/fixtures/reftests"
2141 (for-each delete-file
2142 '(;; This test fails on i686:
2143 "svg1.1/masking-path-04-b.svg"
2144 ;; This test fails on armhf:
2145 "svg1.1/masking-mask-01-b.svg"
2146 ;; This test fails on aarch64:
2147 "bugs/777834-empty-text-children.svg")))
2148 #t)))))
2149 (native-inputs
2150 `(("pkg-config" ,pkg-config)
2151 ("vala" ,vala)
2152 ("glib" ,glib "bin") ; glib-mkenums, etc.
2153 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2154 (inputs
2155 `(("pango" ,pango)
2156 ("libcroco" ,libcroco)
2157 ("bzip2" ,bzip2)
2158 ("libgsf" ,libgsf)
2159 ("libxml2" ,libxml2)))
2160 (propagated-inputs
2161 ;; librsvg-2.0.pc refers to all of that.
2162 `(("cairo" ,cairo)
2163 ("gdk-pixbuf" ,gdk-pixbuf)
2164 ("glib" ,glib)))
2165 (home-page "https://wiki.gnome.org/LibRsvg")
2166 (synopsis "Render SVG files using Cairo")
2167 (description
2168 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2169library.")
2170 (license license:lgpl2.0+)))
2171
23f33de1
EF
2172(define librsvg/fixed
2173 (package
2174 (inherit librsvg)
2175 (name "librsvg")
2176 (version "2.40.21")
2177 (source (origin
2178 (method url-fetch)
2179 (uri (string-append "mirror://gnome/sources/" name "/"
2180 (version-major+minor version) "/"
2181 name "-" version ".tar.xz"))
2182 (sha256
2183 (base32
2184 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2185
8f523eb9
EF
2186(define* (computed-origin-method gexp-promise hash-algo hash
2187 #:optional (name "source")
2188 #:key (system (%current-system))
2189 (guile (default-guile)))
2190 "Return a derivation that executes the G-expression that results
2191from forcing GEXP-PROMISE."
2192 (mlet %store-monad ((guile (package->derivation guile system)))
2193 (gexp->derivation (or name "computed-origin")
2194 (force gexp-promise)
2195 #:graft? #f ;nothing to graft
2196 #:system system
2197 #:guile-for-build guile)))
2198
2199(define librsvg-next-source
8d6f9168 2200 (let* ((version "2.46.4")
8f523eb9
EF
2201 (upstream-source (origin
2202 (method url-fetch)
2203 (uri (string-append "mirror://gnome/sources/librsvg/"
2204 (version-major+minor version) "/"
2205 "librsvg-" version ".tar.xz"))
2206 (sha256
2207 (base32
8d6f9168 2208 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl")))))
8f523eb9
EF
2209 (origin
2210 (method computed-origin-method)
2211 (file-name (string-append "librsvg-" version ".tar.xz"))
2212 (sha256 #f)
2213 (uri
2214 (delay
2215 (with-imported-modules '((guix build utils))
2216 #~(begin
2217 (use-modules (guix build utils))
2218 (set-path-environment-variable
2219 "PATH" '("bin")
2220 (list "/tmp"
2221 #+(canonical-package xz)
2222 #+(canonical-package gzip)
2223 #+(canonical-package tar)))
2224 (invoke "tar" "xvf" #+upstream-source)
2225 (with-directory-excursion (string-append "librsvg-" #$version)
91f0c790
JS
2226 ;; The following crate(s) are needed in addition to the ones replaced:
2227 (begin
2228 (invoke
5213b697
EF
2229 "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor")
2230 (invoke
2231 "tar" "xvf" #+(package-source rust-proc-macro2-0.4) "-C" "vendor")
2232 (invoke
2233 "tar" "xvf" #+(package-source rust-quote-0.6) "-C" "vendor")
2234 (invoke
2235 "tar" "xvf" #+(package-source rust-unicode-xid-0.1) "-C" "vendor")
2236 (invoke
2237 "tar" "xvf" #+(package-source rust-maybe-uninit-2.0) "-C" "vendor"))
8f523eb9
EF
2238 (for-each
2239 (lambda (crate)
2240 (delete-file-recursively (string-append "vendor/" (car crate)))
2241 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
393d7214 2242 '(("aho-corasick" . #+(package-source rust-aho-corasick-0.7))
8f523eb9 2243;; alga 0.9
e19cb895
EF
2244 ("approx" . #+(package-source rust-approx-0.3))
2245 ("arrayvec" . #+(package-source rust-arrayvec-0.4))
8f523eb9 2246 ("atty" . #+(package-source rust-atty-0.2))
91f0c790 2247 ("autocfg" . #+(package-source rust-autocfg-1.0))
8f523eb9
EF
2248 ("bitflags" . #+(package-source rust-bitflags-1))
2249;; block 0.1
e19cb895
EF
2250 ("bstr" . #+(package-source rust-bstr-0.2))
2251 ("byteorder" . #+(package-source rust-byteorder-1.3))
8f523eb9
EF
2252;; cairo-rs 0.7
2253;; cairo-sys-rs 0.9
e19cb895 2254 ("cast" . #+(package-source rust-cast-0.2))
8f523eb9
EF
2255 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
2256 ("clap" . #+(package-source rust-clap-2))
e19cb895
EF
2257 ("cloudabi" . #+(package-source rust-cloudabi-0.0))
2258 ("criterion" . #+(package-source rust-criterion-0.2))
2259 ("criterion-plot" . #+(package-source rust-criterion-plot-0.3))
393d7214
JS
2260 ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7))
2261 ("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.8))
2262 ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.2))
2263 ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.7))
8f523eb9
EF
2264;; cssparser 0.25
2265;; cssparser-macros 0.3
e19cb895
EF
2266 ("csv" . #+(package-source rust-csv-1.1))
2267 ("csv-core" . #+(package-source rust-csv-core-0.1))
8f523eb9
EF
2268;; data-url 0.1
2269;; downcast-rs 1.0
2270 ("dtoa" . #+(package-source rust-dtoa-0.4))
2271;; dtoa-short 0.3
e19cb895
EF
2272 ("either" . #+(package-source rust-either-1.5))
2273 ("encoding" . #+(package-source rust-encoding-0.2))
2274 ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219))
2275 ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219))
2276 ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219))
2277 ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219))
2278 ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219))
2279 ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1))
8f523eb9
EF
2280;; float-cmp 0.5
2281;; fragile 0.3
e19cb895
EF
2282 ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2283 ("futf" . #+(package-source rust-futf-0.1))
8f523eb9
EF
2284;; gdk-pixbuf 0.7
2285;; gdk-pixbuf-sys 0.9
e19cb895 2286 ("generic-array" . #+(package-source rust-generic-array-0.12))
8f523eb9 2287;; gio 0.7
8d6f9168 2288 ("gio-sys" . #+(package-source rust-gio-sys-0.9))
8f523eb9 2289;; glib 0.8
8d6f9168
EF
2290 ("glib-sys" . #+(package-source rust-glib-sys-0.9))
2291 ("gobject-sys" . #+(package-source rust-gobject-sys-0.9))
393d7214 2292 ("idna" . #+(package-source rust-idna-0.2))
e19cb895 2293 ("itertools" . #+(package-source rust-itertools-0.8))
8f523eb9 2294 ("itoa" . #+(package-source rust-itoa-0.4))
e19cb895 2295 ("language-tags" . #+(package-source rust-language-tags-0.2))
21c8ec75 2296 ("lazy_static" . #+(package-source rust-lazy-static-1))
8f523eb9 2297 ("libc" . #+(package-source rust-libc-0.2))
91f0c790 2298 ("libm" . #+(package-source rust-libm-0.1))
8d6f9168 2299 ("locale_config" . #+(package-source rust-locale-config-0.3))
8f523eb9 2300 ("log" . #+(package-source rust-log-0.4))
e19cb895 2301 ("mac" . #+(package-source rust-mac-0.1))
5213b697 2302 ("malloc_buf" . #+(package-source rust-malloc-buf-0.0))
8f523eb9 2303;; markup5ever 0.9
e19cb895 2304 ("matches" . #+(package-source rust-matches-0.1))
8f523eb9 2305;; matrixmultiply 0.2
393d7214
JS
2306 ("memchr" . #+(package-source rust-memchr-2.2))
2307 ("memoffset" . #+(package-source rust-memoffset-0.5))
8f523eb9 2308;; nalgebra 0.18
e19cb895 2309 ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0))
8f523eb9 2310 ("nodrop" . #+(package-source rust-nodrop-0.1))
e19cb895 2311 ("num-complex" . #+(package-source rust-num-complex-0.2))
8f523eb9 2312 ("num-integer" . #+(package-source rust-num-integer-0.1))
5213b697 2313 ("num-rational" . #+(package-source rust-num-rational-0.2))
8f523eb9
EF
2314 ("num-traits" . #+(package-source rust-num-traits-0.2))
2315 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
5213b697
EF
2316 ("objc" . #+(package-source rust-objc-0.2))
2317 ("objc-foundation" . #+(package-source rust-objc-foundation-0.1))
2318 ("objc_id" . #+(package-source rust-objc-id-0.1))
8f523eb9
EF
2319;; pango 0.7
2320;; pango-sys 0.9
2321;; pangocairo 0.8
2322;; pangocairo-sys 0.10
2323 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
e19cb895
EF
2324 ("phf" . #+(package-source rust-phf-0.7))
2325 ("phf_codegen" . #+(package-source rust-phf-codegen-0.7))
2326 ("phf_generator" . #+(package-source rust-phf-generator-0.7))
2327 ("phf_shared" . #+(package-source rust-phf-shared-0.7))
2328 ("pkg-config" . #+(package-source rust-pkg-config-0.3))
2329 ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1))
8f523eb9
EF
2330 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2331;; procedural-masquerade 0.1
2332 ("quote" . #+(package-source rust-quote-1.0))
e19cb895 2333 ("rand" . #+(package-source rust-rand-0.6))
8f523eb9
EF
2334 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2335 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2336 ("rand_core" . #+(package-source rust-rand-core-0.4))
2337 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2338 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2339 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2340 ("rand_os" . #+(package-source rust-rand-os-0.1))
2341 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2342 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
393d7214 2343 ("rand_xoshiro" . #+(package-source rust-rand-xoshiro-0.1))
e19cb895 2344;; rawpointer 0.2
393d7214
JS
2345 ("rayon" . #+(package-source rust-rayon-1.3))
2346 ("rayon-core" . #+(package-source rust-rayon-core-1.7))
8f523eb9
EF
2347;; rctree 0.3
2348 ("rdrand" . #+(package-source rust-rdrand-0.4))
393d7214 2349 ("regex" . #+(package-source rust-regex-1.3))
e19cb895 2350 ("regex-automata" . #+(package-source rust-regex-automata-0.1))
393d7214 2351 ("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
e19cb895 2352 ("rustc_version" . #+(package-source rust-rustc-version-0.2))
8f523eb9
EF
2353 ("ryu" . #+(package-source rust-ryu-1.0))
2354 ("same-file" . #+(package-source rust-same-file-1.0))
2355 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
e19cb895
EF
2356 ("semver" . #+(package-source rust-semver-0.9))
2357 ("semver-parser" . #+(package-source rust-semver-parser-0.7))
8f523eb9
EF
2358 ("serde" . #+(package-source rust-serde-1.0))
2359 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2360 ("serde_json" . #+(package-source rust-serde-json-1.0))
e19cb895
EF
2361 ("siphasher" . #+(package-source rust-siphasher-0.2))
2362 ("smallvec" . #+(package-source rust-smallvec-0.6))
2363 ("string_cache" . #+(package-source rust-string-cache-0.7))
5213b697 2364 ("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4))
e19cb895 2365 ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3))
8f523eb9 2366 ("syn" . #+(package-source rust-syn-1.0))
e19cb895 2367 ("tendril" . #+(package-source rust-tendril-0.4))
8f523eb9 2368 ("textwrap" . #+(package-source rust-textwrap-0.11))
393d7214 2369 ("thread_local" . #+(package-source rust-thread-local-1.0))
e19cb895
EF
2370 ("tinytemplate" . #+(package-source rust-tinytemplate-1.0))
2371 ("typenum" . #+(package-source rust-typenum-1.10))
2372 ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3))
2373 ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1))
8f523eb9
EF
2374 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2375 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
393d7214 2376 ("url" . #+(package-source rust-url-2.1))
e19cb895 2377 ("utf-8" . #+(package-source rust-utf-8-0.7))
8f523eb9
EF
2378 ("walkdir" . #+(package-source rust-walkdir-2.2))
2379 ("winapi" . #+(package-source rust-winapi-0.3))
e19cb895 2380 ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
8f523eb9 2381 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
e19cb895 2382 ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
5213b697 2383 ("xml-rs" . #+(package-source rust-xml-rs-0.8)))))
8f523eb9
EF
2384 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2385 (force-output)
2386 (invoke "tar" "cfa" #$output
2387 ;; Avoid non-determinism in the archive. We set the
2388 ;; mtime of files in the archive to early 1980 because
2389 ;; the build process fails if the mtime of source
2390 ;; files is pre-1980, due to the creation of zip
2391 ;; archives.
2392 "--mtime=@315619200" ; 1980-01-02 UTC
2393 "--owner=root:0"
2394 "--group=root:0"
2395 "--sort=name"
2396 (string-append "librsvg-" #$version))
2397 #t)))))))
2398
f67417a1 2399(define-public librsvg-next
63016e7c
LC
2400 (package
2401 (name "librsvg")
3276e123 2402 (version "2.46.4")
8f523eb9 2403 (source librsvg-next-source)
63016e7c
LC
2404 (build-system gnu-build-system)
2405 (arguments
d953418a
RW
2406 `(#:configure-flags
2407 (list "--disable-static"
2408 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2409 #:make-flags '("CC=gcc")
8f523eb9 2410 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2411 #:phases
b6239e45 2412 (modify-phases %standard-phases
8f523eb9 2413 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2414 (lambda _
8f523eb9
EF
2415 (use-modules (guix build cargo-utils))
2416 (substitute* "librsvg/Cargo.toml"
2417 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
8d6f9168
EF
2418 (substitute* "rsvg_internals/Cargo.toml"
2419 (("\"=") "\""))
b665a246 2420 (generate-all-checksums "vendor")
8f523eb9
EF
2421 (delete-file "Cargo.lock")
2422 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2423 (add-before 'configure 'pre-configure
2424 (lambda* (#:key inputs #:allow-other-keys)
2425 (substitute* "gdk-pixbuf-loader/Makefile.in"
2426 ;; By default the gdk-pixbuf loader is installed under
2427 ;; gdk-pixbuf's prefix. Work around that.
2428 (("gdk_pixbuf_moduledir = .*$")
2429 (string-append "gdk_pixbuf_moduledir = "
2430 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2431 "loaders\n"))
2432 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2433 (("gdk_pixbuf_cache_file = .*$")
2434 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2435 #t))
ec47c07d 2436 (add-before 'check 'remove-failing-tests
b6239e45 2437 (lambda _
64a153bd
MW
2438 (with-directory-excursion "tests/fixtures/reftests"
2439 (for-each delete-file
ec47c07d
MB
2440 '(;; The images produced by these tests differ slightly
2441 ;; from their reference counterparts due to differences
2442 ;; in the build environment (missing fonts, etc). See
2443 ;; <tests/README.md> for details.
2444 ;; These fail on x86_64.
2445 "svg1.1/coords-viewattr-02-b.svg"
2446 "svg1.1/filters-composite-04-f.svg"
2447 "svg1.1/filters-image-01-b.svg"
2448 "svg1.1/filters-conv-02-f.svg"
2449 "svg1.1/filters-conv-04-f.svg"
2450 ;; This test fails on i686:
64a153bd 2451 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2452 ;; This test fails on armhf:
2453 "svg1.1/masking-mask-01-b.svg"
64a153bd 2454 ;; This test fails on aarch64:
ec47c07d 2455 "bugs/777834-empty-text-children.svg")))
b6239e45 2456 #t)))))
63016e7c
LC
2457 (native-inputs
2458 `(("pkg-config" ,pkg-config)
64855281
MB
2459 ;; This is the minimum supported Rust version in Librsvg 2.46.
2460 ("rust" ,rust-1.34)
2461 ("cargo" ,rust-1.34 "cargo")
d953418a 2462 ("vala" ,vala)
44add1ce 2463 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2464 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2465 (inputs
2466 `(("pango" ,pango)
2467 ("libcroco" ,libcroco)
2468 ("bzip2" ,bzip2)
2469 ("libgsf" ,libgsf)
2470 ("libxml2" ,libxml2)))
2471 (propagated-inputs
2472 ;; librsvg-2.0.pc refers to all of that.
2473 `(("cairo" ,cairo)
2474 ("gdk-pixbuf" ,gdk-pixbuf)
2475 ("glib" ,glib)))
2476 (home-page "https://wiki.gnome.org/LibRsvg")
2477 (synopsis "Render SVG files using Cairo")
2478 (description
35b9e423 2479 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2480library.")
cf9dad6c 2481 (license license:lgpl2.1+)))
5698b8b8
JD
2482
2483(define-public libidl
2484 (package
2485 (name "libidl")
2486 (version "0.8.14")
2487 (source (origin
2488 (method url-fetch)
80a06e62
EF
2489 (uri (string-append "mirror://gnome/sources/libIDL/"
2490 (version-major+minor version) "/"
2491 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2492 (sha256
2493 (base32
2494 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2495 (build-system gnu-build-system)
2496 (inputs `(("glib" ,glib)))
2497 (native-inputs
2498 `(("pkg-config" ,pkg-config)
b3546174 2499 ("flex" ,flex)
5698b8b8
JD
2500 ("bison" ,bison)))
2501 (home-page "http://freecode.com/projects/libidl")
2502 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2503 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2504Definition Language (idl) files, which is a specification for defining
2505portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2506GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2507functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2508 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2509 (license license:lgpl2.0+)))
2510
2511
2512(define-public orbit2
2513 (package
2514 (name "orbit2")
2515 (version "2.14.19")
2516 (source (origin
2517 (method url-fetch)
2e6ecc5c 2518 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2519 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2520 (version-major+minor version) "/"
2521 upstream-name "-" version ".tar.bz2")))
5698b8b8 2522 (sha256
a124bbd2
SB
2523 (base32
2524 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2525 (build-system gnu-build-system)
2526 (arguments
a124bbd2 2527 `(#:configure-flags
8aad2e32
LC
2528 '(;; We don't need static libraries, plus they don't build reproducibly
2529 ;; (non-deterministic ordering of .o files in the archive.)
2530 "--disable-static"
2531
2532 ;; The programmer kindly gives us a hook to turn off deprecation
2533 ;; warnings ...
2534 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2535 ;; ... which they then completly ignore !!
2536 #:phases
dc1d3cde
KK
2537 (modify-phases %standard-phases
2538 (add-before 'configure 'ignore-deprecations
2539 (lambda _
2540 (substitute* "linc2/src/Makefile.in"
2541 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2542 #t)))))
5698b8b8
JD
2543 (inputs `(("glib" ,glib)
2544 ("libidl" ,libidl)))
2545 (native-inputs
2546 `(("pkg-config" ,pkg-config)))
2547 (home-page "https://projects.gnome.org/orbit2/")
2548 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2549 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2550featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2551 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2552 ;; a version. SOME of the code files have licence notices for GPLv2+.
2553 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2554 (license license:gpl2+)
2555 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2556
2557
2558(define-public libbonobo
2559 (package
2560 (name "libbonobo")
2561 (version "2.32.1")
2562 (source (origin
2563 (method url-fetch)
5becd025 2564 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2565 (version-major+minor version)
5becd025 2566 "/" name "-" version ".tar.bz2"))
5698b8b8 2567 (sha256
f1fc45a9 2568 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2569 (patches (search-patches
2570 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2571 (build-system gnu-build-system)
2572 (arguments
2573 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2574 `(#:configure-flags
2575 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2576 ;; ... which they then completly ignore !!
2577 #:phases
dc1d3cde
KK
2578 (modify-phases %standard-phases
2579 (add-before 'configure 'ignore-deprecations
2580 (lambda _
2581 (substitute* "activation-server/Makefile.in"
2582 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2583 #t)))
2584
2585 ;; There's apparently a race condition between the server stub
2586 ;; generation and linking of the example under 'samples/echo' that can
2587 ;; lead do undefined references when building in parallel, as reported
2588 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2589 ;; Thus, disable parallel builds.
2590 #:parallel-build? #f))
5698b8b8
JD
2591 (inputs `(("popt" ,popt)
2592 ("libxml2" ,libxml2)))
2593 ;; The following are Required by the .pc file
44add1ce 2594 (propagated-inputs
5698b8b8
JD
2595 `(("glib" ,glib)
2596 ("orbit2" ,orbit2)))
2597 (native-inputs
2598 `(("intltool" ,intltool)
2599 ("pkg-config" ,pkg-config)
221ed17a 2600 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2601 ("flex" ,flex)
2602 ("bison" ,bison)))
2603 (home-page "https://developer.gnome.org/libbonobo/")
2604 (synopsis "Framework for creating reusable components for use in GNOME applications")
2605 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2606use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2607 ;; Licence not explicitly stated. Source files contain no licence notices.
2608 ;; Tarball contains text of both GPLv2 and LGPLv2
2609 ;; GPLv2 covers both conditions
2610 (license license:gpl2+)))
2611
2612
2613(define-public gconf
2614 (package
2615 (name "gconf")
2616 (version "3.2.6")
2617 (source (origin
2618 (method url-fetch)
a124bbd2
SB
2619 (uri
2620 (let ((upstream-name "GConf"))
2621 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2622 (version-major+minor version) "/"
2623 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2624 (sha256
2625 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2626 (build-system gnu-build-system)
2e88d113 2627 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2628 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2629 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2630 ("orbit2" ,orbit2)))
5698b8b8
JD
2631 (native-inputs
2632 `(("intltool" ,intltool)
221ed17a 2633 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2634 ("pkg-config" ,pkg-config)))
2635 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2636 (synopsis "Store application preferences")
2637 (description "Gconf is a system for storing application preferences. It
2638is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2639 (license license:lgpl2.0+)
2640 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2641
2642
2643(define-public gnome-mime-data
2644 (package
2645 (name "gnome-mime-data")
2646 (version "2.18.0")
2647 (source (origin
2648 (method url-fetch)
b38e45d8
EB
2649 (uri (string-append "mirror://gnome/sources/" name "/"
2650 (version-major+minor version) "/"
2651 name "-" version ".tar.bz2"))
5698b8b8
JD
2652 (sha256
2653 (base32
2654 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2655 (build-system gnu-build-system)
2656 (native-inputs
2657 `(("perl" ,perl)
2658 ("intltool" ,intltool)))
3e6add96
LC
2659 (arguments
2660 '(#:phases (modify-phases %standard-phases
2661 (add-after 'configure 'use-our-intltool
2662 (lambda _
2663 ;; Do not use the bundled intltool commands, which lack
2664 ;; the "dotless @INC" fixes of our 'intltool' package.
2665 (substitute* (find-files "." "^Makefile$")
2666 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2667 (string-append "INTLTOOL_" tool " = intltool-"
2668 (string-downcase tool) "\n")))
2669 #t)))))
f032d0be 2670 (home-page "https://www.gnome.org")
35b9e423 2671 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2672 (description "GNOME Mime Data is a module which contains the base MIME
2673and Application database for GNOME. The data stored by this module is
2674designed to be accessed through the MIME functions in GnomeVFS.")
2675 (license license:gpl2+)))
2676
2677
2678(define-public gnome-vfs
2679 (package
2680 (name "gnome-vfs")
2681 (version "2.24.4")
2682 (source (origin
2683 (method url-fetch)
b38e45d8
EB
2684 (uri (string-append "mirror://gnome/sources/" name "/"
2685 (version-major+minor version) "/"
2686 name "-" version ".tar.bz2"))
5698b8b8 2687 (sha256
9e12bc34
MW
2688 (base32
2689 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2690 (build-system gnu-build-system)
2691 (arguments
db5127d8 2692 `(#:phases
dc1d3cde
KK
2693 (modify-phases %standard-phases
2694 (add-before 'configure 'ignore-deprecations
2695 (lambda _
2696 (substitute* '("libgnomevfs/Makefile.in"
2697 "daemon/Makefile.in")
2698 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2699 #t))
2700 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2701 (lambda _
2702 (substitute* "test/test-async-cancel.c"
2703 (("EXIT_FAILURE") "77"))
2704 #t)))))
2e6ecc5c 2705 (inputs `(("libxml2" ,libxml2)
5698b8b8 2706 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2707 ("gconf" ,gconf)
2708 ("gnome-mime-data" ,gnome-mime-data)
2709 ("zlib" ,zlib)))
2710 (native-inputs
221ed17a
EB
2711 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2712 ("intltool" ,intltool)
5698b8b8
JD
2713 ("pkg-config" ,pkg-config)))
2714 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2715 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2716 (description
2717 "GnomeVFS is the core library used to access files and folders in GNOME
2718applications. It provides a file system abstraction which allows applications
2719to access local and remote files with a single consistent API.")
5698b8b8
JD
2720 (license license:lgpl2.0+)))
2721
2722
2723
2724(define-public libgnome
2725 (package
2726 (name "libgnome")
2727 (version "2.32.1")
2728 (source (origin
2729 (method url-fetch)
b38e45d8
EB
2730 (uri (string-append "mirror://gnome/sources/" name "/"
2731 (version-major+minor version) "/"
2732 name "-" version ".tar.bz2"))
5698b8b8
JD
2733 (sha256
2734 (base32
17c3eea7
LC
2735 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2736 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2737 (build-system gnu-build-system)
2738 (arguments
2739 `(#:phases
dc1d3cde
KK
2740 (modify-phases %standard-phases
2741 (add-before 'configure 'enable-deprecated
2742 (lambda _
2743 (substitute* "libgnome/Makefile.in"
2744 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2745 #t)))))
25338e9f 2746 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2747 (native-inputs
221ed17a
EB
2748 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2749 ("intltool" ,intltool)
5698b8b8
JD
2750 ("pkg-config" ,pkg-config)))
2751 ;; The following are listed as Required in the .pc file
2752 ;; (except for libcanberra -- which seems to be oversight on the part
2753 ;; of the upstream developers -- anything that links against libgnome,
2754 ;; must also link against libcanberra
2755 (propagated-inputs
2756 `(("libcanberra" ,libcanberra)
2757 ("libbonobo" ,libbonobo)
2758 ("gconf" ,gconf)
a640d3d5
LC
2759 ("gnome-vfs" ,gnome-vfs)
2760 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2761 (home-page "https://developer.gnome.org/libgnome/")
2762 (synopsis "Useful routines for building applications")
2763 (description "The libgnome library provides a number of useful routines
2764for building modern applications, including session management, activation of
2765files and URIs, and displaying help.")
2766 (license license:lgpl2.0+)))
2767
2768
2769(define-public libart-lgpl
2770 (package
2771 (name "libart-lgpl")
76c9b6aa 2772 (version "2.3.21")
5698b8b8
JD
2773 (source (origin
2774 (method url-fetch)
2775 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2776 (string-append "mirror://gnome/sources/" upstream-name "/"
2777 (version-major+minor version) "/"
2778 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2779 (sha256
2780 (base32
76c9b6aa 2781 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2782 (build-system gnu-build-system)
2783 (native-inputs
2784 `(("pkg-config" ,pkg-config)))
2785 (home-page "https://people.gnome.org/~mathieu/libart")
2786 (synopsis "2D drawing library")
2e6ecc5c 2787 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2788high-quality vector-based 2D library with antialiasing and alpha composition.")
2789 (license license:lgpl2.0+)))
2790
2791
2792
2793(define-public libgnomecanvas
2794 (package
2795 (name "libgnomecanvas")
2796 (version "2.30.3")
2797 (source (origin
2798 (method url-fetch)
b38e45d8
EB
2799 (uri (string-append "mirror://gnome/sources/" name "/"
2800 (version-major+minor version) "/"
2801 name "-" version ".tar.gz"))
5698b8b8
JD
2802 (sha256
2803 (base32
2804 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2805 (build-system gnu-build-system)
2806 ;; Mentioned as Required in the .pc file
2807 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2808 ("gtk+" ,gtk+-2)))
2809 (native-inputs
2810 `(("intltool" ,intltool)
221ed17a 2811 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2812 ("pkg-config" ,pkg-config)))
2813 (home-page "https://developer.gnome.org/libgnomecanvas/")
2814 (synopsis "Flexible widget for creating interactive structured graphics")
2815 (description "The GnomeCanvas widget provides a flexible widget for
2816creating interactive structured graphics.")
2817 (license license:lgpl2.0+)))
2818
eadc734e
RW
2819(define-public libgnomecanvasmm
2820 (package
2821 (name "libgnomecanvasmm")
2822 (version "2.26.0")
2823 (source (origin
2824 (method url-fetch)
2825 (uri (string-append "mirror://gnome/sources/" name "/"
2826 (version-major+minor version) "/"
2827 name "-" version ".tar.bz2"))
2828 (sha256
2829 (base32
2830 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2831 (build-system gnu-build-system)
2832 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2833 (native-inputs
2834 `(("gtkmm-2" ,gtkmm-2)
2835 ("pkg-config" ,pkg-config)))
8e933cb3 2836 (home-page "https://gtkmm.org")
eadc734e
RW
2837 (synopsis "C++ bindings to the GNOME Canvas library")
2838 (description "C++ bindings to the GNOME Canvas library.")
2839 (license license:lgpl2.0+)))
2840
5698b8b8
JD
2841(define-public libgnomeui
2842 (package
2843 (name "libgnomeui")
2844 (version "2.24.5")
2845 (source (origin
2846 (method url-fetch)
b38e45d8
EB
2847 (uri (string-append "mirror://gnome/sources/" name "/"
2848 (version-major+minor version) "/"
2849 name "-" version ".tar.bz2"))
8fa1872a 2850 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2851 (sha256
2852 (base32
2853 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2854 (build-system gnu-build-system)
2855 ;; Mentioned as Required in the .pc file
0a38a497
AE
2856 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2857 ("libgnome" ,libgnome)
2858 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2859 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2860 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2861 ("popt" ,popt)
2862 ("libbonobo" ,libbonobo)
2863 ("libxml2" ,libxml2)
2864 ("libglade" ,libglade)))
2865 (native-inputs
221ed17a
EB
2866 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2867 ("intltool" ,intltool)
5698b8b8
JD
2868 ("pkg-config" ,pkg-config)))
2869 (home-page "https://developer.gnome.org/libgnomeui/")
2870 (synopsis "Additional widgets for applications")
35b9e423 2871 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2872applications. Many of the widgets from libgnomeui have already been
2873ported to GTK+.")
5698b8b8
JD
2874 (license license:lgpl2.0+)))
2875
2876(define-public libglade
2877 (package
2878 (name "libglade")
2879 (version "2.6.4")
2880 (source (origin
2881 (method url-fetch)
b38e45d8
EB
2882 (uri (string-append "mirror://gnome/sources/" name "/"
2883 (version-major+minor version) "/"
2884 name "-" version ".tar.bz2"))
5698b8b8
JD
2885 (sha256
2886 (base32
2887 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2888 (build-system gnu-build-system)
2889 (inputs
92dcc23d
AE
2890 `(("python" ,python))) ;; needed for the optional libglade-convert program
2891 (propagated-inputs
5698b8b8 2892 `(("gtk+-2" ,gtk+-2)
92dcc23d 2893 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2894 (native-inputs
2895 `(("pkg-config" ,pkg-config)))
2896 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2897 (synopsis "Load glade interfaces and access the glade built widgets")
2898 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2899graphical interfaces described in glade files and for accessing the
2900widgets built in the loading process.")
2901 (license license:gpl2+))) ; This is correct. GPL not LGPL
2902
2903(define-public libgnomeprint
eb497b66
LC
2904 ;; This library has been deprecated since 2006; see
2905 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2906 (package
2907 (name "libgnomeprint")
d19db454 2908 (version "2.18.8")
5698b8b8
JD
2909 (source (origin
2910 (method url-fetch)
b38e45d8
EB
2911 (uri (string-append "mirror://gnome/sources/" name "/"
2912 (version-major+minor version) "/"
2913 name "-" version ".tar.bz2"))
5698b8b8
JD
2914 (sha256
2915 (base32
d19db454 2916 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2917 (build-system gnu-build-system)
2918 (inputs
2919 `(("popt" ,popt)
2920 ("libart-lgpl" ,libart-lgpl)
2921 ("gtk+" ,gtk+-2)
44add1ce 2922 ("libxml2" ,libxml2)))
5698b8b8
JD
2923 (native-inputs
2924 `(("intltool" ,intltool)
221ed17a 2925 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2926 ("pkg-config" ,pkg-config)))
2927 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2928 (synopsis "Printing framework for GNOME")
eb497b66
LC
2929 (description
2930 "GNOME-print was a printing framework for GNOME. It has been deprecated
2931since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2932 (license license:lgpl2.0+)))
2933
2934
2935(define-public libgnomeprintui
eb497b66 2936 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2937 (package
2938 (name "libgnomeprintui")
36053d7f 2939 (version "2.18.6")
5698b8b8
JD
2940 (source (origin
2941 (method url-fetch)
b38e45d8
EB
2942 (uri (string-append "mirror://gnome/sources/" name "/"
2943 (version-major+minor version) "/"
2944 name "-" version ".tar.bz2"))
5698b8b8
JD
2945 (sha256
2946 (base32
36053d7f 2947 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2948 (build-system gnu-build-system)
2949 ;; Mentioned as Required in the .pc file
2950 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2951 (inputs `(("gtk+" ,gtk+-2)
2952 ("glib" ,glib)
2953 ("gnome-icon-theme" ,gnome-icon-theme)
2954 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2955 ("libxml2" ,libxml2)))
5698b8b8
JD
2956 (native-inputs
2957 `(("intltool" ,intltool)
2958 ("pkg-config" ,pkg-config)))
2959 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2960 (synopsis "Printing framework for GNOME")
eb497b66 2961 (description (package-description libgnomeprint))
5698b8b8
JD
2962 (license license:lgpl2.0+)))
2963
5698b8b8
JD
2964(define-public libbonoboui
2965 (package
2966 (name "libbonoboui")
2967 (version "2.24.5")
2968 (source (origin
2969 (method url-fetch)
b38e45d8
EB
2970 (uri (string-append "mirror://gnome/sources/" name "/"
2971 (version-major+minor version) "/"
2972 name "-" version ".tar.bz2"))
5698b8b8
JD
2973 (sha256
2974 (base32
2975 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2976 (build-system gnu-build-system)
2977 (arguments
2978 `(#:phases
dc1d3cde
KK
2979 (modify-phases %standard-phases
2980 (add-before 'check 'start-xserver
2981 (lambda* (#:key inputs #:allow-other-keys)
2982 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2983 (disp ":1"))
2984
2985 (setenv "HOME" (getcwd))
2986 (setenv "DISPLAY" disp)
2987 ;; There must be a running X server and make check doesn't start one.
2988 ;; Therefore we must do it.
2989 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2990 ;; Mentioned as Required by the .pc file
2991 (propagated-inputs `(("libxml2" ,libxml2)))
2992 (inputs
2993 `(("popt" ,popt)
2994 ("pangox-compat" ,pangox-compat)
2995 ("libgnome" ,libgnome)
2996 ("libgnomecanvas" ,libgnomecanvas)
2997 ("libglade" ,libglade)))
2998 (native-inputs
221ed17a
EB
2999 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3000 ("intltool" ,intltool)
ff337525 3001 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3002 ("pkg-config" ,pkg-config)))
3003 (home-page "https://developer.gnome.org/libbonoboui/")
3004 (synopsis "Some user interface controls using Bonobo")
3005 (description "The Bonobo UI library provides a number of user interface
3006controls using the Bonobo component framework.")
3007 (license license:lgpl2.0+)))
3008
fecbf86e
SB
3009(define-public libwnck
3010 (package
3011 (name "libwnck")
d3b40696 3012 (version "3.32.0")
fecbf86e
SB
3013 (source (origin
3014 (method url-fetch)
3015 (uri (string-append "mirror://gnome/sources/" name "/"
3016 (version-major+minor version) "/"
3017 name "-" version ".tar.xz"))
3018 (sha256
ad9b8987 3019 (base32
d3b40696
KK
3020 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3021 (build-system meson-build-system)
fecbf86e
SB
3022 (native-inputs
3023 `(("pkg-config" ,pkg-config)
d3b40696
KK
3024 ("glib" ,glib "bin") ; for glib-mkenums
3025 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3026 ("intltool" ,intltool)))
3027 (propagated-inputs
427476d5
SB
3028 `(("gtk+" ,gtk+)
3029 ("libxres" ,libxres)
3030 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3031 (home-page "https://developer.gnome.org/libwnck/")
3032 (synopsis "Window Navigator Construction Kit")
3033 (description
3034 "Libwnck is the Window Navigator Construction Kit, a library for use in
3035writing pagers, tasklists, and more generally applications that are dealing
3036with window management. It tries hard to respect the Extended Window Manager
3037Hints specification (EWMH).")
3038 (license license:lgpl2.0+)))
3039
3040;; stable version for gtk2, required by xfwm4.
dbb7a081 3041(define-public libwnck-2
fecbf86e
SB
3042 (package (inherit libwnck)
3043 (name "libwnck")
3044 (version "2.30.7")
3045 (source (origin
3046 (method url-fetch)
3047 (uri (string-append "mirror://gnome/sources/" name "/"
3048 (version-major+minor version) "/"
3049 name "-" version ".tar.xz"))
3050 (sha256
3051 (base32
3052 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3053 (build-system gnu-build-system)
3054 (native-inputs
3055 `(("pkg-config" ,pkg-config)
3056 ("intltool" ,intltool)))
fecbf86e 3057 (propagated-inputs
427476d5
SB
3058 `(("gtk+" ,gtk+-2)
3059 ("libxres" ,libxres)
3060 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3061
3062(define-public goffice
3063 (package
3064 (name "goffice")
09abffcc 3065 (version "0.10.46")
b804c61e
JD
3066 (source (origin
3067 (method url-fetch)
16243f0b 3068 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3069 (version-major+minor version) "/"
16243f0b 3070 "goffice-" version ".tar.xz"))
b804c61e 3071 (sha256
09abffcc 3072 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 3073 (build-system gnu-build-system)
72a06d3e 3074 (outputs '("out"
355420c6 3075 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3076 (arguments
3077 '(#:configure-flags (list (string-append "--with-html-dir="
3078 (assoc-ref %outputs "doc")
3079 "/share/gtk-doc/html"))))
b804c61e
JD
3080 (inputs
3081 `(("gtk+" ,gtk+)
3082 ("libgsf" ,libgsf)
3083 ("librsvg" ,librsvg)
3084 ("libxslt" ,libxslt)
3085 ("libxml2" ,libxml2)))
3086 (native-inputs
3087 `(("intltool" ,intltool)
f280cdb1 3088 ("glib" ,glib "bin")
b804c61e
JD
3089 ("pkg-config" ,pkg-config)))
3090 (home-page "https://developer.gnome.org/goffice/")
3091 (synopsis "Document-centric objects and utilities")
3092 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3093 (license
b804c61e
JD
3094 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3095 ;; Note: NOT LGPL
3096 (list license:gpl2 license:gpl3))))
3097
c024ae36
RW
3098(define-public goffice-0.8
3099 (package (inherit goffice)
3100 (version "0.8.17")
3101 (source (origin
3102 (method url-fetch)
3103 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3104 (version-major+minor version) "/"
3105 (package-name goffice) "-" version ".tar.xz"))
3106 (sha256
3107 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3108 (arguments
3109 `(#:phases
dc1d3cde
KK
3110 (modify-phases %standard-phases
3111 (add-after 'unpack 'fix-pcre-check
3112 (lambda _
3113 ;; Only glib.h can be included directly. See
3114 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3115 (substitute* "configure"
3116 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3117
3118 ,@(package-arguments goffice)))
c024ae36
RW
3119 (propagated-inputs
3120 ;; libgoffice-0.8.pc mentions libgsf-1
3121 `(("libgsf" ,libgsf)))
3122 (inputs
3123 `(("gtk" ,gtk+-2)
3124 ,@(alist-delete "gtk" (package-inputs goffice))))))
3125
b804c61e
JD
3126(define-public gnumeric
3127 (package
3128 (name "gnumeric")
f0517b5d 3129 (version "1.12.46")
b804c61e
JD
3130 (source (origin
3131 (method url-fetch)
b7fd0217 3132 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3133 (version-major+minor version) "/"
b7fd0217 3134 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3135 (sha256
3136 (base32
f0517b5d 3137 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3138 (build-system glib-or-gtk-build-system)
b804c61e
JD
3139 (arguments
3140 `(;; The gnumeric developers don't worry much about failing tests.
3141 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3142 #:tests? #f
b804c61e 3143 #:phases
7bcbd40d
EF
3144 (modify-phases %standard-phases
3145 (add-before
3146 'configure 'pre-conf
3147 (lambda* (#:key outputs #:allow-other-keys)
3148 ;; Make install tries to write into the directory of goffice
3149 ;; I am informed that this only affects the possibility to embed a
3150 ;; spreadsheet inside an Abiword document. So presumably when we
3151 ;; package Abiword we'll have to refer it to this directory.
3152 (substitute* "configure"
3153 (("^GOFFICE_PLUGINS_DIR=.*")
3154 (string-append "GOFFICE_PLUGINS_DIR="
3155 (assoc-ref outputs "out")
3156 "/goffice/plugins"))))))))
b804c61e
JD
3157 (inputs
3158 `(("glib" ,glib)
3159 ("gtk+" ,gtk+)
3160 ("goffice" ,goffice)
3161 ("libgsf" ,libgsf)
7bcbd40d 3162 ("librsvg" ,librsvg)
b804c61e 3163 ("libxml2" ,libxml2)
7bcbd40d 3164 ("libxslt" ,libxslt)
2e4c5457 3165 ("python" ,python-2)
6983ba56 3166 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3167 ("zlib" ,zlib)))
3168 (native-inputs
6983ba56 3169 `(("bison" ,bison)
1ed398d1 3170 ("docbook-xml" ,docbook-xml)
6983ba56 3171 ("intltool" ,intltool)
3a2efbc8 3172 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3173 ("glib:bin" ,glib "bin")
b804c61e
JD
3174 ("pkg-config" ,pkg-config)))
3175 (home-page "http://www.gnumeric.org")
66672a45
LC
3176 (synopsis "Spreadsheet application")
3177 (description
3178 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3179interoperable with other spreadsheet applications. It has a vast array of
3180features beyond typical spreadsheet functionality, such as support for linear
3181and non-linear solvers, statistical analysis, and telecommunication
3182engineering.")
3183 (license
b804c61e
JD
3184 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3185 (list license:gpl2 license:gpl3))))
6f885c05
FB
3186
3187(define-public gnome-themes-standard
3188 (package
3189 (name "gnome-themes-standard")
0b7b8fb0 3190 (version "3.22.3")
6f885c05
FB
3191 (source
3192 (origin
3193 (method url-fetch)
2e6ecc5c 3194 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3195 (version-major+minor version) "/" name "-"
3196 version ".tar.xz"))
3197 (sha256
3198 (base32
0b7b8fb0 3199 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3200 (build-system gnu-build-system)
8ac70c7f
SB
3201 (arguments
3202 '(#:configure-flags
3203 ;; Don't create 'icon-theme.cache'.
3204 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3205 (true (string-append coreutils "/bin/true")))
3206 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3207 (inputs
3208 `(("gtk+" ,gtk+)
3209 ("gtk+-2" ,gtk+-2)
3210 ("librsvg" ,librsvg)
3211 ("libxml2" ,libxml2)
3212 ("glib" ,glib)))
3213 (native-inputs
3214 `(("intltool" ,intltool)
3215 ("glib:bin" ,glib "bin")
3216 ("pkg-config" ,pkg-config)))
6f885c05
FB
3217 (home-page "https://launchpad.net/gnome-themes-standard")
3218 (synopsis "Default GNOME 3 themes")
3219 (description
3220 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3221 (license license:lgpl2.1+)))
5a659a48 3222
df90c701
RW
3223(define-public seahorse
3224 (package
3225 (name "seahorse")
bcea3c11 3226 (version "3.32.2")
df90c701
RW
3227 (source
3228 (origin
3229 (method url-fetch)
3230 (uri (string-append "mirror://gnome/sources/" name "/"
3231 (version-major+minor version) "/" name "-"
3232 version ".tar.xz"))
3233 (sha256
3234 (base32
bcea3c11 3235 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3236 (patches (search-patches
3237 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3238 (build-system meson-build-system)
3239 (arguments
bcea3c11
KK
3240 '(#:glib-or-gtk? #t
3241 #:phases
af561664
MÁAV
3242 (modify-phases %standard-phases
3243 (add-after 'unpack 'skip-gtk-update-icon-cache
3244 ;; Don't create 'icon-theme.cache'.
3245 (lambda _
3246 (substitute* "build-aux/meson_post_install.py"
3247 (("gtk-update-icon-cache") "true"))
3248 #t)))))
df90c701
RW
3249 (inputs
3250 `(("gtk+" ,gtk+)
3251 ("gcr" ,gcr)
34b979b9 3252 ("gnupg" ,gnupg)
df90c701 3253 ("gpgme" ,gpgme)
34b979b9 3254 ("openldap" ,openldap)
4a1bf090 3255 ("openssh" ,openssh)
af561664 3256 ("avahi" ,avahi)
bcea3c11 3257 ("libpwquality" ,libpwquality)
34b979b9
EF
3258 ("libsecret" ,libsecret)
3259 ("libsoup" ,libsoup)))
df90c701 3260 (native-inputs
af561664 3261 `(("gettext" ,gettext-minimal)
df90c701
RW
3262 ("glib:bin" ,glib "bin")
3263 ("itstool" ,itstool)
bcb354ad 3264 ("pkg-config" ,pkg-config)
af561664 3265 ("vala" ,vala)
bcb354ad 3266 ("xmllint" ,libxml2)))
bcea3c11 3267 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3268 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3269 (description
3270 "Seahorse is a GNOME application for managing encryption keys and
3271passwords in the GNOME keyring.")
3272 (license license:gpl2+)))
3273
5a659a48
SB
3274(define-public vala
3275 (package
3276 (name "vala")
2d6872f6 3277 (version "0.44.5")
5a659a48
SB
3278 (source (origin
3279 (method url-fetch)
3280 (uri (string-append "mirror://gnome/sources/" name "/"
3281 (version-major+minor version) "/"
3282 name "-" version ".tar.xz"))
3283 (sha256
3284 (base32
2d6872f6 3285 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3286 (build-system gnu-build-system)
1ea90625
SB
3287 (arguments
3288 '(#:phases
3289 (modify-phases %standard-phases
f4925a4f 3290 (add-before 'check 'pre-check
1ea90625
SB
3291 (lambda _
3292 (setenv "CC" "gcc")
8839b6be
RW
3293 (substitute* "valadoc/tests/testrunner.sh"
3294 (("export PKG_CONFIG_PATH=" m)
3295 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3296 ;; For missing '/etc/machine-id'.
3297 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3298 #t)))))
5a659a48
SB
3299 (native-inputs
3300 `(("pkg-config" ,pkg-config)
3301 ("flex" ,flex)
3302 ("bison" ,bison)
3303 ("xsltproc" ,libxslt)
3304 ("dbus" ,dbus) ; for dbus tests
3305 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3306 (inputs
3307 `(("graphviz" ,graphviz)))
5a659a48 3308 (propagated-inputs
8839b6be 3309 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3310 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3311 (synopsis "Compiler for the GObject type system")
3312 (description
3313 "Vala is a programming language that aims to bring modern programming
3314language features to GNOME developers without imposing any additional runtime
3315requirements and without using a different ABI compared to applications and
3316libraries written in C.")
3317 (license license:lgpl2.1+)))
ea57378f
SB
3318
3319(define-public vte
3320 (package
3321 (name "vte")
68c47474 3322 (version "0.58.3")
ea57378f
SB
3323 (source (origin
3324 (method url-fetch)
ac87ffb8 3325 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3326 (version-major+minor version) "/"
ac87ffb8 3327 "vte-" version ".tar.xz"))
ea57378f
SB
3328 (sha256
3329 (base32
68c47474
TGR
3330 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3331 (build-system meson-build-system)
ea57378f
SB
3332 (native-inputs
3333 `(("pkg-config" ,pkg-config)
3334 ("intltool" ,intltool)
3335 ("vala" ,vala)
3336 ("gobject-introspection" ,gobject-introspection)
68c47474 3337 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3338 ("gperf" ,gperf)
ea57378f
SB
3339 ("xmllint" ,libxml2)))
3340 (propagated-inputs
68c47474
TGR
3341 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3342 ("gnutls" ,gnutls) ; ditto
3343 ("pcre2" ,pcre2))) ; ditto
f032d0be 3344 (home-page "https://www.gnome.org/")
ea57378f
SB
3345 (synopsis "Virtual Terminal Emulator")
3346 (description
3347 "VTE is a library (libvte) implementing a terminal emulator widget for
3348GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3349gnome-terminal, but can also be used to embed a console/terminal in games,
3350editors, IDEs, etc.")
3351 (license license:lgpl2.1+)))
3352
c44fb4df
MO
3353(define-public vte-ng
3354 (package
3355 (inherit vte)
3356 (name "vte-ng")
24f4fcbe 3357 (version "0.58.2.a")
afd90f8d 3358 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3359 (source (origin
3360 (method git-fetch)
3361 (uri (git-reference (url home-page) (commit version)))
3362 (file-name (git-file-name name version))
3363 (sha256
3364 (base32
24f4fcbe
MB
3365 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3366 (build-system meson-build-system)
c44fb4df
MO
3367 (native-inputs
3368 `(("gtk-doc" ,gtk-doc)
c44fb4df 3369 ,@(package-native-inputs vte)))
c44fb4df 3370 (arguments
24f4fcbe 3371 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3372 (synopsis "Enhanced VTE terminal widget")
3373 (description
3374 "VTE is a library (libvte) implementing a terminal emulator widget for
3375GTK+, this fork provides additional functions exposed for keyboard text
3376selection and URL hints.")))
3377
2776d72c
EF
3378;; provides vte 2.90, required for some terminal emulators
3379;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3380;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3381;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3382;; pantheon-terminal, roxterm are not currently packaged
3383(define-public vte-0.36
3384 (package (inherit vte)
3385 (name "vte")
3386 (version "0.36.5")
3387 (source (origin
3388 (method url-fetch)
3389 (uri (string-append "mirror://gnome/sources/" name "/"
3390 (version-major+minor version) "/"
3391 name "-" version ".tar.xz"))
3392 (sha256
3393 (base32
3394 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3395 (propagated-inputs
3396 `(("gtk" ,gtk+)
3397 ("ncurses" ,ncurses)))))
3398
ea57378f
SB
3399;; stable version for gtk2, required by xfce4-terminal.
3400(define-public vte/gtk+-2
3401 (package (inherit vte)
3402 (name "vte")
3403 (version "0.28.2")
3404 (source (origin
3405 (method url-fetch)
3406 (uri (string-append "mirror://gnome/sources/" name "/"
3407 (version-major+minor version) "/"
3408 name "-" version ".tar.xz"))
3409 (sha256
3410 (base32
7d48938a
EF
3411 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3412 (patches (search-patches
3413 "vte-CVE-2012-2738-pt1.patch"
3414 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3415 (build-system gnu-build-system)
ea57378f
SB
3416 (arguments
3417 '(#:configure-flags '("--disable-python")))
3418 (native-inputs
3419 `(("pkg-config" ,pkg-config)
3420 ("intltool" ,intltool)
3421 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3422 (propagated-inputs
3423 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3424 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3425
cce0da5e
TD
3426(define-public vinagre
3427 (package
3428 (name "vinagre")
3429 (version "3.22.0")
3430 (source (origin
3431 (method url-fetch)
3432 (uri (string-append "mirror://gnome/sources/" name "/"
3433 (version-major+minor version) "/"
3434 name "-" version ".tar.xz"))
684f97f8
EF
3435 (patches (search-patches "vinagre-newer-freerdp.patch"
3436 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3437 (sha256
3438 (base32
3439 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3440 (build-system glib-or-gtk-build-system)
684f97f8 3441 (arguments
7f486d25
MC
3442 ;; Disable -Werror and such, to avoid build failures on compilation
3443 ;; warnings.
3444 '(#:configure-flags '("--enable-compile-warnings=minimum")
3445 #:phases
684f97f8 3446 (modify-phases %standard-phases
1839768c
EF
3447 (add-before 'install 'skip-gtk-update-icon-cache
3448 (lambda _
3449 ;; Don't create 'icon-theme.cache'
3450 (substitute* (find-files "." "^Makefile$")
3451 (("gtk-update-icon-cache") (which "true")))
3452 #t))
684f97f8
EF
3453 (add-after 'unpack 'patch-configure
3454 (lambda _
3455 (substitute* "configure"
3456 (("freerdp") "freerdp2"))
3457 #t)))))
cce0da5e
TD
3458 (native-inputs
3459 `(("pkg-config" ,pkg-config)
3460 ("intltool" ,intltool)
3461 ("itstool" ,itstool)
1839768c 3462 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3463 (inputs
3464 `(("libxml2" ,libxml2)
3465 ("gtk-vnc" ,gtk-vnc)
3466 ("gnome-keyring" ,gnome-keyring)
3467 ("libsecret" ,libsecret)
3468 ("freerdp" ,freerdp)
3469 ("spice" ,spice)
3470 ("spice-gtk" ,spice-gtk)
3471 ("telepathy-glib" ,telepathy-glib)
3472 ("vte" ,vte)))
cce0da5e
TD
3473 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3474 (synopsis "Remote desktop viewer for GNOME")
3475 (description "Vinagre is a remote display client supporting the VNC, SPICE
3476and RDP protocols.")
3477 (license license:gpl3+)))
3478
b47e1b20
FB
3479(define-public dconf
3480 (package
3481 (name "dconf")
1e33331c 3482 (version "0.32.0")
b47e1b20
FB
3483 (source (origin
3484 (method url-fetch)
3485 (uri (string-append
2e6ecc5c 3486 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3487 (version-major+minor version) "/"
3488 name "-" version ".tar.xz"))
3489 (sha256
f05c809f 3490 (base32
1e33331c 3491 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3492 (build-system meson-build-system)
bc036f4c
MB
3493 (propagated-inputs
3494 ;; In Requires of dconf.pc.
3495 `(("glib" ,glib)))
b47e1b20
FB
3496 (inputs
3497 `(("gtk+" ,gtk+)
bc036f4c 3498 ("dbus" ,dbus)))
b47e1b20 3499 (native-inputs
1e33331c
MB
3500 `(("bash-completion" ,bash-completion)
3501 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3502 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3503 ("docbook-xml" ,docbook-xml-4.2)
3504 ("docbook-xsl" ,docbook-xsl)
35fa923d 3505 ("glib:bin" ,glib "bin")
03676d6f 3506 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3507 ("pkg-config" ,pkg-config)
3508 ("vala" ,vala)))
b47e1b20
FB
3509 (arguments
3510 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3511 ; or /etc/machine-id.
35fa923d
MB
3512 #:glib-or-gtk? #t
3513 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3514 (home-page "https://developer.gnome.org/dconf")
3515 (synopsis "Low-level GNOME configuration system")
3516 (description "Dconf is a low-level configuration system. Its main purpose
3517is to provide a backend to GSettings on platforms that don't already have
3518configuration storage systems.")
e20e6b40 3519 (license license:lgpl2.1+)))
109da1c0
AE
3520
3521(define-public json-glib
3522 (package
3523 (name "json-glib")
4115e8ea 3524 (version "1.4.4")
109da1c0
AE
3525 (source (origin
3526 (method url-fetch)
3527 (uri (string-append "mirror://gnome/sources/" name "/"
3528 (version-major+minor version) "/"
3529 name "-" version ".tar.xz"))
3530 (sha256
3531 (base32
4115e8ea 3532 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3533 (build-system meson-build-system)
109da1c0 3534 (native-inputs
98afa184
MB
3535 `(("gettext" ,gettext-minimal)
3536 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3537 ("gobject-introspection" ,gobject-introspection)
3538 ("pkg-config" ,pkg-config)))
3539 (propagated-inputs
88c6b580 3540 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3541 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3542 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3543 (description
3544 "JSON-GLib is a C library based on GLib providing serialization and
3545deserialization support for the JavaScript Object Notation (JSON) format
3546described by RFC 4627. It provides parser and generator GObject classes and
3547various wrappers for the complex data types employed by JSON, such as arrays
3548and objects.")
109da1c0 3549 (license license:lgpl2.1+)))
6f96a359
SB
3550
3551(define-public libxklavier
3552 (package
3553 (name "libxklavier")
5f39050b 3554 (version "5.4")
6f96a359 3555 (source (origin
5f39050b 3556 ;; Note: There's no tarball at ftp.gnome.org for this version.
3557 (method git-fetch)
3558 (uri (git-reference
3559 (url "https://anongit.freedesktop.org/git/libxklavier")
3560 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3561 (sha256
3562 (base32
5f39050b 3563 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3564 (file-name (git-file-name name version))))
6f96a359
SB
3565 (build-system gnu-build-system)
3566 (arguments
5f39050b 3567 '(#:phases
3568 (modify-phases %standard-phases
3569 (add-after 'unpack 'no-configure
3570 (lambda* _
3571 (setenv "NOCONFIGURE" "1")
3572 #t)))
3573 #:configure-flags
6f96a359
SB
3574 (list (string-append "--with-xkb-base="
3575 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3576 "/share/X11/xkb")
3577 "--disable-xmodmap-support")))
6f96a359
SB
3578 (native-inputs
3579 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3580 ("gobject-introspection" ,gobject-introspection)
5f39050b 3581 ("pkg-config" ,pkg-config)
3582 ("gtk-doc" ,gtk-doc)
3583 ("intltool" ,intltool)
3584 ("which" ,which)
3585 ("autoconf" ,autoconf)
3586 ("automake" ,automake)
3587 ("libtool" ,libtool)))
6f96a359
SB
3588 (propagated-inputs
3589 ;; Required by libxklavier.pc.
3590 `(("glib" ,glib)
3591 ("libxml2" ,libxml2)))
3592 (inputs
3593 `(("iso-codes" ,iso-codes)
3594 ("libxi" ,libxi)
3595 ("libxkbfile" ,libxkbfile)
3596 ("xkbcomp" ,xkbcomp)
3597 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3598 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3599 (synopsis "High-level API for X Keyboard Extension")
3600 (description
3601 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3602Extension known as XKB. This library is intended to support XFree86 and other
3603commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3604indicators etc).")
3605 (license license:lgpl2.0+)))
619936a4
LC
3606
3607(define-public python2-rsvg
3608 ;; XXX: This is actually a subset of gnome-python-desktop.
3609 (package
3610 (name "python2-rsvg")
3611 (version "2.32.0")
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append
3616 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3617 version ".tar.bz2"))
3618 (sha256
3619 (base32
3620 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3621 (build-system gnu-build-system)
3622 (native-inputs
3623 `(("pkg-config" ,pkg-config)))
3624 (inputs
3625 `(("python" ,python-2)
3626 ("python2-pygtk" ,python2-pygtk)
3627 ("librsvg" ,librsvg)))
f032d0be 3628 (home-page "https://www.gnome.org")
619936a4
LC
3629 (synopsis "Python bindings to librsvg")
3630 (description
3ad75446 3631 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3632library.")
3633
3634 ;; This is the license of the rsvg bindings. The license of each module
3635 ;; of gnome-python-desktop is given in 'COPYING'.
3636 (license license:lgpl2.1+)))
a31a6d22 3637
f2ca414a
SB
3638(define-public glib-networking
3639 (package
3640 (name "glib-networking")
0d75c64d 3641 (version "2.60.3")
f2ca414a
SB
3642 (source (origin
3643 (method url-fetch)
3644 (uri (string-append "mirror://gnome/sources/glib-networking/"
3645 (version-major+minor version) "/"
fb8fe1e8 3646 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3647 (sha256
3648 (base32
0d75c64d 3649 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3650 (build-system meson-build-system)
f2ca414a 3651 (arguments
0d75c64d 3652 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3653 (native-inputs
3654 `(("pkg-config" ,pkg-config)
3655 ("intltool" ,intltool)))
3656 (inputs
3657 `(("glib" ,glib)
3658 ("gnutls" ,gnutls)
4b8f1313 3659 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3660 (home-page "https://www.gnome.org")
f2ca414a
SB
3661 (synopsis "Network-related GIO modules")
3662 (description
3663 "This package contains various network related extensions for the GIO
3664library.")
3665 (license license:lgpl2.0+)))
3666
ca649680 3667(define-public rest
4510b2da 3668 (package
ca649680 3669 (name "rest")
a4194d16 3670 (version "0.8.1")
4510b2da
SB
3671 (source (origin
3672 (method url-fetch)
3673 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3674 (version-major+minor version) "/"
3675 name "-" version ".tar.xz"))
4510b2da
SB
3676 (sha256
3677 (base32
a4194d16 3678 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3679 (build-system gnu-build-system)
3680 (arguments
3681 '(#:tests? #f ; tests require internet connection
3682 #:configure-flags
3683 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3684 (native-inputs
3685 `(("glib-mkenums" ,glib "bin")
3686 ("gobject-introspection" ,gobject-introspection)
3687 ("pkg-config" ,pkg-config)))
3688 (propagated-inputs
3689 ;; rest-0.7.pc refers to all these.
3690 `(("glib" ,glib)
3691 ("libsoup" ,libsoup)
3692 ("libxml2" ,libxml2)))
24d6cc1d 3693 (home-page "https://www.gtk.org/")
4510b2da
SB
3694 (synopsis "RESTful web api query library")
3695 (description
3696 "This library was designed to make it easier to access web services that
3697claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3698libxml to ease remote use of the RESTful API.")
3699 (license license:lgpl2.1+)))
3700
6e1bb642
SB
3701(define-public libsoup
3702 (package
3703 (name "libsoup")
16af0dd9 3704 (version "2.68.4")
6e1bb642
SB
3705 (source (origin
3706 (method url-fetch)
3707 (uri (string-append "mirror://gnome/sources/libsoup/"
3708 (version-major+minor version) "/"
c1b79b36 3709 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3710 (sha256
3711 (base32
16af0dd9 3712 "151j5dc84gbl6a917pxvd0b372lw5za48n63lyv6llfc48lv2l1d"))))
eccaa8bf 3713 (build-system meson-build-system)
6e1bb642
SB
3714 (outputs '("out" "doc"))
3715 (arguments
2deb146f 3716 `(#:modules ((guix build utils)
eccaa8bf 3717 (guix build meson-build-system)
2deb146f
LC
3718 (ice-9 popen))
3719
f8026a79 3720 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3721 #:phases
3722 (modify-phases %standard-phases
eccaa8bf 3723 (add-after 'unpack 'adjust-tests
26c228f9 3724 (lambda _
eccaa8bf
MB
3725 ;; This test fails due to missing /etc/nsswitch.conf
3726 ;; in the build environment.
26c228f9
LC
3727 (substitute* "tests/socket-test.c"
3728 ((".*/sockets/unconnected.*") ""))
2deb146f 3729
f8026a79
MB
3730 ;; These fail because "subdomain.localhost" does not resolve in
3731 ;; the build environment.
3732 (substitute* "tests/hsts-test.c"
3733 ((".*/hsts/basic.*") "")
3734 ((".*/hsts/subdomains.*") "")
3735 ((".*/hsts/superdomain.*") "")
3736 ((".*/hsts/utf8-address.*") ""))
3737 (substitute* "tests/hsts-db-test.c"
3738 ((".*/hsts-db/subdomains.*") ""))
3739
2deb146f
LC
3740 ;; Generate a self-signed certificate that has "localhost" as its
3741 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3742 ;; 3.5.12, tests such as "ssl-tests" fail:
3743 ;;
3744 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3745 ;;
3746 ;; 'certtool' is interactive so we have to pipe it the answers.
3747 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3748 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3749 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3750 (for-each (lambda (line)
3751 (display line pipe)
3752 (newline pipe))
3753 '("" ;Common name
3754 "" ;UID
3755 "Guix" ;Organizational unit name
3756 "GNU" ;Organization name
3757 "" ;Locality name
3758 "" ;State or province
3759 "" ;Country
3760 "" ;subject's domain component (DC)
3761 "" ;E-mail
3762 "" ;serial number
3763 "-1" ;expiration time
3764 "N" ;belong to authority?
3765 "N" ;web client certificate?
3766 "N" ;IPsec IKE?
3767 "Y" ;web server certificate?
3768 "localhost" ;dnsName of subject
3769 "" ;dnsName of subject (end)
3770 "" ;URI of subject
3771 "127.0.0.1" ;IP address of subject
3772 "" ;signing?
06f5bc4e
MB
3773 "" ;encryption (RSA)?
3774 "" ;data encryption?
2deb146f
LC
3775 "" ;sign OCSP requests?
3776 "" ;sign code?
3777 "" ;time stamping?
3778 "" ;email protection?
3779 "" ;URI of the CRL distribution point
3780 "y" ;above info OK?
3781 ))
3782 (close-pipe pipe))
26c228f9 3783 #t))
eccaa8bf
MB
3784 (add-after 'install 'move-doc
3785 (lambda* (#:key outputs #:allow-other-keys)
3786 (let ((out (assoc-ref outputs "out"))
3787 (doc (assoc-ref outputs "doc")))
3788 (mkdir-p (string-append doc "/share"))
3789 (copy-recursively (string-append out "/share/gtk-doc")
3790 (string-append doc "/share/gtk-doc"))
3791 (delete-file-recursively (string-append out "/share/gtk-doc"))
3792 #t))))))
6e1bb642 3793 (native-inputs
26c228f9 3794 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3795 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3796 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3797 ("intltool" ,intltool)
3798 ("pkg-config" ,pkg-config)
3799 ("python" ,python-wrapper)
fd730590 3800 ("vala" ,vala)
6e1bb642
SB
3801 ;; These are needed for the tests.
3802 ;; FIXME: Add PHP once available.
3803 ("curl" ,curl)
2deb146f 3804 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3805 ("httpd" ,httpd)))
3806 (propagated-inputs
3807 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3808 `(("brotli" ,google-brotli)
3809 ("glib" ,glib)
249846bf 3810 ("libpsl" ,libpsl)
eccaa8bf 3811 ("libxml2" ,libxml2)
f8026a79
MB
3812 ("sqlite" ,sqlite)
3813 ("zlib" ,zlib)))
eccaa8bf
MB
3814 (inputs
3815 `(("glib-networking" ,glib-networking)
3816 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3817 (home-page "https://live.gnome.org/LibSoup/")
3818 (synopsis "GLib-based HTTP Library")
3819 (description
3820 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3821and the GLib main loop, to integrate well with GNOME applications.")
3822 (license license:lgpl2.0+)))
3823
bba229a3
SB
3824(define-public libsecret
3825 (package
3826 (name "libsecret")
a866dd18 3827 (version "0.20.1")
bba229a3
SB
3828 (source (origin
3829 (method url-fetch)
3830 (uri (string-append
896dcbc7
EF
3831 "mirror://gnome/sources/libsecret/"
3832 (version-major+minor version) "/"
0ada4e29 3833 "libsecret-" version ".tar.xz"))
bba229a3
SB
3834 (sha256
3835 (base32
a866dd18 3836 "0ir4ynpf8b64xss1azvsi5x6697lik7hkf3z0xxa2qv2xja3xxsp"))))
bba229a3
SB
3837 (build-system gnu-build-system)
3838 (outputs '("out" "doc"))
3839 (arguments
3840 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3841 #:configure-flags
3842 (list (string-append "--with-html-dir="
3843 (assoc-ref %outputs "doc")
3844 "/share/gtk-doc/html"))))
3845 (native-inputs
c06ef010
MB
3846 `(("gettext" ,gettext-minimal)
3847 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3848 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3849 ("pkg-config" ,pkg-config)
3850 ("vala" ,vala)
3851 ("xsltproc" ,libxslt)))
3852 ;; These are needed for the tests.
3853 ;; FIXME: Add gjs once available.
3854 ;("dbus" ,dbus)
3855 ;("python2" ,python-2)
3856 ;("python2-dbus" ,python2-dbus)
3857 ;("python2-pygobject" ,python2-pygobject)
3858 ;("python2-pygobject-2" ,python2-pygobject-2)))
3859 (propagated-inputs
3860 `(("glib" ,glib))) ; required by libsecret-1.pc
3861 (inputs
3862 `(("docbook-xsl" ,docbook-xsl)
3863 ("libgcrypt" ,libgcrypt)
3864 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3865 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3866 (synopsis "GObject bindings for \"Secret Service\" API")
3867 (description
3868 "Libsecret is a GObject based library for storing and retrieving passwords
3869and other secrets. It communicates with the \"Secret Service\" using DBus.")
3870 (license license:lgpl2.1+)))
3871
b6821ee0 3872(define-public five-or-more
3873 (package
3874 (name "five-or-more")
bf782bfc 3875 (version "3.32.1")
b6821ee0 3876 (source
3877 (origin
3878 (method url-fetch)
bf782bfc 3879 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3880 (version-major+minor version) "/"
bf782bfc 3881 "five-or-more-" version ".tar.xz"))
b6821ee0 3882 (sha256
bf782bfc 3883 (base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk"))))
d9795e93
KK
3884 (build-system meson-build-system)
3885 (arguments
3886 '(#:glib-or-gtk? #t
3887 #:phases
3888 (modify-phases %standard-phases
3889 (add-after 'unpack 'skip-gtk-update-icon-cache
3890 (lambda _
3891 (substitute* "meson_post_install.py"
3892 (("gtk-update-icon-cache") (which "true")))
3893 #t)))))
b6821ee0 3894 (native-inputs
3895 `(("pkg-config" ,pkg-config)
d9795e93 3896 ("appstream-glib" ,appstream-glib)
b6821ee0 3897 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3898 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3899 ("intltool" ,intltool)
3900 ("itstool" ,itstool)
d9795e93 3901 ("vala" ,vala)
b6821ee0 3902 ("xmllint" ,libxml2)))
3903 (inputs
3904 `(("gtk+" ,gtk+)
d9795e93 3905 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3906 ("librsvg" ,librsvg)))
3907 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3908 (synopsis "Logic puzzle game")
3909 (description "Five or More is a game where you try to align
3910 five or more objects of the same color and shape causing them to disappear.
3911 On every turn more objects will appear, until the board is full.
3912 Try to last as long as possible.")
3913 (license license:gpl2+)))
3914
a31a6d22
SB
3915(define-public gnome-mines
3916 (package
3917 (name "gnome-mines")
2d817e41 3918 (version "3.32.2")
a31a6d22
SB
3919 (source
3920 (origin
3921 (method url-fetch)
3922 (uri (string-append "mirror://gnome/sources/" name "/"
3923 (version-major+minor version) "/"
3924 name "-" version ".tar.xz"))
3925 (sha256
3926 (base32
2d817e41 3927 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3928 (build-system meson-build-system)
a31a6d22 3929 (arguments
2d817e41
KK
3930 '(#:glib-or-gtk? #t
3931 #:phases
a31a6d22 3932 (modify-phases %standard-phases
2d817e41
KK
3933 (add-after 'unpack 'skip-gtk-update-icon-cache
3934 (lambda _
3935 (substitute* "build-aux/meson_post_install.py"
3936 (("gtk-update-icon-cache") (which "true")))
3937 #t)))))
a31a6d22 3938 (native-inputs
8c0fab36
RW
3939 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3940 ("pkg-config" ,pkg-config)
a31a6d22
SB
3941 ("desktop-file-utils" ,desktop-file-utils)
3942 ("intltool" ,intltool)
bcb354ad 3943 ("itstool" ,itstool)
8c0fab36
RW
3944 ("vala" ,vala)
3945 ("yelp" ,yelp)
3946 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3947 (inputs
3948 `(("gtk+" ,gtk+)
73992962 3949 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3950 ("librsvg" ,librsvg)))
3951 (home-page "https://wiki.gnome.org/Apps/Mines")
3952 (synopsis "Minesweeper game")
3953 (description
3954 "Mines (previously gnomine) is a puzzle game where you locate mines
3955floating in an ocean using only your brain and a little bit of luck.")
3956 (license license:gpl2+)))
88f70665 3957
dfc407f3
KY
3958(define-public gnome-sudoku
3959 (package
3960 (name "gnome-sudoku")
7dc728c4 3961 (version "3.32.0")
dfc407f3
KY
3962 (source
3963 (origin
3964 (method url-fetch)
3965 (uri (string-append "mirror://gnome/sources/" name "/"
3966 (version-major+minor version) "/"
3967 name "-" version ".tar.xz"))
3968 (sha256
3969 (base32
7dc728c4
KK
3970 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3971 (build-system meson-build-system)
3972 (arguments
3973 '(#:glib-or-gtk? #t
3974 #:phases
3975 (modify-phases %standard-phases
3976 (add-after 'unpack 'skip-gtk-update-icon-cache
3977 (lambda _
3978 (substitute* "build-aux/post_install.py"
3979 (("gtk-update-icon-cache") (which "true")))
3980 #t)))))
dfc407f3
KY
3981 (native-inputs
3982 `(("pkg-config" ,pkg-config)
3983 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3984 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3985 ("intltool" ,intltool)
3986 ("itstool" ,itstool)
7dc728c4 3987 ("vala" ,vala)
dfc407f3
KY
3988 ("xmllint" ,libxml2)))
3989 (inputs
3990 `(("gtk+" ,gtk+)
3991 ("json-glib" ,json-glib)
3992 ("libgee" ,libgee)
3993 ("librsvg" ,librsvg)
3994 ("qqwing" ,qqwing)))
3995 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3996 (synopsis "Japanese logic game")
3997 (description
3998 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3999GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4000possible while still providing features that make playing difficult Sudoku
4001more fun.")
4002 (license license:gpl2+)))
4003
88f70665
AW
4004(define-public gnome-terminal
4005 (package
4006 (name "gnome-terminal")
7dee3942 4007 (version "3.32.2")
88f70665
AW
4008 (source
4009 (origin
4010 (method url-fetch)
4011 (uri (string-append "mirror://gnome/sources/" name "/"
4012 (version-major+minor version) "/"
4013 name "-" version ".tar.xz"))
4014 (sha256
4015 (base32
7dee3942 4016 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
4017 (build-system glib-or-gtk-build-system)
4018 (arguments
4019 '(#:configure-flags
4020 (list "--disable-migration" "--disable-search-provider"
4021 "--without-nautilus-extension")
4022 #:phases
4023 (modify-phases %standard-phases
3a4de6b2 4024 (add-before 'configure 'patch-/bin/true
88f70665
AW
4025 (lambda _
4026 (substitute* "configure"
4027 (("/bin/true") (which "true"))))))))
4028 (native-inputs
4029 `(("pkg-config" ,pkg-config)
4030 ("desktop-file-utils" ,desktop-file-utils)
4031 ("intltool" ,intltool)
bcb354ad
SB
4032 ("itstool" ,itstool)
4033 ("xmllint" ,libxml2)))
68702167
MW
4034 (propagated-inputs
4035 `(("dconf" ,dconf)))
88f70665
AW
4036 (inputs
4037 `(("gtk+" ,gtk+)
4038 ("vte" ,vte)
4039 ("gnutls" ,gnutls)
88f70665
AW
4040 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4041 ("util-linux" ,util-linux)
4042 ("vala" ,vala)))
4043 (home-page "https://wiki.gnome.org/Apps/Terminal")
4044 (synopsis "Terminal emulator")
4045 (description
4046 "GNOME Terminal is a terminal emulator application for accessing a
4047UNIX shell environment which can be used to run programs available on
4048your system.
4049
4050It supports several profiles, multiple tabs and implements several
4051keyboard shortcuts.")
4052 (license license:gpl3+)))
75016d07
AW
4053
4054(define-public colord
4055 (package
4056 (name "colord")
f98be942 4057 (version "1.4.4")
75016d07
AW
4058 (source
4059 (origin
4060 (method url-fetch)
5cc3096c 4061 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4062 "colord-" version ".tar.xz"))
75016d07 4063 (sha256
f98be942 4064 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4065 (build-system meson-build-system)
75016d07 4066 (arguments
a68544a8
RW
4067 '(;; FIXME: One test fails:
4068 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4069 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4070 ;; application/x-zerosize
75016d07 4071 #:tests? #f
a68544a8
RW
4072 #:glib-or-gtk? #t
4073 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4074 ;; No dep on systemd.
a68544a8 4075 "-Dsystemd=false"
75016d07
AW
4076 ;; Wants to install to global completion dir;
4077 ;; punt.
a68544a8 4078 "-Dbash_completion=false"
a68544a8
RW
4079 "-Ddaemon_user=colord"
4080 "-Dsane=true"
dac26e22 4081 "-Dvapi=true"
6f20e2dc 4082 ;; Requires spotread.
a68544a8 4083 "-Dargyllcms_sensor=false"
6f20e2dc 4084 ;; TODO: Requires docbook2x.
a68544a8 4085 "-Dman=false")
75016d07
AW
4086 #:phases
4087 (modify-phases %standard-phases
a68544a8
RW
4088 (add-before 'configure 'patch-build-system
4089 (lambda* (#:key outputs #:allow-other-keys)
4090 (substitute* "rules/meson.build"
4091 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4092 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4093 #t))
4094 (add-before 'configure 'set-sqlite3-file-name
4095 (lambda* (#:key inputs #:allow-other-keys)
4096 ;; "colormgr dump" works by invoking the "sqlite3" command.
4097 ;; Record its absolute file name.
4098 (let ((sqlite (assoc-ref inputs "sqlite")))
4099 (substitute* "client/cd-util.c"
4100 (("\"sqlite3\"")
4101 (string-append "\"" sqlite "/bin/sqlite3\"")))
4102 #t))))))
75016d07 4103 (native-inputs
6f20e2dc 4104 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4105 ("gettext" ,gettext-minimal)
75016d07 4106 ("gobject-introspection" ,gobject-introspection)
a68544a8 4107 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4108 ("pkg-config" ,pkg-config)
4109 ("vala" ,vala)))
65cb2d61
SB
4110 (propagated-inputs
4111 ;; colord.pc refers to all these.
4112 `(("glib" ,glib)
6f20e2dc
TGR
4113 ("lcms" ,lcms)
4114 ("udev" ,eudev)))
75016d07 4115 (inputs
65cb2d61 4116 `(("dbus-glib" ,dbus-glib)
a68544a8 4117 ("gusb" ,gusb)
80c7dd1a 4118 ("libgudev" ,libgudev)
75016d07 4119 ("libusb" ,libusb)
75016d07 4120 ("polkit" ,polkit)
a68544a8 4121 ("python" ,python-wrapper)
6f20e2dc 4122 ("sqlite" ,sqlite)
4c928743 4123 ("sane-backends" ,sane-backends)))
57e7d748 4124 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4125 (synopsis "Color management service")
4126 (description "Colord is a system service that makes it easy to manage,
4127install and generate color profiles to accurately color manage input and
4128output devices.")
4129 (license license:gpl2+)))
7b2abd00
AW
4130
4131(define-public geoclue
4132 (package
4133 (name "geoclue")
50e96d25 4134 (version "2.5.5")
7b2abd00
AW
4135 (source
4136 (origin
4137 (method url-fetch)
50e96d25
MB
4138 (uri
4139 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4140 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4141 (sha256
4142 (base32
50e96d25 4143 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4144 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4145 (build-system meson-build-system)
7b2abd00 4146 (arguments
50e96d25 4147 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4148 (native-inputs
4149 `(("pkg-config" ,pkg-config)
758798a9 4150 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4151 ("modem-manager" ,modem-manager)
4152 ("libnotify" ,libnotify)
4153 ("gtk-doc", gtk-doc)
7b2abd00
AW
4154 ("intltool" ,intltool)))
4155 (inputs
54e911bc 4156 `(("avahi" ,avahi)
50e96d25
MB
4157 ("glib:bin" ,glib "bin")
4158 ("glib-networking" ,glib-networking)
7b2abd00
AW
4159 ("json-glib" ,json-glib)
4160 ("libsoup" ,libsoup)))
50e96d25 4161 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4162 (synopsis "Geolocation service")
4163 (description "Geoclue is a D-Bus service that provides location
4164information. The primary goal of the Geoclue project is to make creating
4165location-aware applications as simple as possible, while the secondary goal is
4166to ensure that no application can access location information without explicit
e881752c 4167permission from user.")
7b2abd00 4168 (license license:gpl2+)))
2bfe7437
AW
4169
4170(define-public geocode-glib
4171 (package
4172 (name "geocode-glib")
65de725f 4173 (version "3.26.1")
2bfe7437
AW
4174 (source (origin
4175 (method url-fetch)
4176 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4177 (version-major+minor version) "/"
d485cdc0 4178 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4179 (sha256
4180 (base32
65de725f 4181 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4182 (build-system meson-build-system)
2bfe7437 4183 (arguments
a7dd0c02
RW
4184 `(#:phases
4185 (modify-phases %standard-phases
4186 ;; The tests require a bunch of locales.
4187 (add-before 'check 'set-locales
4188 (lambda* (#:key inputs #:allow-other-keys)
4189 (setenv "GUIX_LOCPATH"
4190 (string-append (assoc-ref inputs "glibc-locales")
4191 "/lib/locale"))
4192 #t)))))
2bfe7437
AW
4193 (native-inputs
4194 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4195 ("glibc-locales" ,glibc-locales) ; for tests
4196 ("gettext" ,gettext-minimal)
2bfe7437 4197 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4198 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4199 ("pkg-config" ,pkg-config)
4200 ("json-glib" ,json-glib)))
4201 (propagated-inputs
4202 ;; geocode-glib-1.0.pc refers to GIO.
4203 `(("glib" ,glib)))
4204 (inputs
4205 `(("libsoup" ,libsoup)))
4206 (home-page "https://github.com/GNOME/geocode-glib/")
4207 (synopsis "Geocoding and reverse-geocoding library")
4208 (description
4209 "geocode-glib is a convenience library for geocoding (finding longitude,
4210and latitude from an address) and reverse geocoding (finding an address from
4211coordinates) using the Nominatim service. geocode-glib caches requests for
4212faster results and to avoid unnecessary server load.")
4213 (license license:lgpl2.0+)))
a1d5bb0e
AW
4214
4215(define-public upower
4216 (package
4217 (name "upower")
df45af90 4218 (version "0.99.11")
a1d5bb0e
AW
4219 (source (origin
4220 (method url-fetch)
df45af90 4221 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4222 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4223 (sha256
4224 (base32
df45af90 4225 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4226 (patches (search-patches "upower-builddir.patch"))
4227 (modules '((guix build utils)))
4228 (snippet
4229 '(begin
4230 ;; Upstream commit
4231 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4232 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4233 ;; 'dbus-configuration-directory' in (gnu services dbus)
4234 ;; expects it in etc/. Thus, move it back to its previous
4235 ;; location.
4236 (substitute* "src/Makefile.in"
4237 (("^dbusconfdir =.*$")
4238 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4239 #t))))
a1d5bb0e
AW
4240 (build-system glib-or-gtk-build-system)
4241 (arguments
4242 '( ;; The tests want to contact the system bus, which can't be done in the
4243 ;; build environment. The integration test can run, but the last of
4244 ;; the up-self-tests doesn't. Disable tests for now.
4245 #:tests? #f
4246 #:configure-flags (list "--localstatedir=/var"
4247 (string-append "--with-udevrulesdir="
4248 (assoc-ref %outputs "out")
9ec54965 4249 "/lib/udev/rules.d"))))
a1d5bb0e 4250 (native-inputs
ebeabe2d
SB
4251 `(("gobject-introspection" ,gobject-introspection)
4252 ("pkg-config" ,pkg-config)
a1d5bb0e 4253 ("intltool" ,intltool)
55409295
LC
4254 ("python" ,python)
4255
4256 ;; For man pages.
4257 ("libxslt" ,libxslt) ;for 'xsltproc'
4258 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4259 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4260 (inputs
ea226291
SB
4261 `(("dbus-glib" ,dbus-glib)
4262 ("libgudev" ,libgudev)
a1d5bb0e 4263 ("libusb" ,libusb)))
d7a503fc
MB
4264 (propagated-inputs
4265 ;; In Requires of upower-glib.pc.
4266 `(("glib" ,glib)))
57e7d748 4267 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4268 (synopsis "System daemon for managing power devices")
4269 (description
4270 "UPower is an abstraction for enumerating power devices,
4271listening to device events and querying history and statistics. Any
4272application or service on the system can access the org.freedesktop.UPower
4273service via the system message bus.")
4274 (license license:gpl2+)))
6a180f6f
AW
4275
4276(define-public libgweather
4277 (package
4278 (name "libgweather")
794ce8ea 4279 (version "3.28.3")
6a180f6f
AW
4280 (source (origin
4281 (method url-fetch)
4282 (uri (string-append "mirror://gnome/sources/" name "/"
4283 (version-major+minor version) "/"
4284 name "-" version ".tar.xz"))
4285 (sha256
4286 (base32
794ce8ea 4287 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4288 (build-system meson-build-system)
6a180f6f 4289 (arguments
cf6cbc34
RW
4290 `(#:tests? #f ; one of two tests requires network access
4291 #:configure-flags
4292 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4293 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4294 "/share/zoneinfo"))))
6a180f6f
AW
4295 (native-inputs
4296 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4297 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4298 ("pkg-config" ,pkg-config)
1d3fcf94 4299 ("vala" ,vala)
6a180f6f
AW
4300 ("intltool" ,intltool)))
4301 (propagated-inputs
4302 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4303 ;; libsoup.
4304 `(("gtk+" ,gtk+)
4305 ("gdk-pixbuf" ,gdk-pixbuf)
4306 ("libxml2" ,libxml2)
cf6cbc34 4307 ("libsoup" ,libsoup)
6a180f6f 4308 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4309 (inputs
4310 `(("tzdata" ,tzdata)))
6a180f6f
AW
4311 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4312 (synopsis "Location, time zone, and weather library for GNOME")
4313 (description
4314 "libgweather is a library to access weather information from online
4315services for numerous locations.")
4316 (license license:gpl2+)))
23a22af6
AW
4317
4318(define-public gnome-settings-daemon
4319 (package
4320 (name "gnome-settings-daemon")
4be0719f 4321 (version "3.32.1")
23a22af6
AW
4322 (source
4323 (origin
4324 (method url-fetch)
4325 (uri (string-append "mirror://gnome/sources/" name "/"
4326 (version-major+minor version) "/"
4327 name "-" version ".tar.xz"))
4328 (sha256
4329 (base32
4be0719f 4330 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4331 (build-system meson-build-system)
23a22af6 4332 (arguments
e644f9fa
RW
4333 `(#:glib-or-gtk? #t
4334 #:configure-flags
4335 (list (string-append "-Dudev_dir="
4336 (assoc-ref %outputs "out")
4d0e085b
RW
4337 "/lib/udev/rules.d/")
4338 ;; Otherwise, the RUNPATH will lack the final path component.
4339 (string-append "-Dc_link_args=-Wl,-rpath="
4340 (assoc-ref %outputs "out")
4341 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4342 ;; Color management test can't reach the colord system service.
23a22af6
AW
4343 #:tests? #f))
4344 (native-inputs
e644f9fa
RW
4345 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4346 ("pkg-config" ,pkg-config)
23a22af6
AW
4347 ("intltool" ,intltool)
4348 ("xsltproc" ,libxslt)
4349 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4350 ("docbook-xml" ,docbook-xml-4.2)
4351 ("docbook-xsl" ,docbook-xsl)))
4352 (inputs
e644f9fa
RW
4353 `(("alsa-lib" ,alsa-lib)
4354 ("colord" ,colord)
ea226291 4355 ("libgudev" ,libgudev)
23a22af6
AW
4356 ("upower" ,upower)
4357 ("polkit" ,polkit)
4358 ("pulseaudio" ,pulseaudio)
4359 ("libcanberra" ,libcanberra)
4360 ("libx11" ,libx11)
4361 ("libxtst" ,libxtst)
4362 ("lcms" ,lcms)
4363 ("libnotify" ,libnotify)
4364 ("geoclue" ,geoclue)
4365 ("geocode-glib" ,geocode-glib)
4366 ("libgweather" ,libgweather)
4367 ("gnome-desktop" ,gnome-desktop)
4368 ("nss" ,nss)
4369 ("cups" ,cups)
ec2b1921
AW
4370 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4371 ("libwacom" ,libwacom)
4372 ("librsvg" ,librsvg)
eee7878f 4373 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4374 ("wayland" ,wayland)
eee7878f 4375 ("network-manager" ,network-manager)))
f032d0be 4376 (home-page "https://www.gnome.org")
23a22af6
AW
4377 (synopsis "GNOME settings daemon")
4378 (description
4379 "This package contains the daemon responsible for setting the various
4380parameters of a GNOME session and the applications that run under it. It
4381handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4382settings, themes, mouse settings, and startup of other daemons.")
4383 (license license:gpl2+)))
1e7464a9
DH
4384
4385(define-public totem-pl-parser
4386 (package
4387 (name "totem-pl-parser")
77425f04 4388 (version "3.26.3")
1e7464a9
DH
4389 (source (origin
4390 (method url-fetch)
e980cbe9
MW
4391 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4392 (version-major+minor version) "/"
1e7464a9
DH
4393 "totem-pl-parser-" version ".tar.xz"))
4394 (sha256
4395 (base32
77425f04 4396 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4397 (build-system meson-build-system)
1e7464a9
DH
4398 (arguments
4399 ;; FIXME: Tests require gvfs.
4400 `(#:tests? #f))
4401 (native-inputs
4402 `(("intltool" ,intltool)
4403 ("glib" ,glib "bin")
4d6d8281 4404 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4405 ("pkg-config" ,pkg-config)))
22a6ad6a 4406 (propagated-inputs
1e7464a9
DH
4407 `(("glib" ,glib)
4408 ("gmime" ,gmime)
1e9b19dd
RW
4409 ("libarchive" ,libarchive)
4410 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4411 ("libxml2" ,libxml2)))
4412 (inputs
0a6e9e13 4413 `(("libsoup" ,libsoup)))
1e7464a9
DH
4414 (home-page "https://projects.gnome.org/totem")
4415 (synopsis "Library to parse and save media playlists for GNOME")
4416 (description "Totem-pl-parser is a GObjects-based library to parse and save
4417playlists in a variety of formats.")
4418 (license license:lgpl2.0+)))
4419
6b888eff
SB
4420(define-public aisleriot
4421 (package
4422 (name "aisleriot")
36ed9b46 4423 (version "3.22.9")
6b888eff
SB
4424 (source (origin
4425 (method url-fetch)
e43f622a 4426 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4427 (version-major+minor version) "/"
e43f622a 4428 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4429 (sha256
4430 (base32
36ed9b46 4431 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4432 (build-system glib-or-gtk-build-system)
4433 (arguments
4434 '(#:configure-flags
4435 '("--with-platform=gtk-only"
4436 "--with-card-theme-formats=svg")))
4437 (native-inputs
4438 `(("desktop-file-utils" ,desktop-file-utils)
4439 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4440 ("intltool" ,intltool)
4441 ("itstool" ,itstool)
4442 ("pkg-config" ,pkg-config)
4443 ("xmllint" ,libxml2)))
4444 (inputs
4445 `(("gtk+" ,gtk+)
226e57d6 4446 ("guile" ,guile-2.2)
6b888eff
SB
4447 ("libcanberra" ,libcanberra)
4448 ("librsvg" ,librsvg)))
4449 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4450 (synopsis "Solitaire card games")
4451 (description
4452 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4453which are easy to play with the aid of a mouse.")
4454 (license license:gpl3+)))
4a79e256 4455
f828d05b
KK
4456(define-public amtk
4457 (package
4458 (name "amtk")
0e08ca14 4459 (version "5.0.2")
f828d05b
KK
4460 (source (origin
4461 (method url-fetch)
bf92ba6b 4462 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4463 (version-major+minor version) "/"
bf92ba6b 4464 "amtk-" version ".tar.xz"))
f828d05b
KK
4465 (sha256
4466 (base32
0e08ca14 4467 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4468 (build-system gnu-build-system)
4469 (arguments
4470 '(#:configure-flags '("--enable-gtk-doc")))
4471 (native-inputs
4472 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4473 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4474 ("gtk-doc" ,gtk-doc)
4475 ("pkg-config" ,pkg-config)))
4476 (inputs
4477 `(("glib" ,glib)
4478 ("gtk+" ,gtk+)))
4479 (home-page "https://wiki.gnome.org/Projects/Amtk")
4480 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4481 (description
4482 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4483It is a basic GtkUIManager replacement based on GAction. It is suitable for
4484both a traditional UI or a modern UI with a GtkHeaderBar.")
4485 (license license:lgpl2.1+)))
4486
4a79e256
SB
4487(define-public devhelp
4488 (package
4489 (name "devhelp")
20db7a3d 4490 (version "3.32.0")
4a79e256
SB
4491 (source (origin
4492 (method url-fetch)
4493 (uri (string-append "mirror://gnome/sources/" name "/"
4494 (version-major+minor version) "/"
4495 name "-" version ".tar.xz"))
4496 (sha256
4497 (base32
20db7a3d 4498 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4499 (build-system meson-build-system)
35407f94 4500 (arguments
20db7a3d
KK
4501 '(#:glib-or-gtk? #t
4502 #:phases
35407f94
EF
4503 (modify-phases %standard-phases
4504 (add-after 'unpack 'skip-gtk-update-icon-cache
4505 ;; Don't create 'icon-theme.cache'.
4506 (lambda _
4507 (substitute* "meson_post_install.py"
4508 (("gtk-update-icon-cache") "true"))
4509 #t)))))
4a79e256
SB
4510 (native-inputs
4511 `(("intltool" ,intltool)
5dd12afc 4512 ("itstool" ,itstool)
11d28bd9
KK
4513 ("gobject-introspection" ,gobject-introspection)
4514 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4515 ("pkg-config" ,pkg-config)))
4516 (inputs
11d28bd9
KK
4517 `(("amtk" ,amtk)
4518 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4519 ("webkitgtk" ,webkitgtk)))
4520 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4521 (synopsis "API documentation browser for GNOME")
4522 (description
4523 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4524natively with GTK-Doc (the API reference system developed for GTK+ and used
4525throughout GNOME for API documentation).")
4526 (license license:gpl2+)))
ba421ab7
MW
4527
4528(define-public cogl
4529 (package
4530 (name "cogl")
54c69ae1 4531 (version "1.22.4")
ba421ab7
MW
4532 (source
4533 (origin
4534 (method url-fetch)
5754f0cf 4535 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4536 (version-major+minor version) "/"
5754f0cf 4537 "cogl-" version ".tar.xz"))
ba421ab7 4538 (sha256
54c69ae1 4539 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4540 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4541 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4542 (build-system gnu-build-system)
4543 (native-inputs
4544 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4545 ("gobject-introspection" ,gobject-introspection)
4546 ;;("xorg-server" ,xorg-server) ; for the test suite
4547 ("pkg-config" ,pkg-config)))
4548 (propagated-inputs
4549 `(("glib" ,glib)
4550 ("gdk-pixbuf" ,gdk-pixbuf)
4551 ("libx11" ,libx11)
4552 ("libxext" ,libxext)
4553 ("libxfixes" ,libxfixes)
4554 ("libxdamage" ,libxdamage)
4555 ("libxcomposite" ,libxcomposite)
4556 ("libxrandr" ,libxrandr)))
4557 (inputs
4558 `(("mesa" ,mesa)
4559 ("cairo" ,cairo)
4560 ("pango" ,pango)
4561 ("gstreamer" ,gstreamer)
31860852
KK
4562 ("gst-plugins-base" ,gst-plugins-base)
4563 ("wayland" ,wayland)))
ba421ab7
MW
4564 (arguments
4565 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4566 "--enable-wayland-egl-platform"
4567 "--enable-wayland-egl-server"
4568
ba421ab7
MW
4569 ;; Arrange to pass an absolute file name to
4570 ;; dlopen for libGL.so.
4571 (string-append "--with-gl-libname="
4572 (assoc-ref %build-inputs "mesa")
4573 "/lib/libGL.so"))
4574 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4575 ;; _FontTransOpen: Unable to Parse address
4576 ;; ${prefix}/share/fonts/X11/misc/
4577 #:tests? #f
4578 #; #:phases
4579 #;
4580 (modify-phases %standard-phases
4581 (add-before 'check 'start-xorg-server
4582 (lambda* (#:key inputs #:allow-other-keys)
4583 ;; The test suite requires a running X server.
4584 (system (format #f "~a/bin/Xvfb :1 &"
4585 (assoc-ref inputs "xorg-server")))
4586 (setenv "DISPLAY" ":1")
4587 #t)))))
89b49245 4588 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4589 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4590 (description
4591 "Cogl is a small library for using 3D graphics hardware to draw pretty
4592pictures. The API departs from the flat state machine style of OpenGL and is
4593designed to make it easy to write orthogonal components that can render
4594without stepping on each others toes.")
4595 (license (list license:expat ; most of the code
4596 license:bsd-3 ; cogl/cogl-point-in-poly.c
4597 license:sgifreeb2.0 ; cogl-path/tesselator/
4598 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4599
4600(define-public clutter
4601 (package
4602 (name "clutter")
6a88e4ee 4603 (version "1.26.2")
fb182b8a
MW
4604 (source
4605 (origin
4606 (method url-fetch)
4607 (uri (string-append "mirror://gnome/sources/" name "/"
4608 (version-major+minor version) "/"
4609 name "-" version ".tar.xz"))
4610 (sha256
4611 (base32
6a88e4ee 4612 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4613 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4614 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4615 (build-system gnu-build-system)
600233bd
LC
4616 (outputs '("out"
4617 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4618 (native-inputs
4619 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4620 ("gobject-introspection" ,gobject-introspection)
4621 ("pkg-config" ,pkg-config)
4622 ("xsltproc" ,libxslt)))
4623 (propagated-inputs
4624 `(("cogl" ,cogl)
4625 ("cairo" ,cairo)
4626 ("atk" ,atk)
4627 ("gtk+" ,gtk+)
4628 ("json-glib" ,json-glib)
4629 ("glib" ,glib)
4630 ("libxcomposite" ,libxcomposite)
4631 ("libxdamage" ,libxdamage)
4632 ("libxext" ,libxext)
4633 ("xinput" ,xinput)))
4634 (inputs
4635 `(("libxkbcommon" ,libxkbcommon)
4636 ("udev" ,eudev)))
4637 (arguments
600233bd
LC
4638 `(#:configure-flags (list "--enable-x11-backend=yes"
4639
4640 ;; This produces share/doc/{clutter,cally}.
4641 (string-append "--with-html-dir="
4642 (assoc-ref %outputs "doc")
4643 "/share/doc"))
fb182b8a
MW
4644 ;; XXX FIXME: Get test suite working. It would probably fail in the
4645 ;; same way the cogl tests fail, since clutter is based on cogl.
4646 #:tests? #f))
4647 (home-page "http://www.clutter-project.org")
476af713 4648 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4649 (description
476af713 4650 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4651creating fast, mainly 2D single window applications such as media box UIs,
4652presentations, kiosk style applications and so on.")
4653 (license license:lgpl2.0+)))
bf7f17ba
MW
4654
4655(define-public clutter-gtk
4656 (package
4657 (name "clutter-gtk")
5d1a3219 4658 (version "1.8.4")
bf7f17ba
MW
4659 (source
4660 (origin
4661 (method url-fetch)
4662 (uri (string-append "mirror://gnome/sources/" name "/"
4663 (version-major+minor version) "/"
4664 name "-" version ".tar.xz"))
4665 (sha256
4666 (base32
5d1a3219 4667 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4668 (build-system gnu-build-system)
4669 (native-inputs
4670 `(("pkg-config" ,pkg-config)
4671 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4672 (propagated-inputs
4673 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4674 `(("clutter" ,clutter)
4675 ("gtk+" ,gtk+)))
4676 (home-page "http://www.clutter-project.org")
476af713 4677 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4678 (description
476af713 4679 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4680creating fast, mainly 2D single window applications such as media box UIs,
4681presentations, kiosk style applications and so on.")
4682 (license license:lgpl2.0+)))
86d6a893
MW
4683
4684(define-public clutter-gst
4685 (package
4686 (name "clutter-gst")
ba07ac19 4687 (version "3.0.27")
86d6a893
MW
4688 (source
4689 (origin
4690 (method url-fetch)
f010f89b 4691 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4692 (version-major+minor version) "/"
f010f89b 4693 "clutter-gst-" version ".tar.xz"))
86d6a893 4694 (sha256
ba07ac19 4695 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4696 (build-system gnu-build-system)
4697 (native-inputs
ba07ac19 4698 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4699 ("pkg-config" ,pkg-config)
4700 ("gobject-introspection" ,gobject-introspection)))
4701 (inputs
4702 `(("clutter" ,clutter)
4703 ("gstreamer" ,gstreamer)
4704 ("gst-plugins-base" ,gst-plugins-base)))
4705 (home-page "http://www.clutter-project.org")
4706 (synopsis "Integration library for using GStreamer with Clutter")
4707 (description
4708 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4709It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4710implements the ClutterGstPlayer interface using playbin. Clutter is an
4711OpenGL-based interactive canvas library.")
86d6a893 4712 (license license:lgpl2.0+)))
607a04ae 4713
30dc88d9
LC
4714(define-public libchamplain
4715 (package
4716 (name "libchamplain")
5564b2c5 4717 (version "0.12.16")
30dc88d9
LC
4718 (source (origin
4719 (method url-fetch)
4720 (uri (string-append
4721 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4722 version ".tar.xz"))
4723 (sha256
4724 (base32
5564b2c5 4725 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4726 (build-system gnu-build-system)
f7c6833f
LF
4727 (arguments '(#:configure-flags '("--enable-vala")))
4728 (native-inputs
4729 `(("gobject-introspection" ,gobject-introspection)
4730 ("pkg-config" ,pkg-config)
4731 ("vala" ,vala)))
30dc88d9
LC
4732 (propagated-inputs
4733 `(("libsoup" ,libsoup)
4734 ("sqlite" ,sqlite)
4735 ("clutter" ,clutter)
4736 ("clutter-gtk" ,clutter-gtk)
4737 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4738 ("cairo" ,cairo)
4739 ("gtk+3" ,gtk+)
4740 ("glib" ,glib)))
f032d0be 4741 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4742 (synopsis "C library providing a ClutterActor to display maps")
4743 (description
4744 "libchamplain is a C library providing a ClutterActor to display maps.
4745It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4746and Perl bindings are also available. It supports numerous free map sources
4747such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4748 (license license:lgpl2.1+)))
4749
607a04ae
MW
4750(define-public gom
4751 (package
4752 (name "gom")
0510440b 4753 (version "0.3.2")
607a04ae
MW
4754 (source
4755 (origin
4756 (method url-fetch)
6c8a0b6f 4757 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4758 (version-major+minor version) "/"
6c8a0b6f 4759 "gom-" version ".tar.xz"))
607a04ae
MW
4760 (sha256
4761 (base32
0510440b 4762 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4763 (build-system gnu-build-system)
4764 (native-inputs
4765 `(("intltool" ,intltool)
4766 ("pkg-config" ,pkg-config)
4767 ("gobject-introspection" ,gobject-introspection)))
4768 (inputs
4769 `(("glib" ,glib)
4770 ("gdk-pixbuf" ,gdk-pixbuf)
4771 ("sqlite" ,sqlite)))
4772 ;; XXX TODO: Figure out how to run the test suite.
4773 (arguments `(#:tests? #f))
4774 (home-page "https://wiki.gnome.org/Projects/Gom")
4775 (synopsis "Object mapper from GObjects to SQLite")
4776 (description
4777 "Gom provides an object mapper from GObjects to SQLite. It helps you
4778write applications that need to store structured data as well as make complex
4779queries upon that data.")
4780 (license license:lgpl2.1+)))
b7a3cf11 4781
865aacc9 4782(define-public libgnome-games-support
f09520db 4783 (package
865aacc9 4784 (name "libgnome-games-support")
4c6d15cf 4785 (version "1.4.4")
f09520db
SB
4786 (source (origin
4787 (method url-fetch)
2d8dca9d 4788 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4789 (version-major+minor version) "/"
2d8dca9d 4790 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4791 (sha256
4792 (base32
4c6d15cf 4793 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4794 (build-system gnu-build-system)
4795 (arguments
4796 '(#:phases
4797 (modify-phases %standard-phases
4798 (add-before 'check 'pre-check
4799 (lambda _
865aacc9 4800 ;; Tests require a writable HOME.
f09520db
SB
4801 (setenv "HOME" (getcwd))
4802 #t)))))
4803 (native-inputs
4804 `(("intltool" ,intltool)
4805 ("pkg-config" ,pkg-config)
4806 ("vala" ,vala)))
4807 (propagated-inputs
865aacc9 4808 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4809 `(("gtk+" ,gtk+)
4810 ("libgee" ,libgee)))
4811 (home-page "https://www.gnome.org/")
4812 (synopsis "Useful functionality shared among GNOME games")
4813 (description
865aacc9 4814 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4815GNOME Games, but it may be used by others.")
4816 (license license:lgpl3+)))
4817
b7a3cf11
SB
4818(define-public gnome-klotski
4819 (package
4820 (name "gnome-klotski")
c1e419c4 4821 (version "3.32.0")
b7a3cf11
SB
4822 (source (origin
4823 (method url-fetch)
4824 (uri (string-append "mirror://gnome/sources/" name "/"
4825 (version-major+minor version) "/"
4826 name "-" version ".tar.xz"))
4827 (sha256
4828 (base32
c1e419c4
KK
4829 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4830 (build-system meson-build-system)
4831 (arguments
4832 '(#:glib-or-gtk? #t
4833 #:phases
4834 (modify-phases %standard-phases
4835 (add-after 'unpack 'skip-gtk-update-icon-cache
4836 ;; Don't create 'icon-theme.cache'.
4837 (lambda _
4838 (substitute* "build-aux/meson_post_install.py"
4839 (("gtk-update-icon-cache") (which "true")))
4840 #t)))))
b7a3cf11
SB
4841 (native-inputs
4842 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4843 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4844 ("intltool" ,intltool)
4845 ("itstool" ,itstool)
bcb354ad 4846 ("pkg-config" ,pkg-config)
c1e419c4 4847 ("vala" ,vala)
bcb354ad 4848 ("xmllint" ,libxml2)))
b7a3cf11
SB
4849 (inputs
4850 `(("gtk+" ,gtk+)
f4eae76f 4851 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4852 ("librsvg" ,librsvg)))
4853 (home-page "https://wiki.gnome.org/Apps/Klotski")
4854 (synopsis "Sliding block puzzles")
4855 (description
4856 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4857the patterned block to the area bordered by green markers. To do so, you will
4858need to slide other blocks out of the way. Complete each puzzle in as few moves
4859as possible!")
4860 (license license:gpl2+)))
8d4791bf
MW
4861
4862(define-public grilo
4863 (package
4864 (name "grilo")
a865e938 4865 (version "0.3.10")
8d4791bf
MW
4866 (source
4867 (origin
4868 (method url-fetch)
4869 (uri (string-append "mirror://gnome/sources/" name "/"
4870 (version-major+minor version) "/"
4871 name "-" version ".tar.xz"))
4872 (sha256
4873 (base32
a865e938 4874 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4875 (build-system meson-build-system)
8d4791bf
MW
4876 (native-inputs
4877 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4878 ("intltool" ,intltool)
4879 ("pkg-config" ,pkg-config)
d48d4c98
KK
4880 ("gobject-introspection" ,gobject-introspection)
4881 ("gtk-doc" ,gtk-doc)
4882 ("vala" ,vala)))
8d4791bf 4883 (inputs
6d7273a0
KK
4884 `(("cyrus-sasl" ,cyrus-sasl)
4885 ("glib" ,glib)
8d4791bf
MW
4886 ("gtk+" ,gtk+)
4887 ("libxml2" ,libxml2)
6d7273a0 4888 ("liboauth" ,liboauth)
8d4791bf
MW
4889 ("libsoup" ,libsoup)
4890 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4891 (native-search-paths
4892 (list (search-path-specification
4893 (variable "GRL_PLUGIN_PATH")
4894 (files (list (string-append "lib/grilo-"
4895 (version-major+minor version)))))))
d48d4c98 4896 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4897 (synopsis "Framework for discovering and browsing media")
4898 (description
4899 "Grilo is a framework focused on making media discovery and browsing easy
4900for application developers.")
4901 (license license:lgpl2.1+)))
7b212526
MW
4902
4903(define-public grilo-plugins
4904 (package
4905 (name "grilo-plugins")
281f6b3a 4906 (version "0.3.10")
7b212526
MW
4907 (source
4908 (origin
4909 (method url-fetch)
4910 (uri (string-append "mirror://gnome/sources/" name "/"
4911 (version-major+minor version) "/"
4912 name "-" version ".tar.xz"))
4913 (sha256
4914 (base32
281f6b3a
RG
4915 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4916 (build-system meson-build-system)
7b212526 4917 (native-inputs
281f6b3a
RG
4918 `(("gettext" ,gettext-minimal)
4919 ("glib:bin" ,glib "bin")
4920 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4921 ("itstool" ,itstool)
4922 ("pkg-config" ,pkg-config)))
281f6b3a 4923 ;; TODO: ahavi, gstreamer
7b212526
MW
4924 (inputs
4925 `(("grilo" ,grilo)
281f6b3a
RG
4926 ;("gmime" ,gmime) ; unused
4927 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4928 ("gom" ,gom)
281f6b3a
RG
4929 ;("gssdp" ,gssdp) ; unused
4930 ;("gupnp" ,gupnp) ; unused
4931 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4932 ("json-glib" ,json-glib)
4933 ("avahi" ,avahi)
281f6b3a
RG
4934 ("libgdata" ,libgdata)
4935 ("libmediaart" ,libmediaart)
4936 ;("librest" ,rest) ; unused
7b212526 4937 ("libsoup" ,libsoup)
281f6b3a
RG
4938 ("totam-pl-parser" ,totem-pl-parser)
4939 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4940 (arguments
281f6b3a
RG
4941 `(#:glib-or-gtk? #t
4942 ;;Disable lua-factory as it needs missing dependencies
4943 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4944 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4945 (synopsis "Plugins for the Grilo media discovery library")
4946 (description
4947 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4948for application developers. This package provides plugins for common media
4949discovery protocols.")
7b212526 4950 (license license:lgpl2.1+)))
4e3fc547
MW
4951
4952(define-public totem
4953 (package
4954 (name "totem")
995ef5ea 4955 (version "3.32.1")
4e3fc547
MW
4956 (source
4957 (origin
4958 (method url-fetch)
4959 (uri (string-append "mirror://gnome/sources/" name "/"
4960 (version-major+minor version) "/"
4961 name "-" version ".tar.xz"))
4962 (sha256
4963 (base32
995ef5ea 4964 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4965 (build-system meson-build-system)
4e3fc547
MW
4966 (native-inputs
4967 `(("pkg-config" ,pkg-config)
4968 ("desktop-file-utils" ,desktop-file-utils)
4969 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4970 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4971 ("intltool" ,intltool)
bcb354ad 4972 ("itstool" ,itstool)
995ef5ea
KK
4973 ("xmllint" ,libxml2)
4974 ("python-pylint" ,python-pylint)
4975 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4976 (propagated-inputs
4977 `(("dconf" ,dconf)))
4978 (inputs
4979 `(("gtk+" ,gtk+)
4980 ("gdk-pixbuf" ,gdk-pixbuf)
4981 ("atk" ,atk)
4982 ("cairo" ,cairo)
4983 ("dbus-glib" ,dbus-glib)
4984 ("clutter" ,clutter)
4985 ("clutter-gtk" ,clutter-gtk)
4986 ("clutter-gst" ,clutter-gst)
6a6db57f 4987 ("xorgproto" ,xorgproto)
4e3fc547
MW
4988 ("libxxf86vm" ,libxxf86vm)
4989 ("libxtst" ,libxtst)
4990 ("libxrandr" ,libxrandr)
4991 ("libxml2" ,libxml2)
4992 ("libsoup" ,libsoup)
4993 ("libpeas" ,libpeas)
4994 ("librsvg" ,librsvg)
4995 ("lirc" ,lirc)
4996 ("gnome-desktop" ,gnome-desktop)
4997 ("gstreamer" ,gstreamer)
4998 ("gst-plugins-base" ,gst-plugins-base)
4999 ("gst-plugins-good" ,gst-plugins-good)
5000 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5001 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5002 ("python" ,python)
995ef5ea 5003 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5004 ("totem-pl-parser" ,totem-pl-parser)
5005 ("grilo" ,grilo)
5006 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5007 ("vala" ,vala)))
5008 (arguments
7ad81b8b
LC
5009 `(#:glib-or-gtk? #t
5010
5011 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5012 ;; all that.
7ad81b8b 5013 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5014
5015 ;; Do not build .a files for the plugins, it's
5016 ;; completely useless. This saves 2 MiB.
7ad81b8b 5017 "--default-library" "shared")
ec5c24f9 5018 #:phases
4e3fc547 5019 (modify-phases %standard-phases
d51b19ad
EF
5020 (add-after 'unpack 'skip-gtk-update-icon-cache
5021 ;; Don't create 'icon-theme.cache'.
5022 (lambda _
5023 (substitute* "meson_post_install.py"
5024 (("gtk-update-icon-cache") "true"))
5025 #t))
6368eb39
DM
5026 (add-before
5027 'install 'disable-cache-generation
5028 (lambda _
5029 (setenv "DESTDIR" "/")
5030 #t))
995ef5ea
KK
5031 (add-before
5032 'check 'pre-check
5033 (lambda _
5034 ;; Tests require a running X server.
5035 (system "Xvfb :1 &")
5036 (setenv "DISPLAY" ":1")
5037 #t))
4e3fc547
MW
5038 (add-after
5039 'install 'wrap-totem
5040 (lambda* (#:key inputs outputs #:allow-other-keys)
5041 (let ((out (assoc-ref outputs "out"))
5042 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5043 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5044 (wrap-program (string-append out "/bin/totem")
5045 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5046 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5047 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5048 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5049 #t)))))
5050 (home-page "https://wiki.gnome.org/Apps/Videos")
5051 (synopsis "Simple media player for GNOME based on GStreamer")
5052 (description "Totem is a simple yet featureful media player for GNOME
5053which can read a large number of file formats.")
5054 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5055 ;; to be used and distributed together with GStreamer and Totem. See
5056 ;; file://COPYING in the source distribution for details.
5057 (license license:gpl2+)))
f0afb0c8
DH
5058
5059(define-public rhythmbox
5060 (package
5061 (name "rhythmbox")
eda580c0 5062 (version "3.4.4")
f0afb0c8
DH
5063 (source (origin
5064 (method url-fetch)
2588693d 5065 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5066 (version-major+minor version) "/"
2588693d 5067 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5068 (sha256
5069 (base32
eda580c0 5070 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5071 (build-system glib-or-gtk-build-system)
5072 (arguments
5073 `(#:configure-flags
5074 (list "--enable-lirc"
5075 "--enable-python"
5076 "--enable-vala"
5077 "--with-brasero"
5078 "--with-gudev"
5079 "--with-libsecret")
5080 #:phases
5081 (modify-phases %standard-phases
5082 (add-after
5083 'install 'wrap-rhythmbox
5084 (lambda* (#:key inputs outputs #:allow-other-keys)
5085 (let ((out (assoc-ref outputs "out"))
5086 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5087 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5088 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5089 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5090 (wrap-program (string-append out "/bin/rhythmbox")
5091 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5092 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5093 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5094 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5095 #t)))))
5096 (propagated-inputs
5097 `(("dconf" ,dconf)))
5098 (native-inputs
bcb354ad
SB
5099 `(("itstool" ,itstool)
5100 ("intltool" ,intltool)
f0afb0c8
DH
5101 ("glib" ,glib "bin")
5102 ("gobject-introspection" ,gobject-introspection)
5103 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5104 ("pkg-config" ,pkg-config)
5105 ("xmllint" ,libxml2)))
f0afb0c8
DH
5106 (inputs
5107 `(("json-glib" ,json-glib)
5108 ("tdb" ,tdb)
5109 ("gnome-desktop" ,gnome-desktop)
5110 ("python" ,python)
5111 ("python-pygobject" ,python2-pygobject)
5112 ("vala" ,vala)
5113 ("gmime" ,gmime)
f0afb0c8
DH
5114 ("adwaita-icon-theme" ,adwaita-icon-theme)
5115 ("grilo" ,grilo)
5116 ("grilo-plugins" ,grilo-plugins)
5117 ("gstreamer" ,gstreamer)
5118 ("gst-plugins-base" ,gst-plugins-base)
5119 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5120 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5121 ("libgudev" ,libgudev)
f0afb0c8
DH
5122 ;;("libmtp" ,libmtp) FIXME: Not detected
5123 ("libsecret" ,libsecret)
5124 ("libsoup" ,libsoup)
5125 ("libnotify" ,libnotify)
5126 ("libpeas" ,libpeas)
5127 ("lirc" ,lirc)
5128 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5129 ;;("clutter" ,clutter)
5130 ;;("clutter-gtk" ,clutter-gtk)
5131 ;;("clutter-gst" ,clutter-gst)
5132 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5133 ("atk" ,atk)
5134 ("pango" ,pango)
5135 ("gtk+" ,gtk+)
5136 ;; TODO:
5137 ;; * libgpod
5138 ;; * mx
f0afb0c8
DH
5139 ("brasero" ,brasero)))
5140 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5141 (synopsis "Music player for GNOME")
5142 (description "Rhythmbox is a music playing application for GNOME. It
5143supports playlists, song ratings, and any codecs installed through gstreamer.")
5144 (license license:gpl2+)))
f70d8383
DH
5145
5146(define-public eog
5147 (package
5148 (name "eog")
b0f24a82 5149 (version "3.32.2")
f70d8383
DH
5150 (source (origin
5151 (method url-fetch)
5152 (uri (string-append "mirror://gnome/sources/" name "/"
5153 (version-major+minor version) "/"
5154 name "-" version ".tar.xz"))
5155 (sha256
5156 (base32
b0f24a82 5157 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 5158 (build-system meson-build-system)
f70d8383 5159 (arguments
34c44a34
RW
5160 `(#:configure-flags
5161 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5162 (list (string-append "-Dc_link_args=-Wl,-rpath="
5163 (assoc-ref %outputs "out") "/lib/eog"))
5164 #:phases
f70d8383 5165 (modify-phases %standard-phases
7a034665
EF
5166 (add-after 'unpack 'skip-gtk-update-icon-cache
5167 ;; Don't create 'icon-theme.cache'.
5168 (lambda _
5169 (substitute* "meson_post_install.py"
5170 (("gtk-update-icon-cache") "true"))
5171 #t))
61fb581f
RW
5172 (add-after 'install 'wrap-eog
5173 (lambda* (#:key outputs #:allow-other-keys)
5174 (let ((out (assoc-ref outputs "out"))
5175 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5176 (wrap-program (string-append out "/bin/eog")
5177 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5178 #t)))))
f70d8383
DH
5179 (propagated-inputs
5180 `(("dconf" ,dconf)))
5181 (native-inputs
5182 `(("intltool" ,intltool)
b3546174 5183 ("itstool" ,itstool)
f70d8383
DH
5184 ("glib" ,glib "bin")
5185 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5186 ("pkg-config" ,pkg-config)
5187 ("xmllint" ,libxml2)))
f70d8383
DH
5188 (inputs
5189 `(("gnome-desktop" ,gnome-desktop)
5190 ("shared-mime-info" ,shared-mime-info)
5191 ("adwaita-icon-theme" ,adwaita-icon-theme)
5192 ("exempi" ,exempi)
5193 ("lcms" ,lcms)
5194 ("libexif" ,libexif)
5195 ("libpeas" ,libpeas)
5196 ("libjpeg" ,libjpeg)
5197 ("librsvg" ,librsvg)
5198 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5199 ("gtk+" ,gtk+)))
5200 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5201 (synopsis "GNOME image viewer")
5202 (description "Eye of GNOME is the GNOME image viewer. It
5203supports image conversion, rotation, and slideshows.")
5204 (license license:gpl2+)))
41af5e7b 5205
0c3f8cb8
LC
5206(define-public eog-plugins
5207 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5208 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5209 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5210 ;; 'XDG_DATA_DIRS' appropriately set.
5211 (package
5212 (name "eog-plugins")
54b74cc6 5213 (version "3.26.4")
0c3f8cb8
LC
5214 (source (origin
5215 (method url-fetch)
f3b88ed2 5216 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5217 (version-major+minor version) "/"
f3b88ed2 5218 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5219 (sha256
5220 (base32
54b74cc6 5221 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5222 (build-system gnu-build-system)
5223 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5224 (synopsis "Extensions for the Eye of GNOME image viewer")
5225 (native-inputs
5226 `(("pkg-config" ,pkg-config)
5227 ("gettext" ,gnu-gettext)))
5228 (inputs
5229 `(("eog" ,eog)
5230 ("glib" ,glib)
5231 ("gtk+" ,gtk+)
5232 ("libpeas" ,libpeas)
5233 ("libexif" ,libexif)
5234 ("libchamplain" ,libchamplain)))
5235 (description
5236 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5237notably:
5238
5239@itemize
5240@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5241@item @dfn{Map}, which displays a map of where the picture was taken on the
5242side panel;
5243@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5244@end itemize\n")
5245
5246 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5247 ;; long suspicious byte stream that goes to a
5248 ;; ".gresource.eog_postasa_plugin" ELF section.
5249 (license license:gpl2+)))
5250
41af5e7b
SB
5251(define-public libgudev
5252 (package
5253 (name "libgudev")
b78f5118 5254 (version "232")
41af5e7b
SB
5255 (source (origin
5256 (method url-fetch)
5257 (uri (string-append "mirror://gnome/sources/" name "/"
5258 version "/" name "-" version ".tar.xz"))
5259 (sha256
5260 (base32
b78f5118 5261 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5262 (build-system gnu-build-system)
b78f5118
RW
5263 (arguments
5264 '(#:configure-flags
5265 ;; umockdev depends on libgudev.
5266 (list "--disable-umockdev")))
41af5e7b
SB
5267 (native-inputs
5268 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5269 ("gobject-introspection" ,gobject-introspection)
5270 ("pkg-config" ,pkg-config)))
5271 (propagated-inputs
5272 `(("glib" ,glib))) ; required by gudev-1.0.pc
5273 (inputs
5274 `(("udev" ,eudev)))
5275 (home-page "https://wiki.gnome.org/Projects/libgudev")
5276 (synopsis "GObject bindings for libudev")
5277 (description
5278 "This library provides GObject bindings for libudev. It was originally
5279part of udev-extras, then udev, then systemd. It's now a project on its own.")
5280 (license license:lgpl2.1+)))
3dc8828f
SB
5281
5282(define-public gvfs
5283 (package
5284 (name "gvfs")
12fe4846 5285 (version "1.40.1")
3dc8828f
SB
5286 (source (origin
5287 (method url-fetch)
1d68eb32 5288 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5289 (version-major+minor version) "/"
1d68eb32 5290 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5291 (sha256
5292 (base32
12fe4846 5293 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5294 (build-system meson-build-system)
3dc8828f 5295 (arguments
e762d943
RW
5296 '(#:glib-or-gtk? #t
5297 #:configure-flags
5298 (list "-Dsystemduserunitdir=no"
5299 "-Dtmpfilesdir=no"
5300 ;; Otherwise, the RUNPATH will lack the final path component.
5301 (string-append "-Dc_link_args=-Wl,-rpath="
5302 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5303 (native-inputs
5304 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5305 ("gettext" ,gettext-minimal)
5306 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5307 ("pkg-config" ,pkg-config)
5308 ("xsltproc" ,libxslt)))
5309 (inputs
5310 `(("avahi" ,avahi)
5311 ("docbook-xml" ,docbook-xml-4.2)
5312 ("docbook-xsl" ,docbook-xsl)
5313 ("dbus" ,dbus)
e762d943 5314 ("elogind" ,elogind)
3dc8828f 5315 ("fuse" ,fuse)
24a78aa6 5316 ("gcr" ,gcr)
3dc8828f 5317 ("glib" ,glib)
e762d943 5318 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5319 ("libarchive" ,libarchive)
5320 ("libbluray" ,libbluray)
8852ca24 5321 ("libcap" ,libcap)
3dc8828f
SB
5322 ("libcdio-paranoia" ,libcdio-paranoia)
5323 ("libgcrypt" ,libgcrypt)
e762d943 5324 ("libgdata" ,libgdata)
3dc8828f
SB
5325 ("libgphoto2" ,libgphoto2)
5326 ("libgudev" ,libgudev)
0ab9f949 5327 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5328 ("libmtp" ,libmtp)
e762d943 5329 ("libnfs" ,libnfs)
3dc8828f
SB
5330 ("libsecret" ,libsecret)
5331 ("libsmbclient" ,samba)
5332 ("libsoup" ,libsoup)
5333 ("libxml2" ,libxml2)
e762d943 5334 ("openssh" ,openssh)
8852ca24 5335 ("polkit" ,polkit)
3dc8828f
SB
5336 ("udisks" ,udisks)))
5337 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5338 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5339 (description
8f65585b 5340 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5341abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5342to all applications using the GIO API. It also supports exposing the GVFS
5343mounts to non-GIO applications using FUSE.
5344
5345GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5346DAV, and others.")
5347 (license license:lgpl2.0+)))
7c88b6bd
AW
5348
5349(define-public gusb
5350 (package
5351 (name "gusb")
536b3274 5352 (version "0.3.0")
7c88b6bd 5353 (source (origin
bbfb36f9
EF
5354 (method git-fetch)
5355 (uri (git-reference
5356 (url "https://github.com/hughsie/libgusb.git")
5357 (commit version)))
5358 (file-name (git-file-name name version))
7c88b6bd
AW
5359 (sha256
5360 (base32
bbfb36f9 5361 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5362 (build-system meson-build-system)
7c88b6bd 5363 (native-inputs
536b3274 5364 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5365 ("pkg-config" ,pkg-config)
5366 ("vala" ,vala)
7c88b6bd
AW
5367 ("gtk-doc" ,gtk-doc)))
5368 (propagated-inputs
5369 ;; Both of these are required by gusb.pc.
5370 `(("glib" ,glib)
5371 ("libusb" ,libusb)))
5372 (arguments
536b3274 5373 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5374 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5375 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5376 (description
5377 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5378asynchronous control, bulk and interrupt transfers with proper cancellation
5379and integration into a mainloop. This makes it easy to integrate low level
5380USB transfers with your high-level application or system daemon.")
5381 (license license:lgpl2.1+)))
0abe1d86
AW
5382
5383(define-public simple-scan
5384 (package
5385 (name "simple-scan")
fe6cfa99 5386 (version "3.36.0")
d9f6d587
TGR
5387 (source
5388 (origin
5389 (method url-fetch)
5390 (uri (string-append "mirror://gnome/sources/simple-scan/"
5391 (version-major+minor version) "/"
5392 "simple-scan-" version ".tar.xz"))
5393 (sha256
fe6cfa99 5394 (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
d9f6d587
TGR
5395 (build-system meson-build-system)
5396 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5397 (arguments
5398 '(#:glib-or-gtk? #t))
0abe1d86
AW
5399 (inputs
5400 `(("gtk" ,gtk+)
5401 ("zlib" ,zlib)
5402 ("cairo" ,cairo)
c501f592 5403 ("colord" ,colord)
0abe1d86
AW
5404 ("gdk-pixbuf" ,gdk-pixbuf)
5405 ("gusb" ,gusb)
4c928743 5406 ("libsane" ,sane-backends)))
0abe1d86 5407 (native-inputs
b94a6ca0 5408 `(("gettext" ,gettext-minimal)
0abe1d86 5409 ("itstool" ,itstool)
c501f592 5410 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5411 ("pkg-config" ,pkg-config)
bcb354ad
SB
5412 ("vala" ,vala)
5413 ("xmllint" ,libxml2)))
dff0eedb 5414 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5415 (synopsis "Document and image scanner")
d9f6d587
TGR
5416 (description
5417 "Document Scanner is an easy-to-use application that lets you connect your
5418scanner and quickly capture images and documents in an appropriate format. It
5419supports any scanner for which a suitable SANE driver is available, which is
5420almost all of them.")
0abe1d86 5421 (license license:gpl3+)))
7549f984 5422
ab466d79
RW
5423(define-public eolie
5424 (package
5425 (name "eolie")
ed783404 5426 (version "0.9.98.1")
ab466d79
RW
5427 (source (origin
5428 (method url-fetch)
ed783404
RW
5429 (uri (string-append "https://adishatz.org/eolie/eolie-"
5430 version ".tar.xz"))
ab466d79
RW
5431 (sha256
5432 (base32
ed783404 5433 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5434 (build-system meson-build-system)
ab466d79 5435 (arguments
00014781
RW
5436 `(#:glib-or-gtk? #t
5437 #:phases
ab466d79 5438 (modify-phases %standard-phases
f0c68100
EF
5439 (add-after 'unpack 'skip-gtk-update-icon-cache
5440 ;; Don't create 'icon-theme.cache'.
5441 (lambda _
5442 (substitute* "meson_post_install.py"
5443 (("gtk-update-icon-cache") "true"))
5444 #t))
ab466d79
RW
5445 (add-after 'wrap 'wrap-more
5446 (lambda* (#:key inputs outputs #:allow-other-keys)
5447 (let* ((out (assoc-ref outputs "out"))
5448 ;; These libraries must be on LD_LIBRARY_PATH.
5449 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5450 "atk" "gtk+" "gsettings-desktop-schemas"
5451 "gobject-introspection"))
5452 (path (string-join
5453 (map (lambda (lib)
5454 (string-append (assoc-ref inputs lib) "/lib"))
5455 libs)
5456 ":")))
5457 (wrap-program (string-append out "/bin/eolie")
5458 `("LD_LIBRARY_PATH" ":" prefix (,path))
5459 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5460 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5461 #t)))))
5462 (native-inputs
f85ca6ed 5463 `(("intltool" ,intltool)
ab466d79 5464 ("itstool" ,itstool)
d95f1041 5465 ("pkg-config" ,pkg-config)
d95f1041 5466 ("python" ,python)
f0c68100 5467 ("glib:bin" ,glib "bin")))
ab466d79
RW
5468 (inputs
5469 `(("gobject-introspection" ,gobject-introspection)
5470 ("glib-networking" ,glib-networking)
5471 ("cairo" ,cairo)
5472 ("gtk+" ,gtk+)
5473 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5474 ("python" ,python-wrapper)
d72f76df 5475 ("python-dateutil" ,python-dateutil)
00014781 5476 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5477 ("python-pygobject" ,python-pygobject)
5478 ("python-pycairo" ,python-pycairo)
00014781 5479 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5480 ("libsecret" ,libsecret)
5481 ("gtkspell3" ,gtkspell3)
5482 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5483 ("webkitgtk" ,webkitgtk)))
166b2c97 5484 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5485 (synopsis "Web browser for GNOME")
5486 (description
5487 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5488a secret password store, an adblocker, and a modern UI.")
5489 (license license:gpl3+)))
5490
7549f984
SB
5491(define-public epiphany
5492 (package
5493 (name "epiphany")
60680365 5494 (version "3.32.5")
7549f984
SB
5495 (source (origin
5496 (method url-fetch)
dd3266ec 5497 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5498 (version-major+minor version) "/"
dd3266ec 5499 "epiphany-" version ".tar.xz"))
7549f984
SB
5500 (sha256
5501 (base32
60680365 5502 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5503
5504 (build-system meson-build-system)
7549f984
SB
5505 (arguments
5506 ;; FIXME: tests run under Xvfb, but fail with:
5507 ;; /src/bookmarks/ephy-bookmarks/create:
5508 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5509 ;; subsystem
5510 ;; FAIL
6f48d9db 5511 '(#:tests? #f
e19f9c24 5512 #:glib-or-gtk? #t
bb7ff88f
EF
5513 #:phases
5514 (modify-phases %standard-phases
5515 (add-after 'unpack 'skip-gtk-update-icon-cache
5516 ;; Don't create 'icon-theme.cache'.
5517 (lambda _
5518 (substitute* "post_install.py"
5519 (("gtk-update-icon-cache") "true"))
5520 #t)))
e19f9c24
LF
5521 #:configure-flags
5522 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5523 (list (string-append "-Dc_link_args=-Wl,-rpath="
5524 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5525 (propagated-inputs
5526 `(("dconf" ,dconf)))
7549f984 5527 (native-inputs
fc5c5b92
R
5528 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5529 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5530 ("intltool" ,intltool)
7549f984 5531 ("itstool" ,itstool)
bcb354ad
SB
5532 ("pkg-config" ,pkg-config)
5533 ("xmllint" ,libxml2)))
7549f984
SB
5534 (inputs
5535 `(("avahi" ,avahi)
5536 ("gcr" ,gcr)
fc5c5b92 5537 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5538 ("glib-networking" ,glib-networking)
5539 ("gnome-desktop" ,gnome-desktop)
5540 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5541 ("json-glib" ,json-glib)
7549f984 5542 ("iso-codes" ,iso-codes)
8748e29c 5543 ("libdazzle" ,libdazzle)
7549f984
SB
5544 ("libnotify" ,libnotify)
5545 ("libsecret" ,libsecret)
7549f984 5546 ("libxslt" ,libxslt)
fc5c5b92 5547 ("nettle" ,nettle) ; for hogweed
7549f984 5548 ("sqlite" ,sqlite)
f85ca6ed 5549 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5550 (home-page "https://wiki.gnome.org/Apps/Web")
5551 (synopsis "GNOME web browser")
5552 (description
5553 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5554principles are simplicity and standards compliance.")
5555 (license license:gpl2+)))
a3856b2c
SB
5556
5557(define-public d-feet
5558 (package
5559 (name "d-feet")
458e9221 5560 (version "0.3.14")
a3856b2c
SB
5561 (source (origin
5562 (method url-fetch)
5563 (uri (string-append "mirror://gnome/sources/" name "/"
5564 (version-major+minor version) "/"
5565 name "-" version ".tar.xz"))
5566 (sha256
5567 (base32
458e9221 5568 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5569 (build-system glib-or-gtk-build-system)
5570 (arguments
5571 '(#:out-of-source? #f ; tests need to run in the source directory.
5572 #:phases
5573 (modify-phases %standard-phases
5574 (add-before
5575 'check 'pre-check
86aff791 5576 (lambda _
a3856b2c
SB
5577 ;; The test suite requires a running X server.
5578 (system "Xvfb :1 &")
5579 (setenv "DISPLAY" ":1")
5580 ;; Don't fail on missing '/etc/machine-id'.
5581 (setenv "DBUS_FATAL_WARNINGS" "0")
5582 ;; tests.py and window.py don't meet E402:
5583 ;; E402 module level import not at top of file
5584 (substitute* "src/tests/Makefile"
86aff791
MW
5585 (("--ignore=E123") "--ignore=E123,E402"))
5586 #t))
a3856b2c
SB
5587 (add-after
5588 'install 'wrap-program
5589 (lambda* (#:key outputs #:allow-other-keys)
5590 (let ((prog (string-append (assoc-ref outputs "out")
5591 "/bin/d-feet")))
5592 (wrap-program prog
5593 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5594 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5595 #t))))))
a3856b2c
SB
5596 (native-inputs
5597 `(("intltool" ,intltool)
5598 ("itstool" ,itstool)
5599 ("pkg-config" ,pkg-config)
5600 ("python-pep8" ,python-pep8)
5601 ("xmllint" ,libxml2)
ff337525 5602 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5603 (inputs
5604 `(("gobject-introspection" ,gobject-introspection)
5605 ("gtk+" ,gtk+)
5606 ("python" ,python-wrapper)
458e9221 5607 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5608 ("python-pygobject" ,python-pygobject)))
5609 (home-page "https://wiki.gnome.org/Apps/DFeet")
5610 (synopsis "D-Bus debugger")
5611 (description
5612 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5613of running programs and invoke methods on those interfaces.")
5614 (license license:gpl2+)))
c3b97bd9
SB
5615
5616(define-public yelp-xsl
5617 (package
5618 (name "yelp-xsl")
b3640e79 5619 (version "3.32.1")
c3b97bd9
SB
5620 (source (origin
5621 (method url-fetch)
5622 (uri (string-append "mirror://gnome/sources/" name "/"
5623 (version-major+minor version) "/"
5624 name "-" version ".tar.xz"))
5625 (sha256
5626 (base32
b3640e79 5627 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5628 (build-system gnu-build-system)
5629 (native-inputs
5630 `(("intltool" ,intltool)
5631 ("itstool" ,itstool)
5632 ("xmllint" ,libxml2)))
5633 (home-page "https://wiki.gnome.org/Apps/Yelp")
5634 (synopsis "XSL stylesheets for Yelp")
5635 (description
5636 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5637to format Docbook and Mallard documents.")
5638 (license license:gpl2+)))
de3d612a
SB
5639
5640(define-public yelp
5641 (package
5642 (name "yelp")
1f1b6d60 5643 (version "3.32.2")
de3d612a
SB
5644 (source (origin
5645 (method url-fetch)
5646 (uri (string-append "mirror://gnome/sources/" name "/"
5647 (version-major+minor version) "/"
5648 name "-" version ".tar.xz"))
5649 (sha256
5650 (base32
1f1b6d60 5651 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5652 (build-system glib-or-gtk-build-system)
5653 (native-inputs
5654 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5655 ("intltool" ,intltool)
5656 ("itstool" ,itstool)
5657 ("pkg-config" ,pkg-config)))
5658 (propagated-inputs
5659 `(("dconf" ,dconf)))
5660 (inputs
ad1b7d8b
SB
5661 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5662 ("libxslt" ,libxslt)
de3d612a 5663 ("sqlite" ,sqlite)
4c28ca1d
SB
5664 ("webkitgtk" ,webkitgtk)
5665 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5666 (home-page "https://wiki.gnome.org/Apps/Yelp")
5667 (synopsis "GNOME help browser")
5668 (description
5669 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5670man, info, and HTML documents. It can locate documents according to the
5671freedesktop.org help system specification.")
5672 (license license:gpl2+)))
122d0d10
SB
5673
5674(define-public yelp-tools
5675 (package
5676 (name "yelp-tools")
2089bca5 5677 (version "3.28.0")
122d0d10
SB
5678 (source (origin
5679 (method url-fetch)
5680 (uri (string-append "mirror://gnome/sources/" name "/"
5681 (version-major+minor version) "/"
5682 name "-" version ".tar.xz"))
5683 (sha256
5684 (base32
2089bca5 5685 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5686 (build-system gnu-build-system)
5687 (native-inputs
5688 `(("pkg-config" ,pkg-config)))
5689 (propagated-inputs
5690 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5691 `(("itstool" ,itstool)
5692 ("xmllint" ,libxml2)
5693 ("xsltproc" ,libxslt)))
5694 (inputs
5695 `(("yelp-xsl" ,yelp-xsl)))
5696 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5697 (synopsis "Yelp documentation tools")
5698 (description
5699 "Yelp-tools is a collection of scripts and build utilities to help create,
5700manage, and publish documentation for Yelp and the web. Most of the heavy
5701lifting is done by packages like yelp-xsl and itstool. This package just
5702wraps things up in a developer-friendly way.")
5703 (license license:gpl2+)))
af8f9f23 5704
4ed041d9
MB
5705(define-public yelp-tools/fixed
5706 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5707 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5708 ;; the next rebuild cycle.
5709 (hidden-package
5710 (package/inherit
5711 yelp-tools
5712 (propagated-inputs
5713 `(("itstool" ,itstool/fixed)
5714 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5715
af8f9f23
RW
5716(define-public libgee
5717 (package
5718 (name "libgee")
9cedae2a 5719 (version "0.20.3")
af8f9f23
RW
5720 (source (origin
5721 (method url-fetch)
84a1b007 5722 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5723 (version-major+minor version) "/"
84a1b007 5724 "libgee-" version ".tar.xz"))
af8f9f23
RW
5725 (sha256
5726 (base32
9cedae2a 5727 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5728 (build-system gnu-build-system)
5729 (arguments
5730 `(#:phases
5731 (modify-phases %standard-phases
5732 (add-after 'unpack 'fix-introspection-install-dir
5733 (lambda* (#:key outputs #:allow-other-keys)
5734 (let ((out (assoc-ref outputs "out")))
5735 (substitute* "gee/Makefile.in"
5736 (("@INTROSPECTION_GIRDIR@")
5737 (string-append out "/share/gir-1.0/"))
5738 (("@INTROSPECTION_TYPELIBDIR@")
5739 (string-append out "/lib/girepository-1.0/")))))))))
5740 (native-inputs
5741 `(("glib" ,glib "bin")
5742 ("pkg-config" ,pkg-config)))
5743 (inputs
5744 `(("glib" ,glib)
5745 ("gobject-introspection" ,gobject-introspection)))
5746 (home-page "https://wiki.gnome.org/Projects/Libgee")
5747 (synopsis "GObject collection library")
5748 (description
5749 "Libgee is a utility library providing GObject-based interfaces and
5750classes for commonly used data structures.")
5751 (license license:lgpl2.1+)))
b0f9c4b8
RW
5752
5753(define-public gexiv2
5754 (package
5755 (name "gexiv2")
b1a8b408 5756 (version "0.12.0")
b0f9c4b8
RW
5757 (source (origin
5758 (method url-fetch)
5759 (uri (string-append "mirror://gnome/sources/" name "/"
5760 (version-major+minor version) "/"
5761 name "-" version ".tar.xz"))
5762 (sha256
5763 (base32
b1a8b408 5764 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5765 (build-system meson-build-system)
b0f9c4b8 5766 (native-inputs
b1a8b408
KK
5767 `(("gcr" ,gcr)
5768 ("glib" ,glib "bin")
5769 ("pkg-config" ,pkg-config)
5770 ("vala" ,vala)))
b0f9c4b8
RW
5771 (propagated-inputs
5772 ;; Listed in "Requires" section of gexiv2.pc
5773 `(("exiv2" ,exiv2)))
5774 (inputs
5775 `(("glib" ,glib)
5776 ("gobject-introspection" ,gobject-introspection)))
5777 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5778 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5779 (description
5780 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5781allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5782metadata in photo and video files of various formats.")
5783 (license license:gpl2+)))
fed5a689
RW
5784
5785(define-public shotwell
5786 (package
5787 (name "shotwell")
bcea20cc 5788 (version "0.30.8")
fed5a689
RW
5789 (source (origin
5790 (method url-fetch)
5497d682 5791 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5792 (version-major+minor version) "/"
5497d682 5793 "shotwell-" version ".tar.xz"))
fed5a689
RW
5794 (sha256
5795 (base32
bcea20cc 5796 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5797 (build-system meson-build-system)
5798 (arguments
5a0beca3
EF
5799 '(#:glib-or-gtk? #t
5800 #:phases
5801 (modify-phases %standard-phases
5802 (add-after 'unpack 'skip-gtk-update-icon-cache
5803 (lambda _
5804 (substitute* "build-aux/meson/postinstall.py"
5805 (("gtk-update-icon-cache") (which "true"))
5806 (("update-desktop-database") (which "true")))
5807 #t)))))
735b8db6
TGR
5808 (propagated-inputs
5809 `(("dconf" ,dconf)))
fed5a689 5810 (native-inputs
5a0beca3
EF
5811 `(("gettext" ,gettext-minimal)
5812 ("glib:bin" ,glib "bin")
735b8db6 5813 ("itstool" ,itstool)
3b79afa6 5814 ("pkg-config" ,pkg-config)
735b8db6 5815 ("vala" ,vala)))
fed5a689 5816 (inputs
5a0beca3
EF
5817 `(("gcr" ,gcr)
5818 ("gexiv2" ,gexiv2)
fed5a689 5819 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5820 ("gstreamer" ,gstreamer)
5821 ("json-glib" ,json-glib)
dfb0323d 5822 ("libgdata" ,libgdata)
fed5a689 5823 ("libgee" ,libgee)
5a0beca3
EF
5824 ("libgphoto2" ,libgphoto2)
5825 ("libgudev" ,libgudev)
fed5a689 5826 ("libraw" ,libraw)
fed5a689
RW
5827 ("libsoup" ,libsoup)
5828 ("libxml2" ,libxml2)
5a0beca3
EF
5829 ("sqlite" ,sqlite)
5830 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5831 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5832 (synopsis "Photo manager for GNOME 3")
5833 (description
5834 "Shotwell is a digital photo manager designed for the GNOME desktop
5835environment. It allows you to import photos from disk or camera, organize
5836them by keywords and events, view them in full-window or fullscreen mode, and
5837share them with others via social networking and more.")
5838 (license license:lgpl2.1+)))
293ff8b2
DT
5839
5840(define-public file-roller
5841 (package
5842 (name "file-roller")
dcae4270 5843 (version "3.32.3")
293ff8b2
DT
5844 (source (origin
5845 (method url-fetch)
f89a27c6 5846 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5847 (version-major+minor version) "/"
f89a27c6 5848 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5849 (sha256
5850 (base32
dcae4270 5851 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5852 (build-system meson-build-system)
293ff8b2 5853 (native-inputs
0a500745
RW
5854 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5855 ("intltool" ,intltool)
4c96e5d1 5856 ("itstool" ,itstool)
0a500745
RW
5857 ("pkg-config" ,pkg-config)
5858 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5859 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5860 ;; TODO: Add libnautilus.
5861 (inputs
5862 `(("gtk+" ,gtk+)
5863 ("gdk-pixbuf" ,gdk-pixbuf)
5864 ("json-glib" ,json-glib)
5865 ("libarchive" ,libarchive)
5866 ("libnotify" ,libnotify)
4c96e5d1 5867 ("nettle" ,nettle)
293ff8b2
DT
5868 ("libxml2" ,libxml2)))
5869 (synopsis "Graphical archive manager for GNOME")
5870 (description "File Roller is an archive manager for the GNOME desktop
5871environment that allows users to view, unpack, and create compressed archives
5872such as gzip tarballs.")
5873 (home-page "http://fileroller.sourceforge.net/")
5874 (license license:gpl2+)))
7ce49365
SB
5875
5876(define-public gnome-session
5877 (package
5878 (name "gnome-session")
1fc2ec79 5879 (version "3.32.0")
7ce49365
SB
5880 (source (origin
5881 (method url-fetch)
5882 (uri (string-append "mirror://gnome/sources/" name "/"
5883 (version-major+minor version) "/"
5884 name "-" version ".tar.xz"))
5885 (sha256
5886 (base32
1fc2ec79 5887 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5888 (arguments
df278071
RW
5889 '(#:glib-or-gtk? #t
5890 #:phases
2914af3c
AW
5891 (modify-phases %standard-phases
5892 (add-before 'configure 'pre-configure
5893 (lambda* (#:key outputs #:allow-other-keys)
5894 ;; Use elogind instead of systemd.
df278071
RW
5895 (substitute* "meson.build"
5896 (("libsystemd-login") "libelogind")
5897 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5898 (substitute* "gnome-session/gsm-systemd.c"
5899 (("#include <systemd/sd-login.h>")
5900 "#include <elogind/sd-login.h>"))
df278071 5901 ;; Remove uses of the systemd daemon.
803ab416
SB
5902 (substitute* "gnome-session/gsm-autostart-app.c"
5903 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5904 #t))
5905 (add-after 'install 'wrap-gnome-session
5906 (lambda* (#:key inputs outputs #:allow-other-keys)
5907 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5908 (let ((glib (assoc-ref inputs "glib:bin"))
5909 (out (assoc-ref outputs "out")))
5910 (wrap-program (string-append out "/bin/gnome-session")
5911 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5912 #t))))
6cbc8d57 5913
2914af3c 5914 #:configure-flags
df278071
RW
5915 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5916 "-Dman=false" ; FIXME: disabled because of docbook validation error
5917 "-Dsystemd_journal=false")))
5918 (build-system meson-build-system)
7ce49365
SB
5919 (native-inputs
5920 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5921 ("pkg-config" ,pkg-config)
5922 ("intltool" ,intltool)
df278071
RW
5923 ("xsltproc" ,libxslt)
5924 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5925 ("docbook-xsl" ,docbook-xsl)
5926 ("docbook-xml" ,docbook-xml)
5927 ("xmlto" ,xmlto)))
7ce49365 5928 (inputs
2914af3c
AW
5929 `(("elogind" ,elogind)
5930 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5931 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5932 ("gtk+" ,gtk+)
5933 ("json-glib" ,json-glib)
5934 ("libsm" ,libsm)
5935 ("libxcomposite" ,libxcomposite)
5936 ("libxtst" ,libxtst)
5937 ("mesa" ,mesa)
5938 ("upower" ,upower)
5939 ("xtrans" ,xtrans)))
5940 (synopsis "Session manager for GNOME")
5941 (description
5942 "This package contains the GNOME session manager, as well as a
5943configuration program to choose applications starting on login.")
5944 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5945 (license license:gpl2+)))
f47ba77e
SB
5946
5947(define-public gjs
5948 (package
5949 (name "gjs")
d054fbf5 5950 (version "1.56.2")
f47ba77e
SB
5951 (source (origin
5952 (method url-fetch)
5953 (uri (string-append "mirror://gnome/sources/" name "/"
5954 (version-major+minor version) "/"
5955 name "-" version ".tar.xz"))
5956 (sha256
5957 (base32
d054fbf5 5958 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5959 (build-system gnu-build-system)
5960 (arguments
5961 '(#:phases
5962 (modify-phases %standard-phases
5963 (add-before
5964 'check 'pre-check
5965 (lambda _
fc119619
MW
5966 ;; The test suite requires a running X server.
5967 (system "Xvfb :1 &")
5968 (setenv "DISPLAY" ":1")
5969
f47ba77e
SB
5970 ;; For the missing /etc/machine-id.
5971 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5972
144f94d0
KK
5973 ;; Our mozjs-38 package does not compile the required Intl API
5974 ;; support for these failing tests.
5975 (substitute* "installed-tests/js/testLocale.js"
5976 ((".*toBeDefined.*") "")
5977 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5978 (substitute* "installed-tests/scripts/testCommandLine.sh"
5979 (("Valentín") "")
5980 (("☭") ""))
f47ba77e
SB
5981 #t)))))
5982 (native-inputs
8a831c6f 5983 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5984 ("pkg-config" ,pkg-config)
5985 ("xmllint" ,libxml2)
5986 ;; For testing
5987 ("dbus-launch" ,dbus)
5988 ("uuidgen" ,util-linux)
ebebee94 5989 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5990 (propagated-inputs
5991 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5992 `(("cairo" ,cairo)
5993 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5994 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5995 (inputs
5996 `(("gtk+" ,gtk+)
5997 ("readline" ,readline)))
5998 (synopsis "Javascript bindings for GNOME")
f032d0be 5999 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6000 (description
6001 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6002javascript engine and the GObject introspection framework.")
6003 (license license:gpl2+)))
329d731b
DH
6004
6005(define-public gedit
6006 (package
6007 (name "gedit")
480c9226 6008 (version "3.32.2")
329d731b
DH
6009 (source (origin
6010 (method url-fetch)
6011 (uri (string-append "mirror://gnome/sources/" name "/"
6012 (version-major+minor version) "/"
6013 name "-" version ".tar.xz"))
6014 (sha256
6015 (base32
480c9226
KK
6016 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
6017 (build-system meson-build-system)
329d731b 6018 (arguments
480c9226
KK
6019 `(#:glib-or-gtk? #t
6020 #:configure-flags
6021 ;; Otherwise, the RUNPATH will lack the final path component.
6022 (list (string-append "-Dc_link_args=-Wl,-rpath="
6023 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6024
6025 ;; XXX: Generated .h files are sometimes used before being built.
6026 #:parallel-build? #f
6027
480c9226 6028 #:phases
329d731b 6029 (modify-phases %standard-phases
480c9226
KK
6030 (add-after 'unpack 'skip-gtk-update-icon-cache
6031 ;; Don't create 'icon-theme.cache'.
6032 (lambda _
6033 (substitute* "build-aux/meson/post_install.py"
6034 (("gtk-update-icon-cache") (which "true")))
6035 #t))
6036 (add-after 'unpack 'patch-libgd-fetch
6037 (lambda* (#:key inputs #:allow-other-keys)
6038 (let ((libgd (assoc-ref inputs "libgd")))
6039 ;; Calling git is unnecessary because libgd is fetched as a
6040 ;; native input to this package.
6041 (substitute* "meson.build"
6042 ((".*git.*") ""))
6043 (copy-recursively libgd "subprojects/libgd")
6044 #t)))
6045 (add-after 'install 'wrap-gedit
6046 (lambda* (#:key inputs outputs #:allow-other-keys)
6047 (let ((out (assoc-ref outputs "out"))
6048 (gtksourceview (assoc-ref inputs "gtksourceview"))
6049 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6050 (python-path (getenv "PYTHONPATH")))
6051 (wrap-program (string-append out "/bin/gedit")
6052 ;; For plugins.
6053 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6054 `("PYTHONPATH" ":" prefix (,python-path))
6055 ;; For language-specs.
6056 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6057 "/share")))))
6058 #t)))))
329d731b
DH
6059 (propagated-inputs
6060 `(("dconf" ,dconf)))
6061 (native-inputs
480c9226
KK
6062 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6063 ("intltool" ,intltool)
b3546174 6064 ("itstool" ,itstool)
480c9226 6065 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6066 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6067 ("libgd"
6068 ,(origin
6069 (method git-fetch)
6070 (uri (git-reference
6071 (url "https://gitlab.gnome.org/GNOME/libgd")
6072 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6073 (file-name (git-file-name "libgd" version))
6074 (sha256
6075 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6076 ("pkg-config" ,pkg-config)))
6077 (inputs
6078 `(("glib" ,glib)
0d2df50c 6079 ("gspell" ,gspell)
329d731b 6080 ("gtk+" ,gtk+)
480c9226 6081 ("gtksourceview" ,gtksourceview)
329d731b
DH
6082 ("libpeas" ,libpeas)
6083 ("libxml2" ,libxml2)
329d731b
DH
6084 ("iso-codes" ,iso-codes)
6085 ("python-pygobject" ,python-pygobject)
6086 ("python" ,python)
6087 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6088 ("libx11" ,libx11)
6089 ("vala" ,vala)
6090 ("adwaita-icon-theme" ,adwaita-icon-theme)
6091 ("libsoup" ,libsoup)
6092 ("gnome-desktop" ,gnome-desktop)))
6093 (home-page "https://wiki.gnome.org/Apps/Gedit")
6094 (synopsis "GNOME text editor")
6095 (description "While aiming at simplicity and ease of use, gedit is a
6096powerful general purpose text editor.")
6097 (license license:gpl2+)))
b7179363
SB
6098
6099(define-public zenity
6100 (package
6101 (name "zenity")
4f581bd0 6102 (version "3.32.0")
b7179363
SB
6103 (source (origin
6104 (method url-fetch)
5958df04 6105 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6106 (version-major+minor version) "/"
5958df04 6107 "zenity-" version ".tar.xz"))
b7179363
SB
6108 (sha256
6109 (base32
4f581bd0 6110 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6111 (build-system gnu-build-system)
6112 (native-inputs
b94a6ca0 6113 `(("gettext" ,gettext-minimal)
b7179363
SB
6114 ("itstool" ,itstool)
6115 ("pkg-config" ,pkg-config)))
6116 (inputs
6117 `(("libnotify" ,libnotify)
6118 ("webkitgtk" ,webkitgtk)))
6119 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6120 (home-page "https://www.gnome.org")
b7179363
SB
6121 (description
6122 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6123to display dialog boxes from the commandline and shell scripts.")
6124 (license license:lgpl2.0+)))
60c3627c
SB
6125
6126(define-public mutter
6127 (package
6128 (name "mutter")
edf43f68 6129 (version "3.32.2")
60c3627c 6130 (source (origin
86c44e72
KK
6131 (method url-fetch)
6132 (uri (string-append "mirror://gnome/sources/" name "/"
6133 (version-major+minor version) "/"
6134 name "-" version ".tar.xz"))
60c3627c
SB
6135 (sha256
6136 (base32
edf43f68 6137 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
6138 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6139 ;; versions of cogl and clutter. As a result, many of the inputs,
6140 ;; propagated-inputs, and configure flags used in cogl and clutter are
6141 ;; needed here as well.
edf43f68 6142 (build-system meson-build-system)
60c3627c 6143 (arguments
edf43f68
KK
6144 '(;; XXX: All mutter tests fail with the following error:
6145 ;; Settings schema 'org.gnome.mutter' is not installed
6146 #:tests? #f
6147 #:glib-or-gtk? #t
6148 #:configure-flags
6149 ;; Otherwise, the RUNPATH will lack the final path component.
6150 (list (string-append "-Dc_link_args=-Wl,-rpath="
6151 (assoc-ref %outputs "out") "/lib:"
6152 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
6153
6154 ;; The following flags are needed for the bundled clutter
edf43f68 6155 (string-append "-Dxwayland_path="
d633f2f6
RH
6156 (assoc-ref %build-inputs "xorg-server-xwayland")
6157 "/bin/Xwayland")
6158
a88d5a0c 6159 ;; the remaining flags are needed for the bundled cogl
edf43f68 6160 (string-append "-Dopengl_libname="
a88d5a0c 6161 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6162 "/lib/libGL.so"))
6163 #:phases
6164 (modify-phases %standard-phases
edf43f68
KK
6165 (add-after 'unpack 'disable-werror
6166 (lambda _
6167 ;; XXX: build fails with [-Werror]:
6168 ;; backends/meta-cursor-renderer.c:112:5: error:
6169 ;; implicit declaration of function ?roundf?
6170 (substitute* "meson.build"
6171 (("'-Werror=.*',") ""))
6172 #t))
86c44e72
KK
6173 ;; Replace references to systemd libraries to elogind references.
6174 (add-before 'configure 'use-elogind
6175 (lambda _
edf43f68 6176 (substitute* (list "meson.build"
86c44e72
KK
6177 "src/backends/native/meta-launcher.c"
6178 "src/core/main.c")
6179 (("systemd") "elogind"))
6180 #t)))))
60c3627c
SB
6181 (native-inputs
6182 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6183 ("gobject-introspection" ,gobject-introspection)
6184 ("intltool" ,intltool)
f23052a6 6185 ("pkg-config" ,pkg-config)
edf43f68 6186 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6187 ;; For git build
6188 ("autoconf" ,autoconf)
6189 ("automake" ,automake)
6190 ("libtool" ,libtool)))
60c3627c 6191 (propagated-inputs
a88d5a0c
MW
6192 `(;; libmutter.pc refers to these:
6193 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6194 ("gtk+" ,gtk+)
6195 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6196 ("atk" ,atk)
6197 ("cairo" ,cairo)
6198 ("gdk-pixbuf" ,gdk-pixbuf)
6199 ("glib" ,glib)
a88d5a0c
MW
6200 ("json-glib" ,json-glib)
6201 ("libinput" ,libinput)
6202 ("libx11" ,libx11)
6203 ("libxcomposite" ,libxcomposite)
6204 ("libxdamage" ,libxdamage)
6205 ("libxext" ,libxext)
6206 ("libxfixes" ,libxfixes)
6207 ("libxkbcommon" ,libxkbcommon)
6208 ("libxrandr" ,libxrandr)
6209 ("mesa" ,mesa)
6210 ("pango" ,pango)
6211 ("udev" ,eudev)
a88d5a0c 6212 ("xinput" ,xinput)))
60c3627c 6213 (inputs
86c44e72
KK
6214 `(("elogind" ,elogind)
6215 ("gnome-desktop" ,gnome-desktop)
edf43f68 6216 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6217 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6218 ("libgudev" ,libgudev)
60c3627c
SB
6219 ("libice" ,libice)
6220 ("libsm" ,libsm)
edf43f68 6221 ("libwacom" ,libwacom)
60c3627c 6222 ("libxkbfile" ,libxkbfile)
a88d5a0c 6223 ("libxrandr" ,libxrandr)
86c44e72 6224 ("libxtst" ,libxtst)
edf43f68 6225 ("pipewire" ,pipewire)
60c3627c
SB
6226 ("startup-notification" ,startup-notification)
6227 ("upower-glib" ,upower)
6228 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6229 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6230 ("zenity" ,zenity)))
6231 (synopsis "Window and compositing manager")
f032d0be 6232 (home-page "https://www.gnome.org")
60c3627c
SB
6233 (description
6234 "Mutter is a window and compositing manager that displays and manages your
6235desktop via OpenGL. Mutter combines a sophisticated display engine using the
6236Clutter toolkit with solid window-management logic inherited from the Metacity
6237window manager.")
86c44e72 6238 (license license:gpl2+)))
685cee87
SB
6239
6240(define-public gnome-online-accounts
6241 (package
6242 (name "gnome-online-accounts")
aa200347 6243 (version "3.32.1")
685cee87
SB
6244 (source (origin
6245 (method url-fetch)
6246 (uri (string-append "mirror://gnome/sources/" name "/"
6247 (version-major+minor version) "/"
6248 name "-" version ".tar.xz"))
6249 (sha256
6250 (base32
aa200347 6251 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6252 (outputs '("out" "lib"))
685cee87 6253 (build-system glib-or-gtk-build-system)
14c297fd
TS
6254 (arguments
6255 `(#:configure-flags
6256 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6257 #:phases
6258 (modify-phases %standard-phases
6259 (add-before 'configure 'patch-libgoa-output
6260 (lambda* (#:key outputs #:allow-other-keys)
6261 (let ((lib (assoc-ref outputs "lib")))
6262 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6263 (("@prefix@") lib)
6264 (("@exec_prefix@") lib)
6265 (("@libdir@") (string-append lib "/lib"))
6266 (("@includedir@") (string-append lib "/include"))
6267 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6268 ;; Make sure gobject-introspection knows about the output
6269 ;; too (see <https://bugs.gnu.org/36535>).
6270 (setenv "outputs" "out lib")
14c297fd 6271 #t))))))
685cee87
SB
6272 (native-inputs
6273 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6274 ("gobject-introspection" ,gobject-introspection)
6275 ("intltool" ,intltool)
6276 ("pkg-config" ,pkg-config)
ebb2873d 6277 ("vala" ,vala)
685cee87
SB
6278 ("xsltproc" ,libxslt)))
6279 (propagated-inputs
6280 `(("glib" ,glib) ; required by goa-1.0.pc
6281 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6282 (inputs
6283 `(("docbook-xsl" ,docbook-xsl)
6284 ("json-glib" ,json-glib)
6285 ("libsecret" ,libsecret)
6286 ("rest" ,rest)
685cee87
SB
6287 ("webkitgtk" ,webkitgtk)))
6288 (synopsis "Single sign-on framework for GNOME")
6289 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6290 (description
6291 "GNOME Online Accounts provides interfaces so that applications and
6292libraries in GNOME can access the user's online accounts. It has providers for
6293Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6294Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6295 (license license:lgpl2.0+)))
df217748
SB
6296
6297(define-public evolution-data-server
6298 (package
6299 (name "evolution-data-server")
2196a8d4 6300 (version "3.32.4")
df217748
SB
6301 (source (origin
6302 (method url-fetch)
6303 (uri (string-append "mirror://gnome/sources/" name "/"
6304 (version-major+minor version) "/"
6305 name "-" version ".tar.xz"))
43190ac6
MB
6306 (patches (search-patches "evolution-data-server-locales.patch"
6307 "evolution-data-server-libical-compat.patch"))
df217748
SB
6308 (sha256
6309 (base32
2196a8d4 6310 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6311 (build-system cmake-build-system)
df217748 6312 (arguments
b468eedc
RW
6313 '(#:configure-flags
6314 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6315 (runpaths (map (lambda (s)
6316 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6317 '("addressbook-backends" "calendar-backends"
6318 "camel-providers" "credential-modules"
6319 "registry-modules"))))
6320 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6321 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6322 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6323 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6324 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6325 (string-append lib "/evolution-data-server;")
6326 (string-join runpaths ";"))
6327 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6328 #:phases
6329 (modify-phases %standard-phases
b468eedc
RW
6330 (add-after 'unpack 'disable-failing-tests
6331 (lambda _
6332 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6333 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6334 (delete-file-recursively "tests/book-migration")
6335 (substitute* "tests/CMakeLists.txt"
6336 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6337 ;; tests/libebook/client/test-book-client-view-operations:8077):
6338 ;; e-data-server-WARNING **:
6339 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6340 ;; runtime check failed:
6341 ;; (!g_main_context_pending (closure->main_context))
6342 (substitute* "tests/libebook/client/CMakeLists.txt"
6343 (("test-book-client-view-operations") ""))
b468eedc 6344 #t))
743aebd7 6345 (add-after 'unpack 'patch-paths
df217748 6346 (lambda _
b468eedc
RW
6347 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6348 "tests/libedata-book/data-test-utils.c"
6349 "tests/libedata-book/test-book-cache-utils.c"
6350 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6351 (("/bin/rm") (which "rm")))
ac033c7b
MB
6352 #t))
6353 (add-before 'configure 'dont-override-rpath
6354 (lambda _
6355 (substitute* "CMakeLists.txt"
6356 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6357 ;; Remove it so the configure flag is respected.
6358 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6359 #t)))))
df217748
SB
6360 (native-inputs
6361 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6362 ("gobject-introspection" ,gobject-introspection)
6363 ("gperf" ,gperf)
6364 ("intltool" ,intltool)
6365 ("pkg-config" ,pkg-config)
a73c1cf8 6366 ("vala" ,vala)
743aebd7 6367 ("python" ,python-wrapper)))
df217748
SB
6368 (propagated-inputs
6369 ;; These are all in the Requires field of .pc files.
6370 `(("gtk+" ,gtk+)
6371 ("libical" ,libical)
6372 ("libsecret" ,libsecret)
6373 ("libsoup" ,libsoup)
6374 ("nss" ,nss)
6375 ("sqlite" ,sqlite)))
6376 (inputs
6377 `(("bdb" ,bdb)
6378 ("gcr" ,gcr)
14c297fd 6379 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6380 ("json-glib" ,json-glib)
b468eedc 6381 ("libcanberra" ,libcanberra)
743aebd7
MB
6382 ("libgweather" ,libgweather)
6383 ("mit-krb5" ,mit-krb5)
891199c6
MW
6384 ("openldap" ,openldap)
6385 ("webkitgtk" ,webkitgtk)))
df217748
SB
6386 (synopsis "Store address books and calendars")
6387 (home-page "https://wiki.gnome.org/Apps/Evolution")
6388 (description
6389 "This package provides a unified backend for programs that work with
6390contacts, tasks, and calendar information. It was originally developed for
6391Evolution (hence the name), but is now used by other packages as well.")
6392 (license license:lgpl2.0)))
bd7dfafa
SB
6393
6394(define-public caribou
6395 (package
6396 (name "caribou")
fe964bb5 6397 (version "0.4.21")
bd7dfafa
SB
6398 (source (origin
6399 (method url-fetch)
6400 (uri (string-append "mirror://gnome/sources/" name "/"
6401 (version-major+minor version) "/"
6402 name "-" version ".tar.xz"))
6403 (sha256
6404 (base32
fe964bb5 6405 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6406 (build-system glib-or-gtk-build-system)
6407 (arguments
6408 '(#:phases
6409 (modify-phases %standard-phases
6410 (add-before
6411 'build 'pre-build
6412 (lambda* (#:key outputs #:allow-other-keys)
6413 (let ((out (assoc-ref outputs "out")))
6414 ;; Use absolute shared library path in Caribou-1.0.typelib.
6415 (substitute* "libcaribou/Makefile"
6416 (("--shared-library=libcaribou.so")
6417 (string-append "--shared-library="
6418 out "/lib/libcaribou.so")))
6419 #t)))
6420 (add-after 'install 'wrap-programs
6421 (lambda* (#:key outputs #:allow-other-keys)
6422 (let* ((out (assoc-ref outputs "out"))
6423 (python-path (getenv "PYTHONPATH"))
6424 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6425 (for-each
6426 (lambda (prog)
6427 (wrap-program prog
6428 `("PYTHONPATH" ":" prefix (,python-path))
6429 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6430 (list (string-append out "/bin/caribou-preferences")
6431 (string-append out "/libexec/antler-keyboard"))))
6432 #t)))))
6433 (native-inputs
6434 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6435 ("gobject-introspection" ,gobject-introspection)
6436 ("intltool" ,intltool)
6437 ("pkg-config" ,pkg-config)
9f7f5ba2 6438 ("python" ,python)
bd7dfafa
SB
6439 ("vala" ,vala)
6440 ("xsltproc" ,libxslt)))
6441 (propagated-inputs
6442 ;; caribou-1.0.pc refers to all these.
6443 `(("libgee" ,libgee)
6444 ("libxklavier" ,libxklavier)
6445 ("libxtst" ,libxtst)
6446 ("gtk+" ,gtk+)))
6447 (inputs
6448 `(("clutter" ,clutter)
6449 ("dconf" ,dconf)
6450 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6451 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6452 (synopsis "Text entry and UI navigation application")
6453 (home-page "https://wiki.gnome.org/Projects/Caribou")
6454 (description
6455 "Caribou is an input assistive technology intended for switch and pointer
6456users.")
6457 (license license:lgpl2.1)))
ba5dd105 6458
ba5dd105
SB
6459(define-public network-manager
6460 (package
6461 (name "network-manager")
6425d87a 6462 (version "1.18.4")
ba5dd105
SB
6463 (source (origin
6464 (method url-fetch)
6465 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6466 (version-major+minor version) "/"
6467 "NetworkManager-" version ".tar.xz"))
7d1861e2 6468 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6469 (sha256
6470 (base32
6425d87a 6471 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6472 (modules '((guix build utils)))
fd070f35 6473 (snippet
02710a9b
RW
6474 '(begin
6475 (substitute* "src/devices/wwan/nm-modem-manager.c"
6476 (("systemd") "elogind"))
6477 #t))))
ba5dd105
SB
6478 (build-system gnu-build-system)
6479 (outputs '("out"
6480 "doc")) ; 8 MiB of gtk-doc HTML
6481 (arguments
6482 '(#:configure-flags
6483 (let ((out (assoc-ref %outputs "out"))
6484 (doc (assoc-ref %outputs "doc"))
6485 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6486 "/sbin/dhclient")))
02710a9b
RW
6487 (list "--with-libnm-glib" ; needed by network-manager-applet
6488 "--with-systemd-journal=no"
6489 "--with-session-tracking=elogind"
6490 "--with-suspend-resume=elogind"
fd070f35
CM
6491 "--with-consolekit=no"
6492 "--with-crypto=gnutls"
ba5dd105
SB
6493 "--disable-config-plugin-ibft"
6494 "--sysconfdir=/etc"
6495 "--localstatedir=/var"
6496 (string-append "--with-udev-dir="
6497 out "/lib/udev")
6498 (string-append "--with-dbus-sys-dir="
6499 out "/etc/dbus-1/system.d")
6500 (string-append "--with-html-dir="
6501 doc "/share/gtk-doc/html")
6502 (string-append "--with-dhclient=" dhclient)))
6503 #:phases
6504 (modify-phases %standard-phases
02710a9b
RW
6505 ;; This bare "ls" invocation breaks some tests.
6506 (add-after 'unpack 'patch-ls-invocation
6507 (lambda _
6508 (substitute* "build-aux/ltmain.sh"
6509 (("`ls -")
6510 (string-append "`" (which "ls") " -")))
6511 #t))
b4f59d87
AW
6512 (add-before 'configure 'pre-configure
6513 (lambda _
6514 ;; These tests try to test aspects of network-manager's
6515 ;; functionality within restricted containers, but they don't
6516 ;; cope with being already in the Guix build jail as that jail
6517 ;; lacks some features that they would like to proxy over (like
6518 ;; a /sys mount).
d04687dc
HG
6519 (substitute* '("Makefile.in")
6520 (("src/platform/tests/test-address-linux") " ")
6521 (("src/platform/tests/test-cleanup-linux") " ")
6522 (("src/platform/tests/test-link-linux") " ")
6523 (("src/platform/tests/test-route-linux") " ")
02710a9b 6524 (("src/devices/tests/test-acd") "")
d04687dc
HG
6525 (("src/devices/tests/test-arping") " ")
6526 (("src/devices/tests/test-lldp") " ")
6527 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6528 #t))
45f80fce
RW
6529 (add-after 'unpack 'delete-failing-tests
6530 (lambda _
02710a9b 6531 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6532 ;; ERROR:libnm-core/tests/test-general.c:5842:
6533 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6534 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6535 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6536 ;; ERROR:libnm-core/tests/test-setting.c:907:
6537 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6538 (substitute* "Makefile.in"
6539 (("libnm-core/tests/test-general") " ")
6540 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6541 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6542 #t))
ba5dd105
SB
6543 (add-before 'check 'pre-check
6544 (lambda _
6545 ;; For the missing /etc/machine-id.
6546 (setenv "DBUS_FATAL_WARNINGS" "0")
6547 #t))
6548 (replace 'install
6549 (lambda _
45f80fce
RW
6550 (invoke "make"
6551 "sysconfdir=/tmp"
6552 "rundir=/tmp"
6553 "statedir=/tmp"
6554 "nmstatedir=/tmp/nm"
6555 "install")
6556 #t)))))
b93502d6
DC
6557 (propagated-inputs
6558 `(("glib" ,glib)))
ba5dd105
SB
6559 (native-inputs
6560 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6561 ("gobject-introspection" ,gobject-introspection)
d04687dc 6562 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6563 ("intltool" ,intltool)
d04687dc
HG
6564 ("libxslt" ,libxslt)
6565 ("libxml2" ,libxml2)
ba5dd105
SB
6566 ("pkg-config" ,pkg-config)
6567 ;; For testing.
6568 ("python" ,python-wrapper)
6569 ("python-dbus" ,python-dbus)
6570 ("python-pygobject" ,python-pygobject)))
6571 (inputs
02710a9b
RW
6572 `(("coreutils" ,coreutils) ; for ls
6573 ("curl" ,curl)
856ca567
KK
6574 ("cyrus-sasl" ,cyrus-sasl)
6575 ("dbus-glib" ,dbus-glib)
ba5dd105 6576 ("dnsmasq" ,dnsmasq)
856ca567 6577 ("eudev" ,eudev)
ba5dd105
SB
6578 ("gnutls" ,gnutls)
6579 ("iptables" ,iptables)
6580 ("isc-dhcp" ,isc-dhcp)
d04687dc 6581 ("jansson" ,jansson)
ba5dd105
SB
6582 ("libgcrypt" ,libgcrypt)
6583 ("libgudev" ,libgudev)
6584 ("libndp" ,libndp)
6585 ("libnl" ,libnl)
6586 ("libsoup" ,libsoup)
142bdcbc 6587 ("modem-manager" ,modem-manager)
c27e02bf 6588 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6589 ("polkit" ,polkit)
6590 ("ppp" ,ppp)
6591 ("readline" ,readline)
fd070f35
CM
6592 ("util-linux" ,util-linux)
6593 ("elogind" ,elogind)))
ba5dd105 6594 (synopsis "Network connection manager")
f032d0be 6595 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6596 (description
6597 "NetworkManager is a system network service that manages your network
6598devices and connections, attempting to keep active network connectivity when
6599available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6600devices, and provides VPN integration with a variety of different VPN
6601services.")
29d2f451
LC
6602 (license license:gpl2+)
6603 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6604
f2b96b3a
LC
6605(define-public network-manager-openvpn
6606 (package
6607 (name "network-manager-openvpn")
be1c4b07 6608 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6609 (version "1.8.10")
f2b96b3a
LC
6610 (source (origin
6611 (method url-fetch)
6612 (uri (string-append
6613 "mirror://gnome/sources/NetworkManager-openvpn/"
6614 (version-major+minor version)
6615 "/NetworkManager-openvpn-" version ".tar.xz"))
6616 (sha256
6617 (base32
7d87eede 6618 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6619 (build-system gnu-build-system)
6620 (arguments
633422b0
JL
6621 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6622 #:phases
6623 (modify-phases %standard-phases
6624 (add-after 'configure 'patch-path
6625 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6626 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6627 "/sbin/openvpn"))
6628 (modprobe (string-append (assoc-ref inputs "kmod")
6629 "/bin/modprobe"))
6630 (pretty-ovpn (string-append "\"" ovpn "\"")))
6631 (for-each
6632 (lambda (file)
6633 (substitute* file
6634 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6635 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6636 (("\"/sbin/openvpn\"") pretty-ovpn)
6637 (("/sbin/modprobe") modprobe)))
6638 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6639 #t)))))
f2b96b3a
LC
6640 (native-inputs
6641 `(("pkg-config" ,pkg-config)
6642 ("intltool" ,intltool)))
6643 (inputs
6644 `(("gtk+" ,gtk+)
633422b0 6645 ("kmod" ,kmod)
f2b96b3a
LC
6646 ("openvpn" ,openvpn)
6647 ("network-manager" ,network-manager)
6648 ("network-manager-applet" ,network-manager-applet) ;for libnma
6649 ("libsecret" ,libsecret)))
6650 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6651 (synopsis "OpenVPN plug-in for NetworkManager")
6652 (description
6653 "This extension of NetworkManager allows it to take care of connections
6654to virtual private networks (VPNs) via OpenVPN.")
6655 (license license:gpl2+)
6656 (properties `((upstream-name . "NetworkManager-openvpn")))))
6657
d376129f
JL
6658(define-public network-manager-vpnc
6659 (package
6660 (name "network-manager-vpnc")
6661 (version "1.2.6")
6662 (source (origin
6663 (method url-fetch)
6664 (uri (string-append
6665 "mirror://gnome/sources/NetworkManager-vpnc/"
6666 (version-major+minor version)
6667 "/NetworkManager-vpnc-" version ".tar.xz"))
6668 (sha256
6669 (base32
6670 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6671 (build-system gnu-build-system)
6672 (arguments
6673 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6674 #:phases
6675 (modify-phases %standard-phases
6676 (add-after 'configure 'patch-path
6677 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6678 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6679 "/sbin/vpnc"))
6680 (modprobe (string-append (assoc-ref inputs "kmod")
6681 "/bin/modprobe"))
6682 (pretty-ovpn (string-append "\"" vpnc "\"")))
6683 (substitute* "src/nm-vpnc-service.c"
6684 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6685 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6686 (("\"/sbin/vpnc\"") pretty-ovpn)
6687 (("/sbin/modprobe") modprobe)))
6688 #t)))))
6689 (native-inputs
6690 `(("pkg-config" ,pkg-config)
6691 ("intltool" ,intltool)))
6692 (inputs
6693 `(("gtk+" ,gtk+)
6694 ("kmod" ,kmod)
6695 ("vpnc" ,vpnc)
6696 ("network-manager" ,network-manager)
6697 ("network-manager-applet" ,network-manager-applet) ;for libnma
6698 ("libsecret" ,libsecret)))
6699 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6700 (synopsis "VPNC plug-in for NetworkManager")
6701 (description
6702 "Support for configuring virtual private networks based on VPNC.
6703Compatible with Cisco VPN concentrators configured to use IPsec.")
6704 (license license:gpl2+)
6705 (properties `((upstream-name . "NetworkManager-vpnc")))))
6706
8378c87a
EF
6707(define-public network-manager-openconnect
6708 (package
6709 (name "network-manager-openconnect")
6710 (version "1.2.6")
6711 (source (origin
6712 (method url-fetch)
6713 (uri (string-append
6714 "mirror://gnome/sources/NetworkManager-openconnect/"
6715 (version-major+minor version)
6716 "/NetworkManager-openconnect-" version ".tar.xz"))
6717 (sha256
6718 (base32
6719 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6720 (build-system gnu-build-system)
6721 (arguments
6722 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6723 #:phases
6724 (modify-phases %standard-phases
6725 (add-after 'configure 'patch-path
6726 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6727 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6728 "/sbin/openconnect"))
6729 (modprobe (string-append (assoc-ref inputs "kmod")
6730 "/bin/modprobe"))
6731 (pretty-ovpn (string-append "\"" openconnect "\"")))
6732 (substitute* "src/nm-openconnect-service.c"
6733 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6734 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6735 (("/sbin/modprobe") modprobe)))
6736 #t)))))
6737 (native-inputs
6738 `(("intltool" ,intltool)
6739 ("network-manager-applet" ,network-manager-applet) ;for libnma
6740 ("pkg-config" ,pkg-config)))
6741 (inputs
6742 `(("gcr" ,gcr)
6743 ("gtk+" ,gtk+)
6744 ("kmod" ,kmod)
6745 ("libsecret" ,libsecret)
6746 ("libxml2" ,libxml2)
6747 ("network-manager" ,network-manager)
6748 ("openconnect" ,openconnect)))
6749 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6750 (synopsis "OpenConnect plug-in for NetworkManager")
6751 (description
6752 "This extension of NetworkManager allows it to take care of connections
6753to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6754Cisco's AnyConnect SSL VPN.")
6755 (license license:gpl2+)
e52b9534
LC
6756 (properties `((upstream-name . "NetworkManager-openconnect")
6757
6758 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6759 ;; file refers to account "nm-openconnect". Specify it here
6760 ;; so that 'network-manager-service-type' creates it.
6761 (user-accounts . ("nm-openconnect"))))))
8378c87a 6762
e5e1df4d
DC
6763(define-public mobile-broadband-provider-info
6764 (package
6765 (name "mobile-broadband-provider-info")
310c89e3 6766 (version "20190116")
e5e1df4d
DC
6767 (source (origin
6768 (method url-fetch)
6769 (uri (string-append
6770 "mirror://gnome/sources/"
6771 "mobile-broadband-provider-info/" version "/"
6772 "mobile-broadband-provider-info-" version ".tar.xz"))
6773 (sha256
6774 (base32
310c89e3 6775 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6776 (build-system gnu-build-system)
6777 (arguments
310c89e3 6778 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6779 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6780 (synopsis "Database of broadband connection configuration")
6781 (description "Database of broadband connection configuration.")
6782 (license license:public-domain)))
6783
4d62a9d3
SB
6784(define-public network-manager-applet
6785 (package
6786 (name "network-manager-applet")
8fc3a337 6787 (version "1.8.24")
4d62a9d3
SB
6788 (source (origin
6789 (method url-fetch)
3df63444 6790 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6791 (version-major+minor version) "/"
3df63444 6792 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6793 (sha256
6794 (base32
8fc3a337 6795 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6796 (build-system meson-build-system)
6797 (arguments
be1c4b07
TGR
6798 '(#:configure-flags
6799 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6800 (list "-Dlibnm_gtk=true")
6801 #:glib-or-gtk? #t))
4d62a9d3
SB
6802 (native-inputs
6803 `(("intltool" ,intltool)
cd7f718e 6804 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6805 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6806 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6807 ("pkg-config" ,pkg-config)))
6808 (propagated-inputs
6809 ;; libnm-gtk.pc refers to all these.
6810 `(("dbus-glib" ,dbus-glib)
6811 ("gtk+" ,gtk+)
6812 ("network-manager" ,network-manager)))
6813 (inputs
cd7f718e
RW
6814 `(("gcr" ,gcr)
6815 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6816 ("libgudev" ,libgudev)
6817 ("libnotify" ,libnotify)
2116bfb3 6818 ("libsecret" ,libsecret)
240cee8a
KK
6819 ("libselinux" ,libselinux)
6820 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6821 ("modem-manager" ,modem-manager)
6822 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6823 (synopsis "Applet for managing network connections")
f032d0be 6824 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6825 (description
6826 "This package contains a systray applet for NetworkManager. It displays
6827the available networks and allows users to easily switch between them.")
6828 (license license:gpl2+)))
56196594
RW
6829
6830(define-public libxml++
6831 (package
6832 (name "libxml++")
8344a85e 6833 (version "3.0.1")
56196594
RW
6834 (source (origin
6835 (method url-fetch)
6836 (uri (string-append "mirror://gnome/sources/" name "/"
6837 (version-major+minor version) "/"
6838 name "-" version ".tar.xz"))
6839 (sha256
6840 (base32
8344a85e 6841 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6842 (build-system gnu-build-system)
6843 ;; libxml++-3.0.pc refers to all these.
6844 (propagated-inputs
6845 `(("libxml2" ,libxml2)
6846 ("glibmm" ,glibmm)))
6847 (native-inputs
6848 `(("perl" ,perl)
6849 ("pkg-config" ,pkg-config)))
6850 (home-page "http://libxmlplusplus.sourceforge.net/")
6851 (synopsis "C++ wrapper for XML parser library libxml2")
6852 (description
6853 "This package provides a C++ wrapper for the XML parser library
6854libxml2.")
6855 (license license:lgpl2.1+)))
df12f04a 6856
b61d9627
AW
6857(define-public libxml++-2
6858 (package
6859 (inherit libxml++)
6860 (name "libxml++")
6861 (version "2.40.1")
6862 (source (origin
6863 (method url-fetch)
6864 (uri (string-append "mirror://gnome/sources/" name "/"
6865 (version-major+minor version) "/"
6866 name "-" version ".tar.xz"))
6867 (sha256
6868 (base32
6869 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6870
df12f04a
SB
6871(define-public gdm
6872 (package
6873 (name "gdm")
bcca95dc 6874 (version "3.32.0")
df12f04a
SB
6875 (source (origin
6876 (method url-fetch)
6877 (uri (string-append "mirror://gnome/sources/" name "/"
6878 (version-major+minor version) "/"
6879 name "-" version ".tar.xz"))
6880 (sha256
6881 (base32
bcca95dc 6882 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6883 (build-system glib-or-gtk-build-system)
df12f04a
SB
6884 (arguments
6885 '(#:configure-flags
af37e6bb 6886 `("--without-plymouth"
957dbc0a 6887 "--disable-systemd-journal"
51bc8357
TS
6888
6889 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6890 ;; instead of having to replace it (i.e., stopping the mingetty
6891 ;; service for TTY 1 before starting GDM).
6892 "--with-initial-vt=7"
6893
89c86562
TS
6894 ;; Use '/etc/environment' for locale settings instead of the
6895 ;; systemd-specific '/etc/locale.conf'.
6896 "--with-lang-file=/etc/environment"
6897
b74ef0ba
RW
6898 ,(string-append "--with-udevdir="
6899 (assoc-ref %outputs "out") "/lib/udev")
6900
af37e6bb
AW
6901 "--localstatedir=/var"
6902 ,(string-append "--with-default-path="
6903 (string-join '("/run/setuid-programs"
6904 "/run/current-system/profile/bin"
6905 "/run/current-system/profile/sbin")
957dbc0a
AW
6906 ":"))
6907 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6908 ;; XDG_DATA_DIRS so that it finds its schemas.
6909 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6910 #:phases
6911 (modify-phases %standard-phases
6912 (add-before
6913 'configure 'pre-configure
e8c6e771 6914 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6915 ;; We don't have <systemd/sd-daemon.h>.
6916 (substitute* '("common/gdm-log.c"
6917 "daemon/gdm-server.c"
6918 "daemon/gdm-session-worker.c"
6919 "daemon/gdm-session-worker-job.c")
6920 (("#include <systemd/sd-daemon\\.h>") ""))
6921 ;; Use elogind for sd-login.
6922 (substitute* '("common/gdm-common.c"
6923 "daemon/gdm-manager.c"
6924 "libgdm/gdm-user-switching.c")
6925 (("#include <systemd/sd-login\\.h>")
6926 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6927 ;; Check for elogind.
6928 (substitute* '("configure")
6929 (("libsystemd")
6930 "libelogind"))
af37e6bb
AW
6931 ;; Look for system-installed sessions in
6932 ;; /run/current-system/profile/share.
6933 (substitute* '("libgdm/gdm-sessions.c"
6934 "daemon/gdm-session.c"
6935 "daemon/gdm-display.c"
6936 "daemon/gdm-launch-environment.c")
6937 (("DATADIR \"/x")
6938 "\"/run/current-system/profile/share/x")
6939 (("DATADIR \"/wayland")
6940 "\"/run/current-system/profile/share/wayland")
6941 (("DATADIR \"/gnome")
6942 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6943 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6944 "GDM_DBUS_DAEMON"
c9ff92b5 6945 "GDM_X_SERVER"
41fa9f18 6946 "GDM_X_SESSION"
c9ff92b5
TS
6947 ;; XXX: Remove this once GNOME Shell is
6948 ;; a dependency of GDM.
6949 "XDG_DATA_DIRS")))
6950 (substitute* "daemon/gdm-session.c"
6951 (("set_up_session_environment \\(self\\);")
6952 (apply string-append
6953 "set_up_session_environment (self);\n"
6954 (map (lambda (name)
6955 (string-append
6956 "gdm_session_set_environment_variable "
6957 "(self, \"" name "\","
6958 "g_getenv (\"" name "\"));\n"))
6959 propagate)))))
a430a350
TS
6960 ;; Find the configuration file using an environment variable.
6961 (substitute* '("common/gdm-settings.c")
e0e6756f 6962 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6963 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6964 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6965 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6966 ;; Use service-supplied path to X.
6967 (substitute* '("daemon/gdm-server.c")
6968 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6969 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6970 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6971 (("\"dbus-daemon\"")
6972 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6973 (("X_SERVER")
41fa9f18
TS
6974 "g_getenv (\"GDM_X_SERVER\")")
6975 (("GDMCONFDIR \"/Xsession\"")
6976 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6977 ;; Use an absolute path for GNOME Session.
6978 (substitute* "daemon/gdm-launch-environment.c"
6979 (("\"gnome-session\"")
6980 (string-append "\"" (assoc-ref inputs "gnome-session")
6981 "/bin/gnome-session\"")))
e8c6e771
TS
6982 ;; Do not automatically select the placeholder session.
6983 (substitute* "daemon/gdm-session.c"
6984 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6985 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6986 "(g_strcmp0(search_dirs[i], \""
6987 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6988 "\") == 0 && "
6989 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6990 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6991 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6992 #t))
8caa4589
TS
6993 ;; GDM requires that there be at least one desktop entry
6994 ;; file. This phase installs a hidden one that simply
6995 ;; fails. This enables users to use GDM with a
6996 ;; '~/.xsession' script with no other desktop entry files.
6997 ;; See <https://bugs.gnu.org/35068>.
6998 (add-after 'install 'install-placeholder-desktop-entry
6999 (lambda* (#:key inputs outputs #:allow-other-keys)
7000 (let* ((out (assoc-ref outputs "out"))
7001 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7002 (fail (string-append sessions "/fail.desktop")))
7003 (mkdir-p sessions)
7004 (with-output-to-file fail
7005 (lambda ()
7006 (for-each
7007 display
7008 '("[Desktop Entry]\n"
7009 "Encoding=UTF-8\n"
7010 "Type=Application\n"
7011 "Name=Fail\n"
7012 "Comment=This session fails immediately.\n"
7013 "NoDisplay=true\n"
7014 "Exec=false\n"))))
7015 #t)))
69544798
TS
7016 ;; GDM needs GNOME Session to run these applications. We link
7017 ;; their autostart files in `share/gdm/greeter/autostart'
7018 ;; because GDM explicitly tells GNOME Session to look there.
7019 ;;
7020 ;; XXX: GNOME Shell should be linked here too, but currently
7021 ;; GNOME Shell depends on GDM.
7022 (add-after 'install 'link-autostart-files
7023 (lambda* (#:key inputs outputs #:allow-other-keys)
7024 (let* ((out (assoc-ref outputs "out"))
7025 (autostart (string-append out "/share/gdm/"
7026 "greeter/autostart"))
7027 (settings (assoc-ref inputs "gnome-settings-daemon")))
7028 (mkdir-p autostart)
7029 (with-directory-excursion autostart
7030 (for-each (lambda (desktop)
7031 (symlink desktop (basename desktop)))
7032 (find-files (string-append settings "/etc/xdg"))))
7033 #t))))))
df12f04a
SB
7034 (native-inputs
7035 `(("dconf" ,dconf)
7036 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7037 ("gobject-introspection" ,gobject-introspection)
7038 ("intltool" ,intltool)
7039 ("itstool" ,itstool)
7040 ("pkg-config" ,pkg-config)
7041 ("xmllint" ,libxml2)))
7042 (inputs
7043 `(("accountsservice" ,accountsservice)
7044 ("check" ,check) ; for testing
7045 ("elogind" ,elogind)
def6d6b6 7046 ("gnome-session" ,gnome-session)
69544798 7047 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7048 ("gtk+" ,gtk+)
7049 ("iso-codes" ,iso-codes)
7050 ("libcanberra" ,libcanberra)
7051 ("linux-pam" ,linux-pam)))
7052 (synopsis "Display manager for GNOME")
f032d0be 7053 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7054 (description
7055 "GNOME Display Manager is a system service that is responsible for
7056providing graphical log-ins and managing local and remote displays.")
7057 (license license:gpl2+)))
8e1dd04f
SB
7058
7059(define-public libgtop
7060 (package
7061 (name "libgtop")
015fc036 7062 (version "2.40.0")
8e1dd04f
SB
7063 (source (origin
7064 (method url-fetch)
59487fc2 7065 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7066 (version-major+minor version) "/"
59487fc2 7067 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7068 (sha256
7069 (base32
015fc036 7070 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7071 (build-system gnu-build-system)
7072 (native-inputs
7073 `(("gobject-introspection" ,gobject-introspection)
7074 ("intltool" ,intltool)
7075 ("perl" ,perl)
7076 ("pkg-config" ,pkg-config)))
7077 (propagated-inputs
7078 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7079 (synopsis "Portable system access library")
7080 (home-page "https://www.gnome.org/")
7081 (description
7082 "LibGTop is a library to get system specific data such as CPU and memory
7083usage and information about running processes.")
7084 (license license:gpl2+)))
b96c4260
SB
7085
7086(define-public gnome-bluetooth
7087 (package
7088 (name "gnome-bluetooth")
723afae6 7089 (version "3.32.1")
b96c4260
SB
7090 (source (origin
7091 (method url-fetch)
7092 (uri (string-append "mirror://gnome/sources/" name "/"
7093 (version-major+minor version) "/"
7094 name "-" version ".tar.xz"))
7095 (sha256
7096 (base32
723afae6 7097 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 7098 (build-system meson-build-system)
b96c4260
SB
7099 (native-inputs
7100 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7101 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7102 ("gobject-introspection" ,gobject-introspection)
7103 ("intltool" ,intltool)
7104 ("pkg-config" ,pkg-config)
7105 ("xmllint" ,libxml2)))
7106 (propagated-inputs
7107 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7108 `(("glib" ,glib)
7109 ("gtk+" ,gtk+)))
b96c4260 7110 (inputs
723afae6
KK
7111 `(("eudev" ,eudev)
7112 ("libcanberra" ,libcanberra)
b96c4260
SB
7113 ("libnotify" ,libnotify)))
7114 (synopsis "GNOME Bluetooth subsystem")
7115 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7116 (description
7117 "This package contains tools for managing and manipulating Bluetooth
7118devices using the GNOME desktop.")
7119 (license license:lgpl2.1+)))
b645146f
SB
7120
7121(define-public gnome-control-center
7122 (package
7123 (name "gnome-control-center")
a6938bac 7124 (version "3.32.2")
b645146f
SB
7125 (source (origin
7126 (method url-fetch)
7127 (uri (string-append "mirror://gnome/sources/" name "/"
7128 (version-major+minor version) "/"
7129 name "-" version ".tar.xz"))
7130 (sha256
7131 (base32
a6938bac 7132 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 7133 (build-system meson-build-system)
b645146f 7134 (arguments
59dac026
RW
7135 '(#:glib-or-gtk? #t
7136 #:configure-flags
64c70430
KK
7137 (list "-Dcheese=false"
7138 (string-append "-Dgnome_session_libexecdir="
7139 (assoc-ref %build-inputs "gnome-session")
7140 "/libexec"))
59dac026 7141 #:phases
b645146f
SB
7142 (modify-phases %standard-phases
7143 (add-before 'configure 'patch-paths
7144 (lambda* (#:key inputs #:allow-other-keys)
7145 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7146 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7147 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7148 (nm-applet (assoc-ref inputs "network-manager-applet"))
7149 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7150 (substitute* "panels/datetime/tz.h"
7151 (("/usr/share/zoneinfo/zone.tab")
7152 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7153 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7154 (("/usr/share/locale")
7155 (string-append libc "/share/locale")))
1df38cfc
LC
7156 (substitute* "panels/region/cc-region-panel.c"
7157 (("\"gkbd-keyboard-display")
7158 (string-append "\"" libgnomekbd
7159 "/bin/gkbd-keyboard-display")))
341225ac
LC
7160 (substitute* '("panels/network/net-device-wifi.c"
7161 "panels/network/net-device.c"
7162 "panels/network/connection-editor/net-connection-editor.c")
7163 (("\"nm-connection-editor")
7164 (string-append "\"" nm-applet
7165 "/bin/nm-connection-editor")))
1acd107c
FP
7166 (substitute* '("panels/user-accounts/run-passwd.c")
7167 (("/usr/bin/passwd")
7168 "/run/setuid-programs/passwd"))
64c70430
KK
7169 (substitute* "panels/info/cc-info-overview-panel.c"
7170 (("DATADIR \"/gnome/gnome-version.xml\"")
7171 (string-append "\"" gnome-desktop
7172 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7173 #t))))))
7174 (native-inputs
7175 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7176 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7177 ("intltool" ,intltool)
7178 ("pkg-config" ,pkg-config)
a6938bac
KK
7179 ("xsltproc" ,libxslt)
7180 ;; For tests
7181 ("hicolor-icon-theme" ,hicolor-icon-theme)
7182 ("python-dbusmock" ,python-dbusmock)
7183 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7184 (inputs
7185 `(("accountsservice" ,accountsservice)
7186 ("clutter-gtk" ,clutter-gtk)
7187 ("colord-gtk" ,colord-gtk)
7188 ("cups" ,cups)
7189 ("dconf" ,dconf)
7190 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7191 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7192 ("gnome-bluetooth" ,gnome-bluetooth)
7193 ("gnome-desktop" ,gnome-desktop)
7194 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7195 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7196 ("gnome-session" ,gnome-session)
b645146f
SB
7197 ("gnome-settings-daemon" ,gnome-settings-daemon)
7198 ("grilo" ,grilo)
a6938bac 7199 ("gsound" ,gsound)
b645146f
SB
7200 ("ibus" ,ibus)
7201 ("libcanberra" ,libcanberra)
1df38cfc 7202 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7203 ("libgudev" ,libgudev)
7204 ("libgtop" ,libgtop)
7205 ("libpwquality" ,libpwquality)
982c0b36 7206 ("libsecret" ,libsecret)
b645146f
SB
7207 ("libsoup" ,libsoup)
7208 ("libxml2" ,libxml2)
7209 ("libwacom" ,libwacom)
7210 ("mesa" ,mesa)
7211 ("mit-krb5" ,mit-krb5)
7212 ("modem-manager" ,modem-manager)
7213 ("network-manager-applet" ,network-manager-applet)
7214 ("polkit" ,polkit)
7215 ("pulseaudio" ,pulseaudio)
7216 ("smbclient" ,samba)
7217 ("tzdata" ,tzdata)
982c0b36 7218 ("udisks" ,udisks)
b645146f
SB
7219 ("upower" ,upower)))
7220 (synopsis "Utilities to configure the GNOME desktop")
7221 (home-page "https://www.gnome.org/")
7222 (description
7223 "This package contains configuration applets for the GNOME desktop,
7224allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7225properties, sound setup, desktop theme and background, user interface
7226properties, screen resolution, and other GNOME parameters.")
7227 (license license:gpl2+)))
a4df5756
SB
7228
7229(define-public gnome-shell
7230 (package
7231 (name "gnome-shell")
d5e615ca 7232 (version "3.32.2")
a4df5756
SB
7233 (source (origin
7234 (method url-fetch)
7235 (uri (string-append "mirror://gnome/sources/" name "/"
7236 (version-major+minor version) "/"
7237 name "-" version ".tar.xz"))
7238 (sha256
7239 (base32
d5e615ca 7240 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7241 (patches (search-patches "gnome-shell-theme.patch"))
7242 (modules '((guix build utils)))
7243 (snippet
7244 #~(begin
a76d0f03
LC
7245 ;; Copy images for use on the GDM log-in screen.
7246 (copy-file #$(file-append %artwork-repository
7247 "/slim/0.x/background.png")
7248 "data/theme/guix-background.png")
45fef894
LC
7249 (copy-file #$(file-append %artwork-repository
7250 "/logo/Guix-horizontal-white.svg")
7251 "data/theme/guix-logo.svg")
a76d0f03 7252 #t))))
2b0c755d 7253 (build-system meson-build-system)
a4df5756 7254 (arguments
08185081
MB
7255 `(#:glib-or-gtk? #t
7256 #:disallowed-references ((,glib "bin")
11e1df56
LC
7257 ,inkscape ,libxslt
7258 ,ruby-sass)
2b0c755d
RW
7259 #:configure-flags
7260 (list "-Dsystemd=false"
7261 ;; Otherwise, the RUNPATH will lack the final path component.
7262 (string-append "-Dc_link_args=-Wl,-rpath="
7263 (assoc-ref %outputs "out")
7264 "/lib/gnome-shell"))
11e1df56 7265
08185081 7266 #:modules ((guix build meson-build-system)
11e1df56
LC
7267 (guix build utils)
7268 (srfi srfi-1))
7269
2b0c755d 7270 #:phases
a4df5756 7271 (modify-phases %standard-phases
2b0c755d 7272 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7273 (lambda* (#:key outputs #:allow-other-keys)
7274 (let* ((out (assoc-ref outputs "out"))
7275 (keysdir (string-append
7276 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7277 (substitute* "meson.build"
7278 (("keysdir =.*")
7279 (string-append "keysdir = '" keysdir "'\n")))
7280 #t)))
ebfe259f
MB
7281 (add-before 'configure 'convert-logo-to-png
7282 (lambda* (#:key inputs #:allow-other-keys)
7283 ;; Convert the logo from SVG to PNG.
7284 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7285 "data/theme/guix-logo.svg")))
ba00235a 7286 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7287 (lambda* (#:key inputs #:allow-other-keys)
7288 (substitute* "js/misc/ibusManager.js"
7289 (("'ibus-daemon'")
7290 (string-append "'" (assoc-ref inputs "ibus")
7291 "/bin/ibus-daemon'")))
d6fda4d3
LC
7292 (substitute* "js/ui/status/keyboard.js"
7293 (("'gkbd-keyboard-display'")
7294 (string-append "'" (assoc-ref inputs "libgnomekbd")
7295 "/bin/gkbd-keyboard-display'")))
2472cdec 7296 #t))
2b0c755d
RW
7297 (add-before 'check 'pre-check
7298 (lambda* (#:key inputs #:allow-other-keys)
7299 ;; Tests require a running X server.
7300 (system "Xvfb :1 &")
7301 (setenv "DISPLAY" ":1")
7302 #t))
7303 (add-after 'install 'wrap-programs
7304 (lambda* (#:key inputs outputs #:allow-other-keys)
7305 (let ((out (assoc-ref outputs "out"))
7306 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7307 (python-path (getenv "PYTHONPATH")))
7308 (wrap-program (string-append out "/bin/gnome-shell")
7309 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7310 ;; FIXME: gnome-shell loads these libraries with unqualified
7311 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7312 ;; alternative might be to patch gnome-shell.
7313 `("LD_LIBRARY_PATH" ":" prefix
7314 ,(map (lambda (pkg)
7315 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7316 '("gdk-pixbuf"
7317 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7318 (for-each
7319 (lambda (prog)
7320 (wrap-program (string-append out "/bin/" prog)
7321 `("PYTHONPATH" ":" prefix (,python-path))
7322 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7323 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7324 #t)))
11e1df56
LC
7325 (replace 'glib-or-gtk-wrap
7326 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7327 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7328 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7329 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7330 ;; phase. Fix that since we don't need these.
7331 (wrap #:inputs (fold alist-delete inputs
7332 '("inkscape" "intltool" "glib:bin"))
7333 #:outputs outputs)))))))
a4df5756
SB
7334 (native-inputs
7335 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7336 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7337 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7338 ("inkscape" ,inkscape)
a4df5756
SB
7339 ("intltool" ,intltool)
7340 ("pkg-config" ,pkg-config)
7341 ("python" ,python)
2b0c755d
RW
7342 ("ruby-sass" ,ruby-sass)
7343 ("sassc" ,sassc)
a76d0f03 7344 ("xsltproc" ,libxslt)
2b0c755d 7345 ;; For tests
0b4504f6 7346 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7347 (inputs
7348 `(("accountsservice" ,accountsservice)
7349 ("caribou" ,caribou)
7350 ("docbook-xsl" ,docbook-xsl)
7351 ("evolution-data-server" ,evolution-data-server)
7352 ("gcr" ,gcr)
7353 ("gdm" ,gdm)
c5db31d4 7354 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7355 ("gjs" ,gjs)
7356 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7357 ("gnome-desktop" ,gnome-desktop)
7358 ("gnome-settings-daemon" ,gnome-settings-daemon)
7359 ("gst-plugins-base" ,gst-plugins-base)
7360 ("ibus" ,ibus)
7361 ("libcanberra" ,libcanberra)
7362 ("libcroco" ,libcroco)
d6fda4d3 7363 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7364 ("libgweather" ,libgweather)
7365 ("libsoup" ,libsoup)
7366 ("mesa-headers" ,mesa-headers)
7367 ("mutter" ,mutter)
7368 ("network-manager-applet" ,network-manager-applet)
7369 ("polkit" ,polkit)
7370 ("pulseaudio" ,pulseaudio)
7371 ("python-pygobject" ,python-pygobject)
7372 ("startup-notification" ,startup-notification)
7373 ("telepathy-logger" ,telepathy-logger)
7374 ("upower" ,upower)
30e760f0
MB
7375 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7376 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7377 ("librsvg" ,librsvg)
2b0c755d 7378 ("geoclue" ,geoclue)))
a4df5756
SB
7379 (synopsis "Desktop shell for GNOME")
7380 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7381 (description
7382 "GNOME Shell provides core user interface functions for the GNOME desktop,
7383like switching to windows and launching applications.")
7384 (license license:gpl2+)))
c3f29bc9
RS
7385
7386(define-public gtk-vnc
7387 (package
7388 (name "gtk-vnc")
965ff023 7389 (version "0.9.0")
c3f29bc9
RS
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append "mirror://gnome/sources/" name "/"
7394 (version-major+minor version) "/"
7395 name "-" version ".tar.xz"))
7396 (sha256
7397 (base32
965ff023 7398 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7399 (build-system gnu-build-system)
7400 (arguments
7401 '(#:configure-flags '("--with-gtk=3.0")))
7402 (propagated-inputs
7403 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7404 (inputs
7405 `(("cyrus-sasl" ,cyrus-sasl)
7406 ("gnutls" ,gnutls)
7407 ("libgcrypt" ,libgcrypt)
7408 ("pulseaudio" ,pulseaudio)))
7409 (native-inputs
7410 `(("glib:bin" ,glib "bin")
7411 ("gobject-introspection" ,gobject-introspection)
7412 ("intltool" ,intltool)
7413 ("pkg-config" ,pkg-config)
2f17e939 7414 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7415 ("vala" ,vala)))
7416 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7417 (synopsis "VNC viewer widget for GTK+")
7418 (description
7419 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7420applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7421GTK-VNC implements client side RFB protocol and authentication extensions such
7422as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7423 (license license:lgpl2.1+)))
8b877545 7424
dc69fe18
MW
7425(define-public gnome-autoar
7426 (package
7427 (name "gnome-autoar")
c7da8510 7428 (version "0.2.3")
dc69fe18
MW
7429 (source (origin
7430 (method url-fetch)
7431 (uri (string-append "mirror://gnome/sources/" name "/"
7432 (version-major+minor version) "/"
7433 name "-" version ".tar.xz"))
7434 (sha256
7435 (base32
c7da8510 7436 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7437 (build-system glib-or-gtk-build-system)
7438 (native-inputs
7439 `(("gnome-common" ,gnome-common)
7440 ("gobject-introspection" ,gobject-introspection)
7441 ("pkg-config" ,pkg-config)))
7442 (propagated-inputs
7443 `(("libarchive" ,libarchive))) ; XXX document why
7444 (inputs
0a6e9e13 7445 `(("gtk+" ,gtk+)))
dc69fe18
MW
7446 (synopsis "Archives integration support for GNOME")
7447 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7448 (description
7449 "GNOME Autoar is a library which makes creating and extracting archives
7450easy, safe, and automatic.")
7451 (license license:lgpl2.1+)))
7452
b64e217f
MW
7453(define-public tracker
7454 (package
7455 (name "tracker")
caaefa40 7456 (version "2.3.4")
b64e217f
MW
7457 (source (origin
7458 (method url-fetch)
b5b0fd23 7459 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7460 (version-major+minor version) "/"
b5b0fd23 7461 "tracker-" version ".tar.xz"))
b64e217f
MW
7462 (sha256
7463 (base32
caaefa40 7464 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7465 (build-system meson-build-system)
c8bdf589 7466 (arguments
5ada561c
KK
7467 `(#:glib-or-gtk? #t
7468 #:configure-flags
7469 ;; Otherwise, the RUNPATH will lack the final path component.
7470 (list (string-append "-Dc_link_args=-Wl,-rpath="
7471 (assoc-ref %outputs "out") "/lib:"
7472 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7473 #:phases
c8bdf589 7474 (modify-phases %standard-phases
c8bdf589
RW
7475 (add-before 'check 'pre-check
7476 (lambda _
63db190a
PN
7477 ;; Some tests expect to write to $HOME.
7478 (setenv "HOME" "/tmp")
c8bdf589 7479 #t)))))
b64e217f 7480 (native-inputs
5ada561c 7481 `(("glib:bin" ,glib "bin")
b64e217f 7482 ("gobject-introspection" ,gobject-introspection)
5ada561c 7483 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7484 ("intltool" ,intltool)
7485 ("pkg-config" ,pkg-config)
7486 ("vala" ,vala)))
7487 (inputs
63db190a 7488 `(("dbus" ,dbus)
44ed6284 7489 ("sqlite" ,sqlite)
b64e217f 7490 ("libxml2" ,libxml2)
63db190a 7491 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7492 ("json-glib" ,json-glib)
63db190a 7493 ("libsoup" ,libsoup)))
b64e217f
MW
7494 (synopsis "Metadata database, indexer and search tool")
7495 (home-page "https://wiki.gnome.org/Projects/Tracker")
7496 (description
63db190a
PN
7497 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7498
7499It is a middleware component aimed at desktop application developers who want
7500their apps to browse and search user content. It's not designed to be used
7501directly by desktop users, but it provides a commandline tool named
7502@command{tracker} for the adventurous.
7503
7504Tracker allows your application to instantly perform full-text searches across
7505all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7506example. This is achieved by indexing the user's home directory in the
7507background.
7508
7509Tracker also allows your application to query and list content that the user
7510has stored. For example, GNOME Music displays all the music files that are
7511found by Tracker. This means that GNOME Music doesn't need to maintain a
7512database of its own.
7513
7514If you need to go beyond simple searches, Tracker is also a linked data
7515endpoint and it understands SPARQL. ")
7516 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7517 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7518 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7519 (license (list license:gpl2+
63db190a
PN
7520 license:bsd-3
7521 license:lgpl2.1+))))
b64e217f 7522
03be9874
KK
7523(define-public tracker-miners
7524 (package
7525 (name "tracker-miners")
de60ac2f 7526 (version "2.3.3")
03be9874
KK
7527 (source (origin
7528 (method url-fetch)
7529 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7530 (version-major+minor version)
7531 "/tracker-miners-" version ".tar.xz"))
7532 (sha256
7533 (base32
de60ac2f 7534 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7535 (build-system meson-build-system)
7536 (arguments
7537 `(#:glib-or-gtk? #t
7538 #:configure-flags
7539 (list "-Dminer_rss=false" ; libgrss is required.
7540 ;; Ensure the RUNPATH contains all installed library locations.
7541 (string-append "-Dc_link_args=-Wl,-rpath="
7542 (assoc-ref %outputs "out")
7543 "/lib/tracker-miners-2.0")
7544 ;; TODO: Enable functional tests. Currently, the following error
7545 ;; appears:
7546 ;; Exception: The functional tests require DConf to be the default
7547 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7548 "-Dfunctional_tests=false")))
7549 (native-inputs
7550 `(("dbus" ,dbus)
7551 ("intltool" ,intltool)
7552 ("glib:bin" ,glib "bin")
7553 ("gobject-introspection" ,gobject-introspection)
7554 ("pkg-config" ,pkg-config)
7555 ("python-pygobject" ,python-pygobject)))
7556 (inputs
7557 `(("exempi" ,exempi)
7558 ("ffmpeg" ,ffmpeg)
7559 ("flac" ,flac)
7560 ("giflib" ,giflib)
7561 ("glib" ,glib)
7562 ("gstreamer" ,gstreamer)
7563 ("icu4c" ,icu4c)
7564 ("libcue" ,libcue)
7565 ("libexif" ,libexif)
7566 ("libgsf" ,libgsf)
7567 ("libgxps" ,libgxps)
7568 ("libiptcdata" ,libiptcdata)
7569 ("libjpeg" ,libjpeg)
7570 ("libosinfo" ,libosinfo)
7571 ("libpng" ,libpng)
7572 ("libseccomp" ,libseccomp)
7573 ("libtiff" ,libtiff)
7574 ("libvorbis" ,libvorbis)
7575 ("libxml2" ,libxml2)
7576 ("poppler" ,poppler)
7577 ("taglib" ,taglib)
7578 ("totem-pl-parser" ,totem-pl-parser)
7579 ("tracker" ,tracker)
7580 ("upower" ,upower)
7581 ("zlib" ,zlib)))
7582 (synopsis "Metadata database, indexer and search tool")
7583 (home-page "https://wiki.gnome.org/Projects/Tracker")
7584 (description
7585 "Tracker is an advanced framework for first class objects with associated
7586metadata and tags. It provides a one stop solution for all metadata, tags,
7587shared object databases, search tools and indexing.")
7588 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7589 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7590 (license (list license:gpl2+
7591 license:lgpl2.1+
7592 license:lgpl2.0+))))
7593
8b877545
RS
7594(define-public nautilus
7595 (package
7596 (name "nautilus")
d682c599 7597 (version "3.32.3")
8b877545
RS
7598 (source (origin
7599 (method url-fetch)
7600 (uri (string-append "mirror://gnome/sources/" name "/"
7601 (version-major+minor version) "/"
7602 name "-" version ".tar.xz"))
7603 (sha256
7604 (base32
d682c599 7605 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7606 (build-system meson-build-system)
8b877545 7607 (arguments
35e2d0cf 7608 '(#:glib-or-gtk? #t
8b877545
RS
7609 ;; XXX: FAIL: check-nautilus
7610 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7611 #:tests? #f))
7612 (native-inputs
35e2d0cf
R
7613 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7614 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7615 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7616 ("gobject-introspection" ,gobject-introspection)
7617 ("intltool" ,intltool)
7618 ("pkg-config" ,pkg-config)))
8b877545 7619 (inputs
8b877545 7620 `(("dconf" ,dconf)
caf6c363 7621 ("gexiv2" ,gexiv2)
dd05e731 7622 ("gvfs" ,gvfs)
8b877545
RS
7623 ("exempi" ,exempi)
7624 ("gnome-desktop" ,gnome-desktop)
09d88905 7625 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7626 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7627 ("libseccomp" ,libseccomp)
35e2d0cf 7628 ("libselinux" ,libselinux)
09d88905 7629 ("tracker" ,tracker)
3cafb9d4 7630 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7631 ;; XXX: gtk+ is required by libnautilus-extension.pc
7632 ;;
7633 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7634 ;; package. See:
7635 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7636 ("gtk+" ,gtk+)
8b877545
RS
7637 ("libexif" ,libexif)
7638 ("libxml2" ,libxml2)))
7639 (synopsis "File manager for GNOME")
7640 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7641 (description
7642 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7643design and behaviour, giving the user a simple way to navigate and manage its
7644files.")
7645 (license license:gpl2+)))
3c697ffd
JR
7646
7647(define-public baobab
7648 (package
7649 (name "baobab")
e0c5f20c 7650 (version "3.32.0")
3c697ffd
JR
7651 (source (origin
7652 (method url-fetch)
7653 (uri (string-append
7654 "mirror://gnome/sources/" name "/"
7655 (version-major+minor version) "/"
7656 name "-" version ".tar.xz"))
7657 (sha256
7658 (base32
e0c5f20c 7659 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7660 (build-system meson-build-system)
7661 (arguments
7662 '(#:glib-or-gtk? #t))
3c697ffd
JR
7663 (native-inputs
7664 `(("intltool" ,intltool)
7665 ("pkg-config" ,pkg-config)
d233d373
RJ
7666 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7667 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7668 ("itstool" ,itstool)
7669 ("xmllint" ,libxml2)
7670 ("glib" ,glib "bin")
7671 ("vala" ,vala)))
7672 (inputs
7673 `(("gtk+" ,gtk+)))
7674 (synopsis "Disk usage analyzer for GNOME")
7675 (description
7676 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7677usage in the GNOME desktop environment. It can easily scan device volumes or
7678a specific user-requested directory branch (local or remote). Once the scan
7679is complete it provides a graphical representation of each selected folder.")
7680 (home-page "https://wiki.gnome.org/Apps/Baobab")
7681 (license license:gpl2+)))
dc050251 7682
fdba447c
RS
7683(define-public gnome-backgrounds
7684 (package
7685 (name "gnome-backgrounds")
e04e8a8c 7686 (version "3.32.0")
fdba447c
RS
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append "mirror://gnome/sources/" name "/"
7691 (version-major+minor version) "/"
7692 name "-" version ".tar.xz"))
7693 (sha256
7694 (base32
e04e8a8c 7695 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7696 (build-system meson-build-system)
fdba447c
RS
7697 (native-inputs
7698 `(("intltool" ,intltool)))
e04e8a8c 7699 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7700 (synopsis "Background images for the GNOME desktop")
7701 (description
7702 "GNOME backgrounds package contains a collection of graphics files which
7703can be used as backgrounds in the GNOME Desktop environment. Additionally,
7704the package creates the proper framework and directory structure so that you
7705can add your own files to the collection.")
7706 (license (list license:gpl2+
7707 license:cc-by2.0
7708 license:cc-by-sa2.0
7709 license:cc-by-sa3.0))))
7710
b784b1a9
RS
7711(define-public gnome-screenshot
7712 (package
7713 (name "gnome-screenshot")
6acf4033 7714 (version "3.32.0")
b784b1a9
RS
7715 (source
7716 (origin
7717 (method url-fetch)
7718 (uri (string-append "mirror://gnome/sources/" name "/"
7719 (version-major+minor version) "/"
7720 name "-" version ".tar.xz"))
7721 (sha256
7722 (base32
6acf4033 7723 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7724 (build-system meson-build-system)
b784b1a9
RS
7725 (native-inputs
7726 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7727 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7728 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7729 ("intltool" ,intltool)
8356aefa 7730 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7731 ("pkg-config" ,pkg-config)))
7732 (inputs
7733 `(("gtk+" ,gtk+)
7734 ("libcanberra" ,libcanberra)
7735 ("libx11" ,libx11)
7736 ("libxext" ,libxext)))
676e7cb4 7737 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7738 (synopsis "Take pictures of your screen")
7739 (description
7740 "GNOME Screenshot is a utility used for taking screenshots of the entire
7741screen, a window or a user defined area of the screen, with optional
7742beautifying border effects.")
7743 (license license:gpl2+)))
7744
66d59111
RS
7745(define-public dconf-editor
7746 (package
7747 (name "dconf-editor")
66261451 7748 (version "3.32.0")
66d59111
RS
7749 (source
7750 (origin
7751 (method url-fetch)
7752 (uri (string-append "mirror://gnome/sources/" name "/"
7753 (version-major+minor version) "/"
7754 name "-" version ".tar.xz"))
7755 (sha256
7756 (base32
66261451 7757 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7758 (build-system meson-build-system)
86f2124b
LC
7759 (arguments
7760 '(#:phases (modify-phases %standard-phases
7761 (add-before 'configure 'set-glib-minimum-version
7762 (lambda _
7763 ;; Change the minimum required GLib version so that
7764 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7765 ;; do that, it complains that "55" is not an even
7766 ;; number. See <https://bugs.gnu.org/37503>.
7767 (substitute* "editor/meson.build"
7768 (("2\\.55\\.1") "2.60.0"))
7769 #t)))))
66d59111
RS
7770 (native-inputs
7771 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7772 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7773 ("intltool" ,intltool)
294ff39d
RW
7774 ("pkg-config" ,pkg-config)
7775 ("vala" ,vala)))
66d59111
RS
7776 (inputs
7777 `(("dconf" ,dconf)
7778 ("gtk+" ,gtk+)
7779 ("libxml2" ,libxml2)))
7780 (home-page "https://git.gnome.org/browse/dconf-editor")
7781 (synopsis "Graphical editor for GNOME's dconf configuration system")
7782 (description
7783 "Dconf-editor is a graphical tool for browsing and editing the dconf
7784configuration system for GNOME. It allows users to configure desktop
7785software that do not provide their own configuration interface.")
7786 (license license:lgpl2.1+)))
7787
96d36f38
AW
7788(define-public gnome-default-applications
7789 (package
7790 (name "gnome-default-applications")
7791 (version "0")
7792 (build-system trivial-build-system)
7793 (source #f)
7794 (propagated-inputs
8ad4f0aa
LC
7795 `(("nautilus" ,nautilus)
7796 ("evince" ,evince)))
96d36f38
AW
7797 (arguments
7798 `(#:modules ((guix build utils))
7799 #:builder
7800 (begin
7801 (use-modules (guix build utils))
7802 (let* ((out (assoc-ref %outputs "out"))
7803 (apps (string-append out "/share/applications")))
7804 (mkdir-p apps)
7805 (call-with-output-file (string-append apps "/defaults.list")
7806 (lambda (port)
7807 (format port "[Default Applications]\n")
8ad4f0aa
LC
7808 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7809 (format port "application/pdf=evince.desktop\n")
7810 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7811 #t))))
7812 (synopsis "Default MIME type associations for the GNOME desktop")
7813 (description
7814 "Given many installed packages which might handle a given MIME type, a
7815user running the GNOME desktop probably has some preferences: for example,
7816that folders be opened by default by the Nautilus file manager, not the Baobab
7817disk usage analyzer. This package establishes that set of default MIME type
7818associations for GNOME.")
7819 (license license:gpl3+)
7820 (home-page #f)))
7821
3f1ed953
RG
7822(define-public libgovirt
7823 (package
7824 (name "libgovirt")
7825 (version "0.3.6")
7826 (source (origin
7827 (method url-fetch)
7828 (uri (string-append "mirror://gnome/sources/" name "/"
7829 (version-major+minor version) "/"
7830 name "-" version ".tar.xz"))
7831 (sha256
7832 (base32
7833 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7834 (build-system glib-or-gtk-build-system)
7835 (native-inputs
7836 `(("gettext" ,gettext-minimal)
7837 ("glib:bin" ,glib "bin")
7838 ("gobject-introspection" ,gobject-introspection)
7839 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7840 ("gtk+:bin" ,gtk+ "bin")
7841 ("pkg-config" ,pkg-config)))
7842 (inputs
7843 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7844 ("librest" ,rest)))
7845 (synopsis "GoVirt Library")
7846 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7847 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7848 (license license:gpl2+)))
7849
8672e5e9
RG
7850(define-public gnome-weather
7851 (package
7852 (name "gnome-weather")
7853 (version "3.34.0")
7854 (source (origin
7855 (method url-fetch)
7856 (uri (string-append "mirror://gnome/sources/" name "/"
7857 (version-major+minor version) "/"
7858 name "-" version ".tar.xz"))
7859 (sha256
7860 (base32
7861 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7862 (build-system meson-build-system)
7863 (native-inputs
7864 `(("gettext" ,gettext-minimal)
7865 ("glib:bin" ,glib "bin")
7866 ("gobject-introspection" ,gobject-introspection)
7867 ("gtk+:bin" ,gtk+ "bin")
7868 ("pkg-config" ,pkg-config)))
7869 (inputs
7870 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7871 ("appstream-glib" ,appstream-glib)
7872 ("geoclue" ,geoclue)
7873 ("gdk-pixbuf" ,gdk-pixbuf)
7874 ("gjs" ,gjs)
7875 ("gnome-desktop" ,gnome-desktop)
7876 ("libgweather" ,libgweather)))
7877 (synopsis "Weather monitoring for GNOME desktop")
7878 (description "GNOME Weather is a small application that allows you to
7879monitor the current weather conditions for your city, or anywhere in the
7880world.")
7881 (home-page "https://wiki.gnome.org/Apps/Weather")
7882 (license license:gpl2+)))
7883
dc050251
SB
7884(define-public gnome
7885 (package
7886 (name "gnome")
7887 (version (package-version gnome-shell))
7888 (source #f)
7889 (build-system trivial-build-system)
e3cfef22 7890 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7891 (propagated-inputs
8d8c6bff 7892 ;; TODO: Add or remove packages according to:
a8cda7f5 7893 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7894 `(
8d8c6bff 7895 ;; GNOME-Core-OS-Services
7922b6f7 7896 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7897 ("network-manager" ,network-manager)
7898 ("packagekit" ,packagekit)
7899 ("upower" ,upower)
7900 ;; GNOME-Core-Shell
7901 ("adwaita-icon-theme" ,adwaita-icon-theme)
7902 ("gdm" ,gdm)
7903 ("glib-networking" ,glib-networking)
7904 ("gnome-backgrounds" ,gnome-backgrounds)
7905 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7906 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7907 ("gnome-control-center" ,gnome-control-center)
7908 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7909 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7910 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7911 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7912 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7913 ("gnome-session" ,gnome-session)
7914 ("gnome-settings-daemon" ,gnome-settings-daemon)
7915 ("gnome-shell-extensions" ,gnome-shell-extensions)
7916 ("gnome-shell" ,gnome-shell)
7917 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7918 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7919 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7920 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7921 ("gvfs" ,gvfs)
7922 ("mutter" ,mutter)
7923 ("orca" ,orca)
d36fa50f
RG
7924 ("rygel" ,rygel)
7925 ("sushi" ,sushi)
8d8c6bff
RG
7926 ;; GNOME-Core-Utilities
7927 ("baobab" ,baobab)
7928 ("cheese" ,cheese)
7929 ("eog" ,eog)
7930 ("epiphany" ,epiphany)
7931 ("evince" ,evince)
7932 ("file-roller" ,file-roller)
7933 ("gedit" ,gedit)
d36fa50f 7934 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7935 ("gnome-calculator" ,gnome-calculator)
7936 ("gnome-calendar" ,gnome-calendar)
7937 ("gnome-characters" ,gnome-characters)
7938 ("gnome-clocks" ,gnome-clocks)
7939 ("gnome-contacts" ,gnome-contacts)
7940 ("gnome-disk-utility" ,gnome-disk-utility)
7941 ("gnome-font-viewer" ,gnome-font-viewer)
7942 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7943 ; TODO: ("gnome-music" ,gnome-music)
7944 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7945 ("gnome-screenshot" ,gnome-screenshot)
7946 ("gnome-system-monitor" ,gnome-system-monitor)
7947 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7948 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7949 ("nautilus" ,nautilus)
7950 ("simple-scan" ,simple-scan)
7951 ("totem" ,totem)
7922b6f7
RG
7952 ("yelp" ,yelp)
7953 ;; Others
7954 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7955 ("gnome-online-accounts" ,gnome-online-accounts)
7956
7957 ;; Packages not part of GNOME proper but that are needed for a good
7958 ;; experience. See <https://bugs.gnu.org/39646>.
7959 ;; XXX: Find out exactly which ones are needed and why.
7960 ("font-cantarell" ,font-cantarell)
7961 ("font-dejavu" ,font-dejavu)
7962 ("at-spi2-core" ,at-spi2-core)
7963 ("dbus" ,dbus)
7964 ("dconf" ,dconf)
7965 ("desktop-file-utils" ,desktop-file-utils)
7966 ("gnome-default-applications" ,gnome-default-applications)
7967 ("gnome-themes-standard" ,gnome-themes-standard)
7968 ("gst-plugins-base" ,gst-plugins-base)
7969 ("gst-plugins-good" ,gst-plugins-good)
7970 ("gucharmap" ,gucharmap)
7971 ("pinentry-gnome3" ,pinentry-gnome3)
7972 ("pulseaudio" ,pulseaudio)
7973 ("shared-mime-info" ,shared-mime-info)
7974 ("system-config-printer" ,system-config-printer)
7975 ("xdg-user-dirs" ,xdg-user-dirs)
7976 ("yelp" ,yelp)
7977 ("zenity" ,zenity)))
fe4e698d 7978 (synopsis "The GNU desktop environment")
dc050251
SB
7979 (home-page "https://www.gnome.org/")
7980 (description
fe4e698d
LC
7981 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7982applications for browsing the web, editing text and images, creating
7983documents and diagrams, playing media, scanning, and much more.")
dc050251 7984 (license license:gpl2+)))
4a526711
DT
7985
7986(define-public byzanz
7987 ;; The last stable release of Byzanz was in 2011, but there have been many
7988 ;; useful commits made to the Byzanz repository since then that it would be
7989 ;; silly to use such an old release.
7990 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7991 (package
7992 (name "byzanz")
7993 (version (string-append "0.2-1." (string-take commit 7)))
7994 (source (origin
7995 (method git-fetch)
7996 (uri (git-reference
5f13bf09 7997 (url "https://git.gnome.org/browse/byzanz")
4a526711 7998 (commit commit)))
5a6527e4 7999 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8000 (sha256
8001 (base32
8002 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8003 (build-system glib-or-gtk-build-system)
8004 (arguments
8005 '(#:phases
8006 (modify-phases %standard-phases
189be331 8007 (replace 'bootstrap
4a526711
DT
8008 (lambda _
8009 ;; The build system cleverly detects that we're not building from
8010 ;; a release tarball and turns on -Werror for GCC.
8011 ;; Unsurprisingly, there is a warning during compilation that
8012 ;; causes the build to fail unnecessarily, so we remove the flag.
8013 (substitute* '("configure.ac")
8014 (("-Werror") ""))
8015 ;; The autogen.sh script in gnome-common will run ./configure
8016 ;; by default, which is problematic because source shebangs
8017 ;; have not yet been patched.
8018 (setenv "NOCONFIGURE" "t")
8019 (zero? (system* "sh" "autogen.sh")))))))
8020 (native-inputs
8021 `(("autoconf" ,autoconf)
8022 ("automake" ,automake)
8023 ("gnome-common" ,gnome-common)
8024 ("intltool" ,intltool)
8025 ("libtool" ,libtool)
8026 ("pkg-config" ,pkg-config)
8027 ("which" ,which)))
8028 (inputs
8029 `(("glib" ,glib)
8030 ("gstreamer" ,gstreamer)
8031 ("gst-plugins-base" ,gst-plugins-base)
8032 ("gtk+" ,gtk+)))
8033 (synopsis "Desktop recording program")
8034 (description "Byzanz is a simple desktop recording program with a
8035command-line interface. It can record part or all of an X display for a
8036specified duration and save it as a GIF encoded animated image file.")
8037 (home-page "https://git.gnome.org/browse/byzanz")
8038 (license license:gpl2+))))
3a9a4c51 8039
0ec171ec
MS
8040(define-public gsound
8041 (package
8042 (name "gsound")
8043 (version "1.0.2")
8044 (source (origin
8045 (method url-fetch)
8046 (uri (string-append "mirror://gnome/sources/" name "/"
8047 (version-major+minor version) "/"
8048 name "-" version ".tar.xz"))
8049 (sha256
8050 (base32
8051 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8052 (build-system glib-or-gtk-build-system)
8053 (native-inputs
8054 `(("pkg-config" ,pkg-config)
8055 ("gobject-introspection" ,gobject-introspection)
8056 ("vala" ,vala)))
8057 (inputs
8058 `(("glib" ,glib)
8059 ("libcanberra" ,libcanberra)))
8060 (home-page "https://wiki.gnome.org/Projects/GSound")
8061 (synopsis "GObject wrapper for libcanberra")
8062 (description
8063 "GSound is a small library for playing system sounds. It's designed to be
8064used via GObject Introspection, and is a thin wrapper around the libcanberra C
8065library.")
8066 (license license:lgpl2.1+)))
8067
3a9a4c51
RS
8068(define-public libzapojit
8069 (package
8070 (name "libzapojit")
8071 (version "0.0.3")
8072 (source (origin
8073 (method url-fetch)
8074 (uri (string-append "mirror://gnome/sources/" name "/"
8075 (version-major+minor version) "/"
8076 name "-" version ".tar.xz"))
8077 (sha256
8078 (base32
8079 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8080 (build-system gnu-build-system)
8081 (native-inputs
8082 `(("gobject-introspection" ,gobject-introspection)
8083 ("intltool" ,intltool)
8084 ("pkg-config" ,pkg-config)))
8085 (inputs
14c297fd 8086 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8087 ("json-glib" ,json-glib)
8088 ("rest" ,rest)))
8089 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8090 (synopsis "Library for accessing SkyDrive and Hotmail")
8091 (description
8092 "Libzapojit is a GLib-based library for accessing online service APIs of
8093Microsoft SkyDrive and Hotmail, using their REST protocols.")
8094 (license license:lgpl2.1+)))
9365ee1c 8095
60e2a9ae
MS
8096(define-public gnome-clocks
8097 (package
8098 (name "gnome-clocks")
c76d0dbc 8099 (version "3.32.0")
60e2a9ae
MS
8100 (source (origin
8101 (method url-fetch)
8102 (uri (string-append "mirror://gnome/sources/" name "/"
8103 (version-major+minor version) "/"
8104 name "-" version ".tar.xz"))
8105 (sha256
8106 (base32
c76d0dbc 8107 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
8108 (build-system meson-build-system)
8109 (arguments
8110 '(#:glib-or-gtk? #t))
8111 (native-inputs
8112 `(("vala" ,vala)
8113 ("pkg-config" ,pkg-config)
8114 ("glib" ,glib "bin") ; for glib-compile-resources
8115 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8116 ("desktop-file-utils" ,desktop-file-utils)
8117 ("gettext" ,gettext-minimal)
8118 ("itstool" ,itstool)))
8119 (inputs
8120 `(("glib" ,glib)
8121 ("gtk+" ,gtk+)
8122 ("gsound" ,gsound)
8123 ("geoclue" ,geoclue)
8124 ("geocode-glib" ,geocode-glib)
8125 ("libgweather" ,libgweather)
8126 ("gnome-desktop" ,gnome-desktop)))
8127 (home-page "https://wiki.gnome.org/Apps/Clocks")
8128 (synopsis "GNOME's clock application")
8129 (description
8130 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8131desktop. It supports world clock, stop watch, alarms, and count down timer.")
8132 (license license:gpl3+)))
8133
3c474897
KY
8134(define-public gnome-calendar
8135 (package
8136 (name "gnome-calendar")
339b59bf 8137 (version "3.32.2")
3c474897
KY
8138 (source (origin
8139 (method url-fetch)
8140 (uri (string-append "mirror://gnome/sources/" name "/"
8141 (version-major+minor version) "/"
8142 name "-" version ".tar.xz"))
8143 (sha256
8144 (base32
339b59bf 8145 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
8146 (build-system meson-build-system)
8147 (arguments
8148 '(#:glib-or-gtk? #t
8149 ;; gnome-calendar has to be installed before the tests can be run
8150 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
8151 #:tests? #f))
3c474897 8152 (native-inputs
a49d3e37
MS
8153 `(("gettext" ,gettext-minimal)
8154 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
8155 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
8156 ("pkg-config" ,pkg-config)))
8157 (inputs
a49d3e37 8158 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8159 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8160 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8161 ("libdazzle" ,libdazzle)
b63c06f1 8162 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8163 ("libgweather" ,libgweather)
8164 ("geoclue" ,geoclue)))
3c474897
KY
8165 (home-page "https://wiki.gnome.org/Apps/Calendar")
8166 (synopsis "GNOME's calendar application")
8167 (description
8168 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8169desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8170 (license license:gpl3+)))
8171
57b14665
MS
8172(define-public gnome-todo
8173 (package
8174 (name "gnome-todo")
9f3c6c88 8175 (version "3.28.1")
57b14665
MS
8176 (source (origin
8177 (method url-fetch)
8178 (uri (string-append "mirror://gnome/sources/" name "/"
8179 (version-major+minor version) "/"
8180 name "-" version ".tar.xz"))
8181 (sha256
8182 (base32
9f3c6c88 8183 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8184 (build-system meson-build-system)
8185 (arguments
8186 '(#:glib-or-gtk? #t
8187 #:phases (modify-phases %standard-phases
8188 (add-after
8189 'install 'wrap-gnome-todo
8190 (lambda* (#:key inputs outputs #:allow-other-keys)
8191 (let ((out (assoc-ref outputs "out"))
8192 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8193 (python-path (getenv "PYTHONPATH")))
8194 (wrap-program (string-append out "/bin/gnome-todo")
8195 ;; XXX: gi plugins are broken.
8196 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8197 ;; For plugins.
8198 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8199 `("PYTHONPATH" ":" prefix (,python-path))))
8200 #t)))))
8201 (native-inputs
8202 `(("gettext" ,gettext-minimal)
8203 ("gobject-introspection" ,gobject-introspection)
8204 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8205 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8206 ("pkg-config" ,pkg-config)))
8207 (inputs
8208 `(("rest" ,rest) ; For Todoist plugin
8209 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8210 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8211 ("libical" ,libical)
8212 ("libpeas" ,libpeas)
8213 ("python-pygobject" ,python-pygobject)
8214 ("evolution-data-server" ,evolution-data-server)
14c297fd 8215 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8216 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8217 (home-page "https://wiki.gnome.org/Apps/Todo")
8218 (synopsis "GNOME's ToDo Application")
8219 (description
8220 "GNOME To Do is a simplistic personal task manager designed to perfectly
8221fit the GNOME desktop.")
8222 (license license:gpl3+)))
8223
ab179eaf
SB
8224(define-public gnome-dictionary
8225 (package
8226 (name "gnome-dictionary")
cf81ddef 8227 (version "3.26.1")
ab179eaf
SB
8228 (source (origin
8229 (method url-fetch)
8230 (uri (string-append "mirror://gnome/sources/" name "/"
8231 (version-major+minor version) "/"
8232 name "-" version ".tar.xz"))
8233 (sha256
8234 (base32
cf81ddef
LC
8235 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8236 (build-system meson-build-system)
2776b5d5
MB
8237 (arguments '(#:glib-or-gtk? #t
8238 #:phases (modify-phases %standard-phases
8239 (add-after 'unpack 'patch-install-script
8240 (lambda _
8241 ;; This script attempts to compile glib schemas
8242 ;; and create an empty MIME database. We do
8243 ;; that elsewhere, so prevent it from running.
8244 (substitute* "build-aux/post-install.sh"
8245 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8246 #t)))))
ab179eaf
SB
8247 (native-inputs
8248 `(("glib:bin" ,glib "bin")
8249 ("gobject-introspection" ,gobject-introspection)
8250 ("intltool" ,intltool)
8251 ("itstool" ,itstool)
8252 ("pkg-config" ,pkg-config)
8253 ("xmllint" ,libxml2)))
8254 (inputs
8255 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8256 ("gtk+" ,gtk+)))
8257 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8258 (synopsis "Look up words in dictionary sources")
8259 (description
8260 "GNOME Dictionary can look for the definition or translation of a word in
8261existing databases over the internet.")
8262 (license license:gpl3+)))
8263
d13f3a03 8264(define-public gnome-tweaks
9365ee1c 8265 (package
d13f3a03 8266 (name "gnome-tweaks")
652af676 8267 (version "3.32.0")
9365ee1c
JN
8268 (source (origin
8269 (method url-fetch)
d13f3a03 8270 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8271 (version-major+minor version) "/"
d13f3a03
RW
8272 "gnome-tweaks-" version ".tar.xz"))
8273 (patches
8274 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8275 (sha256
8276 (base32
652af676 8277 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8278 (build-system meson-build-system)
9365ee1c 8279 (arguments
d13f3a03
RW
8280 `(#:glib-or-gtk? #t
8281 #:configure-flags '("-Dlocalstatedir=/tmp"
8282 "-Dsysconfdir=/tmp")
9365ee1c 8283 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8284 ,@%meson-build-system-modules)
8285 #:phases
8286 (modify-phases %standard-phases
8287 (add-after 'install 'wrap
8288 (@@ (guix build python-build-system) wrap))
8289 (add-after 'wrap 'wrap-gi-typelib
8290 (lambda* (#:key inputs outputs #:allow-other-keys)
8291 (let ((out (assoc-ref outputs "out"))
8292 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8293 (wrap-program (string-append out "/bin/gnome-tweaks")
8294 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8295 #t)))))
9365ee1c 8296 (native-inputs
c7fc414e
RH
8297 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8298 ("intltool" ,intltool)
9365ee1c
JN
8299 ("pkg-config" ,pkg-config)))
8300 (inputs
c7fc414e
RH
8301 `(("gnome-desktop" ,gnome-desktop)
8302 ("gtk+" ,gtk+)
9365ee1c
JN
8303 ("gobject-introspection" ,gobject-introspection)
8304 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8305 ("libnotify" ,libnotify)
8306 ("libsoup" ,libsoup)
8307 ("nautilus" ,nautilus)
8308 ("python" ,python)
8309 ("python-pygobject" ,python-pygobject)))
9365ee1c 8310 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8311 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8312 (description
d13f3a03 8313 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8314GNOME 3. This includes things like the fonts used in user interface elements,
8315alternative user interface themes, changes in window management behavior,
8316GNOME Shell appearance and extension, etc.")
8317 (license license:gpl3+)))
813f814a 8318
d13f3a03
RW
8319;; This package has been renamed by upstream.
8320(define-public gnome-tweak-tool
8321 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8322
32ac717c
DT
8323(define-public gnome-shell-extensions
8324 (package
8325 (name "gnome-shell-extensions")
ae4c05e0 8326 (version "3.32.1")
32ac717c
DT
8327 (source (origin
8328 (method url-fetch)
8329 (uri (string-append "mirror://gnome/sources/" name "/"
8330 (version-major+minor version) "/"
8331 name "-" version ".tar.xz"))
8332 (sha256
8333 (base32
ae4c05e0 8334 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8335 (build-system meson-build-system)
32ac717c 8336 (arguments
100f625b 8337 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8338 (native-inputs
c9ea8873
LP
8339 `(("glib:bin" ,glib "bin")
8340 ("intltool" ,intltool)
32ac717c
DT
8341 ("pkg-config" ,pkg-config)))
8342 (propagated-inputs
c9ea8873 8343 `(("glib" ,glib)))
32ac717c
DT
8344 (synopsis "Extensions for GNOME Shell")
8345 (description "GNOME Shell extensions modify and extend GNOME Shell
8346functionality and behavior.")
8347 (home-page "https://extensions.gnome.org/")
8348 (license license:gpl3+)))
8349
813f814a
DT
8350(define-public arc-theme
8351 (package
8352 (name "arc-theme")
37781323 8353 (version "20190917")
813f814a 8354 (source (origin
a18f8eaf
BH
8355 (method git-fetch)
8356 (uri (git-reference
8357 (url "https://github.com/NicoHood/arc-theme.git")
8358 (commit version)))
8359 (file-name (git-file-name name version))
813f814a
DT
8360 (sha256
8361 (base32
37781323 8362 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8363 (build-system gnu-build-system)
d88884fa
EF
8364 (arguments
8365 '(#:phases
8366 (modify-phases %standard-phases
8367 ;; autogen.sh calls configure at the end of the script.
8368 (replace 'bootstrap
4690e3a4
MC
8369 (lambda _ (invoke "autoreconf" "-vfi")))
8370 (add-before 'build 'set-home ;placate Inkscape
8371 (lambda _
8372 (setenv "HOME" (getcwd))
8373 #t)))))
813f814a
DT
8374 (native-inputs
8375 `(("autoconf" ,autoconf)
8376 ("automake" ,automake)
a18f8eaf
BH
8377 ("glib" ,glib "bin") ; for glib-compile-resources
8378 ("gnome-shell" ,gnome-shell)
8379 ("gtk+" ,gtk+)
8380 ("inkscape" ,inkscape)
8381 ("optipng" ,optipng)
8382 ("pkg-config" ,pkg-config)
bed24ecf 8383 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8384 (synopsis "A flat GTK+ theme with transparent elements")
8385 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
83862, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8387like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8388 (home-page "https://github.com/horst3180/arc-theme")
8389 ;; No "or later" language found.
a18f8eaf 8390 (license license:gpl3+)))
9987c57c 8391
d935e6a1 8392(define-public faba-icon-theme
9987c57c 8393 (package
d935e6a1 8394 (name "faba-icon-theme")
2eee7ee3 8395 (version "4.3")
d935e6a1
BT
8396 (source
8397 (origin
757e4027
TGR
8398 (method git-fetch)
8399 (uri (git-reference
8400 (url "https://github.com/snwh/faba-icon-theme.git")
8401 (commit (string-append "v" version))))
8402 (file-name (git-file-name name version))
d935e6a1 8403 (sha256
757e4027 8404 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8405 (build-system meson-build-system)
9987c57c 8406 (arguments
82da291a 8407 `(#:phases
9987c57c 8408 (modify-phases %standard-phases
82da291a 8409 (add-before 'configure 'disable-post-install
9987c57c 8410 (lambda _
82da291a
JL
8411 (substitute* "meson.build"
8412 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8413 (native-inputs
8414 `(("autoconf" ,autoconf)
8415 ("automake" ,automake)))
d935e6a1
BT
8416 (synopsis "Faba icon theme")
8417 (description
8418 "Faba is a minimal icon set used as a basis for other themes such as
8419Moka")
8420 (home-page "https://snwh.org/moka")
8421 (license (list license:lgpl3+
8422 license:cc-by-sa4.0))))
8423
9987c57c
DT
8424(define-public moka-icon-theme
8425 (package
8b0e4177 8426 (inherit faba-icon-theme)
9987c57c 8427 (name "moka-icon-theme")
105a3625 8428 (version "5.4.0")
8c3f2170
TGR
8429 (source
8430 (origin
8431 (method git-fetch)
8432 (uri (git-reference
8433 (url "https://github.com/snwh/moka-icon-theme.git")
8434 (commit (string-append "v" version))))
8435 (file-name (git-file-name name version))
8436 (sha256
8437 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8438 (propagated-inputs
8439 ;; Moka is based on Faba by using it as a fallback icon set instead of
8440 ;; bundling it, so we need to add it as a propagated input.
8441 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8442 (synopsis "Moka icon theme")
8443 (description "Moka is a stylized desktop icon set, designed to be clear,
8444simple and consistent.")
fedde43b
BT
8445 (license (list license:gpl3+
8446 license:cc-by-sa4.0))))
6fd8f8d6
DT
8447
8448(define-public arc-icon-theme
8449 (package
8450 (name "arc-icon-theme")
c4180240 8451 (version "20161122")
bbf66cbf
TGR
8452 (source
8453 (origin
8454 (method git-fetch)
8455 (uri (git-reference
8456 (url "https://github.com/horst3180/arc-icon-theme.git")
8457 (commit version)))
8458 (file-name (git-file-name name version))
8459 (sha256
8460 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8461 (build-system gnu-build-system)
9e1ede95
JL
8462 (arguments
8463 `(#:phases
8464 (modify-phases %standard-phases
8465 (add-after 'unpack 'disable-configure-during-bootstrap
8466 (lambda _
8467 (substitute* "autogen.sh"
8468 (("^\"\\$srcdir/configure\".*") ""))
8469 #t)))))
6fd8f8d6
DT
8470 (native-inputs
8471 `(("autoconf" ,autoconf)
8472 ("automake" ,automake)))
8473 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8474 (propagated-inputs
8475 `(("moka-icon-theme" ,moka-icon-theme)))
8476 (synopsis "Arc icon theme")
8477 (description "The Arc icon theme provides a set of icons matching the
8478style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8479the Moka icon theme.")
8480 (home-page "https://github.com/horst3180/arc-icon-theme")
8481 (license license:gpl3+)))
6064a4e8
LF
8482
8483(define-public folks
8484 (package
8485 (name "folks")
d23495fa 8486 (version "0.11.4")
6064a4e8
LF
8487 (source (origin
8488 (method url-fetch)
8489 (uri (string-append
e5f4796e 8490 "mirror://gnome/sources/folks/"
6064a4e8 8491 (version-major+minor version) "/"
e5f4796e 8492 "folks-" version ".tar.xz"))
6064a4e8
LF
8493 (sha256
8494 (base32
d23495fa 8495 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8496 (build-system glib-or-gtk-build-system)
8497 (inputs
8498 `(("bdb" ,bdb)
8499 ("dbus-glib" ,dbus-glib)
8500 ("evolution-data-server" ,evolution-data-server)
8501 ("glib" ,glib)
8502 ("libgee" ,libgee)
8503 ("telepathy-glib" ,telepathy-glib)))
8504 (native-inputs
8505 `(("gobject-introspection" ,gobject-introspection)
8506 ("intltool" ,intltool)
8507 ("pkg-config" ,pkg-config)
8508 ("vala" ,vala)))
8509 (synopsis "Library to aggregate data about people")
8510 (description "Libfolks is a library that aggregates information about people
8511from multiple sources (e.g., Telepathy connection managers for IM contacts,
8512Evolution Data Server for local contacts, libsocialweb for web service contacts,
8513etc.) to create metacontacts. It's written in Vala, which generates C code when
8514compiled.")
8515 (home-page "https://wiki.gnome.org/Projects/Folks")
8516 (license license:lgpl2.1+)))
01ea778f
LF
8517
8518(define-public gfbgraph
8519 (package
8520 (name "gfbgraph")
8521 (version "0.2.3")
8522 (source (origin
8523 (method url-fetch)
8524 (uri (string-append
237d4cf7 8525 "mirror://gnome/sources/gfbgraph/"
01ea778f 8526 (version-major+minor version) "/"
237d4cf7 8527 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8528 (sha256
8529 (base32
8530 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8531 (build-system glib-or-gtk-build-system)
8532 (arguments
8533 `(#:tests? #f ; Tests appear to require the network.
8534 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8535 #:configure-flags '("--disable-gtk-doc"
8536 "--disable-static"
8537 "--enable-introspection")))
8538 (native-inputs
8539 `(("pkg-config" ,pkg-config)
8540 ("gobject-introspection" ,gobject-introspection)))
8541 (inputs
8542 `(("json-glib" ,json-glib)
14c297fd 8543 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8544 ("rest" ,rest)))
8545 (synopsis "GLib/GObject wrapper for the Facebook API")
8546 (description "This library allows you to use the Facebook API from
8547GLib/GObject code.")
8548 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8549 (license license:lgpl2.1+)))
3920868c 8550
8551(define-public libgnomekbd
8552 (package
8553 (name "libgnomekbd")
70f2b0f9 8554 (version "3.26.1")
3920868c 8555 (source (origin
8556 (method url-fetch)
d47fa82d 8557 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8558 (version-major+minor version) "/"
d47fa82d 8559 "libgnomekbd-" version ".tar.xz"))
3920868c 8560 (sha256
8561 (base32
70f2b0f9 8562 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8563 (build-system gnu-build-system)
8564 (native-inputs
8565 `(("pkg-config" ,pkg-config)
8566 ("glib" ,glib "bin")
8567 ("intltool" ,intltool)))
8568 (propagated-inputs
8569 ;; Referred to in .h files and .pc.
8570 `(("glib" ,glib)
8571 ("gtk+" ,gtk+)
8572 ("libxklavier" ,libxklavier)))
8573 (home-page "https://www.gnome.org")
8574 (synopsis "GNOME keyboard configuration library")
8575 (description
8576 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8577environment, which can notably display keyboard layouts.")
8578 (license license:lgpl2.0+)))
85327d0d 8579
8580;;; This package is no longer maintained:
8581;;; https://wiki.gnome.org/Attic/LibUnique
8582;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8583;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8584(define-public libunique
8585 (package
8586 (name "libunique")
8587 (version "3.0.2")
8588 (source (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
8595 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8596 (build-system glib-or-gtk-build-system)
8597 (arguments
8598 `(#:configure-flags '("--disable-static"
8599 "--disable-dbus" ; use gdbus
8600 "--enable-introspection")))
8601 (native-inputs
8602 `(("pkg-config" ,pkg-config)
8603 ("gobject-introspection" ,gobject-introspection)
8604 ("glib:bin" ,glib "bin")
8605 ("gtk-doc" ,gtk-doc)))
8606 (propagated-inputs
8607 ;; Referred to in .h files and .pc.
8608 `(("gtk+" ,gtk+)))
8609 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8610 (synopsis "Library for writing single instance applications")
8611 (description
8612 "Libunique is a library for writing single instance applications. If you
8613launch a single instance application twice, the second instance will either just
8614quit or will send a message to the running instance. Libunique makes it easy to
8615write this kind of application, by providing a base class, taking care of all
8616the IPC machinery needed to send messages to a running instance, and also
8617handling the startup notification side.")
8618 (license license:lgpl2.1+)))
54021cd8
RS
8619
8620(define-public gnome-calculator
8621 (package
8622 (name "gnome-calculator")
07ace641 8623 (version "3.32.2")
54021cd8
RS
8624 (source
8625 (origin
8626 (method url-fetch)
8627 (uri (string-append "mirror://gnome/sources/" name "/"
8628 (version-major+minor version) "/"
8629 name "-" version ".tar.xz"))
8630 (sha256
8631 (base32
07ace641 8632 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8633 (build-system meson-build-system)
8634 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8635 (native-inputs
8636 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8637 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8638 ("intltool" ,intltool)
8639 ("itstool" ,itstool)
2d475910 8640 ("vala" ,vala)
54021cd8
RS
8641 ("pkg-config" ,pkg-config)))
8642 (inputs
112e9083 8643 `(("glib" ,glib)
07ace641 8644 ("gtksourceview" ,gtksourceview)
54021cd8 8645 ("libsoup" ,libsoup)
112e9083 8646 ("libxml2" ,libxml2)
2c2da7ec 8647 ("mpc" ,mpc)
54021cd8
RS
8648 ("mpfr" ,mpfr)))
8649 (home-page "https://wiki.gnome.org/Apps/Calculator")
8650 (synopsis "Desktop calculator")
8651 (description
8652 "Calculator is an application that solves mathematical equations and
8653is suitable as a default application in a Desktop environment.")
8654 (license license:gpl3)))
0bd69759
RS
8655
8656(define-public xpad
8657 (package
8658 (name "xpad")
c85626bb 8659 (version "5.1.0")
0bd69759
RS
8660 (source
8661 (origin
8662 (method url-fetch)
08fda9c6
R
8663 (uri (string-append "https://launchpad.net/xpad/trunk/"
8664 version "/+download/"
0bd69759
RS
8665 name "-" version ".tar.bz2"))
8666 (sha256
8667 (base32
c85626bb 8668 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8669 (build-system gnu-build-system)
8670 (native-inputs
08fda9c6
R
8671 `(("autoconf" ,autoconf)
8672 ("automake" ,automake)
8673 ("gtk+:bin" ,gtk+ "bin")
8674 ("intltool" ,intltool)
0bd69759
RS
8675 ("pkg-config" ,pkg-config)))
8676 (inputs
c72647fb 8677 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8678 ("libsm" ,libsm)))
8679 (home-page "https://wiki.gnome.org/Apps/Xpad")
8680 (synopsis "Virtual sticky note")
8681 (description
8682 "Xpad is a sticky note that strives to be simple, fault tolerant,
8683and customizable. Xpad consists of independent pad windows, each is
8684basically a text box in which notes can be written.")
8685 (license license:gpl3+)))
3ad7dce1
RS
8686
8687(define-public gucharmap
c60063ea
RW
8688 (let ((unicode-files
8689 '(("Blocks.txt"
1f8b5515 8690 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8691 ("DerivedAge.txt"
1f8b5515 8692 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8693 ("NamesList.txt"
1f8b5515 8694 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8695 ("Scripts.txt"
1f8b5515 8696 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8697 ("UnicodeData.txt"
1f8b5515 8698 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8699 ("Unihan.zip"
1f8b5515 8700 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8701 (package
8702 (name "gucharmap")
1f8b5515 8703 (version "12.0.1")
c60063ea
RW
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append "mirror://gnome/sources/" name "/"
8708 (version-major+minor version) "/"
8709 name "-" version ".tar.xz"))
8710 (sha256
8711 (base32
1f8b5515 8712 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8713 (build-system glib-or-gtk-build-system)
8714 (arguments
8715 `(#:modules ((ice-9 match)
8716 (guix build glib-or-gtk-build-system)
8717 (guix build utils))
8718 #:configure-flags
8719 (list "--with-unicode-data=../unicode-data")
8720 #:phases
8721 (modify-phases %standard-phases
8722 (add-after 'unpack 'prepare-unicode-data
8723 (lambda* (#:key inputs #:allow-other-keys)
8724 (mkdir-p "../unicode-data")
8725 (with-directory-excursion "../unicode-data"
8726 (for-each (match-lambda
8727 ((file _)
8728 (install-file (assoc-ref inputs file) ".")))
8729 ',unicode-files))
8730 #t)))))
8731 (native-inputs
8732 `(("desktop-file-utils" ,desktop-file-utils)
8733 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8734 ("gobject-introspection" ,gobject-introspection)
8735 ("intltool" ,intltool)
8736 ("itstool" ,itstool)
8737 ("pkg-config" ,pkg-config)
8738 ,@(map (match-lambda
8739 ((file hash)
8740 `(,file
8741 ,(origin
8742 (method url-fetch)
8743 (uri (string-append
1f8b5515 8744 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8745 file))
8746 (sha256 (base32 hash))))))
8747 unicode-files)
8748 ("unzip" ,unzip)))
8749 (inputs
8750 `(("gtk+" ,gtk+)
8751 ("xmllint" ,libxml2)))
8752 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8753 (synopsis "Unicode character picker and font browser")
8754 (description
8755 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8756characters and categories for the installed fonts, and to examine their
8757detailed properties. It is an easy way to find the character you might
8758only know by its Unicode name or code point.")
c60063ea 8759 (license license:gpl3+))))
04ce840a
RS
8760
8761(define-public bluefish
8762 (package
8763 (name "bluefish")
290fe81d 8764 (version "2.2.11")
04ce840a
RS
8765 (source
8766 (origin
8767 (method url-fetch)
8768 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8769 "bluefish-" version ".tar.gz"))
04ce840a 8770 (sha256
290fe81d 8771 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8772 (build-system gnu-build-system)
8773 (native-inputs
8774 `(("desktop-file-utils" ,desktop-file-utils)
8775 ("intltool" ,intltool)
8776 ("pkg-config" ,pkg-config)))
8777 (inputs
8778 `(("enchant" ,enchant)
8779 ("gtk+" ,gtk+)
290fe81d 8780 ("python" ,python-wrapper)
04ce840a
RS
8781 ("xmllint" ,libxml2)
8782 ("gucharmap" ,gucharmap)))
8783 (home-page "http://bluefish.openoffice.nl")
8784 (synopsis "Web development studio")
8785 (description
8786 "Bluefish is an editor targeted towards programmers and web developers,
8787with many options to write web sites, scripts and other code.
8788Bluefish supports many programming and markup languages.")
8789 (license license:gpl3+)))
1f6a73ee
RS
8790
8791(define-public gnome-system-monitor
8792 (package
8793 (name "gnome-system-monitor")
083cffaf 8794 (version "3.32.1")
1f6a73ee
RS
8795 (source
8796 (origin
8797 (method url-fetch)
8798 (uri (string-append "mirror://gnome/sources/" name "/"
8799 (version-major+minor version) "/"
8800 name "-" version ".tar.xz"))
8801 (sha256
8802 (base32
083cffaf 8803 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8804 (build-system meson-build-system)
8805 (arguments
8806 '(#:glib-or-gtk? #t
8807 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8808 (native-inputs
8809 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8810 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8811 ("intltool" ,intltool)
8812 ("itstool" ,itstool)
8813 ("libgtop" ,libgtop)
4985d9aa 8814 ("polkit" ,polkit)
1f6a73ee
RS
8815 ("pkg-config" ,pkg-config)))
8816 (inputs
8817 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8818 ("gtk+" ,gtk+)
8819 ("gtkmm" ,gtkmm)
8820 ("librsvg" ,librsvg)
4985d9aa
RW
8821 ("libxml2" ,libxml2)
8822 ("libwnck" ,libwnck)))
1f6a73ee
RS
8823 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8824 (synopsis "Process viewer and system resource monitor for GNOME")
8825 (description
8826 "GNOME System Monitor is a GNOME process viewer and system monitor with
8827an attractive, easy-to-use interface. It has features, such as a tree view
8828for process dependencies, icons for processes, the ability to hide processes,
8829graphical time histories of CPU/memory/swap usage and the ability to
8830kill/reinice processes.")
8831 (license license:gpl2+)))
3e00ac47
SB
8832
8833(define-public python-pyatspi
8834 (package
8835 (name "python-pyatspi")
4f937a32 8836 (version "2.34.0")
3e00ac47
SB
8837 (source (origin
8838 (method url-fetch)
8839 (uri (string-append
8840 "mirror://gnome/sources/pyatspi/"
8841 (version-major+minor version)
8842 "/pyatspi-" version ".tar.xz"))
8843 (sha256
8844 (base32
4f937a32 8845 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8846 (build-system gnu-build-system)
b95af3f6
JL
8847 (arguments
8848 `(#:phases
8849 (modify-phases %standard-phases
8850 (add-before 'build 'fix-atk-load
8851 (lambda _
8852 (substitute* "pyatspi/__init__.py"
8853 (("from gi.repository import Atspi")
8854 "gi.require_version('Gtk', '3.0')
8855from gi.repository import Gtk
8856from gi.repository import Atspi"))
8857 #t)))))
3e00ac47
SB
8858 (native-inputs
8859 `(("pkg-config" ,pkg-config)))
8860 (inputs
8861 `(("python" ,python)
8862 ("python-pygobject" ,python-pygobject)))
8863 (synopsis "Python client bindings for D-Bus AT-SPI")
8864 (home-page "https://wiki.linuxfoundation.org/accessibility\
8865/atk/at-spi/at-spi_on_d-bus")
8866 (description
8867 "This package includes a python client library for the AT-SPI D-Bus
8868accessibility infrastructure.")
8869 (license license:lgpl2.0)
8870 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8871
8872(define-public orca
8873 (package
8874 (name "orca")
089e8585 8875 (version "3.32.0")
53201c0d
SB
8876 (source (origin
8877 (method url-fetch)
8878 (uri (string-append
8879 "mirror://gnome/sources/" name "/"
8880 (version-major+minor version) "/"
8881 name "-" version ".tar.xz"))
8882 (sha256
8883 (base32
089e8585 8884 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8885 (build-system glib-or-gtk-build-system)
8886 (arguments
8887 '(#:phases
8888 (modify-phases %standard-phases
8889 (add-before 'configure 'qualify-xkbcomp
8890 (lambda* (#:key inputs #:allow-other-keys)
8891 (let ((xkbcomp (string-append
8892 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8893 (substitute* "src/orca/orca.py"
8894 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8895 #t))
8896 (add-after 'install 'wrap-orca
8897 (lambda* (#:key outputs #:allow-other-keys)
8898 (let* ((out (assoc-ref outputs "out"))
8899 (prog (string-append out "/bin/orca")))
8900 (wrap-program prog
8901 `("GI_TYPELIB_PATH" ":" prefix
8902 (,(getenv "GI_TYPELIB_PATH")))
8903 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8904 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8905 `("PYTHONPATH" ":" prefix
8906 (,(getenv "PYTHONPATH")))))
8907 #t)))))
8908 (native-inputs
8909 `(("intltool" ,intltool)
8910 ("itstool" ,itstool)
8911 ("pkg-config" ,pkg-config)
8912 ("xmllint" ,libxml2)))
8913 (inputs
8914 `(("at-spi2-atk" ,at-spi2-atk)
8915 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8916 ("gstreamer" ,gstreamer)
8917 ("gst-plugins-base" ,gst-plugins-base)
8918 ("gst-plugins-good" ,gst-plugins-good)
8919 ("gtk+" ,gtk+)
8920 ("python" ,python)
8921 ("python-pygobject" ,python-pygobject)
8922 ("python-pyatspi" ,python-pyatspi)
8923 ("python-speechd" ,speech-dispatcher)
8924 ("xkbcomp" ,xkbcomp)))
8925 (synopsis
8926 "Screen reader for individuals who are blind or visually impaired")
8927 (home-page "https://wiki.gnome.org/Projects/Orca")
8928 (description
8929 "Orca is a screen reader that provides access to the graphical desktop
8930via speech and refreshable braille. Orca works with applications and toolkits
8931that support the Assistive Technology Service Provider Interface (AT-SPI).")
8932 (license license:lgpl2.1+)))
411ba511
LC
8933
8934(define-public gspell
8935 (package
8936 (name "gspell")
7a6bbe9b 8937 (version "1.8.2")
411ba511
LC
8938 (source (origin
8939 (method url-fetch)
8940 (uri (string-append "mirror://gnome/sources/" name "/"
8941 (version-major+minor version) "/"
8942 name "-" version ".tar.xz"))
8943 (sha256
8944 (base32
7a6bbe9b 8945 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8946 (patches (search-patches "gspell-dash-test.patch"))))
8947 (build-system glib-or-gtk-build-system)
8948 (arguments
8949 '(#:phases
8950 (modify-phases %standard-phases
8951 (add-before 'check 'pre-check
8952 (lambda* (#:key inputs #:allow-other-keys)
8953 ;; Tests require a running X server.
8954 (system "Xvfb :1 &")
8955 (setenv "DISPLAY" ":1")
8956
8957 ;; For the missing /etc/machine-id.
8958 (setenv "DBUS_FATAL_WARNINGS" "0")
8959
8960 ;; Allow Enchant and its Aspell backend to find the en_US
8961 ;; dictionary.
8962 (setenv "ASPELL_DICT_DIR"
8963 (string-append (assoc-ref inputs "aspell-dict-en")
8964 "/lib/aspell"))
8965 #t)))))
8966 (inputs
eccd35be 8967 `(("gtk+" ,gtk+)
a801ae4c
TGR
8968 ("glib" ,glib)
8969 ("iso-codes" ,iso-codes)))
411ba511
LC
8970 (native-inputs
8971 `(("glib" ,glib "bin")
26ba3f07 8972 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8973 ("pkg-config" ,pkg-config)
8974 ("xmllint" ,libxml2)
8975
8976 ;; For tests.
a801ae4c 8977 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8978 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8979 (propagated-inputs
9b1bb757 8980 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8981 (home-page "https://wiki.gnome.org/Projects/gspell")
8982 (synopsis "GNOME's alternative spell checker")
8983 (description
8984 "gspell provides a flexible API to add spell-checking to a GTK+
8985application. It provides a GObject API, spell-checking to text entries and
8986text views, and buttons to choose the language.")
8987 (license license:gpl2+)))
d1d739fa
CM
8988
8989(define-public gnome-planner
8990 (package
8991 (name "gnome-planner")
8992 (version "0.14.6")
8993 (source (origin
8994 (method url-fetch)
8995 (uri (string-append "mirror://gnome/sources/planner/"
8996 (version-major+minor version) "/planner-"
8997 version ".tar.xz"))
8998 (sha256
8999 (base32
9000 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9001 (build-system glib-or-gtk-build-system)
9002 (arguments
9003 ;; Disable the Python bindings because the Planner program functions
9004 ;; without them, and (as of 2017-06-13) we have not packaged all of
9005 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9006 `(#:configure-flags
9007 (list "--disable-python"
9008 ,@(if (string=? "aarch64-linux" (%current-system))
9009 '("--build=aarch64-unknown-linux-gnu")
9010 '()))))
d1d739fa
CM
9011 (inputs
9012 `(("libgnomecanvas" ,libgnomecanvas)
9013 ("libgnomeui" ,libgnomeui)
9014 ("libglade" ,libglade)
9015 ("gnome-vfs" ,gnome-vfs)
9016 ("gconf" ,gconf)
9017 ("libxml2" ,libxml2)
9018 ("libxslt" ,libxslt)
9019 ("gtk+" ,gtk+)
9020 ("glib" ,glib)))
9021 (native-inputs
9022 `(("intltool" ,intltool)
9023 ("scrollkeeper" ,scrollkeeper)
9024 ("pkg-config" ,pkg-config)))
9025 (home-page "https://wiki.gnome.org/Apps/Planner")
9026 (synopsis "Project management software for the GNOME desktop")
9027 (description
9028 "GNOME Planner is a project management tool based on the Work Breakdown
9029Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9030the resources, tasks, and constraints that you define, Planner generates
9031various views into a project. For example, Planner can show a Gantt chart of
9032the project. It can show a detailed summary of tasks including their
9033duration, cost, and current progress. It can also show a report of resource
9034utilization that highlights under-utilized and over-utilized resources. These
9035views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9036 (license license:gpl2+)))
64fce637
RS
9037
9038(define-public lollypop
9039 (package
9040 (name "lollypop")
ca32627a 9041 (version "1.2.7")
64fce637
RS
9042 (source
9043 (origin
9044 (method url-fetch)
b98eace8 9045 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 9046 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 9047 "lollypop-" version ".tar.xz"))
64fce637 9048 (sha256
ca32627a 9049 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 9050 (build-system meson-build-system)
64fce637
RS
9051 (arguments
9052 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
9053 ,@%meson-build-system-modules)
9054 #:glib-or-gtk? #t
5fc9b6c1
EF
9055 #:tests? #f ; no test suite
9056 #:phases
9057 (modify-phases %standard-phases
5fc9b6c1
EF
9058 (add-after 'install 'wrap-program
9059 (lambda* (#:key outputs #:allow-other-keys)
9060 (let ((out (assoc-ref outputs "out"))
9061 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9062 (wrap-program (string-append out "/bin/lollypop")
9063 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9064 #t))
8ac8b3b3
TGR
9065 (add-after 'install 'wrap-python
9066 (@@ (guix build python-build-system) wrap))
9067 (add-after 'install 'wrap-glib-or-gtk
9068 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
9069 (native-inputs
9070 `(("intltool" ,intltool)
9071 ("itstool" ,itstool)
aa498fc0
TD
9072 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9073 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9074 ("pkg-config" ,pkg-config)))
9075 (inputs
9076 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9077 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9078 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9079 ("libnotify" ,libnotify)
9080 ("libsecret" ,libsecret)
9081 ("libsoup" ,libsoup)
9082 ("python" ,python)
9083 ("python-beautifulsoup4" ,python-beautifulsoup4)
9084 ("python-gst" ,python-gst)
d029afdd 9085 ("python-pil" ,python-pillow)
64fce637 9086 ("python-pycairo" ,python-pycairo)
7460f346 9087 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
9088 ("python-pylast" ,python-pylast)
9089 ("totem-pl-parser" ,totem-pl-parser)
9090 ("webkitgtk" ,webkitgtk)))
9091 (propagated-inputs
9092 `(;; gst-plugins-base is required to start Lollypop,
9093 ;; the others are required to play streaming.
64fce637
RS
9094 ("gst-plugins-good" ,gst-plugins-good)
9095 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9096 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9097 (synopsis "GNOME music playing application")
9098 (description
9099 "Lollypop is a music player designed to play well with GNOME desktop.
9100Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9101from artists and tracks from the web. It also fetches cover artworks
9102automatically and it can stream songs from online music services and charts.")
9103 (license license:gpl3+)))
d831d49d
AW
9104
9105(define-public gnome-video-effects
9106 (package
9107 (name "gnome-video-effects")
9108 (version "0.4.3")
9109 (source (origin
9110 (method url-fetch)
9111 (uri (string-append "mirror://gnome/sources/" name "/"
9112 (version-major+minor version) "/" name "-"
9113 version ".tar.xz"))
9114 (sha256
9115 (base32
9116 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9117 (build-system glib-or-gtk-build-system)
9118 (arguments
9119 `(#:out-of-source? #f))
9120 (native-inputs
9121 `(("glib:bin" ,glib "bin")
9122 ("intltool" ,intltool)
9123 ("gettext" ,gettext-minimal)
9124 ("pkg-config" ,pkg-config)))
9125 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9126 (synopsis "Video effects for Cheese and other GNOME applications")
9127 (description
9128 "A collection of GStreamer video filters and effects to be used in
9129photo-booth-like software, such as Cheese.")
9130 (license license:gpl2+)))
3511c780
AW
9131
9132(define-public cheese
9133 (package
9134 (name "cheese")
dd33b337 9135 (version "3.32.1")
3511c780
AW
9136 (source (origin
9137 (method url-fetch)
9138 (uri (string-append "mirror://gnome/sources/" name "/"
9139 (version-major+minor version) "/" name "-"
9140 version ".tar.xz"))
9141 (sha256
9142 (base32
dd33b337 9143 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
9144 (arguments
9145 ;; Tests require GDK.
9146 `(#:tests? #f
9147 #:phases
9148 (modify-phases %standard-phases
9149 (add-before 'install 'skip-gtk-update-icon-cache
9150 (lambda _
9151 ;; Don't create 'icon-theme.cache'
9152 (substitute* "Makefile"
9153 (("gtk-update-icon-cache") (which "true")))
9154 #t))
9155 (add-after 'install 'wrap-cheese
9156 (lambda* (#:key inputs outputs #:allow-other-keys)
9157 (let ((out (assoc-ref outputs "out"))
9158 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9159 (wrap-program (string-append out "/bin/cheese")
9160 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9161 #t)))))
9162 (build-system glib-or-gtk-build-system)
9163 (native-inputs
9164 `(("glib:bin" ,glib "bin")
9165 ("intltool" ,intltool)
9166 ("itstool" ,itstool)
9167 ("libxml2" ,libxml2)
9168 ("pkg-config" ,pkg-config)
9169 ("vala" ,vala)))
9170 (propagated-inputs
6a19f03e
RW
9171 `(("gnome-video-effects" ,gnome-video-effects)
9172 ("clutter" ,clutter)
3511c780
AW
9173 ("clutter-gst" ,clutter-gst)
9174 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9175 ("libcanberra" ,libcanberra)
3511c780
AW
9176 ("gdk-pixbuf" ,gdk-pixbuf)
9177 ("glib" ,glib)
6a19f03e
RW
9178 ("gstreamer" ,gstreamer)))
9179 (inputs
9180 `(("gnome-desktop" ,gnome-desktop)
3511c780 9181 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9182 ("gst-plugins-base" ,gst-plugins-base)
9183 ("gst-plugins-bad" ,gst-plugins-bad)
9184 ("gtk+" ,gtk+)
3511c780
AW
9185 ("libx11" ,libx11)
9186 ("libxtst" ,libxtst)))
9187 (home-page "https://wiki.gnome.org/Apps/Cheese")
9188 (synopsis "Webcam photo booth software for GNOME")
9189 (description
9190 "Cheese uses your webcam to take photos and videos. Cheese can also
9191apply fancy special effects and lets you share the fun with others.")
9192 (license license:gpl2+)))
3c5dbd2b 9193
9194(define-public sound-juicer
9195 (package
9196 (name "sound-juicer")
9197 (version "3.24.0")
9198 (source
9199 (origin
9200 (method url-fetch)
9201 (uri (string-append "mirror://gnome/sources/" name "/"
9202 (version-major+minor version) "/"
9203 name "-" version ".tar.xz"))
9204 (sha256
9205 (base32
9206 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9207 (build-system glib-or-gtk-build-system)
9208 (native-inputs
9209 `(("desktop-file-utils" ,desktop-file-utils)
9210 ("intltool" ,intltool)
9211 ("itstool" ,itstool)
9212 ("pkg-config" ,pkg-config)
9213 ("xmllint" ,libxml2)))
9214 (inputs
9215 `(("gtk+" ,gtk+)
9216 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9217 ("gstreamer" ,gstreamer)
9218 ("gst-plugins-base" ,gst-plugins-base)
9219 ("gst-plugins-good" ,gst-plugins-good)
9220 ("iso-codes" ,iso-codes)
9221 ("libbrasero-media3" ,brasero)
9222 ("libcanberra" ,libcanberra)
9223 ("libdiscid" ,libdiscid)
9224 ("libmusicbrainz" ,libmusicbrainz)
9225 ("neon" ,neon)))
9226 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9227 (synopsis "Audio music cd ripper")
9228 (description "Sound Juicer extracts audio from compact discs and convert it
9229into audio files that a personal computer or digital audio player can play.
9230It supports ripping to any audio codec supported by a GStreamer plugin, such as
9231mp3, Ogg Vorbis and FLAC")
9232 (license license:gpl2+)))
4e3fdeb7 9233
0d3f1708
CB
9234(define-public soundconverter
9235 (package
9236 (name "soundconverter")
fa75a213 9237 (version "3.0.1")
0d3f1708
CB
9238 (source
9239 (origin
9240 (method url-fetch)
9241 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9242 version "/+download/"
9243 "soundconverter-" version ".tar.xz"))
9244
9245 (sha256
fa75a213 9246 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9247 (patches
9248 (search-patches
9249 "soundconverter-remove-gconf-dependency.patch"))))
9250 (build-system glib-or-gtk-build-system)
9251 (arguments
9252 `(#:imported-modules ((guix build python-build-system)
9253 (guix build glib-or-gtk-build-system)
9254 ,@%gnu-build-system-modules)
9255
9256 #:modules ((guix build glib-or-gtk-build-system)
9257 (guix build utils)
9258 ((guix build gnu-build-system) #:prefix gnu:)
9259 ((guix build python-build-system) #:prefix python:))
9260
9261 #:phases
9262 (modify-phases %standard-phases
0d3f1708
CB
9263 (add-after 'install 'wrap-soundconverter-for-python
9264 (assoc-ref python:%standard-phases 'wrap))
9265 (add-after 'install 'wrap-soundconverter
9266 (lambda* (#:key inputs outputs #:allow-other-keys)
9267 (let ((out (assoc-ref outputs "out"))
9268 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9269 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9270 (wrap-program (string-append out "/bin/soundconverter")
9271 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9272 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9273 #t)))))
9274 (native-inputs
9275 `(("intltool" ,intltool)
9276 ("pkg-config" ,pkg-config)
9277 ("glib:bin" ,glib "bin")))
9278 (inputs
9279 `(("gtk+" ,gtk+)
9280 ("python" ,python)
9281 ("python-pygobject" ,python-pygobject)
9282 ("gstreamer" ,gstreamer)
9283 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9284 (home-page "https://soundconverter.org/")
0d3f1708
CB
9285 (synopsis "Convert between audio formats with a graphical interface")
9286 (description
9287 "SoundConverter supports converting between many audio formats including
9288Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9289configurable file renaming. ")
9290 (license license:gpl3)))
9291
4e3fdeb7 9292(define-public workrave
89f2d736
TGR
9293 (package
9294 (name "workrave")
aa51d92c 9295 (version "1.10.34")
89f2d736
TGR
9296 (source
9297 (origin
9298 (method git-fetch)
9299 (uri (git-reference
9300 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9301 (commit (string-append "v" (string-map
9302 (match-lambda (#\. #\_) (chr chr))
9303 version)))))
89f2d736
TGR
9304 (file-name (git-file-name name version))
9305 (sha256
aa51d92c 9306 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 9307 (build-system glib-or-gtk-build-system)
d1c96847
MC
9308 (inputs `(("glib" ,glib)
9309 ("gtk+" ,gtk+)
9310 ("gdk-pixbuf" ,gdk-pixbuf)
9311 ("gtkmm" ,gtkmm)
9312 ("glibmm" ,glibmm)
9313 ("libx11" ,libx11)
9314 ("libxtst" ,libxtst)
9315 ("dconf" ,dconf)
9316 ("libice" ,libice)
9317 ("libsm" ,libsm)
9318 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9319 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9320 ("pkg-config" ,pkg-config)
9321 ("gettext" ,gnu-gettext)
9322 ("autoconf" ,autoconf)
9323 ("autoconf-archive" , autoconf-archive)
9324 ("automake" ,automake)
9325 ("libtool" ,libtool)
9326 ("intltool" ,intltool)
89f2d736 9327 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9328 ("python3" ,python-3)
9329 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9330 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9331 (description
9332 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9333repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9334micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9335 (home-page "http://www.workrave.org")
9336 (license license:gpl3+)))
312afa7d
LC
9337
9338(define-public ghex
9339 (package
9340 (name "ghex")
3748992a 9341 (version "3.18.4")
312afa7d
LC
9342 (source (origin
9343 (method url-fetch)
2fbab848 9344 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9345 (version-major+minor version) "/"
2fbab848 9346 "ghex-" version ".tar.xz"))
312afa7d
LC
9347 (sha256
9348 (base32
3748992a
KK
9349 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9350 (build-system meson-build-system)
9351 (arguments
9352 '(#:glib-or-gtk? #t
9353 #:phases
9354 (modify-phases %standard-phases
9355 (add-after 'unpack 'skip-gtk-update-icon-cache
9356 ;; Don't create 'icon-theme.cache'.
9357 (lambda _
9358 (substitute* "meson_post_install.py"
9359 (("gtk-update-icon-cache") (which "true")))
9360 #t)))))
312afa7d
LC
9361 (native-inputs
9362 `(("pkg-config" ,pkg-config)
3748992a 9363 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9364 ("gnome-common" ,gnome-common)
9365 ("which" ,which)
9366 ("intltool" ,intltool)
9367 ("yelp-tools" ,yelp-tools)
2fbab848 9368 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9369 (inputs
9370 `(("atk" ,atk)
9371 ("gtk" ,gtk+)))
9372 (synopsis "GNOME hexadecimal editor")
9373 (description "The GHex program can view and edit files in two ways:
9374hexadecimal or ASCII. It is useful for editing binary files in general.")
9375 (home-page "https://wiki.gnome.org/Apps/Ghex")
9376 (license license:gpl2)))
4b2ed6c2
RW
9377
9378(define-public libdazzle
9379 (package
9380 (name "libdazzle")
64fa66ba 9381 (version "3.33.90")
4b2ed6c2
RW
9382 (source (origin
9383 (method url-fetch)
687b4909 9384 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9385 (version-major+minor version) "/"
687b4909 9386 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9387 (sha256
9388 (base32
64fa66ba 9389 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9390 (build-system meson-build-system)
9391 (arguments
9392 `(#:phases
9393 (modify-phases %standard-phases
4b2ed6c2
RW
9394 (add-before 'check 'pre-check
9395 (lambda _
9396 ;; Tests require a running X server.
9397 (system "Xvfb :1 &")
9398 (setenv "DISPLAY" ":1")
9399 #t)))))
9400 (native-inputs
687b4909 9401 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9402 ("pkg-config" ,pkg-config)
687b4909 9403 ;; For tests.
ff337525 9404 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9405 (inputs
9406 `(("glib" ,glib)
9407 ("gobject-introspection" ,gobject-introspection)
9408 ("gtk+" ,gtk+)
9409 ("vala" ,vala)))
9410 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9411 (synopsis "Companion library to GObject and Gtk+")
9412 (description "The libdazzle library is a companion library to GObject and
9413Gtk+. It provides various features that the authors wish were in the
9414underlying library but cannot for various reasons. In most cases, they are
9415wildly out of scope for those libraries. In other cases, they are not quite
9416generic enough to work for everyone.")
9417 (license license:gpl3+)))
7d3bb433
RW
9418
9419(define-public evolution
9420 (package
9421 (name "evolution")
06141f83 9422 (version "3.32.4")
7d3bb433
RW
9423 (source (origin
9424 (method url-fetch)
9425 (uri (string-append "mirror://gnome/sources/evolution/"
9426 (version-major+minor version) "/"
9427 "evolution-" version ".tar.xz"))
9428 (sha256
9429 (base32
06141f83 9430 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9431 (build-system cmake-build-system)
9432 (arguments
5229bea1
KK
9433 `(#:imported-modules (,@%cmake-build-system-modules
9434 (guix build glib-or-gtk-build-system))
9435 #:modules ((guix build cmake-build-system)
9436 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9437 (guix build utils))
9438 #:configure-flags
7d3bb433 9439 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9440 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9441 ; in four years and cannot be built.
5229bea1
KK
9442 #:phases
9443 (modify-phases %standard-phases
9444 ;; The build system attempts to install user interface modules to the
9445 ;; output directory of the "evolution-data-server" package. This
9446 ;; change redirects that change.
9447 (add-after 'unpack 'patch-ui-module-dir
9448 (lambda* (#:key outputs #:allow-other-keys)
9449 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9450 (("\\$\\{edsuimoduledir\\}")
9451 (string-append (assoc-ref outputs "out")
9452 "/lib/evolution-data-server/ui-modules")))
9453 #t))
9454 (add-after 'install 'glib-or-gtk-compile-schemas
9455 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9456 (add-after 'install 'glib-or-gtk-wrap
9457 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9458 (native-inputs
ad6e168b 9459 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9460 ("pkg-config" ,pkg-config)
9461 ("intltool" ,intltool)
9462 ("itstool" ,itstool)))
9463 (inputs
9464 `(("enchant" ,enchant)
9465 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9466 ("gcr" ,gcr)
ad6e168b 9467 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9468 ("gnome-autoar" ,gnome-autoar)
9469 ("gnome-desktop" ,gnome-desktop)
9470 ("gtkspell3" ,gtkspell3)
9471 ("highlight" ,highlight)
9472 ("libcanberra" ,libcanberra)
b63c06f1 9473 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9474 ("libgweather" ,libgweather)
9475 ("libnotify" ,libnotify)
9476 ("libsoup" ,libsoup)
9477 ("nss" ,nss)
9478 ("openldap" ,openldap)
9479 ("webkitgtk" ,webkitgtk)
9480 ("ytnef" ,ytnef)))
9481 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9482 (synopsis "Manage your email, contacts and schedule")
9483 (description "Evolution is a personal information management application
9484that provides integrated mail, calendaring and address book
9485functionality.")
9486 ;; See COPYING for details.
23dbe621 9487 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9488 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9489 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9490
9491(define-public gthumb
9492 (package
9493 (name "gthumb")
8280676b 9494 (version "3.8.2")
169d63f5
AT
9495 (source (origin
9496 (method url-fetch)
9497 (uri (string-append "mirror://gnome/sources/gthumb/"
9498 (version-major+minor version) "/"
9499 "gthumb-" version ".tar.xz"))
9500 (sha256
9501 (base32
8280676b 9502 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9503 (build-system meson-build-system)
9504 (arguments
9505 `(#:glib-or-gtk? #t
9506 #:configure-flags
9507 ;; Ensure the RUNPATH contains all installed library locations.
9508 (list (string-append "-Dc_link_args=-Wl,-rpath="
9509 (assoc-ref %outputs "out")
9510 "/lib/gthumb/extensions")
9511 (string-append "-Dcpp_link_args=-Wl,-rpath="
9512 (assoc-ref %outputs "out")
9513 "/lib/gthumb/extensions"))))
9514 (native-inputs
9515 `(("pkg-config" ,pkg-config)
9516 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9517 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9518 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9519 ("intltool" ,intltool)
9520 ("itstool" ,itstool)))
9521 (inputs
9522 `(("exiv2" ,exiv2)
9523 ("gtk" ,gtk+)
9524 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9525 ("gstreamer" ,gstreamer)
9526 ("clutter" ,clutter)
9527 ("clutter-gst" ,clutter-gst)
9528 ("clutter-gtk" ,clutter-gtk)
9529 ("libjpeg" ,libjpeg)
9530 ("libtiff" ,libtiff)
9531 ("libraw" ,libraw)))
9532 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9533 (synopsis "GNOME image viewer and browser")
9534 (description "GThumb is an image viewer, browser, organizer, editor and
9535advanced image management tool")
9536 (license license:gpl2+)))
08be02be
AT
9537
9538(define-public terminator
9539 (package
9540 (name "terminator")
9541 (version "1.91")
9542 (source (origin
9543 (method url-fetch)
9544 (uri (string-append "https://launchpad.net/" name "/"
9545 "gtk3/" version "/" "+download/"
9546 name "-" version ".tar.gz"))
9547 (sha256
9548 (base32
9549 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9550 (build-system python-build-system)
9551 (native-inputs
9552 `(("intltool" ,intltool)
9553 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9554 ("gettext" ,gettext-minimal)
9555 ("pkg-config" ,pkg-config)))
9556 (inputs
9557 `(("cairo" ,cairo)
9558 ("gobject-introspection" ,gobject-introspection)
96681d4b 9559 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9560 ("python2-pycairo" ,python2-pycairo)
9561 ("python2-pygobject" ,python2-pygobject)
9562 ("python2-psutil" ,python2-psutil)
9563 ("vte" ,vte)))
9564 (arguments
96681d4b
TGR
9565 `(#:python ,python-2 ; Python 3 isn't supported
9566 #:imported-modules ((guix build glib-or-gtk-build-system)
9567 ,@%python-build-system-modules)
9568 #:modules ((guix build python-build-system)
9569 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9570 (guix build utils))
08be02be
AT
9571 #:phases
9572 (modify-phases %standard-phases
9573 (add-after
9574 'install 'wrap-program
9575 (lambda* (#:key outputs #:allow-other-keys)
9576 (let ((prog (string-append (assoc-ref outputs "out")
9577 "/bin/terminator")))
9578 (wrap-program prog
9579 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9580 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9581 #t)))
9582 (add-after 'wrap-program 'glib-or-gtk-wrap
9583 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9584 (home-page "https://gnometerminator.blogspot.com/")
9585 (synopsis "Store and run multiple GNOME terminals in one window")
9586 (description
9587 "Terminator allows you to run multiple GNOME terminals in a grid and
9588+tabs, and it supports drag and drop re-ordering of terminals.")
9589 (license license:gpl2)))
213315d4
JF
9590
9591(define-public libhandy
9592 (package
9593 (name "libhandy")
f6501b9f 9594 (version "0.0.12")
213315d4
JF
9595 (source
9596 (origin
9597 (method git-fetch)
9598 (uri (git-reference
9599 (url "https://source.puri.sm/Librem5/libhandy")
9600 (commit (string-append "v" version))))
9601 (file-name (git-file-name name version))
9602 (sha256
f6501b9f 9603 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9604 (build-system meson-build-system)
9605 (arguments
9606 `(#:configure-flags
9607 '("-Dglade_catalog=disabled"
9608 "-Dgtk_doc=true")
9609 #:phases
9610 (modify-phases %standard-phases
213315d4
JF
9611 (add-before 'check 'pre-check
9612 (lambda _
9613 ;; Tests require a running X server.
9614 (system "Xvfb :1 &")
9615 (setenv "DISPLAY" ":1")
9616 #t)))))
9617 (inputs
9618 `(("gtk+" ,gtk+)))
9619 (native-inputs
9620 `(("glib:bin" ,glib "bin")
9621 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9622 ("vala" ,vala)
9623 ("gtk-doc" ,gtk-doc)
9624 ("pkg-config" ,pkg-config)
9625 ("gettext" ,gettext-minimal)
d41ee146
TGR
9626
9627 ;; Test suite dependencies.
ff337525 9628 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9629 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9630 (home-page "https://source.puri.sm/Librem5/libhandy")
9631 (synopsis "Library full of GTK+ widgets for mobile phones")
9632 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9633interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9634for usage on small and big screens.")
213315d4 9635 (license license:lgpl2.1+)))
a830d14d
GL
9636
9637(define-public libgit2-glib
9638 (package
9639 (name "libgit2-glib")
6448c2e1 9640 (version "0.99.0.1")
a830d14d
GL
9641 (source (origin
9642 (method url-fetch)
9643 (uri (string-append "mirror://gnome/sources/" name "/"
9644 (version-major+minor version) "/"
9645 name "-" version ".tar.xz"))
9646 (sha256
9647 (base32
6448c2e1 9648 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9649 (build-system meson-build-system)
9650 (native-inputs
9651 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9652 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9653 ("pkg-config" ,pkg-config)
9654 ("python-pygobject" ,python-pygobject)
9655 ("python-wrapper" ,python-wrapper)
9656 ("vala" ,vala)))
9657 (inputs
9658 `(("glib" ,glib)
8c6aae46
MB
9659 ("libssh2" ,libssh2)))
9660 (propagated-inputs
9661 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9662 ("libgit2" ,libgit2)))
9663 (synopsis "GLib wrapper around the libgit2 Git access library")
9664 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9665access library. It only implements the core plumbing functions, not really the
9666higher level porcelain stuff.")
9667 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9668 (license license:gpl2+)))
93beace0 9669
08db81c9
LP
9670(define-public gitg
9671 (package
9672 (name "gitg")
9673 (version "3.32.1")
9674 (source (origin
9675 (method url-fetch)
9676 (uri (string-append "mirror://gnome/sources/" name "/"
9677 (version-major+minor version) "/"
9678 name "-" version ".tar.xz"))
9679 (sha256
9680 (base32
9681 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9682 (build-system meson-build-system)
9683 (arguments
9684 `(#:glib-or-gtk? #t
9685 #:phases
9686 (modify-phases %standard-phases
9687 (add-after 'unpack 'disable-post-install-partially
9688 (lambda _
9689 (substitute* "meson_post_install.py"
9690 (("'python'") ; there are no python sources to compile
9691 (string-append "'" (which "true") "'"))
9692 (("gtk-update-icon-cache") (which "true")))
9693 #t))
9694 (add-after 'unpack 'fix-test-sources
9695 (lambda _
9696 (substitute* "tests/libgitg/test-commit.vala"
9697 (("/bin/bash") (which "bash")))
9698 #t))
9699 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9700 (lambda* (#:key outputs #:allow-other-keys)
9701 (let ((prog (string-append (assoc-ref outputs "out")
9702 "/bin/gitg")))
9703 (wrap-program prog
9704 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9705 #t))))))
9706 (inputs
9707 `(("glib" ,glib)
9708 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9709 ("gtk+" ,gtk+)
9710 ("gtkspell3" ,gtkspell3)
9711 ("gtksourceview" ,gtksourceview-3)
9712 ("json-glib" ,json-glib)
9713 ("libdazzle" ,libdazzle)
9714 ("libgee" ,libgee)
08db81c9
LP
9715 ("libgit2-glib" ,libgit2-glib)
9716 ("libpeas" ,libpeas)
9717 ("libsecret" ,libsecret)
9718 ("libsoup" ,libsoup)
9719 ("libxml2" ,libxml2)))
9720 (native-inputs
9721 `(("glib:bin" ,glib "bin")
9722 ("gtk+:bin" ,gtk+ "bin")
9723 ("gobject-introspection" ,gobject-introspection)
9724 ("intltool" ,intltool)
9725 ("pkg-config" ,pkg-config)
9726 ("vala" ,vala)))
9727 (synopsis "Graphical user interface for git")
9728 (description
9729 "gitg is a graphical user interface for git. It aims at being a small,
9730fast and convenient tool to visualize the history of git repositories.
9731Besides visualization, gitg also provides several utilities to manage your
9732repository and commit your work.")
9733 (home-page "https://wiki.gnome.org/Apps/Gitg")
9734 (license license:gpl2+)))
9735
1e600ed0
RW
9736(define-public gamin
9737 (package
9738 (name "gamin")
9739 (version "0.1.10")
9740 (source (origin
9741 (method url-fetch)
9742 (uri (string-append "mirror://gnome/sources/" name "/"
9743 (version-major+minor version) "/"
9744 name "-" version ".tar.bz2"))
9745 (sha256
9746 (base32
9747 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9748 (build-system gnu-build-system)
9749 (arguments
9750 `(#:phases
9751 (modify-phases %standard-phases
9752 (add-after 'unpack 'remove-deprecated-macro
9753 (lambda _
9754 (substitute* '("server/gam_node.c"
9755 "server/gam_subscription.h"
9756 "server/gam_node.h"
9757 "server/gam_subscription.c")
9758 (("G_CONST_RETURN") "const"))
9759 #t)))))
9760 (inputs
9761 `(("glib" ,glib)))
9762 (native-inputs
9763 `(("intltool" ,intltool)
9764 ("pkg-config" ,pkg-config)))
9765 (home-page "https://people.gnome.org/~veillard/gamin/")
9766 (synopsis "File alteration monitor")
9767 (description
9768 "Gamin is a file and directory monitoring system defined to be a subset
9769of the FAM (File Alteration Monitor) system. This is a service provided by a
9770library which allows to detect when a file or a directory has been modified.")
9771 (license license:gpl2+)))
9772
93beace0
DW
9773(define-public gnome-mahjongg
9774 (package
9775 (name "gnome-mahjongg")
9776 (version "3.35.1")
9777 (source (origin
9778 (method git-fetch)
9779 (uri (git-reference
9780 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9781 (commit version)))
9782 (file-name (git-file-name name version))
9783 (sha256
9784 (base32
9785 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9786 (build-system meson-build-system)
9787 (arguments
9788 `(#:glib-or-gtk? #t))
9789 (native-inputs
9790 `(("appstream-glib" ,appstream-glib)
9791 ("gettext" ,gettext-minimal)
9792 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9793 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9794 ("itstool" ,itstool)
9795 ("pkg-config" ,pkg-config)
9796 ("vala" ,vala)))
9797 (propagated-inputs
9798 `(("dconf" ,dconf)))
9799 (inputs
9800 `(("glib" ,glib)
9801 ("gtk+" ,gtk+)
9802 ("librsvg" ,librsvg)))
9803 (synopsis "Mahjongg tile-matching game")
9804 (description "GNOME Mahjongg is a game based on the classic Chinese
9805tile-matching game Mahjong. It features multiple board layouts, tile themes,
9806and a high score table.")
9807 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9808 (license license:gpl2+)))
f825476c 9809
76ea7632
RG
9810(define-public gnome-themes-extra
9811 (package
9812 (name "gnome-themes-extra")
9813 (version "3.28")
9814 (source
9815 (origin
9816 (method url-fetch)
9817 (uri (string-append "mirror://gnome/sources/" name "/"
9818 (version-major+minor version) "/" name "-"
9819 version ".tar.xz"))
9820 (sha256
9821 (base32
9822 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9823 (build-system gnu-build-system)
885424bf
RG
9824 (arguments
9825 '(#:configure-flags
9826 ;; Don't create 'icon-theme.cache'.
9827 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9828 (true (string-append coreutils "/bin/true")))
9829 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9830 (native-inputs
9831 `(("glib:bin" ,glib "bin")
9832 ("intltool" ,intltool)
9833 ("pkg-config" ,pkg-config)))
9834 (inputs
9835 `(("glib" ,glib)
9836 ("gtk+" ,gtk+)
9837 ("gtk+-2" ,gtk+-2)
9838 ("librsvg" ,librsvg)
9839 ("libxml2" ,libxml2)))
9840 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9841 (synopsis "GNOME Extra Themes")
9842 (description "This package provides themes and related elements that don't
9843really fit in other upstream packages. It offers legacy support for GTK+ 2
9844versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9845index files needed for Adwaita to be used outside of GNOME.")
9846 (license license:lgpl2.1+)))
9847
f825476c
LP
9848(define-public polari
9849 (package
9850 (name "polari")
9851 (version "3.32.2")
9852 (source (origin
9853 (method url-fetch)
9854 (uri (string-append "mirror://gnome/sources/polari/"
9855 (version-major+minor version)
9856 "/polari-" version ".tar.xz"))
9857 (sha256
9858 (base32
9859 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9860 (build-system meson-build-system)
9861 (arguments
9862 `(#:glib-or-gtk? #t
9863 #:phases
9864 (modify-phases %standard-phases
9865 (add-after 'unpack 'skip-gtk-update-icon-cache
9866 (lambda _
9867 (substitute* "meson/meson-postinstall.sh"
9868 (("gtk-update-icon-cache") (which "true")))
9869 #t))
9870 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9871 (lambda* (#:key outputs #:allow-other-keys)
9872 (let ((prog (string-append (assoc-ref outputs "out")
9873 "/bin/polari")))
9874 (wrap-program prog
9875 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9876 #t))))))
9877 (inputs
9878 `(("glib" ,glib)
9879 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9880 ("gspell" ,gspell)
9881 ("gtk+" ,gtk+)
9882 ("gjs" ,gjs)
9883 ("libsecret" ,libsecret)
9884 ("libsoup" ,libsoup)
9885 ("telepathy-glib" ,telepathy-glib)
9886 ("telepathy-logger" ,telepathy-logger)))
9887 (native-inputs
9888 `(("glib:bin" ,glib "bin")
9889 ("gobject-introspection" ,gobject-introspection)
9890 ("intltool" ,intltool)
9891 ("pkg-config" ,pkg-config)
9892 ("yelp-tools" ,yelp-tools)))
9893 (propagated-inputs
9894 `(("telepathy-idle" ,telepathy-idle)
9895 ("telepathy-mission-control" ,telepathy-mission-control)))
9896 (synopsis "Simple IRC Client")
9897 (description
9898 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9899integrate seamlessly with the GNOME desktop.")
9900 (home-page "https://wiki.gnome.org/Apps/Polari")
9901 (license license:gpl2+)))
59d4c8c2
PN
9902
9903(define-public gnome-boxes
9904 (package
9905 (name "gnome-boxes")
9906 (version "3.35.91")
9907 (source
9908 (origin
9909 (method url-fetch)
9910 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9911 (version-major+minor version) "/"
9912 "gnome-boxes-" version ".tar.xz"))
9913 (sha256
9914 (base32
9915 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9916 (build-system meson-build-system)
9917 (arguments
9918 '(#:glib-or-gtk? #t
9919 #:configure-flags (list "-Drdp=false"
9920 (string-append "-Dc_link_args=-Wl,-rpath="
9921 (assoc-ref %outputs "out")
9922 "/lib/gnome-boxes"))))
9923 (native-inputs
9924 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9925 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9926 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9927 ("itstool" ,itstool)
9928 ("intltool" ,intltool)
9929 ("vala" ,vala)
9930 ("pkg-config" ,pkg-config)))
9931 (inputs
9932 `(("libarchive" ,libarchive)
9933 ("gtk" ,gtk+)
9934 ("gtk-vnc" ,gtk-vnc)
9935 ("libosinfo" ,libosinfo)
9936 ("libsecret" ,libsecret)
9937 ("libsoup" ,libsoup)
9938 ("libusb" ,libusb)
9939 ("libvirt" ,libvirt)
9940 ("libvirt-glib" ,libvirt-glib)
9941 ("libxml" ,libxml2)
9942 ("spice-gtk" ,spice-gtk)
9943 ("sparql-query" ,sparql-query)
9944 ("vte" ,vte)
9945 ("webkitgtk" ,webkitgtk)
9946 ("tracker" ,tracker)
9947 ("libgudev" ,libgudev)))
9948 (home-page "https://wiki.gnome.org/Apps/Boxes")
9949 (synopsis "View, access, and manage remote and virtual systems")
9950 (description "GNOME Boxes is a simple application to view, access, and
9951manage remote and virtual systems.")
9952 (license (list
9953 ;; For data/icons/empty-boxes.png.
9954 license:cc-by2.0
9955 ;; For all others.
9956 license:lgpl2.0+))))