gnu: Add xwallpaper.
[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>
3861fb1c 47;;; Copyright © 2019, 2020 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>
0e26c3cf 50;;; Copyright © 2020 raingloom <raingloom@riseup.net>
1a17d21b 51;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
995b7261
AE
52;;;
53;;; This file is part of GNU Guix.
54;;;
55;;; GNU Guix is free software; you can redistribute it and/or modify it
56;;; under the terms of the GNU General Public License as published by
57;;; the Free Software Foundation; either version 3 of the License, or (at
58;;; your option) any later version.
59;;;
60;;; GNU Guix is distributed in the hope that it will be useful, but
61;;; WITHOUT ANY WARRANTY; without even the implied warranty of
62;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63;;; GNU General Public License for more details.
64;;;
65;;; You should have received a copy of the GNU General Public License
66;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
67
68(define-module (gnu packages gnome)
ed19903d 69 #:use-module (gnu packages)
ba5dd105 70 #:use-module (gnu packages admin)
411ba511 71 #:use-module (gnu packages aspell)
75016d07 72 #:use-module (gnu packages autotools)
7b212526 73 #:use-module (gnu packages avahi)
b29909b4 74 #:use-module (gnu packages backup)
6a180f6f 75 #:use-module (gnu packages base)
1e33331c 76 #:use-module (gnu packages bash)
5698b8b8 77 #:use-module (gnu packages bison)
aa51d92c 78 #:use-module (gnu packages boost)
5fc9b6c1 79 #:use-module (gnu packages build-tools)
df217748 80 #:use-module (gnu packages calendar)
b29909b4 81 #:use-module (gnu packages cdrom)
df12f04a 82 #:use-module (gnu packages check)
d61a894b 83 #:use-module (gnu packages cmake)
b29909b4 84 #:use-module (gnu packages compression)
8f523eb9 85 #:use-module (gnu packages crates-io)
23a22af6 86 #:use-module (gnu packages cups)
6e1bb642 87 #:use-module (gnu packages curl)
c3f29bc9 88 #:use-module (gnu packages cyrus-sasl)
6e1bb642 89 #:use-module (gnu packages databases)
255d1bbe 90 #:use-module (gnu packages dbm)
c769cf9f 91 #:use-module (gnu packages djvu)
ba5dd105 92 #:use-module (gnu packages dns)
b4ce6300 93 #:use-module (gnu packages docbook)
b29909b4 94 #:use-module (gnu packages documentation)
329d731b 95 #:use-module (gnu packages enchant)
b29909b4
TGR
96 #:use-module (gnu packages flex)
97 #:use-module (gnu packages fonts)
e762d943 98 #:use-module (gnu packages file-systems)
a56be436 99 #:use-module (gnu packages fontutils)
b29909b4 100 #:use-module (gnu packages freedesktop)
dfc407f3 101 #:use-module (gnu packages game-development)
fed5a689 102 #:use-module (gnu packages gettext)
b29909b4
TGR
103 #:use-module (gnu packages ghostscript)
104 #:use-module (gnu packages gl)
995b7261 105 #:use-module (gnu packages glib)
c1354b90 106 #:use-module (gnu packages gnupg)
23a22af6 107 #:use-module (gnu packages gnuzilla)
8d8c6bff 108 #:use-module (gnu packages geo)
b29909b4
TGR
109 #:use-module (gnu packages gperf)
110 #:use-module (gnu packages graphviz)
85f5dc19 111 #:use-module (gnu packages gstreamer)
d9c1a22b 112 #:use-module (gnu packages gtk)
6b888eff 113 #:use-module (gnu packages guile)
b645146f 114 #:use-module (gnu packages ibus)
03be9874 115 #:use-module (gnu packages icu4c)
b29909b4
TGR
116 #:use-module (gnu packages image)
117 #:use-module (gnu packages imagemagick)
118 #:use-module (gnu packages inkscape)
9cc98f8a 119 #:use-module (gnu packages iso-codes)
b29909b4 120 #:use-module (gnu packages kerberos)
85f5dc19 121 #:use-module (gnu packages libcanberra)
b64e217f 122 #:use-module (gnu packages libunistring)
0e26c3cf 123 #:use-module (gnu packages libunwind)
75016d07 124 #:use-module (gnu packages libusb)
b29909b4 125 #:use-module (gnu packages linux)
4e3fc547 126 #:use-module (gnu packages lirc)
7b212526 127 #:use-module (gnu packages lua)
b29909b4 128 #:use-module (gnu packages mail)
03be9874 129 #:use-module (gnu packages mp3)
b29909b4 130 #:use-module (gnu packages multiprecision)
64fce637 131 #:use-module (gnu packages music)
b29909b4
TGR
132 #:use-module (gnu packages ncurses)
133 #:use-module (gnu packages nettle)
ba5dd105 134 #:use-module (gnu packages networking)
5fc9b6c1 135 #:use-module (gnu packages ninja)
aff0cce9 136 #:use-module (gnu packages nss)
b29909b4 137 #:use-module (gnu packages openldap)
b645146f 138 #:use-module (gnu packages password-utils)
de1215e2 139 #:use-module (gnu packages pcre)
b29909b4 140 #:use-module (gnu packages pdf)
27477d2d 141 #:use-module (gnu packages perl)
f70d8383 142 #:use-module (gnu packages photo)
995b7261 143 #:use-module (gnu packages pkg-config)
b29909b4
TGR
144 #:use-module (gnu packages polkit)
145 #:use-module (gnu packages popt)
7d3bb433 146 #:use-module (gnu packages pretty-print)
23a22af6 147 #:use-module (gnu packages pulseaudio)
995b7261 148 #:use-module (gnu packages python)
00014781
RW
149 #:use-module (gnu packages python-crypto)
150 #:use-module (gnu packages python-web)
44d10b1f 151 #:use-module (gnu packages python-xyz)
cce0da5e 152 #:use-module (gnu packages rdesktop)
b29909b4 153 #:use-module (gnu packages readline)
a76d0f03 154 #:use-module (gnu packages ruby)
ec47c07d 155 #:use-module (gnu packages rust)
b29909b4 156 #:use-module (gnu packages samba)
75016d07 157 #:use-module (gnu packages scanner)
240cee8a 158 #:use-module (gnu packages selinux)
c27e02bf 159 #:use-module (gnu packages slang)
b29909b4
TGR
160 #:use-module (gnu packages speech)
161 #:use-module (gnu packages spice)
cd0322a3 162 #:use-module (gnu packages sqlite)
4a1bf090 163 #:use-module (gnu packages ssh)
8f9ac901 164 #:use-module (gnu packages tex)
33dc54b0 165 #:use-module (gnu packages time)
a7fd7b68 166 #:use-module (gnu packages tls)
3c5dbd2b 167 #:use-module (gnu packages version-control)
b29909b4 168 #:use-module (gnu packages video)
59132b80 169 #:use-module (gnu packages virtualization)
f2b96b3a 170 #:use-module (gnu packages vpn)
a18f8eaf 171 #:use-module (gnu packages web)
b29909b4
TGR
172 #:use-module (gnu packages webkit)
173 #:use-module (gnu packages xdisorg)
174 #:use-module (gnu packages xiph)
175 #:use-module (gnu packages xml)
d633f2f6 176 #:use-module (gnu packages xorg)
a76d0f03 177 #:use-module (gnu artwork)
8f523eb9 178 #:use-module (guix build-system cargo)
b29909b4
TGR
179 #:use-module (guix build-system cmake)
180 #:use-module (guix build-system glib-or-gtk)
181 #:use-module (guix build-system gnu)
182 #:use-module (guix build-system meson)
08be02be 183 #:use-module (guix build-system python)
b29909b4
TGR
184 #:use-module (guix build-system trivial)
185 #:use-module (guix download)
186 #:use-module (guix git-download)
187 #:use-module ((guix licenses) #:prefix license:)
188 #:use-module (guix packages)
189 #:use-module (guix utils)
a76d0f03 190 #:use-module (guix gexp)
8f523eb9
EF
191 #:use-module (guix monads)
192 #:use-module (guix store)
4e3fdeb7 193 #:use-module (ice-9 match)
c024ae36 194 #:use-module (srfi srfi-1))
85f5dc19
AE
195
196(define-public brasero
197 (package
198 (name "brasero")
e2bf423a 199 (version "3.12.2")
85f5dc19
AE
200 (source (origin
201 (method url-fetch)
d1df7554 202 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 203 (version-major+minor version) "/"
d1df7554 204 "brasero-" version ".tar.xz"))
85f5dc19
AE
205 (sha256
206 (base32
e2bf423a 207 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 208 (build-system glib-or-gtk-build-system)
e8627cd9
DH
209 (arguments
210 `(#:configure-flags (list
211 (string-append "--with-girdir="
212 (assoc-ref %outputs "out")
213 "/share/gir-1.0")
214 (string-append "--with-typelibdir="
215 (assoc-ref %outputs "out")
ce426deb
TD
216 "/lib/girepository-1.0"))
217 #:phases
218 (modify-phases %standard-phases
219 (add-before 'configure 'embed-growisofs
220 (lambda* (#:key inputs #:allow-other-keys)
221 (substitute* "plugins/growisofs/burn-growisofs.c"
222 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 223 #t)))))
85f5dc19
AE
224 (propagated-inputs
225 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
226 (native-inputs
227 `(("intltool" ,intltool)
ba549e17 228 ("itstool" ,itstool)
426adbe8 229 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 230 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 231 ("pkg-config" ,pkg-config)))
85f5dc19 232 (inputs
ce426deb
TD
233 `(("dvd+rw-tools" ,dvd+rw-tools)
234 ("glib" ,glib)
85f5dc19
AE
235 ("gnome-doc-utils" ,gnome-doc-utils)
236 ("gstreamer" ,gstreamer)
237 ("gst-plugins-base" ,gst-plugins-base)
238 ("gtk+" ,gtk+)
85f5dc19
AE
239 ("libcanberra" ,libcanberra)
240 ("libice" ,libice)
241 ("libnotify" ,libnotify)
242 ("libsm" ,libsm)
e8627cd9 243 ("libxml2" ,libxml2)
e8627cd9 244 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 245 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
246 (synopsis "CD/DVD burning tool for Gnome")
247 (description "Brasero is an application to burn CD/DVD for the Gnome
248Desktop. It is designed to be as simple as possible and has some unique
249features to enable users to create their discs easily and quickly.")
1dd26275 250 (license license:gpl2+)))
995b7261 251
e05ce17d
RG
252(define-public phodav
253 (package
254 (name "phodav")
255 (version "2.4")
256 (source (origin
257 (method url-fetch)
258 (uri (string-append "mirror://gnome/sources/" name "/"
259 (version-major+minor version) "/"
260 name "-" version ".tar.xz"))
261 (sha256
262 (base32
263 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
264 (build-system meson-build-system)
265 (native-inputs
266 `(("gettext" ,gettext-minimal)
267 ("glib:bin" ,glib "bin")
268 ("gtk-doc" ,gtk-doc)
269 ("pkg-config" ,pkg-config)))
270 (inputs
271 `(("avahi" ,avahi)
272 ("libgudev" ,libgudev)
273 ("libsoup" ,libsoup)))
274 (synopsis "WebDav server implementation using libsoup")
275 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
276but it is generic enough to be reused in other projects,
277in particular in the GNOME desktop.")
278 (home-page "https://wiki.gnome.org/phodav")
279 (license license:lgpl2.1+)))
280
29ae18db
RG
281(define-public gnome-color-manager
282 (package
283 (name "gnome-color-manager")
284 (version "3.32.0")
285 (source (origin
286 (method url-fetch)
287 (uri (string-append "mirror://gnome/sources/" name "/"
288 (version-major+minor version) "/"
289 name "-" version ".tar.xz"))
290 (sha256
291 (base32
292 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
293 (build-system meson-build-system)
294 (arguments
295 `(#:glib-or-gtk? #t
296 #:phases
297 (modify-phases %standard-phases
298 (add-before
299 'check 'pre-check
300 (lambda _
301 ;; Tests require a running X server.
302 (system "Xvfb :1 &")
303 (setenv "DISPLAY" ":1")
304 #t)))))
305 (native-inputs
306 `(("desktop-file-utils" ,desktop-file-utils)
307 ("gettext" ,gettext-minimal)
308 ("glib:bin" ,glib "bin")
309 ("gtk+:bin" ,gtk+ "bin")
310 ("itstool" ,itstool)
311 ("pkg-config" ,pkg-config)
312 ("xorg-server" ,xorg-server-for-tests)))
313 (inputs
314 `(("adwaita-icon-theme" ,adwaita-icon-theme)
315 ("appstream-glib" ,appstream-glib)
316 ("colord-gtk" ,colord-gtk)
317 ("exiv2" ,exiv2)
318 ("gnome-desktop" ,gnome-desktop)
319 ("libcanberra" ,libcanberra)
320 ("libexif" ,libexif)
321 ("libtiff" ,libtiff)
322 ("libxrandr" ,libxrandr)
323 ("libxtst" ,libxtst)
324 ("libxxf86vm" ,libxxf86vm)
325 ("vte" ,vte)
326 ("xorgproto" ,xorgproto)))
327 (synopsis "Color profile manager for the GNOME desktop")
328 (description "GNOME Color Manager is a session framework that makes
329it easy to manage, install and generate color profiles
330in the GNOME desktop.")
331 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 332 (license license:gpl2+)))
29ae18db 333
e05471a1
RG
334(define-public gnome-online-miners
335 (package
336 (name "gnome-online-miners")
337 (version "3.30.0")
338 (source (origin
339 (method url-fetch)
340 (uri (string-append "mirror://gnome/sources/" name "/"
341 (version-major+minor version) "/"
342 name "-" version ".tar.xz"))
343 (sha256
344 (base32
345 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
346 (build-system glib-or-gtk-build-system)
347 (native-inputs
348 `(("gettext" ,gettext-minimal)
349 ("glib:bin" ,glib "bin")
29ae18db 350 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
351 ("gtk+:bin" ,gtk+ "bin")
352 ("pkg-config" ,pkg-config)))
353 (inputs
354 `(("gnome-online-accounts" ,gnome-online-accounts)
355 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
356 ("grilo" ,grilo)
357 ("libgdata" ,libgdata)
358 ("libgfbgraph" ,gfbgraph)
359 ("libzapojit" ,libzapojit)
360 ("rest" ,rest)
361 ("tracker" ,tracker)))
362 (synopsis "Web Crawlers for GNOME")
363 (description "GNOME Online Miners provides a set of crawlers that
364go through your online content and index them locally in Tracker.
365It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
366 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 367 (license license:gpl2+)))
e05471a1 368
e2aed29c
RG
369(define-public gssdp
370 (package
371 (name "gssdp")
372 (version "1.2.2")
373 (source (origin
374 (method url-fetch)
375 (uri (string-append "mirror://gnome/sources/" name "/"
376 (version-major+minor version) "/"
377 name "-" version ".tar.xz"))
378 (sha256
379 (base32
380 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
381 (build-system meson-build-system)
382 (native-inputs
383 `(("gettext" ,gettext-minimal)
384 ("glib:bin" ,glib "bin")
385 ("gobject-introspection" ,gobject-introspection)
386 ("gtk-doc" ,gtk-doc)
387 ("pkg-config" ,pkg-config)
388 ("vala" ,vala)))
389 (inputs
390 `(("gtk+" ,gtk+)
391 ("libsoup" ,libsoup)))
392 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
393Protocol} for GNOME")
394 (description "This package provides a library to handle resource discovery
395and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
396a debugging tool, @command{gssdp-device-sniffer}.")
397 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
398 (license license:lgpl2.0+)))
399
291a85b2
RG
400(define-public gupnp
401 (package
402 (name "gupnp")
403 (version "1.2.2")
404 (source (origin
405 (method url-fetch)
406 (uri (string-append "mirror://gnome/sources/" name "/"
407 (version-major+minor version) "/"
408 name "-" version ".tar.xz"))
409 (sha256
410 (base32
411 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
412 (build-system meson-build-system)
413 (native-inputs
414 `(("gettext" ,gettext-minimal)
415 ("glib:bin" ,glib "bin")
416 ("gobject-introspection" ,gobject-introspection)
417 ("gtk-doc" ,gtk-doc)
418 ("pkg-config" ,pkg-config)
419 ("vala" ,vala)))
420 (inputs
421 `(("gssdp" ,gssdp)
422 ("gtk+" ,gtk+)
423 ("libsoup" ,libsoup)))
424 (synopsis "PnP API for GNOME")
425 (description "This package provides GUPnP, an object-oriented framework
426for creating UPnP devices and control points, written in C using
427@code{GObject} and @code{libsoup}.")
428 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
429 (license license:lgpl2.0+)))
430
747d7fe4
RG
431(define-public gupnp-dlna
432 (package
433 (name "gupnp-dlna")
434 (version "0.10.5")
435 (source (origin
436 (method url-fetch)
437 (uri (string-append "mirror://gnome/sources/" name "/"
438 (version-major+minor version) "/"
439 name "-" version ".tar.xz"))
440 (sha256
441 (base32
442 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
443 (build-system gnu-build-system)
444 (native-inputs
445 `(("gettext" ,gettext-minimal)
446 ("glib:bin" ,glib "bin")
447 ("gobject-introspection" ,gobject-introspection)
448 ("gtk-doc" ,gtk-doc)
449 ("libxml" ,libxml2)
450 ("pkg-config" ,pkg-config)
451 ("vala" ,vala)))
452 (inputs
453 `(("gstreamer" ,gstreamer)
454 ("gupnp" ,gupnp)))
455 (propagated-inputs
456 `(("gst-plugins-base" ,gst-plugins-base)
457 ("gst-plugins-good" ,gst-plugins-good)))
458 (synopsis "GUPnP DLNA for GNOME")
459 (description "This package provides a small utility library to
460support DLNA-related tasks such as media profile guessing, transcoding to a
461given profile, etc. DLNA is a subset of UPnP A/V.")
462 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
463 (license license:lgpl2.0+)))
464
1b4cb628
RG
465(define-public gupnp-av
466 (package
467 (name "gupnp-av")
468 (version "0.12.11")
469 (source (origin
470 (method url-fetch)
471 (uri (string-append "mirror://gnome/sources/" name "/"
472 (version-major+minor version) "/"
473 name "-" version ".tar.xz"))
474 (sha256
475 (base32
476 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
477 (build-system gnu-build-system)
478 (native-inputs
479 `(("gettext" ,gettext-minimal)
480 ("glib:bin" ,glib "bin")
481 ("gobject-introspection" ,gobject-introspection)
482 ("gtk-doc" ,gtk-doc)
483 ("libxml" ,libxml2)
484 ("pkg-config" ,pkg-config)))
485 (inputs
486 `(("gtk+" ,gtk+)
487 ("gupnp" ,gupnp)))
488 (synopsis "GUPnP A/V for GNOME")
489 (description "This package provides a small library for handling
490and implementation of UPnP A/V profiles.")
491 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
492 (license license:lgpl2.0+)))
493
02ebbca8
RG
494(define-public libmediaart
495 (package
496 (name "libmediaart")
497 (version "1.9.4")
498 (source (origin
499 (method url-fetch)
500 (uri (string-append "mirror://gnome/sources/" name "/"
501 (version-major+minor version) "/"
502 name "-" version ".tar.xz"))
503 (sha256
504 (base32
505 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
506 (build-system gnu-build-system)
507 (native-inputs
508 `(("glib:bin" ,glib "bin")
509 ("pkg-config" ,pkg-config)))
510 (inputs
511 `(("gdk-pixbuf" ,gdk-pixbuf)
512 ("gettext" ,gettext-minimal)
513 ("gobject-introspection" ,gobject-introspection)
514 ("gtk+:doc", gtk+ "doc")
515 ("vala" ,vala)))
516 (synopsis "Media art library for the GNOME desktop")
517 (description
518 "The libmediaart library is the foundation for media art caching,
519extraction, and lookup for applications on the desktop.")
520 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
521 (license license:lgpl2.1+)))
522
a26680eb
RG
523(define-public gnome-initial-setup
524 (package
525 (name "gnome-initial-setup")
526 (version "3.32.1")
527 (source (origin
528 (method url-fetch)
529 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
530 (version-major+minor version)
531 "/gnome-initial-setup-" version ".tar.xz"))
532 (sha256
533 (base32
534 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
535 (build-system meson-build-system)
536 (arguments
a65cc579
DM
537 '(#:configure-flags '(;; Enable camera support for user selfie.
538 "-Dcheese=auto"
539 "-Dsystemd=false")))
a26680eb
RG
540 (native-inputs
541 `(("gettext" ,gettext-minimal)
542 ("glib:bin" ,glib "bin")
543 ("gobject-introspection" ,gobject-introspection)
544 ("gtk+:bin" ,gtk+ "bin")
545 ("pkg-config" ,pkg-config)))
546 (inputs
547 `(("accountsservice" ,accountsservice)
548 ;("adwaita-icon-theme" ,adwaita-icon-theme)
549 ("gdm" ,gdm)
550 ("geoclue" ,geoclue)
551 ("gnome-desktop" ,gnome-desktop)
552 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
553 ("gnome-online-accounts" ,gnome-online-accounts)
554 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
555 ("gstreamer" ,gstreamer)
556 ("ibus" ,ibus)
557 ("json-glib" ,json-glib)
558 ("krb5" ,mit-krb5)
559 ("libgweather" ,libgweather)
560 ("libsecret" ,libsecret)
561 ("network-manager" ,network-manager)
562 ("network-manager-applet" ,network-manager-applet)
563 ("packagekit" ,packagekit)
564 ("polkit" ,polkit)
565 ("pwquality" ,libpwquality)
566 ("rest" ,rest)
567 ("upower" ,upower)
568 ("webkitgtk" ,webkitgtk)))
569 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
570 (description "This package provides a set-up wizard when a
571user logs into GNOME for the first time. It typically provides a
572tour of all gnome components and allows the user to set them up.")
a26680eb
RG
573 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
574 (license license:gpl2)))
575
b5f01392
RG
576(define-public gnome-user-share
577 (package
578 (name "gnome-user-share")
579 (version "3.33.1")
580 (source (origin
581 (method url-fetch)
582 (uri (string-append "mirror://gnome/sources/" name "/"
583 (version-major+minor version) "/"
584 name "-" version ".tar.xz"))
585 (sha256
586 (base32
587 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
588 (build-system meson-build-system)
589 (arguments
590 `(#:glib-or-gtk? #t
591 #:configure-flags
592 `("-Dsystemd=false"
593 ;; Enable nautilus extension for file sharing.
594 "-Dnautilus_extension=true")))
595 (native-inputs
596 `(("gettext" ,gettext-minimal)
597 ("glib:bin" ,glib "bin")
598 ("gobject-introspection" ,gobject-introspection)
599 ("gtk+:bin" ,gtk+ "bin")
600 ("pkg-config" ,pkg-config)
601 ("yelp-tools" ,yelp-tools)))
602 (inputs
603 `(("glib" ,glib)
604 ("gnome-bluetooth" ,gnome-bluetooth)
605 ("gtk+" ,gtk+)
606 ("libcanberra" ,libcanberra)
607 ("libnotify" ,libnotify)
608 ("nautilus" ,nautilus))) ; For nautilus extension.
609 (synopsis "File sharing for GNOME desktop")
610 (description "GNOME User Share is a small package that binds together
611various free software projects to bring easy to use user-level file
612sharing to the masses.")
613 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 614 (license license:gpl2+)))
b5f01392 615
04b201bb
RG
616(define-public sushi
617 (package
618 (name "sushi")
619 (version "3.32.1")
620 (source (origin
621 (method url-fetch)
622 (uri (string-append "mirror://gnome/sources/" name "/"
623 (version-major+minor version) "/"
624 name "-" version ".tar.xz"))
625 (sha256
626 (base32
627 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
628 (build-system meson-build-system)
629 (arguments
630 `(#:glib-or-gtk? #t
631 #:phases
632 (modify-phases %standard-phases
633 (add-after 'glib-or-gtk-wrap 'wrap-typelib
634 (lambda* (#:key outputs #:allow-other-keys)
635 (let ((prog (string-append (assoc-ref outputs "out")
636 "/bin/sushi")))
637 ;; Put existing typelibs before sushi's deps, so as to correctly
638 ;; infer gdk-pixbuf
639 (wrap-program prog
640 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
641 #t))))))
642 (native-inputs
643 `(("glib:bin" ,glib "bin")
644 ("gettext" ,gettext-minimal)
645 ("gobject-introspection" ,gobject-introspection)
646 ("pkg-config" ,pkg-config)))
647 (inputs
648 `(("clutter" ,clutter)
649 ("clutter-gst" ,clutter-gst)
650 ("clutter-gtk" ,clutter-gtk)
651 ("evince" ,evince) ; For file previewing.
652 ("freetype" ,freetype)
653 ("gdk-pixbuf" ,gdk-pixbuf)
654 ("gjs" ,gjs)
655 ("gst-plugins-base" ,gst-plugins-base)
656 ("gstreamer" ,gstreamer)
657 ("gtksourceview" ,gtksourceview-3)
658 ("harfbuzz" ,harfbuzz)
659 ("libepoxy" ,libepoxy)
660 ("libmusicbrainz" ,libmusicbrainz)
661 ("libxml2" ,libxml2)
662 ("neon" ,neon)
663 ("webkitgtk" ,webkitgtk)))
664 (synopsis "File previewer for the GNOME desktop")
665 (description "Sushi is a DBus-activated service that allows applications to
666preview files on the GNOME desktop.")
667 (home-page "https://gitlab.gnome.org/GNOME/sushi")
668 (license license:gpl2+)))
669
89af0902
RG
670(define-public rygel
671 (package
672 (name "rygel")
673 (version "0.38.3")
674 (source (origin
675 (method url-fetch)
676 (uri (string-append "mirror://gnome/sources/" name "/"
677 (version-major+minor version) "/"
678 name "-" version ".tar.xz"))
679 (sha256
680 (base32
681 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
682 (build-system gnu-build-system)
683 (native-inputs
684 `(("gettext" ,gettext-minimal)
685 ("gobject-introspection" ,gobject-introspection)
686 ("gtk-doc" ,gtk-doc)
687 ("pkg-config" ,pkg-config)
688 ("vala" ,vala)))
689 (inputs
690 `(("gdk-pixbuf" ,gdk-pixbuf)
691 ("gssdp" ,gssdp)
692 ("gstreamer" ,gstreamer)
693 ("gst-plugins-base" ,gst-plugins-base)
694 ("gtk+" ,gtk+)
695 ("gupnp" ,gupnp)
696 ("gupnp-av" ,gupnp-av)
697 ("gupnp-dlna" ,gupnp-dlna)
698 ("libgee" ,libgee)
699 ("libmediaart" ,libmediaart)
700 ("libsoup" ,libsoup)
701 ("libxslt" ,libxslt)
702 ("libunistring" ,libunistring)
703 ("tracker" ,tracker)))
704 (synopsis "Share audio, video, and pictures with other devices")
705 (description
706 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
707MediaRenderer}) for GNOME that allows you to easily share audio, video, and
708pictures, and to control a media player on your home network.
709
710Rygel achieves interoperability with other devices by trying to conform to the
711strict requirements of DLNA and by converting media on-the-fly to formats that
712client devices can handle.")
713 (home-page "https://wiki.gnome.org/Projects/Rygel")
714 (license (list
715 ;; For logo (data/icons/*).
716 license:cc-by-sa3.0
717 ;; For all others.
718 license:lgpl2.1+))))
719
47e87093
RG
720(define-public libnma
721 (package
722 (name "libnma")
723 (version "1.8.26")
724 (source (origin
725 (method url-fetch)
726 (uri (string-append "mirror://gnome/sources/" name "/"
727 (version-major+minor version) "/"
728 name "-" version ".tar.xz"))
729 (sha256
730 (base32
731 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
732 (build-system meson-build-system)
733 (arguments
734 `(#:glib-or-gtk? #t))
735 (native-inputs
736 `(("gettext" ,gettext-minimal)
737 ("glib:bin" ,glib "bin")
738 ("gtk-doc" ,gtk-doc)
739 ("gobject-introspection" ,gobject-introspection)
740 ("pkg-config" ,pkg-config)))
741 (inputs
742 `(("adwaita-icon-theme" ,adwaita-icon-theme)
743 ("gcr" ,gcr)
744 ("gtk+" ,gtk+)
745 ("iso-codes" ,iso-codes)
746 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
747 ("network-manager" ,network-manager)))
748 (synopsis "Network Manager's applet library")
749 (description "Libnma is an applet library for Network Manager. It was
750initially part of network-manager-applet and has now become a separate
751project.")
752 (home-page "https://gitlab.gnome.org/GNOME/libnma")
753
754 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
755 ;; "LGPL-2.1+".
756 (license license:gpl2+)))
757
30416265
RG
758(define-public gnome-menus
759 (package
760 (name "gnome-menus")
761 (version "3.32.0")
762 (source (origin
763 (method url-fetch)
764 (uri (string-append "mirror://gnome/sources/gnome-menus/"
765 (version-major+minor version) "/"
766 name "-" version ".tar.xz"))
767 (sha256
768 (base32
769 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
770 (build-system gnu-build-system)
771 (native-inputs
772 `(("gettext" ,gettext-minimal)
773 ("glib" ,glib)
774 ("pkg-config" ,pkg-config)))
775 (synopsis "Menu support for GNOME desktop")
776 (description "GNOME Menus contains the libgnome-menu library, the layout
777configuration files for the GNOME menu, as well as a simple menu editor.")
778 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 779 (license license:lgpl2.0+)))
30416265 780
d61a894b
CB
781(define-public deja-dup
782 (package
783 (name "deja-dup")
784 (version "34.3")
785 (source (origin
786 (method url-fetch)
787 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
788 (sha256
789 (base32
790 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
791 (patches
792 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
793 (build-system glib-or-gtk-build-system)
794 (arguments
795 `(#:modules ((guix build gnu-build-system)
796 ((guix build cmake-build-system) #:prefix cmake:)
797 (guix build glib-or-gtk-build-system)
798 (guix build utils))
799 #:imported-modules (,@%glib-or-gtk-build-system-modules
800 (guix build cmake-build-system))
801 #:test-target "test"
802 #:configure-flags (list (string-append
803 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
804 (string-append
805 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
806 #:phases
807 (modify-phases %standard-phases
808 (add-after 'unpack 'patch-lockfile-deletion
809 (lambda rest
810 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
811 (("/bin/rm")
812 (which "rm")))))
813 (replace 'configure
814 (assoc-ref cmake:%standard-phases 'configure))
815 (delete 'check) ;; Fails due to issues with DBus
816 (add-after 'install 'wrap-deja-dup
817 (lambda* (#:key inputs outputs #:allow-other-keys)
818 (let ((python (assoc-ref inputs "python"))
819 (python-path (getenv "PYTHONPATH"))
820 (duplicity (assoc-ref inputs "duplicity"))
821 (out (assoc-ref outputs "out")))
822 (for-each
823 (lambda (program)
824 (wrap-program program
825 `("PATH" ":" prefix (,(string-append python "/bin")
826 ,(string-append duplicity "/bin"))))
827 (wrap-program program
828 `("PYTHONPATH" ":" prefix (,python-path))))
829
830 (find-files (string-append out "/bin")))
831 #t))))))
832 (inputs
833 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
834 ("gobject-introspection" ,gobject-introspection)
835 ("duplicity" ,duplicity)
61506fe5 836 ("python" ,python-2)
d61a894b
CB
837 ("python-pygobject" ,python2-pygobject)
838 ("gtk+" ,gtk+)
839 ("libnotify" ,libnotify)
840 ("libpeas" ,libpeas)
841 ("libsecret" ,libsecret)
842 ("packagekit" ,packagekit)))
843 (native-inputs
844 `(("pkg-config" ,pkg-config)
845 ("vala" ,vala)
846 ("gettext" ,gettext-minimal)
847 ("itstool" ,itstool)
848 ("intltool" ,intltool)
c69959f0 849 ("cmake" ,cmake-minimal)))
d61a894b
CB
850 (home-page "https://launchpad.net/deja-dup")
851 (synopsis "Simple backup tool, for regular encrypted backups")
852 (description
853 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
854uses duplicity as the backend, which supports incremental backups and storage
855either on a local, or remote machine via a number of methods.")
856 (license license:gpl3+)))
857
823b77fb
RG
858(define-public gnome-user-docs
859 (package
860 (name "gnome-user-docs")
861 (version "3.32.3")
862 (source
863 (origin
864 (method url-fetch)
865 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
866 (version-major+minor version)
867 "/gnome-user-docs-" version ".tar.xz"))
868 (sha256
869 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
870 (build-system gnu-build-system)
871 (native-inputs
872 `(("gettext" ,gettext-minimal)
873 ("itstool" ,itstool)
874 ("pkg-config" ,pkg-config)
875 ("xmllint" ,libxml2)))
876 (synopsis "User documentation for the GNOME desktop")
877 (description
878 "The GNOME User Documentation explains how to use the GNOME desktop and its
879components. It covers usage and setup of the core GNOME programs by end-users
880and system administrators.")
881 (home-page "https://live.gnome.org/DocumentationProject")
882 (license license:cc-by3.0)))
883
be93299d
RG
884(define-public gnome-getting-started-docs
885 (package
886 (name "gnome-getting-started-docs")
887 (version "3.32.2")
888 (source
889 (origin
890 (method url-fetch)
891 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
892 (version-major+minor version)
893 "/gnome-getting-started-docs-" version ".tar.xz"))
894 (sha256
895 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
896 (build-system gnu-build-system)
897 (native-inputs
898 `(("gettext" ,gettext-minimal)
899 ("itstool" ,itstool)
900 ("pkg-config" ,pkg-config)
901 ("xmllint" ,libxml2)))
902 (synopsis "Help to get new users started with the GNOME desktop")
903 (description
904 "The GNOME Getting Started Documentation contains GNOME's intuitive
905\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
906
907It is normally used together with @command{gnome-initial-setup}, but is also
908useful as a tutorial and users' guide for new or less experienced users.")
909 (home-page "https://live.gnome.org/DocumentationProject")
910 (license license:cc-by-sa3.0)))
911
a56be436
RJ
912(define-public dia
913 ;; This version from GNOME's repository includes fixes for compiling with
914 ;; recent versions of the build tools. The latest activity on the
915 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
916 ;; fixes in 2016.
917 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
918 (package
919 (name "dia")
914c8cdf 920 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
921 (source (origin
922 (method git-fetch)
923 (uri (git-reference
914c8cdf 924 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 925 (commit commit)))
914c8cdf 926 (file-name (git-file-name name version))
a56be436
RJ
927 (sha256
928 (base32
929 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
930 (build-system gnu-build-system)
931 (inputs
a315afa3 932 `(("freetype" ,freetype)
a56be436
RJ
933 ("gdk-pixbuf" ,gdk-pixbuf)
934 ("gtk+" ,gtk+-2)
a315afa3 935 ("libart-lgpl" ,libart-lgpl)
a56be436 936 ("libxml2" ,libxml2)
a315afa3 937 ("pango" ,pango)))
a56be436 938 (native-inputs
a315afa3 939 `(("autoconf" ,autoconf)
a56be436 940 ("automake" ,automake)
a315afa3
EF
941 ("intltool" ,intltool)
942 ("glib" ,glib "bin")
a56be436
RJ
943 ("libtool" ,libtool)
944 ("perl" ,perl)
a315afa3 945 ("pkg-config" ,pkg-config)
a56be436
RJ
946 ("python-wrapper" ,python-wrapper)))
947 (arguments
948 `(#:phases
949 (modify-phases %standard-phases
4b3e91de 950 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 951 (lambda _
4b3e91de
EF
952 (setenv "NOCONFIGURE" "true")
953 #t)))))
a56be436
RJ
954 (home-page "https://wiki.gnome.org/Apps/Dia")
955 (synopsis "Diagram creation for GNOME")
956 (description "Dia can be used to draw different types of diagrams, and
957includes support for UML static structure diagrams (class diagrams), entity
958relationship modeling, and network diagrams. The program supports various file
959formats like PNG, SVG, PDF and EPS.")
960 (license license:gpl2+))))
961
d0b19e44
RW
962;; This is the unstable release, but it is required for the current stable
963;; release of gvfs (1.38.1).
adc5cb1b
KK
964(define-public libgdata
965 (package
966 (name "libgdata")
d0b19e44 967 (version "0.17.9")
adc5cb1b
KK
968 (source (origin
969 (method url-fetch)
970 (uri (string-append "mirror://gnome/sources/" name "/"
971 (version-major+minor version) "/"
972 name "-" version ".tar.xz"))
973 (sha256
974 (base32
d0b19e44 975 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
976 (build-system gnu-build-system)
977 (arguments
978 '(#:phases
979 (modify-phases %standard-phases
448052b7
TGR
980 (add-before 'check 'disable-failing-tests
981 (lambda _
982 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
983 ;; They have been removed in libgdata 0.17.6, so just do the same.
984 (substitute* "gdata/tests/Makefile"
985 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
986 #t)))))
987 (native-inputs
988 `(("glib:bin" ,glib "bin")
989 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
990 ("intltool" ,intltool)
991 ("pkg-config" ,pkg-config)
992 ("uhttpmock" ,uhttpmock)))
993 (inputs
994 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 995 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
996 (propagated-inputs
997 `(("gcr" ,gcr)
d0b19e44 998 ("glib" ,glib)
14c297fd 999 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1000 ("json-glib" ,json-glib)
adc5cb1b 1001 ("liboauth" ,liboauth)
d0b19e44 1002 ("libsoup" ,libsoup)
adc5cb1b
KK
1003 ("libxml2" ,libxml2)))
1004 (home-page "https://wiki.gnome.org/Projects/libgdata")
1005 (synopsis "Library for accessing online service APIs")
1006 (description
1007 "libgdata is a GLib-based library for accessing online service APIs using
1008the GData protocol — most notably, Google's services. It provides APIs to
1009access the common Google services, and has full asynchronous support.")
1010 (license license:lgpl2.1+)))
1011
94e10cf4
KK
1012(define-public libgxps
1013 (package
1014 (name "libgxps")
66470a5a 1015 (version "0.3.1")
94e10cf4
KK
1016 (source (origin
1017 (method url-fetch)
7f10628c 1018 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1019 (version-major+minor version) "/"
1020 name "-" version ".tar.xz"))
1021 (sha256
1022 (base32
66470a5a 1023 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1024 (build-system meson-build-system)
94e10cf4
KK
1025 (native-inputs
1026 `(("gobject-introspection" ,gobject-introspection)
1027 ("pkg-config" ,pkg-config)))
1028 (inputs
c8d62d93 1029 `(("gtk+" ,gtk+)
b6b3e512 1030 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1031 ("lcms" ,lcms)
0a6e9e13 1032 ("libtiff" ,libtiff)))
c8d62d93
MB
1033 (propagated-inputs
1034 ;; In Requires of libgxps.pc.
1035 `(("cairo" ,cairo)
1036 ("glib" ,glib)
1037 ("libarchive" ,libarchive)))
94e10cf4
KK
1038 (home-page "https://wiki.gnome.org/Projects/libgxps")
1039 (synopsis "GObject-based library for handling and rendering XPS documents")
1040 (description
1041 "libgxps is a GObject-based library for handling and rendering XPS
1042documents. This package also contains binaries that can convert XPS documents
1043to other formats.")
1044 (license license:lgpl2.1+)))
1045
4e09f57a
RG
1046(define-public gnome-characters
1047 (package
1048 (name "gnome-characters")
1049 (version "3.30.0")
1050 (source
1051 (origin
1052 (method url-fetch)
1053 (uri (string-append "mirror://gnome/sources/"
1054 "gnome-characters/" (version-major+minor version)
1055 "/gnome-characters-" version ".tar.xz"))
1056 (sha256
1057 (base32
1058 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1059 (build-system meson-build-system)
5757c641 1060 (arguments
1061 `(#:glib-or-gtk? #t
1062 #:phases (modify-phases %standard-phases
1063 (add-after 'install 'wrap
1064 (lambda* (#:key outputs #:allow-other-keys)
1065 ;; GNOME Characters needs Typelib files from GTK and
1066 ;; gnome-desktop.
1067 (wrap-program (string-append (assoc-ref outputs "out")
1068 "/bin/gnome-characters")
1069 `("GI_TYPELIB_PATH" ":" prefix
1070 (,(getenv "GI_TYPELIB_PATH"))))
1071 #t)))))
4e09f57a
RG
1072 (native-inputs
1073 `(("gettext" ,gettext-minimal)
1074 ("glib:bin" ,glib "bin")
1075 ("gtk+:bin" ,gtk+ "bin")
1076 ("pkg-config" ,pkg-config)
1077 ("python" ,python-minimal)))
1078 (inputs
1079 `(("gjs" ,gjs)
1080 ("gtk+" ,gtk+)
5757c641 1081 ("libunistring" ,libunistring)
1082 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1083 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1084 (synopsis "Find and insert unusual characters")
1085 (description "Characters is a simple utility application to find
1086and insert unusual characters. It allows you to quickly find the
1087character you are looking for by searching for keywords.")
1088 (license license:bsd-3)))
1089
7aab13f1
ML
1090(define-public gnome-common
1091 (package
1092 (name "gnome-common")
af83490d 1093 (version "3.18.0")
7aab13f1
ML
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append "mirror://gnome/sources/" name "/"
1098 (version-major+minor version) "/"
1099 name "-" version ".tar.xz"))
1100 (sha256
1101 (base32
af83490d 1102 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1103 (build-system gnu-build-system)
1104 (home-page "https://www.gnome.org/")
1105 (synopsis "Bootstrap GNOME modules built from Git")
1106 (description "gnome-common contains various files needed to bootstrap
1107GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1108can be used to configure a source directory checked out from Git and some
1109commonly used macros.")
1110 (license license:gpl2+)))
1111
4e868d22
RG
1112(define-public gnome-contacts
1113 (package
1114 (name "gnome-contacts")
6a6138b2 1115 (version "3.32.1")
4e868d22
RG
1116 (source (origin
1117 (method url-fetch)
1118 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1119 (version-major+minor version) "/"
1120 name "-" version ".tar.xz"))
1121 (sha256
1122 (base32
6a6138b2 1123 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1124 (build-system meson-build-system)
1125 (arguments
1126 `(#:phases
1127 (modify-phases %standard-phases
1128 (add-after 'unpack 'generate-vapis
1129 (lambda* (#:key inputs #:allow-other-keys)
1130 ;; To generate goa's missing .vapi file
1131 (define goa
1132 (assoc-ref inputs "gnome-online-accounts:lib"))
1133
1134 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1135 "--library=goa-1.0"
1136 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1137 #t)))))
1138 (native-inputs
1139 `(("glib:bin" ,glib "bin")
1140 ("gtk+:bin" ,gtk+ "bin")
1141 ("pkg-config" ,pkg-config)))
1142 (inputs
1143 `(("cheese" ,cheese)
1144 ("docbook-xml" ,docbook-xml)
1145 ("dockbook-xsl" ,docbook-xsl)
1146 ("evolution-data-server" ,evolution-data-server)
1147 ("gettext" ,gettext-minimal)
1148 ("gnome-desktop" ,gnome-desktop)
1149 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1150 ("gobject-introspection" ,gobject-introspection)
1151 ("gst-plugins-base" ,gst-plugins-base)
1152 ("gtk+" ,gtk+)
1153 ("libgee" ,libgee)
1154 ("libxslt" ,libxslt)
1155 ("telepathy-glib" ,telepathy-glib)
1156 ("vala" ,vala)))
1157 (propagated-inputs
1158 `(("folks", folks)
1159 ("telepathy-mission-control" ,telepathy-mission-control)))
1160 (synopsis "GNOME's integrated address book")
1161 (description
1162 "GNOME Contacts organizes your contact information from online and
1163offline sources, providing a centralized place for managing your contacts.")
1164 (home-page "https://wiki.gnome.org/Apps/Contacts")
1165 (license license:gpl2+)))
1166
9cc98f8a
CR
1167(define-public gnome-desktop
1168 (package
1169 (name "gnome-desktop")
e8a26caa 1170 (version "3.32.2")
9cc98f8a
CR
1171 (source
1172 (origin
1173 (method url-fetch)
b38e45d8
EB
1174 (uri (string-append "mirror://gnome/sources/" name "/"
1175 (version-major+minor version) "/"
9cc98f8a
CR
1176 name "-" version ".tar.xz"))
1177 (sha256
1178 (base32
e8a26caa
KK
1179 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1180 (build-system meson-build-system)
a0fe7c06
CB
1181 (arguments
1182 '(#:phases
1183 (modify-phases %standard-phases
1184 (add-before 'configure 'patch-path
1185 (lambda* (#:key inputs #:allow-other-keys)
1186 (let ((libc (assoc-ref inputs "libc")))
1187 (substitute* "libgnome-desktop/gnome-languages.c"
1188 (("\"locale\"")
1189 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1190 #t)))
1191 (add-before 'check 'pre-check
1192 (lambda* (#:key inputs #:allow-other-keys)
1193 ;; Tests require a running X server and locales.
1194 (system "Xvfb :1 &")
1195 (setenv "DISPLAY" ":1")
1196 (setenv "GUIX_LOCPATH"
1197 (string-append (assoc-ref inputs "glibc-locales")
1198 "/lib/locale"))
1199 #t)))))
9cc98f8a 1200 (native-inputs
e8a26caa
KK
1201 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1202 ("glibc-locales" ,glibc-locales) ; for tests
1203 ("gobject-introspection" ,gobject-introspection)
a8340482 1204 ("itstool" ,itstool)
bcb354ad
SB
1205 ("intltool" ,intltool)
1206 ("pkg-config" ,pkg-config)
e8a26caa
KK
1207 ("xmllint" ,libxml2)
1208 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1209 (propagated-inputs
1210 ;; Required by gnome-desktop-3.0.pc.
1211 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1212 ("gtk+" ,gtk+)
9cc98f8a 1213 ("iso-codes" ,iso-codes)
9863ce20 1214 ("libseccomp" ,libseccomp)
9cc98f8a 1215 ("libx11" ,libx11)
e8a26caa
KK
1216 ("xkeyboard-config" ,xkeyboard-config)))
1217 (inputs
1218 `(("gdk-pixbuf" ,gdk-pixbuf)
1219 ("glib" ,glib)
9cc98f8a
CR
1220 ("libxext" ,libxext)
1221 ("libxkbfile" ,libxkbfile)
e8a26caa 1222 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1223 (home-page "https://www.gnome.org/")
1224 (synopsis
35b9e423 1225 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1226 (description
1227 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1228on the desktop, but that cannot live in the platform for various reasons.
1229There is no API or ABI guarantee, although we are doing our best to provide
1230stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1231
1232The gnome-about program helps find which version of GNOME is installed.")
1233 ; Some bits under the LGPL.
1dd26275 1234 (license license:gpl2+)))
9cc98f8a 1235
995b7261
AE
1236(define-public gnome-doc-utils
1237 (package
1238 (name "gnome-doc-utils")
1239 (version "0.20.10")
1240 (source
1241 (origin
1242 (method url-fetch)
b38e45d8
EB
1243 (uri (string-append "mirror://gnome/sources/" name "/"
1244 (version-major+minor version) "/"
995b7261
AE
1245 name "-" version ".tar.xz"))
1246 (sha256
1247 (base32
1248 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1249 (build-system gnu-build-system)
c4c4cc05 1250 (native-inputs
995b7261 1251 `(("intltool" ,intltool)
b4ce6300 1252 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1253 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1254 ("libxml2" ,libxml2)
1255 ("libxslt" ,libxslt)
1256 ("pkg-config" ,pkg-config)
1257 ("python-2" ,python-2)))
995b7261
AE
1258 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1259 (synopsis
1260 "Documentation utilities for the Gnome project")
1261 (description
1262 "Gnome-doc-utils is a collection of documentation utilities for the
1263Gnome project. It includes xml2po tool which makes it easier to translate
1264and keep up to date translations of documentation.")
1dd26275 1265 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1266
6c4f7022
DC
1267(define-public gnome-disk-utility
1268 (package
1269 (name "gnome-disk-utility")
e106d0a6 1270 (version "3.32.1")
6c4f7022
DC
1271 (source (origin
1272 (method url-fetch)
1273 (uri (string-append "mirror://gnome/sources/" name "/"
1274 (version-major+minor version) "/"
1275 name "-" version ".tar.xz"))
1276 (sha256
1277 (base32
e106d0a6 1278 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1279 (build-system meson-build-system)
321c73c3
EF
1280 (arguments
1281 '(#:phases
1282 (modify-phases %standard-phases
1283 (add-after 'unpack 'skip-gtk-update-icon-cache
1284 ;; Don't create 'icon-theme.cache'.
1285 (lambda _
1286 (substitute* "meson_post_install.py"
1287 (("gtk-update-icon-cache") "true"))
1288 #t)))))
6c4f7022
DC
1289 (native-inputs
1290 `(("glib:bin" ,glib "bin")
1291 ("intltool" ,intltool)
1292 ("pkg-config" ,pkg-config)
1293 ("docbook-xml" ,docbook-xml)
1294 ("docbook-xsl" ,docbook-xsl)
1295 ("libxml2" ,libxml2)
1296 ("libxslt" ,libxslt)))
1297 (inputs
1298 `(("glib" ,glib)
1299 ("appstream-glib" ,appstream-glib)
1300 ("gnome-settings-daemon" ,gnome-settings-daemon)
1301 ("gtk+" ,gtk+)
1302 ("libcanberra" ,libcanberra)
1303 ("libdvdread" ,libdvdread)
1304 ("libnotify" ,libnotify)
1305 ("libpwquality" ,libpwquality)
1306 ("libsecret" ,libsecret)
1307 ("udisks" ,udisks)))
1308 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1309 (synopsis "Disk management utility for GNOME")
1310 (description "Disk management utility for GNOME.")
1311 (license license:gpl2+)))
1312
3d217317
RG
1313(define-public gnome-font-viewer
1314 (package
1315 (name "gnome-font-viewer")
1316 (version "3.30.0")
1317 (source (origin
1318 (method url-fetch)
1319 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1320 (version-major+minor version)
1321 "/gnome-font-viewer-" version ".tar.xz"))
1322 (sha256
1323 (base32
1324 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1325 (build-system meson-build-system)
1326 (arguments
1327 '(#:phases
1328 (modify-phases %standard-phases
1329 (add-after 'unpack 'patch-post-install-script
1330 (lambda _
1331 (substitute* "meson-postinstall.sh"
1332 (("update-desktop-database") (which "true")))
1333 #t)))))
1334 (native-inputs
1335 `(("gettext" ,gettext-minimal)
1336 ("glib:bin" ,glib "bin")
1337 ("pkg-config" ,pkg-config)))
1338 (inputs
1339 `(("glib" ,glib)
1340 ("gnome-desktop" ,gnome-desktop)
1341 ("gtk+" ,gtk+)))
1342 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1343 (synopsis "GNOME Fonts")
1344 (description "Application to show you the fonts installed on your computer
1345for your use as thumbnails. Selecting any thumbnails shows the full view of how
1346the font would look under various sizes.")
1347 (license license:gpl2+)))
1348
8ff49011
RW
1349(define-public gcr
1350 (package
1351 (name "gcr")
bea6b829 1352 (version "3.28.1")
8ff49011 1353 (source (origin
0daf0efb
RW
1354 (method url-fetch)
1355 (uri (string-append "mirror://gnome/sources/" name "/"
1356 (version-major+minor version) "/"
1357 name "-" version ".tar.xz"))
1358 (sha256
1359 (base32
bea6b829 1360 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1361 (patches
1362 (list
1363 ;; This patch solves an ordering issue that showed up when
1364 ;; running the test suite against newer Glib 2.60. See
1365 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1366 (origin
1367 (method url-fetch)
1368 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1369 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1370 (file-name "gcr-hashtable-ordering.patch")
1371 (sha256
1372 (base32
1373 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1374 (build-system gnu-build-system)
1375 (arguments
0daf0efb
RW
1376 '(#:phases
1377 (modify-phases %standard-phases
1378 ;; These fail because /var/lib/dbus/machine-id is not present in the
1379 ;; build environment.
1380 (add-after 'unpack 'disable-failing-tests
1381 (lambda _
1382 (substitute* "gcr/test-system-prompt.c"
1383 (("g_test_add") "//")
1384 (("return.*") "return 0;"))
1385 #t))
1386 (add-before 'check 'pre-check
1387 (lambda _
1388 ;; Some tests expect to write to $HOME.
1389 (setenv "HOME" "/tmp")
1390 #t)))))
8ff49011
RW
1391 (inputs
1392 `(("dbus" ,dbus)
0daf0efb 1393 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1394 ("libgcrypt" ,libgcrypt)))
1395 (native-inputs
0daf0efb 1396 `(("python" ,python-2) ;for tests
8ff49011
RW
1397 ("pkg-config" ,pkg-config)
1398 ("glib" ,glib "bin")
2af4f5b0
SB
1399 ("gobject-introspection" ,gobject-introspection)
1400 ("intltool" ,intltool)
0daf0efb 1401 ("libxml2" ,libxml2)
bea6b829 1402 ("vala" ,vala)
2af4f5b0 1403 ("xsltproc" ,libxslt)))
8ff49011
RW
1404 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1405 (propagated-inputs
1406 `(("p11-kit" ,p11-kit)
1407 ("glib" ,glib)
1408 ("gtk+" ,gtk+)))
f032d0be 1409 (home-page "https://www.gnome.org")
8ff49011
RW
1410 (synopsis "Libraries for displaying certificates and accessing key stores")
1411 (description
1412 "The GCR package contains libraries used for displaying certificates and
1413accessing key stores. It also provides the viewer for crypto files on the
1414GNOME Desktop.")
1415 (license license:lgpl2.1+)))
1416
c1354b90
LC
1417(define-public libgnome-keyring
1418 (package
1419 (name "libgnome-keyring")
5e8aec2c 1420 (version "3.12.0")
c1354b90
LC
1421 (source (origin
1422 (method url-fetch)
b38e45d8
EB
1423 (uri (string-append "mirror://gnome/sources/" name "/"
1424 (version-major+minor version) "/"
1425 name "-" version ".tar.xz"))
c1354b90
LC
1426 (sha256
1427 (base32
5e8aec2c 1428 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1429 (build-system gnu-build-system)
c1354b90 1430 (inputs
c4c4cc05 1431 `(("libgcrypt" ,libgcrypt)
c1354b90 1432 ("dbus" ,dbus)))
c4c4cc05
JD
1433 (native-inputs
1434 `(("pkg-config" ,pkg-config)
426adbe8 1435 ("glib" ,glib "bin")
c4c4cc05 1436 ("intltool" ,intltool)))
c1354b90
LC
1437 (propagated-inputs
1438 ;; Referred to in .h files and .pc.
1439 `(("glib" ,glib)))
f032d0be 1440 (home-page "https://www.gnome.org")
c1354b90
LC
1441 (synopsis "Accessing passwords from the GNOME keyring")
1442 (description
1443 "Client library to access passwords from the GNOME keyring.")
1444
1445 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1446 (license license:lgpl2.0+)))
c1354b90 1447
e99a3d6f
RW
1448(define-public gnome-keyring
1449 (package
1450 (name "gnome-keyring")
ab35cc6e 1451 (version "3.28.2")
e99a3d6f
RW
1452 (source (origin
1453 (method url-fetch)
1454 (uri (string-append "mirror://gnome/sources/" name "/"
1455 (version-major+minor version) "/"
1456 name "-" version ".tar.xz"))
1457 (sha256
1458 (base32
ab35cc6e 1459 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1460 (build-system gnu-build-system)
1461 (arguments
1462 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1463 ;not exist
1464 #:configure-flags
1465 (list
1466 (string-append "--with-pkcs11-config="
1467 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1468 (string-append "--with-pkcs11-modules="
1469 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1470 #:phases
1471 (modify-phases %standard-phases
ab35cc6e
RW
1472 (add-after 'unpack 'fix-/bin/sh-reference
1473 (lambda _
1474 (substitute* "po/Makefile.in.in"
1475 (("/bin/sh") (which "sh")))
1476 #t))
5120f24f
RW
1477 (add-after 'unpack 'fix-docbook
1478 (lambda* (#:key inputs #:allow-other-keys)
1479 (substitute* "docs/Makefile.am"
1480 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1481 (string-append (assoc-ref inputs "docbook-xsl")
1482 "/xml/xsl/docbook-xsl-"
1483 ,(package-version docbook-xsl)
1484 "/manpages/docbook.xsl")))
1485 (setenv "XML_CATALOG_FILES"
1486 (string-append (assoc-ref inputs "docbook-xml")
1487 "/xml/dtd/docbook/catalog.xml"))
1488 ;; Rerun the whole thing to avoid version mismatch ("This is
1489 ;; Automake 1.15.1, but the definition used by this
1490 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1491 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1492 (invoke "autoconf")
1493 (invoke "aclocal")
1494 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1495 (inputs
1496 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1497 ("linux-pam" ,linux-pam)
ab35cc6e 1498 ("openssh" ,openssh)
e99a3d6f
RW
1499 ("dbus" ,dbus)
1500 ("gcr" ,gcr)))
1501 (native-inputs
1502 `(("pkg-config" ,pkg-config)
1503 ("glib" ,glib "bin")
5120f24f 1504 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1505 ("python" ,python-2) ;for tests
1506 ("intltool" ,intltool)
1507 ("autoconf" ,autoconf)
1508 ("automake" ,automake)
1509 ("libxslt" ,libxslt) ;for documentation
1510 ("docbook-xml" ,docbook-xml-4.2)
1511 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1512 (home-page "https://www.gnome.org")
e99a3d6f
RW
1513 (synopsis "Daemon to store passwords and encryption keys")
1514 (description
1515 "gnome-keyring is a program that keeps passwords and other secrets for
1516users. It is run as a daemon in the session, similar to ssh-agent, and other
1517applications locate it via an environment variable or D-Bus.
1518
1519The program can manage several keyrings, each with its own master password,
1520and there is also a session keyring which is never stored to disk, but
1521forgotten when the session ends.")
1522 (license license:lgpl2.1+)))
1523
c1354b90
LC
1524(define-public evince
1525 (package
1526 (name "evince")
936d5642 1527 (version "3.34.2")
c1354b90
LC
1528 (source (origin
1529 (method url-fetch)
ac631328 1530 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1531 (version-major+minor version) "/"
ac631328 1532 "evince-" version ".tar.xz"))
c1354b90
LC
1533 (sha256
1534 (base32
936d5642 1535 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1536 (build-system glib-or-gtk-build-system)
c1354b90 1537 (arguments
169b8f77 1538 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1539 #:phases
1540 (modify-phases %standard-phases
1541 (add-before 'install 'skip-gtk-update-icon-cache
1542 ;; Don't create 'icon-theme.cache'.
1543 (lambda _
1544 (substitute* "data/Makefile"
1545 (("gtk-update-icon-cache") "true"))
1546 #t)))))
c1354b90 1547 (inputs
9a096881
KK
1548 `(("libarchive" ,libarchive)
1549 ("libgxps" ,libgxps)
1550 ("libspectre" ,libspectre)
c769cf9f 1551 ("djvulibre" ,djvulibre)
c1354b90
LC
1552 ("ghostscript" ,ghostscript)
1553 ("poppler" ,poppler)
c769cf9f
SB
1554 ("libtiff" ,libtiff)
1555 ;; TODO:
c769cf9f
SB
1556 ;; Build libkpathsea as a shared library for DVI support.
1557 ;; ("libkpathsea" ,texlive-bin)
1558 ("gnome-desktop" ,gnome-desktop)
c1354b90 1559 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1560 ("gspell" ,gspell)
c1354b90 1561 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1562 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1563 ("gdk-pixbuf" ,gdk-pixbuf)
1564 ("atk" ,atk)
1565 ("pango" ,pango)
1566 ("gtk+" ,gtk+)
1567 ("glib" ,glib)
1568 ("libxml2" ,libxml2)
c1354b90
LC
1569 ("libsm" ,libsm)
1570 ("libice" ,libice)
96e42467 1571 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1572 ("dconf" ,dconf)
1573 ("libcanberra" ,libcanberra)
c769cf9f 1574 ("libsecret" ,libsecret)
a271096b 1575
c1354b90
LC
1576 ;; For tests.
1577 ("dogtail" ,python2-dogtail)))
96e42467 1578 (native-inputs
bcb354ad
SB
1579 `(("itstool" ,itstool)
1580 ("intltool" ,intltool)
426adbe8 1581 ("glib" ,glib "bin")
169b8f77 1582 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1583 ("pkg-config" ,pkg-config)
1584 ("xmllint" ,libxml2)))
c1354b90 1585 (home-page
f032d0be 1586 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1587 (synopsis "GNOME's document viewer")
1588 (description
1589 "Evince is a document viewer for multiple document formats. It
1590currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1591of Evince is to replace the multiple document viewers that exist
96e42467 1592on the GNOME Desktop with a single simple application.")
1dd26275 1593 (license license:gpl2+)))
c1354b90 1594
22e32e69
AE
1595(define-public gsettings-desktop-schemas
1596 (package
1597 (name "gsettings-desktop-schemas")
c900dabd 1598 (version "3.32.0")
22e32e69
AE
1599 (source
1600 (origin
1601 (method url-fetch)
1602 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1603 (version-major+minor version) "/"
22e32e69
AE
1604 name "-" version ".tar.xz"))
1605 (sha256
1606 (base32
c900dabd
KK
1607 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1608 (build-system meson-build-system)
65209ffa
LC
1609 (arguments
1610 '(#:phases (modify-phases %standard-phases
3861fb1c 1611 (add-after 'unpack 'patch-schemas
65209ffa 1612 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1613 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1614 (substitute* (find-files "schemas"
1615 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1616 ;; Provide the correct file name of the default GNOME
1617 ;; background, 'adwaita-timed.xml'.
65209ffa 1618 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1619 (string-append theme "/share/backgrounds/gnome"))
1620 ;; Do not reference fonts, that may not exist.
1621 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1622 #t))))))
22e32e69 1623 (inputs
65209ffa
LC
1624 `(("glib" ,glib)
1625 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1626 (native-inputs
1627 `(("intltool" ,intltool)
426adbe8 1628 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1629 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1630 ("pkg-config" ,pkg-config)))
1631 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1632 (synopsis
1633 "GNOME settings for various desktop components")
1634 (description
1635 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1636for settings shared by various components of the GNOME desktop.")
1dd26275 1637 (license license:lgpl2.1+)))
22e32e69 1638
27477d2d
AE
1639(define-public icon-naming-utils
1640 (package
1641 (name "icon-naming-utils")
1642 (version "0.8.90")
1643 (source
1644 (origin
1645 (method url-fetch)
5cc3096c 1646 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1647 version ".tar.bz2"))
1648 (sha256
1649 (base32
1650 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1651 (build-system gnu-build-system)
1652 (inputs
1653 `(("perl" ,perl)
1654 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1655 (arguments
1656 '(#:phases
dc1d3cde
KK
1657 (modify-phases %standard-phases
1658 (add-after 'install 'set-load-paths
1659 ;; Tell 'icon-name-mapping' where XML::Simple is.
1660 (lambda* (#:key outputs #:allow-other-keys)
1661 (let* ((out (assoc-ref outputs "out"))
1662 (prog (string-append out "/libexec/icon-name-mapping")))
1663 (wrap-program
1664 prog
1665 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1666 #t)))))
27477d2d
AE
1667 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1668 (synopsis
1669 "Utility to implement the Freedesktop Icon Naming Specification")
1670 (description
1671 "To help with the transition to the Freedesktop Icon Naming
1672Specification, the icon naming utility maps the icon names used by the
1673GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1674 (license license:lgpl2.1+)))
27477d2d 1675
7d3f3651
AE
1676(define-public gnome-icon-theme
1677 (package
1678 (name "gnome-icon-theme")
b32f58dd 1679 (version "3.12.0")
7d3f3651
AE
1680 (source
1681 (origin
1682 (method url-fetch)
1683 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1684 (version-major+minor version) "/"
7d3f3651
AE
1685 name "-" version ".tar.xz"))
1686 (sha256
1687 (base32
b32f58dd 1688 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1689 (build-system gnu-build-system)
5613c27d
SB
1690 (arguments
1691 '(#:configure-flags
1692 ;; Don't create 'icon-theme.cache'.
1693 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1694 (true (string-append coreutils "/bin/true")))
1695 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1696 (native-inputs
5613c27d 1697 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1698 ("intltool" ,intltool)
1699 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1700 (home-page "https://wiki.gnome.org/Personalization")
1701 (synopsis "GNOME icon theme")
1702 (description "Icons for the GNOME desktop.")
1dd26275 1703 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1704
14eeefa2
SB
1705;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1706(define-public adwaita-icon-theme
1707 (package (inherit gnome-icon-theme)
1708 (name "adwaita-icon-theme")
9be59d7f 1709 (version "3.32.0")
14eeefa2
SB
1710 (source (origin
1711 (method url-fetch)
1712 (uri (string-append "mirror://gnome/sources/" name "/"
1713 (version-major+minor version) "/"
1714 name "-" version ".tar.xz"))
1715 (sha256
1716 (base32
9be59d7f 1717 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1718 (native-inputs
1719 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1720
ae792dba
RW
1721(define-public tango-icon-theme
1722 (package
1723 (name "tango-icon-theme")
1724 (version "0.8.90")
1725 (source (origin
1726 (method url-fetch)
1727 (uri (string-append "http://tango.freedesktop.org/releases/"
1728 "tango-icon-theme-" version ".tar.bz2"))
1729 (sha256
1730 (base32
1731 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1732 (build-system gnu-build-system)
1733 (native-inputs
1734 `(("icon-naming-utils" ,icon-naming-utils)
1735 ("intltool" ,intltool)
1736 ("imagemagick" ,imagemagick)
1737 ("pkg-config" ,pkg-config)))
1738 (home-page "http://tango-project.org/")
1739 (synopsis "Tango icon theme")
1740 (description "This is an icon theme that follows the Tango visual
1741guidelines.")
1742 (license license:public-domain)))
1743
9167f8e6
LC
1744(define-public shared-mime-info
1745 (package
1746 (name "shared-mime-info")
18138ab9 1747 (version "1.10")
9167f8e6
LC
1748 (source (origin
1749 (method url-fetch)
5cc3096c 1750 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1751 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1752 (sha256
1753 (base32
18138ab9 1754 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1755 (build-system gnu-build-system)
1756 (arguments
1757 ;; The build system appears not to be parallel-safe.
1758 '(#:parallel-build? #f))
1759 (inputs
1760 `(("glib" ,glib)
c4c4cc05 1761 ("libxml2" ,libxml2)))
9167f8e6 1762 (native-inputs
c4c4cc05
JD
1763 `(("intltool" ,intltool)
1764 ("pkg-config" ,pkg-config)))
57e7d748 1765 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1766 (synopsis "Database of common MIME types")
1767 (description
1768 "The shared-mime-info package contains the core database of common types
1769and the update-mime-database command used to extend it. It requires glib2 to
1770be installed for building the update command. Additionally, it uses intltool
1771for translations, though this is only a dependency for the maintainers. This
1772database is translated at Transifex.")
1dd26275 1773 (license license:gpl2+)))
9167f8e6 1774
dd1fcddc
CB
1775(define-public system-config-printer
1776 (package
1777 (name "system-config-printer")
fa01e10d 1778 (version "1.5.12")
a5643044
TGR
1779 (source
1780 (origin
1781 (method url-fetch)
1782 (uri (string-append
1783 "https://github.com/OpenPrinting/system-config-printer/releases/"
1784 "download/" version
1785 "/system-config-printer-" version ".tar.xz"))
1786 (sha256
fa01e10d 1787 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1788 (build-system glib-or-gtk-build-system)
1789 (arguments
1790 `(#:imported-modules ((guix build python-build-system)
1791 ,@%glib-or-gtk-build-system-modules)
1792 #:phases
1793 (modify-phases %standard-phases
1794 (add-after 'unpack 'patch-Makefile.am
1795 (lambda _
1796 ;; The Makefile generates some scripts, so set a valid shebang
1797 (substitute* "Makefile.am"
1798 (("/bin/bash") (which "bash")))
1799 (delete-file "configure")
1800 #t))
1801 (add-after 'unpack 'patch-docbook-xml
1802 (lambda* (#:key inputs #:allow-other-keys)
1803 ;; Modify the man XML otherwise xmlto tries to access the network
1804 (substitute* "man/system-config-printer.xml"
1805 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1806 (string-append (assoc-ref inputs "docbook-xml")
1807 "/xml/dtd/docbook/")))
1808 #t))
1809 (add-after 'install 'wrap-for-python
1810 (@@ (guix build python-build-system) wrap))
1811 (add-after 'install 'wrap
1812 (lambda* (#:key outputs #:allow-other-keys)
1813 (let ((out (assoc-ref outputs "out"))
1814 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1815 (for-each
1816 (lambda (program)
1817 (wrap-program program
1818 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1819 (map (lambda (name)
1820 (string-append out "/bin/" name))
1821 '("system-config-printer"
1822 "system-config-printer-applet"
1823 "install-printerdriver"
1824 "scp-dbus-service"))))
1825 #t)))))
1826 (inputs
1827 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1828 ("gobject-introspection" ,gobject-introspection)
1829 ("python" ,python)
1830 ("cups" ,cups)
1831 ("python-dbus" ,python-dbus)
1832 ("python-pygobject" ,python-pygobject)
1833 ("python-pycups" ,python-pycups)
1834 ("python-requests" ,python-requests)
1835 ("python-pycairo" ,python-pycairo)
1836 ("libnotify" ,libnotify)
1837 ("packagekit" ,packagekit)))
1838 (native-inputs
1839 `(("pkg-config" ,pkg-config)
1840 ("desktop-file-utils" ,desktop-file-utils)
1841 ("glib" ,glib)
1842 ("autoconf" ,autoconf)
1843 ("automake" ,automake)
1844 ("intltool" ,intltool)
1845 ("xmlto" ,xmlto)
1846 ("docbook-xml" ,docbook-xml-4.1.2)
1847 ("docbook-xsl" ,docbook-xsl)
1848 ("libxml2" ,libxml2)))
1849 (home-page "https://github.com/zdohnal/system-config-printer")
1850 (synopsis "CUPS administration tool")
1851 (description
1852 "system-config-printer is a CUPS administration tool. It's written in
1853Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1854configuring CUPS.")
1855 (license license:gpl2+)))
1856
bef4dd92
AE
1857(define-public hicolor-icon-theme
1858 (package
1859 (name "hicolor-icon-theme")
851cb6dd 1860 (version "0.17")
bef4dd92
AE
1861 (source
1862 (origin
1863 (method url-fetch)
5cc3096c 1864 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1865 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1866 (sha256
1867 (base32
851cb6dd 1868 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1869 (build-system gnu-build-system)
1870 (arguments
1871 `(#:tests? #f)) ; no check target
57e7d748 1872 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1873 (synopsis
1874 "Freedesktop icon theme")
1875 (description
1876 "Freedesktop icon theme.")
1dd26275 1877 (license license:gpl2)))
bef4dd92 1878
d9c1a22b
AE
1879(define-public libnotify
1880 (package
1881 (name "libnotify")
195bfa68 1882 (version "0.7.7")
d9c1a22b
AE
1883 (source
1884 (origin
1885 (method url-fetch)
1886 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1887 (version-major+minor version) "/"
d9c1a22b
AE
1888 name "-" version ".tar.xz"))
1889 (sha256
1890 (base32
195bfa68 1891 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1892 (build-system gnu-build-system)
6acf6cec
MB
1893 (arguments
1894 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1895 (propagated-inputs
1896 `(;; In Requires of libnotify.pc.
1897 ("gdk-pixbuf" ,gdk-pixbuf)
1898 ("glib" ,glib)))
d9c1a22b 1899 (inputs
7ef08efa 1900 `(("gtk+" ,gtk+)
c4c4cc05
JD
1901 ("libpng" ,libpng)))
1902 (native-inputs
426adbe8 1903 `(("pkg-config" ,pkg-config)
277a7d82
JN
1904 ("glib" ,glib "bin")
1905 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1906 (home-page "https://developer-next.gnome.org/libnotify/")
1907 (synopsis
1908 "GNOME desktop notification library")
1909 (description
1910 "Libnotify is a library that sends desktop notifications to a
35b9e423 1911notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1912notifications can be used to inform the user about an event or display
1913some form of information without getting in the user's way.")
1dd26275 1914 (license license:lgpl2.1+)))
7a8605ce
CR
1915
1916(define-public libpeas
1917 (package
1918 (name "libpeas")
f2d56e39 1919 (version "1.24.1")
7a8605ce
CR
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1924 (version-major+minor version) "/"
7a8605ce
CR
1925 name "-" version ".tar.xz"))
1926 (sha256
1927 (base32
f2d56e39
MB
1928 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1929 (build-system meson-build-system)
1930 (arguments
1931 '(#:phases
1932 (modify-phases %standard-phases
1933 (add-before 'check 'start-xserver
1934 (lambda* (#:key inputs #:allow-other-keys)
1935 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1936 (disp ":1"))
1937 (setenv "DISPLAY" disp)
1938 ;; Tests require a running X server.
1939 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1940 #t))))))
7a8605ce 1941 (inputs
2ed6522a
SB
1942 `(("gtk+" ,gtk+)
1943 ("glade" ,glade3)
2ed6522a
SB
1944 ("python" ,python)
1945 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1946 (native-inputs
1947 `(("pkg-config" ,pkg-config)
f2d56e39 1948 ("gettext" ,gettext-minimal)
93622993 1949 ("glib:bin" ,glib "bin")
141aed80 1950 ("gobject-introspection" ,gobject-introspection)
f2d56e39 1951 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
1952 (propagated-inputs
1953 ;; The .pc file "Requires" gobject-introspection.
1954 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1955 (home-page "https://wiki.gnome.org/Libpeas")
1956 (synopsis "GObject plugin system")
1957 (description
d1e4ad1b
TGR
1958 "Libpeas is a gobject-based plugin engine, targeted at giving every
1959application the chance to assume its own extensibility. It also has a set of
1960features including, but not limited to: multiple extension points; on-demand
1961(lazy) programming language support for C, Python and JS; simplicity of the
1962API.")
1dd26275 1963 (license license:lgpl2.0+)))
ed19903d
JD
1964
1965(define-public gtkglext
1966 (package
1967 (name "gtkglext")
1968 (version "1.2.0")
1969 (source (origin
1970 (method url-fetch)
0f971a04 1971 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1972 version "/gtkglext-" version ".tar.gz"))
1973 (sha256
1974 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1975 (patches (search-patches
1976 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1977 (build-system gnu-build-system)
14e2f61a
RW
1978 (arguments
1979 `(#:phases
1980 (modify-phases %standard-phases
1981 ;; Fix a collision between a local variable and a definition from
1982 ;; glibc's string.h.
1983 (add-after 'unpack 'fix-collision
1984 (lambda _
1985 (substitute* "gdk/gdkglshapes.c"
1986 ((" index") " triangle_index"))
1987 #t)))))
ed19903d
JD
1988 (inputs `(("gtk+" ,gtk+-2)
1989 ("mesa" ,mesa)
cc8b02f4 1990 ("glu" ,glu)
ed19903d
JD
1991 ("libx11" ,libx11)
1992 ("libxt" ,libxt)))
426adbe8
LC
1993 (native-inputs `(("pkg-config" ,pkg-config)
1994 ("glib" ,glib "bin")))
a83b6a06 1995 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1996 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1997 (synopsis "OpenGL extension to GTK+")
35b9e423 1998 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1999additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2000API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2001 (license license:lgpl2.1+)))
3600420e
JD
2002
2003(define-public glade3
2004 (package
2005 (name "glade")
c6571adb 2006 (version "3.22.1")
b38e45d8
EB
2007 (source (origin
2008 (method url-fetch)
2009 (uri (string-append "mirror://gnome/sources/" name "/"
2010 (version-major+minor version) "/"
f5ca44b8 2011 name "-" version ".tar.xz"))
3600420e 2012 (sha256
f714d9fe 2013 (base32
c6571adb 2014 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2015 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2016 (arguments
2017 `(#:tests? #f ; needs X, GL, and software rendering
2018 #:phases
2019 (modify-phases %standard-phases
2020 (add-before 'configure 'fix-docbook
2021 (lambda* (#:key inputs #:allow-other-keys)
2022 (substitute* "man/Makefile.in"
2023 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2024 (string-append (assoc-ref inputs "docbook-xsl")
2025 "/xml/xsl/docbook-xsl-"
2026 ,(package-version docbook-xsl)
2027 "/manpages/docbook.xsl")))
2028 #t)))))
3600420e 2029 (inputs
f5ca44b8 2030 `(("gtk+" ,gtk+)
3600420e
JD
2031 ("libxml2" ,libxml2)))
2032 (native-inputs
2033 `(("intltool" ,intltool)
f5ca44b8
RW
2034 ("itstool" ,itstool)
2035 ("libxslt" ,libxslt) ;for xsltproc
2036 ("docbook-xml" ,docbook-xml-4.2)
2037 ("docbook-xsl" ,docbook-xsl)
2038 ("python" ,python-2)
3600420e
JD
2039 ("pkg-config" ,pkg-config)))
2040 (home-page "https://glade.gnome.org")
2041 (synopsis "GTK+ rapid application development tool")
2042 (description "Glade is a rapid application development (RAD) tool to
2043enable quick & easy development of user interfaces for the GTK+ toolkit and
2044the GNOME desktop environment.")
1dd26275
LC
2045 (license license:lgpl2.0+)))
2046
2047(define-public libcroco
2048 (package
2049 (name "libcroco")
8bdacad2 2050 (version "0.6.13")
1dd26275
LC
2051 (source (origin
2052 (method url-fetch)
b38e45d8
EB
2053 (uri (string-append "mirror://gnome/sources/" name "/"
2054 (version-major+minor version) "/"
2055 name "-" version ".tar.xz"))
1dd26275
LC
2056 (sha256
2057 (base32
8bdacad2 2058 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2059 (build-system gnu-build-system)
2060 (native-inputs
2061 `(("pkg-config" ,pkg-config)))
2062 (inputs
2063 `(("glib" ,glib)
2064 ("libxml2" ,libxml2)
2065 ("zlib" ,zlib)))
2066 (home-page "https://github.com/GNOME/libcroco")
2067 (synopsis "CSS2 parsing and manipulation library")
2068 (description
2069 "Libcroco is a standalone CSS2 parsing and manipulation library.
2070The parser provides a low level event driven SAC-like API and a CSS object
2071model like API. Libcroco provides a CSS2 selection engine and an experimental
2072XML/CSS rendering engine.")
2073
2074 ;; LGPLv2.1-only.
2075 (license license:lgpl2.1)))
25178594
LC
2076
2077(define-public libgsf
2078 (package
2079 (name "libgsf")
8d1644a1 2080 (version "1.14.46")
25178594
LC
2081 (source (origin
2082 (method url-fetch)
b38e45d8
EB
2083 (uri (string-append "mirror://gnome/sources/" name "/"
2084 (version-major+minor version) "/"
2085 name "-" version ".tar.xz"))
25178594
LC
2086 (sha256
2087 (base32
8d1644a1 2088 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2089 (build-system gnu-build-system)
2090 (native-inputs
2091 `(("intltool" ,intltool)
2092 ("pkg-config" ,pkg-config)))
2093 (inputs
2094 `(("python" ,python)
2095 ("zlib" ,zlib)
2096 ("bzip2" ,bzip2)))
2097 (propagated-inputs
2098 `(("gdk-pixbuf" ,gdk-pixbuf)
2099 ("glib" ,glib)
2100 ("libxml2" ,libxml2)))
f032d0be 2101 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2102 (synopsis "GNOME's Structured File Library")
2103 (description
2104 "Libgsf aims to provide an efficient extensible I/O abstraction for
2105dealing with different structured file formats.")
2106
2107 ;; LGPLv2.1-only.
2108 (license license:lgpl2.1)))
63016e7c
LC
2109
2110(define-public librsvg
f67417a1 2111 (package
35b256f5 2112 (replacement librsvg/fixed)
f67417a1
MB
2113 (name "librsvg")
2114 (version "2.40.20")
2115 (source (origin
2116 (method url-fetch)
2117 (uri (string-append "mirror://gnome/sources/" name "/"
2118 (version-major+minor version) "/"
2119 name "-" version ".tar.xz"))
2120 (sha256
2121 (base32
2122 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2123 (build-system gnu-build-system)
2124 (arguments
2125 `(#:configure-flags
2126 (list "--disable-static"
2127 "--enable-vala") ; needed for e.g. gnome-mines
2128 #:phases
2129 (modify-phases %standard-phases
2130 (add-before 'configure 'pre-configure
2131 (lambda* (#:key inputs #:allow-other-keys)
2132 (substitute* "gdk-pixbuf-loader/Makefile.in"
2133 ;; By default the gdk-pixbuf loader is installed under
2134 ;; gdk-pixbuf's prefix. Work around that.
2135 (("gdk_pixbuf_moduledir = .*$")
2136 (string-append "gdk_pixbuf_moduledir = "
2137 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2138 "loaders\n"))
2139 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2140 (("gdk_pixbuf_cache_file = .*$")
2141 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2142 #t))
2143 (add-before 'check 'remove-failing-tests
2144 (lambda _
2145 (with-directory-excursion "tests/fixtures/reftests"
2146 (for-each delete-file
2147 '(;; This test fails on i686:
2148 "svg1.1/masking-path-04-b.svg"
2149 ;; This test fails on armhf:
2150 "svg1.1/masking-mask-01-b.svg"
2151 ;; This test fails on aarch64:
2152 "bugs/777834-empty-text-children.svg")))
2153 #t)))))
2154 (native-inputs
2155 `(("pkg-config" ,pkg-config)
2156 ("vala" ,vala)
2157 ("glib" ,glib "bin") ; glib-mkenums, etc.
2158 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2159 (inputs
2160 `(("pango" ,pango)
2161 ("libcroco" ,libcroco)
2162 ("bzip2" ,bzip2)
2163 ("libgsf" ,libgsf)
2164 ("libxml2" ,libxml2)))
2165 (propagated-inputs
2166 ;; librsvg-2.0.pc refers to all of that.
2167 `(("cairo" ,cairo)
2168 ("gdk-pixbuf" ,gdk-pixbuf)
2169 ("glib" ,glib)))
2170 (home-page "https://wiki.gnome.org/LibRsvg")
2171 (synopsis "Render SVG files using Cairo")
2172 (description
2173 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2174library.")
2175 (license license:lgpl2.0+)))
2176
23f33de1
EF
2177(define librsvg/fixed
2178 (package
2179 (inherit librsvg)
2180 (name "librsvg")
2181 (version "2.40.21")
2182 (source (origin
2183 (method url-fetch)
2184 (uri (string-append "mirror://gnome/sources/" name "/"
2185 (version-major+minor version) "/"
2186 name "-" version ".tar.xz"))
2187 (sha256
2188 (base32
2189 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2190
f67417a1 2191(define-public librsvg-next
63016e7c 2192 (package
25d39a2a 2193 (inherit librsvg)
63016e7c 2194 (name "librsvg")
3276e123 2195 (version "2.46.4")
69568670
EF
2196 (source (origin
2197 (method url-fetch)
2198 (uri (string-append "mirror://gnome/sources/librsvg/"
2199 (version-major+minor version) "/"
2200 "librsvg-" version ".tar.xz"))
2201 (sha256
2202 (base32
2203 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2204 (modules '((guix build utils)))
2205 (snippet
2206 '(begin (delete-file-recursively "vendor")
2207 ;; Don't demand an exact version for string_cache
2208 (substitute* "rsvg_internals/Cargo.toml"
2209 (("\"=") "\""))
2210 #t))))
2211 (build-system cargo-build-system)
63016e7c 2212 (arguments
69568670
EF
2213 `(#:modules ((guix build cargo-build-system)
2214 (guix build utils)
2215 ((guix build gnu-build-system) #:prefix gnu:))
2216 #:vendor-dir "vendor"
2217 #:cargo-inputs
2218 (("rust-bitflags" ,rust-bitflags-1)
2219 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2220 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2221 ("rust-cssparser" ,rust-cssparser-0.25)
2222 ("rust-data-url" ,rust-data-url-0.1)
2223 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2224 ("rust-encoding" ,rust-encoding-0.2)
2225 ("rust-float-cmp" ,rust-float-cmp-0.5)
2226 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2227 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2228 ("rust-gio" ,rust-gio-0.7)
2229 ("rust-gio-sys" ,rust-gio-sys-0.9)
2230 ("rust-glib" ,rust-glib-0.8)
2231 ("rust-glib-sys" ,rust-glib-sys-0.9)
2232 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2233 ("rust-itertools" ,rust-itertools-0.8)
2234 ("rust-language-tags" ,rust-language-tags-0.2)
2235 ("rust-lazy-static" ,rust-lazy-static-1)
2236 ("rust-libc" ,rust-libc-0.2)
2237 ("rust-locale-config" ,rust-locale-config-0.3)
2238 ("rust-markup5ever" ,rust-markup5ever-0.9)
2239 ("rust-nalgebra" ,rust-nalgebra-0.18)
2240 ("rust-num-traits" ,rust-num-traits-0.2)
2241 ("rust-pkg-config" ,rust-pkg-config-0.3)
2242 ("rust-pango" ,rust-pango-0.7)
2243 ("rust-pango-sys" ,rust-pango-sys-0.9)
2244 ("rust-pangocairo" ,rust-pangocairo-0.8)
2245 ("rust-phf" ,rust-phf-0.7)
2246 ("rust-rayon" ,rust-rayon-1.3)
2247 ("rust-rctree" ,rust-rctree-0.3)
2248 ("rust-string-cache" ,rust-string-cache-0.7)
2249 ("rust-regex" ,rust-regex-1.3)
2250 ("rust-url" ,rust-url-2.1)
2251 ("rust-xml-rs" ,rust-xml-rs-0.8))
2252 #:cargo-development-inputs
2253 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2254 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2255 #:phases
b6239e45 2256 (modify-phases %standard-phases
69568670 2257 (add-after 'unpack 'prepare-for-build
ec47c07d 2258 (lambda _
69568670
EF
2259 ;; In lieu of #:make-flags
2260 (setenv "CC" "gcc")
2261 ;; Something about the build environment resists building
2262 ;; successfully with the '--locked' flag.
2263 (substitute* '("Makefile.am"
2264 "Makefile.in")
2265 (("--locked") ""))
2266 #t))
b6239e45 2267 (add-before 'configure 'pre-configure
69568670 2268 (lambda _
b6239e45
EF
2269 (substitute* "gdk-pixbuf-loader/Makefile.in"
2270 ;; By default the gdk-pixbuf loader is installed under
2271 ;; gdk-pixbuf's prefix. Work around that.
2272 (("gdk_pixbuf_moduledir = .*$")
2273 (string-append "gdk_pixbuf_moduledir = "
2274 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2275 "loaders\n"))
2276 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2277 (("gdk_pixbuf_cache_file = .*$")
2278 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2279 #t))
69568670
EF
2280 (add-after 'configure 'gnu-configure
2281 (assoc-ref gnu:%standard-phases 'configure))
2282 ;(lambda* (#:key outputs #:allow-other-keys)
2283 ; ((assoc-ref gnu:%standard-phases 'configure)
2284 ; #:outputs outputs
2285 ; #:configure-flags ("--disable-static"
2286 ; "--enable-vala"))))
2287 (add-after 'configure 'dont-vendor-self
2288 (lambda* (#:key vendor-dir #:allow-other-keys)
2289 ;; Don't keep the whole tarball in the vendor directory
2290 (delete-file-recursively
2291 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2292 #t))
2293 (replace 'build
2294 (assoc-ref gnu:%standard-phases 'build))
2295 (replace 'check
2296 (lambda* args
2297 ((assoc-ref gnu:%standard-phases 'check)
2298 #:test-target "check")))
2299 (replace 'install
2300 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2301 (add-before 'check 'remove-failing-tests
b6239e45 2302 (lambda _
64a153bd
MW
2303 (with-directory-excursion "tests/fixtures/reftests"
2304 (for-each delete-file
ec47c07d
MB
2305 '(;; The images produced by these tests differ slightly
2306 ;; from their reference counterparts due to differences
2307 ;; in the build environment (missing fonts, etc). See
2308 ;; <tests/README.md> for details.
2309 ;; These fail on x86_64.
2310 "svg1.1/coords-viewattr-02-b.svg"
2311 "svg1.1/filters-composite-04-f.svg"
2312 "svg1.1/filters-image-01-b.svg"
2313 "svg1.1/filters-conv-02-f.svg"
2314 "svg1.1/filters-conv-04-f.svg"
2315 ;; This test fails on i686:
64a153bd 2316 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2317 ;; This test fails on armhf:
2318 "svg1.1/masking-mask-01-b.svg"
64a153bd 2319 ;; This test fails on aarch64:
ec47c07d 2320 "bugs/777834-empty-text-children.svg")))
b6239e45 2321 #t)))))
cf9dad6c 2322 (license license:lgpl2.1+)))
5698b8b8
JD
2323
2324(define-public libidl
2325 (package
2326 (name "libidl")
2327 (version "0.8.14")
2328 (source (origin
2329 (method url-fetch)
80a06e62
EF
2330 (uri (string-append "mirror://gnome/sources/libIDL/"
2331 (version-major+minor version) "/"
2332 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2333 (sha256
2334 (base32
2335 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2336 (build-system gnu-build-system)
2337 (inputs `(("glib" ,glib)))
2338 (native-inputs
2339 `(("pkg-config" ,pkg-config)
b3546174 2340 ("flex" ,flex)
5698b8b8
JD
2341 ("bison" ,bison)))
2342 (home-page "http://freecode.com/projects/libidl")
2343 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2344 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2345Definition Language (idl) files, which is a specification for defining
2346portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2347GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2348functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2349 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2350 (license license:lgpl2.0+)))
2351
2352
2353(define-public orbit2
2354 (package
2355 (name "orbit2")
2356 (version "2.14.19")
2357 (source (origin
2358 (method url-fetch)
2e6ecc5c 2359 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2360 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2361 (version-major+minor version) "/"
2362 upstream-name "-" version ".tar.bz2")))
5698b8b8 2363 (sha256
a124bbd2
SB
2364 (base32
2365 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2366 (build-system gnu-build-system)
2367 (arguments
a124bbd2 2368 `(#:configure-flags
8aad2e32
LC
2369 '(;; We don't need static libraries, plus they don't build reproducibly
2370 ;; (non-deterministic ordering of .o files in the archive.)
2371 "--disable-static"
2372
2373 ;; The programmer kindly gives us a hook to turn off deprecation
2374 ;; warnings ...
2375 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2376 ;; ... which they then completly ignore !!
2377 #:phases
dc1d3cde
KK
2378 (modify-phases %standard-phases
2379 (add-before 'configure 'ignore-deprecations
2380 (lambda _
2381 (substitute* "linc2/src/Makefile.in"
2382 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2383 #t)))))
5698b8b8
JD
2384 (inputs `(("glib" ,glib)
2385 ("libidl" ,libidl)))
2386 (native-inputs
2387 `(("pkg-config" ,pkg-config)))
2388 (home-page "https://projects.gnome.org/orbit2/")
2389 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2390 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2391featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2392 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2393 ;; a version. SOME of the code files have licence notices for GPLv2+.
2394 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2395 (license license:gpl2+)
2396 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2397
2398
2399(define-public libbonobo
2400 (package
2401 (name "libbonobo")
2402 (version "2.32.1")
2403 (source (origin
2404 (method url-fetch)
5becd025 2405 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2406 (version-major+minor version)
5becd025 2407 "/" name "-" version ".tar.bz2"))
5698b8b8 2408 (sha256
f1fc45a9 2409 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2410 (patches (search-patches
2411 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2412 (build-system gnu-build-system)
2413 (arguments
2414 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2415 `(#:configure-flags
2416 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2417 ;; ... which they then completly ignore !!
2418 #:phases
dc1d3cde
KK
2419 (modify-phases %standard-phases
2420 (add-before 'configure 'ignore-deprecations
2421 (lambda _
2422 (substitute* "activation-server/Makefile.in"
2423 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2424 #t)))
2425
2426 ;; There's apparently a race condition between the server stub
2427 ;; generation and linking of the example under 'samples/echo' that can
2428 ;; lead do undefined references when building in parallel, as reported
2429 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2430 ;; Thus, disable parallel builds.
2431 #:parallel-build? #f))
5698b8b8
JD
2432 (inputs `(("popt" ,popt)
2433 ("libxml2" ,libxml2)))
2434 ;; The following are Required by the .pc file
44add1ce 2435 (propagated-inputs
5698b8b8
JD
2436 `(("glib" ,glib)
2437 ("orbit2" ,orbit2)))
2438 (native-inputs
2439 `(("intltool" ,intltool)
2440 ("pkg-config" ,pkg-config)
221ed17a 2441 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2442 ("flex" ,flex)
2443 ("bison" ,bison)))
2444 (home-page "https://developer.gnome.org/libbonobo/")
2445 (synopsis "Framework for creating reusable components for use in GNOME applications")
2446 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2447use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2448 ;; Licence not explicitly stated. Source files contain no licence notices.
2449 ;; Tarball contains text of both GPLv2 and LGPLv2
2450 ;; GPLv2 covers both conditions
2451 (license license:gpl2+)))
2452
2453
2454(define-public gconf
2455 (package
2456 (name "gconf")
2457 (version "3.2.6")
2458 (source (origin
2459 (method url-fetch)
a124bbd2
SB
2460 (uri
2461 (let ((upstream-name "GConf"))
2462 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2463 (version-major+minor version) "/"
2464 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2465 (sha256
2466 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2467 (build-system gnu-build-system)
2e88d113 2468 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2469 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2470 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2471 ("orbit2" ,orbit2)))
5698b8b8
JD
2472 (native-inputs
2473 `(("intltool" ,intltool)
221ed17a 2474 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2475 ("pkg-config" ,pkg-config)))
2476 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2477 (synopsis "Store application preferences")
2478 (description "Gconf is a system for storing application preferences. It
2479is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2480 (license license:lgpl2.0+)
2481 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2482
2483
2484(define-public gnome-mime-data
2485 (package
2486 (name "gnome-mime-data")
2487 (version "2.18.0")
2488 (source (origin
2489 (method url-fetch)
b38e45d8
EB
2490 (uri (string-append "mirror://gnome/sources/" name "/"
2491 (version-major+minor version) "/"
2492 name "-" version ".tar.bz2"))
5698b8b8
JD
2493 (sha256
2494 (base32
2495 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2496 (build-system gnu-build-system)
2497 (native-inputs
2498 `(("perl" ,perl)
2499 ("intltool" ,intltool)))
3e6add96
LC
2500 (arguments
2501 '(#:phases (modify-phases %standard-phases
2502 (add-after 'configure 'use-our-intltool
2503 (lambda _
2504 ;; Do not use the bundled intltool commands, which lack
2505 ;; the "dotless @INC" fixes of our 'intltool' package.
2506 (substitute* (find-files "." "^Makefile$")
2507 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2508 (string-append "INTLTOOL_" tool " = intltool-"
2509 (string-downcase tool) "\n")))
2510 #t)))))
f032d0be 2511 (home-page "https://www.gnome.org")
35b9e423 2512 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2513 (description "GNOME Mime Data is a module which contains the base MIME
2514and Application database for GNOME. The data stored by this module is
2515designed to be accessed through the MIME functions in GnomeVFS.")
2516 (license license:gpl2+)))
2517
2518
2519(define-public gnome-vfs
2520 (package
2521 (name "gnome-vfs")
2522 (version "2.24.4")
2523 (source (origin
2524 (method url-fetch)
b38e45d8
EB
2525 (uri (string-append "mirror://gnome/sources/" name "/"
2526 (version-major+minor version) "/"
2527 name "-" version ".tar.bz2"))
5698b8b8 2528 (sha256
9e12bc34
MW
2529 (base32
2530 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2531 (build-system gnu-build-system)
2532 (arguments
db5127d8 2533 `(#:phases
dc1d3cde
KK
2534 (modify-phases %standard-phases
2535 (add-before 'configure 'ignore-deprecations
2536 (lambda _
2537 (substitute* '("libgnomevfs/Makefile.in"
2538 "daemon/Makefile.in")
2539 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2540 #t))
2541 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2542 (lambda _
2543 (substitute* "test/test-async-cancel.c"
2544 (("EXIT_FAILURE") "77"))
2545 #t)))))
2e6ecc5c 2546 (inputs `(("libxml2" ,libxml2)
5698b8b8 2547 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2548 ("gconf" ,gconf)
2549 ("gnome-mime-data" ,gnome-mime-data)
2550 ("zlib" ,zlib)))
2551 (native-inputs
221ed17a
EB
2552 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2553 ("intltool" ,intltool)
5698b8b8
JD
2554 ("pkg-config" ,pkg-config)))
2555 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2556 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2557 (description
2558 "GnomeVFS is the core library used to access files and folders in GNOME
2559applications. It provides a file system abstraction which allows applications
2560to access local and remote files with a single consistent API.")
5698b8b8
JD
2561 (license license:lgpl2.0+)))
2562
2563
2564
2565(define-public libgnome
2566 (package
2567 (name "libgnome")
2568 (version "2.32.1")
2569 (source (origin
2570 (method url-fetch)
b38e45d8
EB
2571 (uri (string-append "mirror://gnome/sources/" name "/"
2572 (version-major+minor version) "/"
2573 name "-" version ".tar.bz2"))
5698b8b8
JD
2574 (sha256
2575 (base32
17c3eea7
LC
2576 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2577 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2578 (build-system gnu-build-system)
2579 (arguments
2580 `(#:phases
dc1d3cde
KK
2581 (modify-phases %standard-phases
2582 (add-before 'configure 'enable-deprecated
2583 (lambda _
2584 (substitute* "libgnome/Makefile.in"
2585 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2586 #t)))))
25338e9f 2587 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2588 (native-inputs
221ed17a
EB
2589 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2590 ("intltool" ,intltool)
5698b8b8
JD
2591 ("pkg-config" ,pkg-config)))
2592 ;; The following are listed as Required in the .pc file
2593 ;; (except for libcanberra -- which seems to be oversight on the part
2594 ;; of the upstream developers -- anything that links against libgnome,
2595 ;; must also link against libcanberra
2596 (propagated-inputs
2597 `(("libcanberra" ,libcanberra)
2598 ("libbonobo" ,libbonobo)
2599 ("gconf" ,gconf)
a640d3d5
LC
2600 ("gnome-vfs" ,gnome-vfs)
2601 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2602 (home-page "https://developer.gnome.org/libgnome/")
2603 (synopsis "Useful routines for building applications")
2604 (description "The libgnome library provides a number of useful routines
2605for building modern applications, including session management, activation of
2606files and URIs, and displaying help.")
2607 (license license:lgpl2.0+)))
2608
2609
2610(define-public libart-lgpl
2611 (package
2612 (name "libart-lgpl")
76c9b6aa 2613 (version "2.3.21")
5698b8b8
JD
2614 (source (origin
2615 (method url-fetch)
2616 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2617 (string-append "mirror://gnome/sources/" upstream-name "/"
2618 (version-major+minor version) "/"
2619 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2620 (sha256
2621 (base32
76c9b6aa 2622 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2623 (build-system gnu-build-system)
2624 (native-inputs
2625 `(("pkg-config" ,pkg-config)))
2626 (home-page "https://people.gnome.org/~mathieu/libart")
2627 (synopsis "2D drawing library")
2e6ecc5c 2628 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2629high-quality vector-based 2D library with antialiasing and alpha composition.")
2630 (license license:lgpl2.0+)))
2631
2632
2633
2634(define-public libgnomecanvas
2635 (package
2636 (name "libgnomecanvas")
2637 (version "2.30.3")
2638 (source (origin
2639 (method url-fetch)
b38e45d8
EB
2640 (uri (string-append "mirror://gnome/sources/" name "/"
2641 (version-major+minor version) "/"
2642 name "-" version ".tar.gz"))
5698b8b8
JD
2643 (sha256
2644 (base32
2645 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2646 (build-system gnu-build-system)
2647 ;; Mentioned as Required in the .pc file
2648 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2649 ("gtk+" ,gtk+-2)))
2650 (native-inputs
2651 `(("intltool" ,intltool)
221ed17a 2652 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2653 ("pkg-config" ,pkg-config)))
2654 (home-page "https://developer.gnome.org/libgnomecanvas/")
2655 (synopsis "Flexible widget for creating interactive structured graphics")
2656 (description "The GnomeCanvas widget provides a flexible widget for
2657creating interactive structured graphics.")
2658 (license license:lgpl2.0+)))
2659
eadc734e
RW
2660(define-public libgnomecanvasmm
2661 (package
2662 (name "libgnomecanvasmm")
2663 (version "2.26.0")
2664 (source (origin
2665 (method url-fetch)
2666 (uri (string-append "mirror://gnome/sources/" name "/"
2667 (version-major+minor version) "/"
2668 name "-" version ".tar.bz2"))
2669 (sha256
2670 (base32
2671 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2672 (build-system gnu-build-system)
2673 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2674 (native-inputs
2675 `(("gtkmm-2" ,gtkmm-2)
2676 ("pkg-config" ,pkg-config)))
8e933cb3 2677 (home-page "https://gtkmm.org")
eadc734e
RW
2678 (synopsis "C++ bindings to the GNOME Canvas library")
2679 (description "C++ bindings to the GNOME Canvas library.")
2680 (license license:lgpl2.0+)))
2681
5698b8b8
JD
2682(define-public libgnomeui
2683 (package
2684 (name "libgnomeui")
2685 (version "2.24.5")
2686 (source (origin
2687 (method url-fetch)
b38e45d8
EB
2688 (uri (string-append "mirror://gnome/sources/" name "/"
2689 (version-major+minor version) "/"
2690 name "-" version ".tar.bz2"))
8fa1872a 2691 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2692 (sha256
2693 (base32
2694 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2695 (build-system gnu-build-system)
2696 ;; Mentioned as Required in the .pc file
0a38a497
AE
2697 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2698 ("libgnome" ,libgnome)
2699 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2700 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2701 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2702 ("popt" ,popt)
2703 ("libbonobo" ,libbonobo)
2704 ("libxml2" ,libxml2)
2705 ("libglade" ,libglade)))
2706 (native-inputs
221ed17a
EB
2707 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2708 ("intltool" ,intltool)
5698b8b8
JD
2709 ("pkg-config" ,pkg-config)))
2710 (home-page "https://developer.gnome.org/libgnomeui/")
2711 (synopsis "Additional widgets for applications")
35b9e423 2712 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2713applications. Many of the widgets from libgnomeui have already been
2714ported to GTK+.")
5698b8b8
JD
2715 (license license:lgpl2.0+)))
2716
2717(define-public libglade
2718 (package
2719 (name "libglade")
2720 (version "2.6.4")
2721 (source (origin
2722 (method url-fetch)
b38e45d8
EB
2723 (uri (string-append "mirror://gnome/sources/" name "/"
2724 (version-major+minor version) "/"
2725 name "-" version ".tar.bz2"))
5698b8b8
JD
2726 (sha256
2727 (base32
2728 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2729 (build-system gnu-build-system)
2730 (inputs
92dcc23d
AE
2731 `(("python" ,python))) ;; needed for the optional libglade-convert program
2732 (propagated-inputs
5698b8b8 2733 `(("gtk+-2" ,gtk+-2)
92dcc23d 2734 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2735 (native-inputs
2736 `(("pkg-config" ,pkg-config)))
2737 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2738 (synopsis "Load glade interfaces and access the glade built widgets")
2739 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2740graphical interfaces described in glade files and for accessing the
2741widgets built in the loading process.")
2742 (license license:gpl2+))) ; This is correct. GPL not LGPL
2743
2744(define-public libgnomeprint
eb497b66
LC
2745 ;; This library has been deprecated since 2006; see
2746 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2747 (package
2748 (name "libgnomeprint")
d19db454 2749 (version "2.18.8")
5698b8b8
JD
2750 (source (origin
2751 (method url-fetch)
b38e45d8
EB
2752 (uri (string-append "mirror://gnome/sources/" name "/"
2753 (version-major+minor version) "/"
2754 name "-" version ".tar.bz2"))
5698b8b8
JD
2755 (sha256
2756 (base32
d19db454 2757 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2758 (build-system gnu-build-system)
2759 (inputs
2760 `(("popt" ,popt)
2761 ("libart-lgpl" ,libart-lgpl)
2762 ("gtk+" ,gtk+-2)
44add1ce 2763 ("libxml2" ,libxml2)))
5698b8b8
JD
2764 (native-inputs
2765 `(("intltool" ,intltool)
221ed17a 2766 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2767 ("pkg-config" ,pkg-config)))
2768 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2769 (synopsis "Printing framework for GNOME")
eb497b66
LC
2770 (description
2771 "GNOME-print was a printing framework for GNOME. It has been deprecated
2772since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2773 (license license:lgpl2.0+)))
2774
2775
2776(define-public libgnomeprintui
eb497b66 2777 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2778 (package
2779 (name "libgnomeprintui")
36053d7f 2780 (version "2.18.6")
5698b8b8
JD
2781 (source (origin
2782 (method url-fetch)
b38e45d8
EB
2783 (uri (string-append "mirror://gnome/sources/" name "/"
2784 (version-major+minor version) "/"
2785 name "-" version ".tar.bz2"))
5698b8b8
JD
2786 (sha256
2787 (base32
36053d7f 2788 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2789 (build-system gnu-build-system)
2790 ;; Mentioned as Required in the .pc file
2791 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2792 (inputs `(("gtk+" ,gtk+-2)
2793 ("glib" ,glib)
2794 ("gnome-icon-theme" ,gnome-icon-theme)
2795 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2796 ("libxml2" ,libxml2)))
5698b8b8
JD
2797 (native-inputs
2798 `(("intltool" ,intltool)
2799 ("pkg-config" ,pkg-config)))
2800 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2801 (synopsis "Printing framework for GNOME")
eb497b66 2802 (description (package-description libgnomeprint))
5698b8b8
JD
2803 (license license:lgpl2.0+)))
2804
5698b8b8
JD
2805(define-public libbonoboui
2806 (package
2807 (name "libbonoboui")
2808 (version "2.24.5")
2809 (source (origin
2810 (method url-fetch)
b38e45d8
EB
2811 (uri (string-append "mirror://gnome/sources/" name "/"
2812 (version-major+minor version) "/"
2813 name "-" version ".tar.bz2"))
5698b8b8
JD
2814 (sha256
2815 (base32
2816 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2817 (build-system gnu-build-system)
2818 (arguments
2819 `(#:phases
dc1d3cde
KK
2820 (modify-phases %standard-phases
2821 (add-before 'check 'start-xserver
2822 (lambda* (#:key inputs #:allow-other-keys)
2823 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2824 (disp ":1"))
2825
2826 (setenv "HOME" (getcwd))
2827 (setenv "DISPLAY" disp)
2828 ;; There must be a running X server and make check doesn't start one.
2829 ;; Therefore we must do it.
2830 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2831 ;; Mentioned as Required by the .pc file
2832 (propagated-inputs `(("libxml2" ,libxml2)))
2833 (inputs
2834 `(("popt" ,popt)
2835 ("pangox-compat" ,pangox-compat)
2836 ("libgnome" ,libgnome)
2837 ("libgnomecanvas" ,libgnomecanvas)
2838 ("libglade" ,libglade)))
2839 (native-inputs
221ed17a
EB
2840 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2841 ("intltool" ,intltool)
ff337525 2842 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2843 ("pkg-config" ,pkg-config)))
2844 (home-page "https://developer.gnome.org/libbonoboui/")
2845 (synopsis "Some user interface controls using Bonobo")
2846 (description "The Bonobo UI library provides a number of user interface
2847controls using the Bonobo component framework.")
2848 (license license:lgpl2.0+)))
2849
fecbf86e
SB
2850(define-public libwnck
2851 (package
2852 (name "libwnck")
d3b40696 2853 (version "3.32.0")
fecbf86e
SB
2854 (source (origin
2855 (method url-fetch)
2856 (uri (string-append "mirror://gnome/sources/" name "/"
2857 (version-major+minor version) "/"
2858 name "-" version ".tar.xz"))
2859 (sha256
ad9b8987 2860 (base32
d3b40696
KK
2861 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2862 (build-system meson-build-system)
fecbf86e
SB
2863 (native-inputs
2864 `(("pkg-config" ,pkg-config)
d3b40696
KK
2865 ("glib" ,glib "bin") ; for glib-mkenums
2866 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2867 ("intltool" ,intltool)))
2868 (propagated-inputs
427476d5
SB
2869 `(("gtk+" ,gtk+)
2870 ("libxres" ,libxres)
2871 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2872 (home-page "https://developer.gnome.org/libwnck/")
2873 (synopsis "Window Navigator Construction Kit")
2874 (description
2875 "Libwnck is the Window Navigator Construction Kit, a library for use in
2876writing pagers, tasklists, and more generally applications that are dealing
2877with window management. It tries hard to respect the Extended Window Manager
2878Hints specification (EWMH).")
2879 (license license:lgpl2.0+)))
2880
2881;; stable version for gtk2, required by xfwm4.
dbb7a081 2882(define-public libwnck-2
fecbf86e
SB
2883 (package (inherit libwnck)
2884 (name "libwnck")
2885 (version "2.30.7")
2886 (source (origin
2887 (method url-fetch)
2888 (uri (string-append "mirror://gnome/sources/" name "/"
2889 (version-major+minor version) "/"
2890 name "-" version ".tar.xz"))
2891 (sha256
2892 (base32
2893 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2894 (build-system gnu-build-system)
2895 (native-inputs
2896 `(("pkg-config" ,pkg-config)
2897 ("intltool" ,intltool)))
fecbf86e 2898 (propagated-inputs
427476d5
SB
2899 `(("gtk+" ,gtk+-2)
2900 ("libxres" ,libxres)
2901 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2902
2903(define-public goffice
2904 (package
2905 (name "goffice")
09abffcc 2906 (version "0.10.46")
b804c61e
JD
2907 (source (origin
2908 (method url-fetch)
16243f0b 2909 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2910 (version-major+minor version) "/"
16243f0b 2911 "goffice-" version ".tar.xz"))
b804c61e 2912 (sha256
09abffcc 2913 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2914 (build-system gnu-build-system)
72a06d3e 2915 (outputs '("out"
355420c6 2916 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2917 (arguments
2918 '(#:configure-flags (list (string-append "--with-html-dir="
2919 (assoc-ref %outputs "doc")
2920 "/share/gtk-doc/html"))))
b804c61e
JD
2921 (inputs
2922 `(("gtk+" ,gtk+)
2923 ("libgsf" ,libgsf)
2924 ("librsvg" ,librsvg)
2925 ("libxslt" ,libxslt)
2926 ("libxml2" ,libxml2)))
2927 (native-inputs
2928 `(("intltool" ,intltool)
f280cdb1 2929 ("glib" ,glib "bin")
b804c61e
JD
2930 ("pkg-config" ,pkg-config)))
2931 (home-page "https://developer.gnome.org/goffice/")
2932 (synopsis "Document-centric objects and utilities")
2933 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2934 (license
b804c61e
JD
2935 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2936 ;; Note: NOT LGPL
2937 (list license:gpl2 license:gpl3))))
2938
c024ae36
RW
2939(define-public goffice-0.8
2940 (package (inherit goffice)
2941 (version "0.8.17")
2942 (source (origin
2943 (method url-fetch)
2944 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2945 (version-major+minor version) "/"
2946 (package-name goffice) "-" version ".tar.xz"))
2947 (sha256
2948 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2949 (arguments
2950 `(#:phases
dc1d3cde
KK
2951 (modify-phases %standard-phases
2952 (add-after 'unpack 'fix-pcre-check
2953 (lambda _
2954 ;; Only glib.h can be included directly. See
2955 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2956 (substitute* "configure"
2957 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2958
2959 ,@(package-arguments goffice)))
c024ae36
RW
2960 (propagated-inputs
2961 ;; libgoffice-0.8.pc mentions libgsf-1
2962 `(("libgsf" ,libgsf)))
2963 (inputs
2964 `(("gtk" ,gtk+-2)
2965 ,@(alist-delete "gtk" (package-inputs goffice))))))
2966
b804c61e
JD
2967(define-public gnumeric
2968 (package
2969 (name "gnumeric")
f0517b5d 2970 (version "1.12.46")
b804c61e
JD
2971 (source (origin
2972 (method url-fetch)
b7fd0217 2973 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2974 (version-major+minor version) "/"
b7fd0217 2975 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2976 (sha256
2977 (base32
f0517b5d 2978 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2979 (build-system glib-or-gtk-build-system)
b804c61e
JD
2980 (arguments
2981 `(;; The gnumeric developers don't worry much about failing tests.
2982 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2983 #:tests? #f
b804c61e 2984 #:phases
7bcbd40d
EF
2985 (modify-phases %standard-phases
2986 (add-before
2987 'configure 'pre-conf
2988 (lambda* (#:key outputs #:allow-other-keys)
2989 ;; Make install tries to write into the directory of goffice
2990 ;; I am informed that this only affects the possibility to embed a
2991 ;; spreadsheet inside an Abiword document. So presumably when we
2992 ;; package Abiword we'll have to refer it to this directory.
2993 (substitute* "configure"
2994 (("^GOFFICE_PLUGINS_DIR=.*")
2995 (string-append "GOFFICE_PLUGINS_DIR="
2996 (assoc-ref outputs "out")
2997 "/goffice/plugins"))))))))
b804c61e
JD
2998 (inputs
2999 `(("glib" ,glib)
3000 ("gtk+" ,gtk+)
3001 ("goffice" ,goffice)
3002 ("libgsf" ,libgsf)
7bcbd40d 3003 ("librsvg" ,librsvg)
b804c61e 3004 ("libxml2" ,libxml2)
7bcbd40d 3005 ("libxslt" ,libxslt)
2e4c5457 3006 ("python" ,python-2)
6983ba56 3007 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3008 ("zlib" ,zlib)))
3009 (native-inputs
6983ba56 3010 `(("bison" ,bison)
1ed398d1 3011 ("docbook-xml" ,docbook-xml)
6983ba56 3012 ("intltool" ,intltool)
3a2efbc8 3013 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3014 ("glib:bin" ,glib "bin")
b804c61e
JD
3015 ("pkg-config" ,pkg-config)))
3016 (home-page "http://www.gnumeric.org")
66672a45
LC
3017 (synopsis "Spreadsheet application")
3018 (description
3019 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3020interoperable with other spreadsheet applications. It has a vast array of
3021features beyond typical spreadsheet functionality, such as support for linear
3022and non-linear solvers, statistical analysis, and telecommunication
3023engineering.")
3024 (license
b804c61e
JD
3025 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3026 (list license:gpl2 license:gpl3))))
6f885c05
FB
3027
3028(define-public gnome-themes-standard
3029 (package
3030 (name "gnome-themes-standard")
0b7b8fb0 3031 (version "3.22.3")
6f885c05
FB
3032 (source
3033 (origin
3034 (method url-fetch)
2e6ecc5c 3035 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3036 (version-major+minor version) "/" name "-"
3037 version ".tar.xz"))
3038 (sha256
3039 (base32
0b7b8fb0 3040 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3041 (build-system gnu-build-system)
8ac70c7f
SB
3042 (arguments
3043 '(#:configure-flags
3044 ;; Don't create 'icon-theme.cache'.
3045 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3046 (true (string-append coreutils "/bin/true")))
3047 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3048 (inputs
3049 `(("gtk+" ,gtk+)
3050 ("gtk+-2" ,gtk+-2)
3051 ("librsvg" ,librsvg)
3052 ("libxml2" ,libxml2)
3053 ("glib" ,glib)))
3054 (native-inputs
3055 `(("intltool" ,intltool)
3056 ("glib:bin" ,glib "bin")
3057 ("pkg-config" ,pkg-config)))
6f885c05
FB
3058 (home-page "https://launchpad.net/gnome-themes-standard")
3059 (synopsis "Default GNOME 3 themes")
3060 (description
3061 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3062 (license license:lgpl2.1+)))
5a659a48 3063
df90c701
RW
3064(define-public seahorse
3065 (package
3066 (name "seahorse")
bcea3c11 3067 (version "3.32.2")
df90c701
RW
3068 (source
3069 (origin
3070 (method url-fetch)
3071 (uri (string-append "mirror://gnome/sources/" name "/"
3072 (version-major+minor version) "/" name "-"
3073 version ".tar.xz"))
3074 (sha256
3075 (base32
bcea3c11 3076 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3077 (patches (search-patches
3078 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3079 (build-system meson-build-system)
3080 (arguments
bcea3c11
KK
3081 '(#:glib-or-gtk? #t
3082 #:phases
af561664
MÁAV
3083 (modify-phases %standard-phases
3084 (add-after 'unpack 'skip-gtk-update-icon-cache
3085 ;; Don't create 'icon-theme.cache'.
3086 (lambda _
3087 (substitute* "build-aux/meson_post_install.py"
3088 (("gtk-update-icon-cache") "true"))
3089 #t)))))
df90c701
RW
3090 (inputs
3091 `(("gtk+" ,gtk+)
3092 ("gcr" ,gcr)
34b979b9 3093 ("gnupg" ,gnupg)
df90c701 3094 ("gpgme" ,gpgme)
34b979b9 3095 ("openldap" ,openldap)
4a1bf090 3096 ("openssh" ,openssh)
af561664 3097 ("avahi" ,avahi)
bcea3c11 3098 ("libpwquality" ,libpwquality)
34b979b9
EF
3099 ("libsecret" ,libsecret)
3100 ("libsoup" ,libsoup)))
df90c701 3101 (native-inputs
af561664 3102 `(("gettext" ,gettext-minimal)
df90c701
RW
3103 ("glib:bin" ,glib "bin")
3104 ("itstool" ,itstool)
bcb354ad 3105 ("pkg-config" ,pkg-config)
af561664 3106 ("vala" ,vala)
bcb354ad 3107 ("xmllint" ,libxml2)))
bcea3c11 3108 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3109 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3110 (description
3111 "Seahorse is a GNOME application for managing encryption keys and
3112passwords in the GNOME keyring.")
3113 (license license:gpl2+)))
3114
5a659a48
SB
3115(define-public vala
3116 (package
3117 (name "vala")
2d6872f6 3118 (version "0.44.5")
5a659a48
SB
3119 (source (origin
3120 (method url-fetch)
3121 (uri (string-append "mirror://gnome/sources/" name "/"
3122 (version-major+minor version) "/"
3123 name "-" version ".tar.xz"))
3124 (sha256
3125 (base32
2d6872f6 3126 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3127 (build-system gnu-build-system)
1ea90625
SB
3128 (arguments
3129 '(#:phases
3130 (modify-phases %standard-phases
f4925a4f 3131 (add-before 'check 'pre-check
1ea90625
SB
3132 (lambda _
3133 (setenv "CC" "gcc")
8839b6be
RW
3134 (substitute* "valadoc/tests/testrunner.sh"
3135 (("export PKG_CONFIG_PATH=" m)
3136 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3137 ;; For missing '/etc/machine-id'.
3138 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3139 #t)))))
5a659a48
SB
3140 (native-inputs
3141 `(("pkg-config" ,pkg-config)
3142 ("flex" ,flex)
3143 ("bison" ,bison)
3144 ("xsltproc" ,libxslt)
3145 ("dbus" ,dbus) ; for dbus tests
3146 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3147 (inputs
3148 `(("graphviz" ,graphviz)))
5a659a48 3149 (propagated-inputs
8839b6be 3150 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3151 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3152 (synopsis "Compiler for the GObject type system")
3153 (description
3154 "Vala is a programming language that aims to bring modern programming
3155language features to GNOME developers without imposing any additional runtime
3156requirements and without using a different ABI compared to applications and
3157libraries written in C.")
3158 (license license:lgpl2.1+)))
ea57378f
SB
3159
3160(define-public vte
3161 (package
3162 (name "vte")
68c47474 3163 (version "0.58.3")
ea57378f
SB
3164 (source (origin
3165 (method url-fetch)
ac87ffb8 3166 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3167 (version-major+minor version) "/"
ac87ffb8 3168 "vte-" version ".tar.xz"))
ea57378f
SB
3169 (sha256
3170 (base32
68c47474
TGR
3171 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3172 (build-system meson-build-system)
ea57378f
SB
3173 (native-inputs
3174 `(("pkg-config" ,pkg-config)
3175 ("intltool" ,intltool)
3176 ("vala" ,vala)
3177 ("gobject-introspection" ,gobject-introspection)
68c47474 3178 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3179 ("gperf" ,gperf)
ea57378f
SB
3180 ("xmllint" ,libxml2)))
3181 (propagated-inputs
68c47474
TGR
3182 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3183 ("gnutls" ,gnutls) ; ditto
3184 ("pcre2" ,pcre2))) ; ditto
f032d0be 3185 (home-page "https://www.gnome.org/")
ea57378f
SB
3186 (synopsis "Virtual Terminal Emulator")
3187 (description
3188 "VTE is a library (libvte) implementing a terminal emulator widget for
3189GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3190gnome-terminal, but can also be used to embed a console/terminal in games,
3191editors, IDEs, etc.")
3192 (license license:lgpl2.1+)))
3193
c44fb4df
MO
3194(define-public vte-ng
3195 (package
3196 (inherit vte)
3197 (name "vte-ng")
24f4fcbe 3198 (version "0.58.2.a")
afd90f8d 3199 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3200 (source (origin
3201 (method git-fetch)
3202 (uri (git-reference (url home-page) (commit version)))
3203 (file-name (git-file-name name version))
3204 (sha256
3205 (base32
24f4fcbe
MB
3206 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3207 (build-system meson-build-system)
c44fb4df
MO
3208 (native-inputs
3209 `(("gtk-doc" ,gtk-doc)
c44fb4df 3210 ,@(package-native-inputs vte)))
c44fb4df 3211 (arguments
24f4fcbe 3212 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3213 (synopsis "Enhanced VTE terminal widget")
3214 (description
3215 "VTE is a library (libvte) implementing a terminal emulator widget for
3216GTK+, this fork provides additional functions exposed for keyboard text
3217selection and URL hints.")))
3218
2776d72c
EF
3219;; provides vte 2.90, required for some terminal emulators
3220;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3221;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3222;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3223;; pantheon-terminal, roxterm are not currently packaged
3224(define-public vte-0.36
3225 (package (inherit vte)
3226 (name "vte")
3227 (version "0.36.5")
3228 (source (origin
3229 (method url-fetch)
3230 (uri (string-append "mirror://gnome/sources/" name "/"
3231 (version-major+minor version) "/"
3232 name "-" version ".tar.xz"))
3233 (sha256
3234 (base32
3235 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3236 (propagated-inputs
3237 `(("gtk" ,gtk+)
3238 ("ncurses" ,ncurses)))))
3239
ea57378f
SB
3240;; stable version for gtk2, required by xfce4-terminal.
3241(define-public vte/gtk+-2
3242 (package (inherit vte)
3243 (name "vte")
3244 (version "0.28.2")
3245 (source (origin
3246 (method url-fetch)
3247 (uri (string-append "mirror://gnome/sources/" name "/"
3248 (version-major+minor version) "/"
3249 name "-" version ".tar.xz"))
3250 (sha256
3251 (base32
7d48938a
EF
3252 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3253 (patches (search-patches
3254 "vte-CVE-2012-2738-pt1.patch"
3255 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3256 (build-system gnu-build-system)
ea57378f
SB
3257 (arguments
3258 '(#:configure-flags '("--disable-python")))
3259 (native-inputs
3260 `(("pkg-config" ,pkg-config)
3261 ("intltool" ,intltool)
3262 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3263 (propagated-inputs
3264 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3265 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3266
cce0da5e
TD
3267(define-public vinagre
3268 (package
3269 (name "vinagre")
3270 (version "3.22.0")
3271 (source (origin
3272 (method url-fetch)
3273 (uri (string-append "mirror://gnome/sources/" name "/"
3274 (version-major+minor version) "/"
3275 name "-" version ".tar.xz"))
684f97f8
EF
3276 (patches (search-patches "vinagre-newer-freerdp.patch"
3277 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3278 (sha256
3279 (base32
3280 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3281 (build-system glib-or-gtk-build-system)
684f97f8 3282 (arguments
7f486d25
MC
3283 ;; Disable -Werror and such, to avoid build failures on compilation
3284 ;; warnings.
3285 '(#:configure-flags '("--enable-compile-warnings=minimum")
3286 #:phases
684f97f8 3287 (modify-phases %standard-phases
1839768c
EF
3288 (add-before 'install 'skip-gtk-update-icon-cache
3289 (lambda _
3290 ;; Don't create 'icon-theme.cache'
3291 (substitute* (find-files "." "^Makefile$")
3292 (("gtk-update-icon-cache") (which "true")))
3293 #t))
684f97f8
EF
3294 (add-after 'unpack 'patch-configure
3295 (lambda _
3296 (substitute* "configure"
3297 (("freerdp") "freerdp2"))
3298 #t)))))
cce0da5e
TD
3299 (native-inputs
3300 `(("pkg-config" ,pkg-config)
3301 ("intltool" ,intltool)
3302 ("itstool" ,itstool)
1839768c 3303 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3304 (inputs
3305 `(("libxml2" ,libxml2)
3306 ("gtk-vnc" ,gtk-vnc)
3307 ("gnome-keyring" ,gnome-keyring)
3308 ("libsecret" ,libsecret)
3309 ("freerdp" ,freerdp)
3310 ("spice" ,spice)
3311 ("spice-gtk" ,spice-gtk)
3312 ("telepathy-glib" ,telepathy-glib)
3313 ("vte" ,vte)))
cce0da5e
TD
3314 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3315 (synopsis "Remote desktop viewer for GNOME")
3316 (description "Vinagre is a remote display client supporting the VNC, SPICE
3317and RDP protocols.")
3318 (license license:gpl3+)))
3319
b47e1b20
FB
3320(define-public dconf
3321 (package
3322 (name "dconf")
1e33331c 3323 (version "0.32.0")
b47e1b20
FB
3324 (source (origin
3325 (method url-fetch)
3326 (uri (string-append
2e6ecc5c 3327 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3328 (version-major+minor version) "/"
3329 name "-" version ".tar.xz"))
3330 (sha256
f05c809f 3331 (base32
1e33331c 3332 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3333 (build-system meson-build-system)
bc036f4c
MB
3334 (propagated-inputs
3335 ;; In Requires of dconf.pc.
3336 `(("glib" ,glib)))
b47e1b20
FB
3337 (inputs
3338 `(("gtk+" ,gtk+)
bc036f4c 3339 ("dbus" ,dbus)))
b47e1b20 3340 (native-inputs
1e33331c
MB
3341 `(("bash-completion" ,bash-completion)
3342 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3343 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3344 ("docbook-xml" ,docbook-xml-4.2)
3345 ("docbook-xsl" ,docbook-xsl)
35fa923d 3346 ("glib:bin" ,glib "bin")
03676d6f 3347 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3348 ("pkg-config" ,pkg-config)
3349 ("vala" ,vala)))
b47e1b20
FB
3350 (arguments
3351 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3352 ; or /etc/machine-id.
35fa923d
MB
3353 #:glib-or-gtk? #t
3354 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3355 (home-page "https://developer.gnome.org/dconf")
3356 (synopsis "Low-level GNOME configuration system")
3357 (description "Dconf is a low-level configuration system. Its main purpose
3358is to provide a backend to GSettings on platforms that don't already have
3359configuration storage systems.")
e20e6b40 3360 (license license:lgpl2.1+)))
109da1c0
AE
3361
3362(define-public json-glib
3363 (package
3364 (name "json-glib")
4115e8ea 3365 (version "1.4.4")
109da1c0
AE
3366 (source (origin
3367 (method url-fetch)
3368 (uri (string-append "mirror://gnome/sources/" name "/"
3369 (version-major+minor version) "/"
3370 name "-" version ".tar.xz"))
3371 (sha256
3372 (base32
4115e8ea 3373 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3374 (build-system meson-build-system)
109da1c0 3375 (native-inputs
98afa184
MB
3376 `(("gettext" ,gettext-minimal)
3377 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3378 ("gobject-introspection" ,gobject-introspection)
3379 ("pkg-config" ,pkg-config)))
3380 (propagated-inputs
88c6b580 3381 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3382 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3383 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3384 (description
3385 "JSON-GLib is a C library based on GLib providing serialization and
3386deserialization support for the JavaScript Object Notation (JSON) format
3387described by RFC 4627. It provides parser and generator GObject classes and
3388various wrappers for the complex data types employed by JSON, such as arrays
3389and objects.")
109da1c0 3390 (license license:lgpl2.1+)))
6f96a359
SB
3391
3392(define-public libxklavier
3393 (package
3394 (name "libxklavier")
5f39050b 3395 (version "5.4")
6f96a359 3396 (source (origin
5f39050b 3397 ;; Note: There's no tarball at ftp.gnome.org for this version.
3398 (method git-fetch)
3399 (uri (git-reference
3400 (url "https://anongit.freedesktop.org/git/libxklavier")
3401 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3402 (sha256
3403 (base32
5f39050b 3404 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3405 (file-name (git-file-name name version))))
6f96a359
SB
3406 (build-system gnu-build-system)
3407 (arguments
5f39050b 3408 '(#:phases
3409 (modify-phases %standard-phases
3410 (add-after 'unpack 'no-configure
3411 (lambda* _
3412 (setenv "NOCONFIGURE" "1")
3413 #t)))
3414 #:configure-flags
6f96a359
SB
3415 (list (string-append "--with-xkb-base="
3416 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3417 "/share/X11/xkb")
3418 "--disable-xmodmap-support")))
6f96a359
SB
3419 (native-inputs
3420 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3421 ("gobject-introspection" ,gobject-introspection)
5f39050b 3422 ("pkg-config" ,pkg-config)
3423 ("gtk-doc" ,gtk-doc)
3424 ("intltool" ,intltool)
3425 ("which" ,which)
3426 ("autoconf" ,autoconf)
3427 ("automake" ,automake)
3428 ("libtool" ,libtool)))
6f96a359
SB
3429 (propagated-inputs
3430 ;; Required by libxklavier.pc.
3431 `(("glib" ,glib)
3432 ("libxml2" ,libxml2)))
3433 (inputs
3434 `(("iso-codes" ,iso-codes)
3435 ("libxi" ,libxi)
3436 ("libxkbfile" ,libxkbfile)
3437 ("xkbcomp" ,xkbcomp)
3438 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3439 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3440 (synopsis "High-level API for X Keyboard Extension")
3441 (description
3442 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3443Extension known as XKB. This library is intended to support XFree86 and other
3444commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3445indicators etc).")
3446 (license license:lgpl2.0+)))
619936a4
LC
3447
3448(define-public python2-rsvg
3449 ;; XXX: This is actually a subset of gnome-python-desktop.
3450 (package
3451 (name "python2-rsvg")
3452 (version "2.32.0")
3453 (source
3454 (origin
3455 (method url-fetch)
3456 (uri (string-append
3457 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3458 version ".tar.bz2"))
3459 (sha256
3460 (base32
3461 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3462 (build-system gnu-build-system)
3463 (native-inputs
3464 `(("pkg-config" ,pkg-config)))
3465 (inputs
3466 `(("python" ,python-2)
3467 ("python2-pygtk" ,python2-pygtk)
3468 ("librsvg" ,librsvg)))
f032d0be 3469 (home-page "https://www.gnome.org")
619936a4
LC
3470 (synopsis "Python bindings to librsvg")
3471 (description
3ad75446 3472 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3473library.")
3474
3475 ;; This is the license of the rsvg bindings. The license of each module
3476 ;; of gnome-python-desktop is given in 'COPYING'.
3477 (license license:lgpl2.1+)))
a31a6d22 3478
f2ca414a
SB
3479(define-public glib-networking
3480 (package
3481 (name "glib-networking")
0d75c64d 3482 (version "2.60.3")
f2ca414a
SB
3483 (source (origin
3484 (method url-fetch)
3485 (uri (string-append "mirror://gnome/sources/glib-networking/"
3486 (version-major+minor version) "/"
fb8fe1e8 3487 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3488 (sha256
3489 (base32
0d75c64d 3490 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3491 (build-system meson-build-system)
f2ca414a 3492 (arguments
0d75c64d 3493 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3494 (native-inputs
3495 `(("pkg-config" ,pkg-config)
3496 ("intltool" ,intltool)))
3497 (inputs
3498 `(("glib" ,glib)
3499 ("gnutls" ,gnutls)
4b8f1313 3500 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3501 (home-page "https://www.gnome.org")
f2ca414a
SB
3502 (synopsis "Network-related GIO modules")
3503 (description
3504 "This package contains various network related extensions for the GIO
3505library.")
3506 (license license:lgpl2.0+)))
3507
ca649680 3508(define-public rest
4510b2da 3509 (package
ca649680 3510 (name "rest")
a4194d16 3511 (version "0.8.1")
4510b2da
SB
3512 (source (origin
3513 (method url-fetch)
3514 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3515 (version-major+minor version) "/"
3516 name "-" version ".tar.xz"))
4510b2da
SB
3517 (sha256
3518 (base32
a4194d16 3519 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3520 (build-system gnu-build-system)
3521 (arguments
3522 '(#:tests? #f ; tests require internet connection
3523 #:configure-flags
3524 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3525 (native-inputs
3526 `(("glib-mkenums" ,glib "bin")
3527 ("gobject-introspection" ,gobject-introspection)
3528 ("pkg-config" ,pkg-config)))
3529 (propagated-inputs
3530 ;; rest-0.7.pc refers to all these.
3531 `(("glib" ,glib)
3532 ("libsoup" ,libsoup)
3533 ("libxml2" ,libxml2)))
24d6cc1d 3534 (home-page "https://www.gtk.org/")
4510b2da
SB
3535 (synopsis "RESTful web api query library")
3536 (description
3537 "This library was designed to make it easier to access web services that
3538claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3539libxml to ease remote use of the RESTful API.")
3540 (license license:lgpl2.1+)))
3541
6e1bb642
SB
3542(define-public libsoup
3543 (package
3544 (name "libsoup")
9a9cd9bc 3545 (version "2.70.0")
6e1bb642
SB
3546 (source (origin
3547 (method url-fetch)
3548 (uri (string-append "mirror://gnome/sources/libsoup/"
3549 (version-major+minor version) "/"
c1b79b36 3550 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3551 (sha256
3552 (base32
9a9cd9bc 3553 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3554 (build-system meson-build-system)
6e1bb642
SB
3555 (outputs '("out" "doc"))
3556 (arguments
2deb146f 3557 `(#:modules ((guix build utils)
eccaa8bf 3558 (guix build meson-build-system)
2deb146f
LC
3559 (ice-9 popen))
3560
f8026a79 3561 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3562 #:phases
3563 (modify-phases %standard-phases
eccaa8bf 3564 (add-after 'unpack 'adjust-tests
26c228f9 3565 (lambda _
eccaa8bf
MB
3566 ;; This test fails due to missing /etc/nsswitch.conf
3567 ;; in the build environment.
26c228f9
LC
3568 (substitute* "tests/socket-test.c"
3569 ((".*/sockets/unconnected.*") ""))
2deb146f 3570
f8026a79
MB
3571 ;; These fail because "subdomain.localhost" does not resolve in
3572 ;; the build environment.
3573 (substitute* "tests/hsts-test.c"
3574 ((".*/hsts/basic.*") "")
3575 ((".*/hsts/subdomains.*") "")
3576 ((".*/hsts/superdomain.*") "")
3577 ((".*/hsts/utf8-address.*") ""))
3578 (substitute* "tests/hsts-db-test.c"
3579 ((".*/hsts-db/subdomains.*") ""))
3580
2deb146f
LC
3581 ;; Generate a self-signed certificate that has "localhost" as its
3582 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3583 ;; 3.5.12, tests such as "ssl-tests" fail:
3584 ;;
3585 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3586 ;;
3587 ;; 'certtool' is interactive so we have to pipe it the answers.
3588 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3589 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3590 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3591 (for-each (lambda (line)
3592 (display line pipe)
3593 (newline pipe))
3594 '("" ;Common name
3595 "" ;UID
3596 "Guix" ;Organizational unit name
3597 "GNU" ;Organization name
3598 "" ;Locality name
3599 "" ;State or province
3600 "" ;Country
3601 "" ;subject's domain component (DC)
3602 "" ;E-mail
3603 "" ;serial number
3604 "-1" ;expiration time
3605 "N" ;belong to authority?
3606 "N" ;web client certificate?
3607 "N" ;IPsec IKE?
3608 "Y" ;web server certificate?
3609 "localhost" ;dnsName of subject
3610 "" ;dnsName of subject (end)
3611 "" ;URI of subject
3612 "127.0.0.1" ;IP address of subject
3613 "" ;signing?
06f5bc4e
MB
3614 "" ;encryption (RSA)?
3615 "" ;data encryption?
2deb146f
LC
3616 "" ;sign OCSP requests?
3617 "" ;sign code?
3618 "" ;time stamping?
3619 "" ;email protection?
3620 "" ;URI of the CRL distribution point
3621 "y" ;above info OK?
3622 ))
3623 (close-pipe pipe))
26c228f9 3624 #t))
eccaa8bf
MB
3625 (add-after 'install 'move-doc
3626 (lambda* (#:key outputs #:allow-other-keys)
3627 (let ((out (assoc-ref outputs "out"))
3628 (doc (assoc-ref outputs "doc")))
3629 (mkdir-p (string-append doc "/share"))
3630 (copy-recursively (string-append out "/share/gtk-doc")
3631 (string-append doc "/share/gtk-doc"))
3632 (delete-file-recursively (string-append out "/share/gtk-doc"))
3633 #t))))))
6e1bb642 3634 (native-inputs
26c228f9 3635 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3636 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3637 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3638 ("intltool" ,intltool)
3639 ("pkg-config" ,pkg-config)
3640 ("python" ,python-wrapper)
fd730590 3641 ("vala" ,vala)
6e1bb642
SB
3642 ;; These are needed for the tests.
3643 ;; FIXME: Add PHP once available.
3644 ("curl" ,curl)
2deb146f 3645 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3646 ("httpd" ,httpd)))
3647 (propagated-inputs
3648 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3649 `(("brotli" ,google-brotli)
3650 ("glib" ,glib)
249846bf 3651 ("libpsl" ,libpsl)
eccaa8bf 3652 ("libxml2" ,libxml2)
f8026a79
MB
3653 ("sqlite" ,sqlite)
3654 ("zlib" ,zlib)))
eccaa8bf
MB
3655 (inputs
3656 `(("glib-networking" ,glib-networking)
3657 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3658 (home-page "https://live.gnome.org/LibSoup/")
3659 (synopsis "GLib-based HTTP Library")
3660 (description
3661 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3662and the GLib main loop, to integrate well with GNOME applications.")
3663 (license license:lgpl2.0+)))
3664
bba229a3
SB
3665(define-public libsecret
3666 (package
3667 (name "libsecret")
aa0063a0 3668 (version "0.20.2")
bba229a3
SB
3669 (source (origin
3670 (method url-fetch)
3671 (uri (string-append
896dcbc7
EF
3672 "mirror://gnome/sources/libsecret/"
3673 (version-major+minor version) "/"
0ada4e29 3674 "libsecret-" version ".tar.xz"))
bba229a3
SB
3675 (sha256
3676 (base32
aa0063a0 3677 "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"))))
bba229a3
SB
3678 (build-system gnu-build-system)
3679 (outputs '("out" "doc"))
3680 (arguments
3681 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3682 #:configure-flags
3683 (list (string-append "--with-html-dir="
3684 (assoc-ref %outputs "doc")
3685 "/share/gtk-doc/html"))))
3686 (native-inputs
c06ef010
MB
3687 `(("gettext" ,gettext-minimal)
3688 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3689 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3690 ("pkg-config" ,pkg-config)
3691 ("vala" ,vala)
3692 ("xsltproc" ,libxslt)))
3693 ;; These are needed for the tests.
3694 ;; FIXME: Add gjs once available.
3695 ;("dbus" ,dbus)
3696 ;("python2" ,python-2)
3697 ;("python2-dbus" ,python2-dbus)
3698 ;("python2-pygobject" ,python2-pygobject)
3699 ;("python2-pygobject-2" ,python2-pygobject-2)))
3700 (propagated-inputs
3701 `(("glib" ,glib))) ; required by libsecret-1.pc
3702 (inputs
3703 `(("docbook-xsl" ,docbook-xsl)
3704 ("libgcrypt" ,libgcrypt)
3705 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3706 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3707 (synopsis "GObject bindings for \"Secret Service\" API")
3708 (description
3709 "Libsecret is a GObject based library for storing and retrieving passwords
3710and other secrets. It communicates with the \"Secret Service\" using DBus.")
3711 (license license:lgpl2.1+)))
3712
b6821ee0 3713(define-public five-or-more
3714 (package
3715 (name "five-or-more")
bf782bfc 3716 (version "3.32.1")
b6821ee0 3717 (source
3718 (origin
3719 (method url-fetch)
bf782bfc 3720 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3721 (version-major+minor version) "/"
bf782bfc 3722 "five-or-more-" version ".tar.xz"))
b6821ee0 3723 (sha256
bf782bfc 3724 (base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk"))))
d9795e93
KK
3725 (build-system meson-build-system)
3726 (arguments
3727 '(#:glib-or-gtk? #t
3728 #:phases
3729 (modify-phases %standard-phases
3730 (add-after 'unpack 'skip-gtk-update-icon-cache
3731 (lambda _
3732 (substitute* "meson_post_install.py"
3733 (("gtk-update-icon-cache") (which "true")))
3734 #t)))))
b6821ee0 3735 (native-inputs
3736 `(("pkg-config" ,pkg-config)
d9795e93 3737 ("appstream-glib" ,appstream-glib)
b6821ee0 3738 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3739 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3740 ("intltool" ,intltool)
3741 ("itstool" ,itstool)
d9795e93 3742 ("vala" ,vala)
b6821ee0 3743 ("xmllint" ,libxml2)))
3744 (inputs
3745 `(("gtk+" ,gtk+)
d9795e93 3746 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3747 ("librsvg" ,librsvg)))
3748 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3749 (synopsis "Logic puzzle game")
3750 (description "Five or More is a game where you try to align
3751 five or more objects of the same color and shape causing them to disappear.
3752 On every turn more objects will appear, until the board is full.
3753 Try to last as long as possible.")
3754 (license license:gpl2+)))
3755
a31a6d22
SB
3756(define-public gnome-mines
3757 (package
3758 (name "gnome-mines")
2d817e41 3759 (version "3.32.2")
a31a6d22
SB
3760 (source
3761 (origin
3762 (method url-fetch)
3763 (uri (string-append "mirror://gnome/sources/" name "/"
3764 (version-major+minor version) "/"
3765 name "-" version ".tar.xz"))
3766 (sha256
3767 (base32
2d817e41 3768 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3769 (build-system meson-build-system)
a31a6d22 3770 (arguments
2d817e41
KK
3771 '(#:glib-or-gtk? #t
3772 #:phases
a31a6d22 3773 (modify-phases %standard-phases
2d817e41
KK
3774 (add-after 'unpack 'skip-gtk-update-icon-cache
3775 (lambda _
3776 (substitute* "build-aux/meson_post_install.py"
3777 (("gtk-update-icon-cache") (which "true")))
3778 #t)))))
a31a6d22 3779 (native-inputs
8c0fab36
RW
3780 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3781 ("pkg-config" ,pkg-config)
a31a6d22
SB
3782 ("desktop-file-utils" ,desktop-file-utils)
3783 ("intltool" ,intltool)
bcb354ad 3784 ("itstool" ,itstool)
8c0fab36
RW
3785 ("vala" ,vala)
3786 ("yelp" ,yelp)
3787 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3788 (inputs
3789 `(("gtk+" ,gtk+)
73992962 3790 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3791 ("librsvg" ,librsvg)))
3792 (home-page "https://wiki.gnome.org/Apps/Mines")
3793 (synopsis "Minesweeper game")
3794 (description
3795 "Mines (previously gnomine) is a puzzle game where you locate mines
3796floating in an ocean using only your brain and a little bit of luck.")
3797 (license license:gpl2+)))
88f70665 3798
dfc407f3
KY
3799(define-public gnome-sudoku
3800 (package
3801 (name "gnome-sudoku")
7dc728c4 3802 (version "3.32.0")
dfc407f3
KY
3803 (source
3804 (origin
3805 (method url-fetch)
3806 (uri (string-append "mirror://gnome/sources/" name "/"
3807 (version-major+minor version) "/"
3808 name "-" version ".tar.xz"))
3809 (sha256
3810 (base32
7dc728c4
KK
3811 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3812 (build-system meson-build-system)
3813 (arguments
3814 '(#:glib-or-gtk? #t
3815 #:phases
3816 (modify-phases %standard-phases
3817 (add-after 'unpack 'skip-gtk-update-icon-cache
3818 (lambda _
3819 (substitute* "build-aux/post_install.py"
3820 (("gtk-update-icon-cache") (which "true")))
3821 #t)))))
dfc407f3
KY
3822 (native-inputs
3823 `(("pkg-config" ,pkg-config)
3824 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3825 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3826 ("intltool" ,intltool)
3827 ("itstool" ,itstool)
7dc728c4 3828 ("vala" ,vala)
dfc407f3
KY
3829 ("xmllint" ,libxml2)))
3830 (inputs
3831 `(("gtk+" ,gtk+)
3832 ("json-glib" ,json-glib)
3833 ("libgee" ,libgee)
3834 ("librsvg" ,librsvg)
3835 ("qqwing" ,qqwing)))
3836 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3837 (synopsis "Japanese logic game")
3838 (description
3839 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3840GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3841possible while still providing features that make playing difficult Sudoku
3842more fun.")
3843 (license license:gpl2+)))
3844
88f70665
AW
3845(define-public gnome-terminal
3846 (package
3847 (name "gnome-terminal")
7dee3942 3848 (version "3.32.2")
88f70665
AW
3849 (source
3850 (origin
3851 (method url-fetch)
3852 (uri (string-append "mirror://gnome/sources/" name "/"
3853 (version-major+minor version) "/"
3854 name "-" version ".tar.xz"))
3855 (sha256
3856 (base32
7dee3942 3857 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3858 (build-system glib-or-gtk-build-system)
3859 (arguments
3860 '(#:configure-flags
3861 (list "--disable-migration" "--disable-search-provider"
3862 "--without-nautilus-extension")
3863 #:phases
3864 (modify-phases %standard-phases
3a4de6b2 3865 (add-before 'configure 'patch-/bin/true
88f70665
AW
3866 (lambda _
3867 (substitute* "configure"
3868 (("/bin/true") (which "true"))))))))
3869 (native-inputs
3870 `(("pkg-config" ,pkg-config)
3871 ("desktop-file-utils" ,desktop-file-utils)
3872 ("intltool" ,intltool)
bcb354ad
SB
3873 ("itstool" ,itstool)
3874 ("xmllint" ,libxml2)))
68702167
MW
3875 (propagated-inputs
3876 `(("dconf" ,dconf)))
88f70665
AW
3877 (inputs
3878 `(("gtk+" ,gtk+)
3879 ("vte" ,vte)
3880 ("gnutls" ,gnutls)
88f70665
AW
3881 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3882 ("util-linux" ,util-linux)
3883 ("vala" ,vala)))
3884 (home-page "https://wiki.gnome.org/Apps/Terminal")
3885 (synopsis "Terminal emulator")
3886 (description
3887 "GNOME Terminal is a terminal emulator application for accessing a
3888UNIX shell environment which can be used to run programs available on
3889your system.
3890
3891It supports several profiles, multiple tabs and implements several
3892keyboard shortcuts.")
3893 (license license:gpl3+)))
75016d07
AW
3894
3895(define-public colord
3896 (package
3897 (name "colord")
f98be942 3898 (version "1.4.4")
75016d07
AW
3899 (source
3900 (origin
3901 (method url-fetch)
5cc3096c 3902 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3903 "colord-" version ".tar.xz"))
75016d07 3904 (sha256
f98be942 3905 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3906 (build-system meson-build-system)
75016d07 3907 (arguments
a68544a8
RW
3908 '(;; FIXME: One test fails:
3909 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3910 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3911 ;; application/x-zerosize
75016d07 3912 #:tests? #f
a68544a8
RW
3913 #:glib-or-gtk? #t
3914 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3915 ;; No dep on systemd.
a68544a8 3916 "-Dsystemd=false"
75016d07
AW
3917 ;; Wants to install to global completion dir;
3918 ;; punt.
a68544a8 3919 "-Dbash_completion=false"
a68544a8
RW
3920 "-Ddaemon_user=colord"
3921 "-Dsane=true"
dac26e22 3922 "-Dvapi=true"
6f20e2dc 3923 ;; Requires spotread.
a68544a8 3924 "-Dargyllcms_sensor=false"
6f20e2dc 3925 ;; TODO: Requires docbook2x.
a68544a8 3926 "-Dman=false")
75016d07
AW
3927 #:phases
3928 (modify-phases %standard-phases
a68544a8
RW
3929 (add-before 'configure 'patch-build-system
3930 (lambda* (#:key outputs #:allow-other-keys)
3931 (substitute* "rules/meson.build"
3932 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3933 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3934 #t))
3935 (add-before 'configure 'set-sqlite3-file-name
3936 (lambda* (#:key inputs #:allow-other-keys)
3937 ;; "colormgr dump" works by invoking the "sqlite3" command.
3938 ;; Record its absolute file name.
3939 (let ((sqlite (assoc-ref inputs "sqlite")))
3940 (substitute* "client/cd-util.c"
3941 (("\"sqlite3\"")
3942 (string-append "\"" sqlite "/bin/sqlite3\"")))
3943 #t))))))
75016d07 3944 (native-inputs
6f20e2dc 3945 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3946 ("gettext" ,gettext-minimal)
75016d07 3947 ("gobject-introspection" ,gobject-introspection)
a68544a8 3948 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3949 ("pkg-config" ,pkg-config)
3950 ("vala" ,vala)))
65cb2d61
SB
3951 (propagated-inputs
3952 ;; colord.pc refers to all these.
3953 `(("glib" ,glib)
6f20e2dc
TGR
3954 ("lcms" ,lcms)
3955 ("udev" ,eudev)))
75016d07 3956 (inputs
65cb2d61 3957 `(("dbus-glib" ,dbus-glib)
a68544a8 3958 ("gusb" ,gusb)
80c7dd1a 3959 ("libgudev" ,libgudev)
75016d07 3960 ("libusb" ,libusb)
75016d07 3961 ("polkit" ,polkit)
a68544a8 3962 ("python" ,python-wrapper)
6f20e2dc 3963 ("sqlite" ,sqlite)
4c928743 3964 ("sane-backends" ,sane-backends)))
57e7d748 3965 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3966 (synopsis "Color management service")
3967 (description "Colord is a system service that makes it easy to manage,
3968install and generate color profiles to accurately color manage input and
3969output devices.")
3970 (license license:gpl2+)))
7b2abd00
AW
3971
3972(define-public geoclue
3973 (package
3974 (name "geoclue")
50e96d25 3975 (version "2.5.5")
7b2abd00
AW
3976 (source
3977 (origin
3978 (method url-fetch)
50e96d25
MB
3979 (uri
3980 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
3981 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
3982 (sha256
3983 (base32
50e96d25 3984 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 3985 (patches (search-patches "geoclue-config.patch"))))
50e96d25 3986 (build-system meson-build-system)
7b2abd00 3987 (arguments
50e96d25 3988 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
3989 (native-inputs
3990 `(("pkg-config" ,pkg-config)
758798a9 3991 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
3992 ("modem-manager" ,modem-manager)
3993 ("libnotify" ,libnotify)
3994 ("gtk-doc", gtk-doc)
7b2abd00
AW
3995 ("intltool" ,intltool)))
3996 (inputs
54e911bc 3997 `(("avahi" ,avahi)
50e96d25
MB
3998 ("glib:bin" ,glib "bin")
3999 ("glib-networking" ,glib-networking)
7b2abd00
AW
4000 ("json-glib" ,json-glib)
4001 ("libsoup" ,libsoup)))
50e96d25 4002 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4003 (synopsis "Geolocation service")
4004 (description "Geoclue is a D-Bus service that provides location
4005information. The primary goal of the Geoclue project is to make creating
4006location-aware applications as simple as possible, while the secondary goal is
4007to ensure that no application can access location information without explicit
e881752c 4008permission from user.")
7b2abd00 4009 (license license:gpl2+)))
2bfe7437
AW
4010
4011(define-public geocode-glib
4012 (package
4013 (name "geocode-glib")
65de725f 4014 (version "3.26.1")
2bfe7437
AW
4015 (source (origin
4016 (method url-fetch)
4017 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4018 (version-major+minor version) "/"
d485cdc0 4019 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4020 (sha256
4021 (base32
65de725f 4022 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4023 (build-system meson-build-system)
2bfe7437 4024 (arguments
a7dd0c02
RW
4025 `(#:phases
4026 (modify-phases %standard-phases
4027 ;; The tests require a bunch of locales.
4028 (add-before 'check 'set-locales
4029 (lambda* (#:key inputs #:allow-other-keys)
4030 (setenv "GUIX_LOCPATH"
4031 (string-append (assoc-ref inputs "glibc-locales")
4032 "/lib/locale"))
4033 #t)))))
2bfe7437
AW
4034 (native-inputs
4035 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4036 ("glibc-locales" ,glibc-locales) ; for tests
4037 ("gettext" ,gettext-minimal)
2bfe7437 4038 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4039 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4040 ("pkg-config" ,pkg-config)
4041 ("json-glib" ,json-glib)))
4042 (propagated-inputs
4043 ;; geocode-glib-1.0.pc refers to GIO.
4044 `(("glib" ,glib)))
4045 (inputs
4046 `(("libsoup" ,libsoup)))
4047 (home-page "https://github.com/GNOME/geocode-glib/")
4048 (synopsis "Geocoding and reverse-geocoding library")
4049 (description
4050 "geocode-glib is a convenience library for geocoding (finding longitude,
4051and latitude from an address) and reverse geocoding (finding an address from
4052coordinates) using the Nominatim service. geocode-glib caches requests for
4053faster results and to avoid unnecessary server load.")
4054 (license license:lgpl2.0+)))
a1d5bb0e
AW
4055
4056(define-public upower
4057 (package
4058 (name "upower")
df45af90 4059 (version "0.99.11")
a1d5bb0e
AW
4060 (source (origin
4061 (method url-fetch)
df45af90 4062 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4063 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4064 (sha256
4065 (base32
df45af90 4066 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4067 (patches (search-patches "upower-builddir.patch"))
4068 (modules '((guix build utils)))
4069 (snippet
4070 '(begin
4071 ;; Upstream commit
4072 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4073 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4074 ;; 'dbus-configuration-directory' in (gnu services dbus)
4075 ;; expects it in etc/. Thus, move it back to its previous
4076 ;; location.
4077 (substitute* "src/Makefile.in"
4078 (("^dbusconfdir =.*$")
4079 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4080 #t))))
a1d5bb0e
AW
4081 (build-system glib-or-gtk-build-system)
4082 (arguments
4083 '( ;; The tests want to contact the system bus, which can't be done in the
4084 ;; build environment. The integration test can run, but the last of
4085 ;; the up-self-tests doesn't. Disable tests for now.
4086 #:tests? #f
4087 #:configure-flags (list "--localstatedir=/var"
4088 (string-append "--with-udevrulesdir="
4089 (assoc-ref %outputs "out")
9ec54965 4090 "/lib/udev/rules.d"))))
a1d5bb0e 4091 (native-inputs
ebeabe2d
SB
4092 `(("gobject-introspection" ,gobject-introspection)
4093 ("pkg-config" ,pkg-config)
a1d5bb0e 4094 ("intltool" ,intltool)
55409295
LC
4095 ("python" ,python)
4096
4097 ;; For man pages.
4098 ("libxslt" ,libxslt) ;for 'xsltproc'
4099 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4100 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4101 (inputs
ea226291
SB
4102 `(("dbus-glib" ,dbus-glib)
4103 ("libgudev" ,libgudev)
a1d5bb0e 4104 ("libusb" ,libusb)))
d7a503fc
MB
4105 (propagated-inputs
4106 ;; In Requires of upower-glib.pc.
4107 `(("glib" ,glib)))
57e7d748 4108 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4109 (synopsis "System daemon for managing power devices")
4110 (description
4111 "UPower is an abstraction for enumerating power devices,
4112listening to device events and querying history and statistics. Any
4113application or service on the system can access the org.freedesktop.UPower
4114service via the system message bus.")
4115 (license license:gpl2+)))
6a180f6f
AW
4116
4117(define-public libgweather
4118 (package
4119 (name "libgweather")
794ce8ea 4120 (version "3.28.3")
6a180f6f
AW
4121 (source (origin
4122 (method url-fetch)
4123 (uri (string-append "mirror://gnome/sources/" name "/"
4124 (version-major+minor version) "/"
4125 name "-" version ".tar.xz"))
4126 (sha256
4127 (base32
794ce8ea 4128 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4129 (build-system meson-build-system)
6a180f6f 4130 (arguments
cf6cbc34
RW
4131 `(#:tests? #f ; one of two tests requires network access
4132 #:configure-flags
4133 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4134 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4135 "/share/zoneinfo"))))
6a180f6f
AW
4136 (native-inputs
4137 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4138 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4139 ("pkg-config" ,pkg-config)
1d3fcf94 4140 ("vala" ,vala)
6a180f6f
AW
4141 ("intltool" ,intltool)))
4142 (propagated-inputs
4143 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4144 ;; libsoup.
4145 `(("gtk+" ,gtk+)
4146 ("gdk-pixbuf" ,gdk-pixbuf)
4147 ("libxml2" ,libxml2)
cf6cbc34 4148 ("libsoup" ,libsoup)
6a180f6f 4149 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4150 (inputs
4151 `(("tzdata" ,tzdata)))
6a180f6f
AW
4152 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4153 (synopsis "Location, time zone, and weather library for GNOME")
4154 (description
4155 "libgweather is a library to access weather information from online
4156services for numerous locations.")
4157 (license license:gpl2+)))
23a22af6
AW
4158
4159(define-public gnome-settings-daemon
4160 (package
4161 (name "gnome-settings-daemon")
4be0719f 4162 (version "3.32.1")
23a22af6
AW
4163 (source
4164 (origin
4165 (method url-fetch)
4166 (uri (string-append "mirror://gnome/sources/" name "/"
4167 (version-major+minor version) "/"
4168 name "-" version ".tar.xz"))
4169 (sha256
4170 (base32
4be0719f 4171 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4172 (build-system meson-build-system)
23a22af6 4173 (arguments
e644f9fa
RW
4174 `(#:glib-or-gtk? #t
4175 #:configure-flags
4176 (list (string-append "-Dudev_dir="
4177 (assoc-ref %outputs "out")
4d0e085b
RW
4178 "/lib/udev/rules.d/")
4179 ;; Otherwise, the RUNPATH will lack the final path component.
4180 (string-append "-Dc_link_args=-Wl,-rpath="
4181 (assoc-ref %outputs "out")
4182 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4183 ;; Color management test can't reach the colord system service.
23a22af6
AW
4184 #:tests? #f))
4185 (native-inputs
e644f9fa
RW
4186 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4187 ("pkg-config" ,pkg-config)
23a22af6
AW
4188 ("intltool" ,intltool)
4189 ("xsltproc" ,libxslt)
4190 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4191 ("docbook-xml" ,docbook-xml-4.2)
4192 ("docbook-xsl" ,docbook-xsl)))
4193 (inputs
e644f9fa
RW
4194 `(("alsa-lib" ,alsa-lib)
4195 ("colord" ,colord)
ea226291 4196 ("libgudev" ,libgudev)
23a22af6
AW
4197 ("upower" ,upower)
4198 ("polkit" ,polkit)
4199 ("pulseaudio" ,pulseaudio)
4200 ("libcanberra" ,libcanberra)
4201 ("libx11" ,libx11)
4202 ("libxtst" ,libxtst)
4203 ("lcms" ,lcms)
4204 ("libnotify" ,libnotify)
4205 ("geoclue" ,geoclue)
4206 ("geocode-glib" ,geocode-glib)
4207 ("libgweather" ,libgweather)
4208 ("gnome-desktop" ,gnome-desktop)
4209 ("nss" ,nss)
4210 ("cups" ,cups)
ec2b1921
AW
4211 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4212 ("libwacom" ,libwacom)
4213 ("librsvg" ,librsvg)
eee7878f 4214 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4215 ("wayland" ,wayland)
eee7878f 4216 ("network-manager" ,network-manager)))
f032d0be 4217 (home-page "https://www.gnome.org")
23a22af6
AW
4218 (synopsis "GNOME settings daemon")
4219 (description
4220 "This package contains the daemon responsible for setting the various
4221parameters of a GNOME session and the applications that run under it. It
4222handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4223settings, themes, mouse settings, and startup of other daemons.")
4224 (license license:gpl2+)))
1e7464a9
DH
4225
4226(define-public totem-pl-parser
4227 (package
4228 (name "totem-pl-parser")
77425f04 4229 (version "3.26.3")
1e7464a9
DH
4230 (source (origin
4231 (method url-fetch)
e980cbe9
MW
4232 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4233 (version-major+minor version) "/"
1e7464a9
DH
4234 "totem-pl-parser-" version ".tar.xz"))
4235 (sha256
4236 (base32
77425f04 4237 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4238 (build-system meson-build-system)
1e7464a9
DH
4239 (arguments
4240 ;; FIXME: Tests require gvfs.
4241 `(#:tests? #f))
4242 (native-inputs
4243 `(("intltool" ,intltool)
4244 ("glib" ,glib "bin")
4d6d8281 4245 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4246 ("pkg-config" ,pkg-config)))
22a6ad6a 4247 (propagated-inputs
1e7464a9
DH
4248 `(("glib" ,glib)
4249 ("gmime" ,gmime)
1e9b19dd
RW
4250 ("libarchive" ,libarchive)
4251 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4252 ("libxml2" ,libxml2)))
4253 (inputs
0a6e9e13 4254 `(("libsoup" ,libsoup)))
1e7464a9
DH
4255 (home-page "https://projects.gnome.org/totem")
4256 (synopsis "Library to parse and save media playlists for GNOME")
4257 (description "Totem-pl-parser is a GObjects-based library to parse and save
4258playlists in a variety of formats.")
4259 (license license:lgpl2.0+)))
4260
6b888eff
SB
4261(define-public aisleriot
4262 (package
4263 (name "aisleriot")
36ed9b46 4264 (version "3.22.9")
6b888eff
SB
4265 (source (origin
4266 (method url-fetch)
e43f622a 4267 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4268 (version-major+minor version) "/"
e43f622a 4269 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4270 (sha256
4271 (base32
36ed9b46 4272 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4273 (build-system glib-or-gtk-build-system)
4274 (arguments
4275 '(#:configure-flags
4276 '("--with-platform=gtk-only"
4277 "--with-card-theme-formats=svg")))
4278 (native-inputs
4279 `(("desktop-file-utils" ,desktop-file-utils)
4280 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4281 ("intltool" ,intltool)
4282 ("itstool" ,itstool)
4283 ("pkg-config" ,pkg-config)
4284 ("xmllint" ,libxml2)))
4285 (inputs
4286 `(("gtk+" ,gtk+)
226e57d6 4287 ("guile" ,guile-2.2)
6b888eff
SB
4288 ("libcanberra" ,libcanberra)
4289 ("librsvg" ,librsvg)))
4290 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4291 (synopsis "Solitaire card games")
4292 (description
4293 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4294which are easy to play with the aid of a mouse.")
4295 (license license:gpl3+)))
4a79e256 4296
f828d05b
KK
4297(define-public amtk
4298 (package
4299 (name "amtk")
0e08ca14 4300 (version "5.0.2")
f828d05b
KK
4301 (source (origin
4302 (method url-fetch)
bf92ba6b 4303 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4304 (version-major+minor version) "/"
bf92ba6b 4305 "amtk-" version ".tar.xz"))
f828d05b
KK
4306 (sha256
4307 (base32
0e08ca14 4308 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4309 (build-system gnu-build-system)
4310 (arguments
4311 '(#:configure-flags '("--enable-gtk-doc")))
4312 (native-inputs
4313 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4314 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4315 ("gtk-doc" ,gtk-doc)
4316 ("pkg-config" ,pkg-config)))
4317 (inputs
4318 `(("glib" ,glib)
4319 ("gtk+" ,gtk+)))
4320 (home-page "https://wiki.gnome.org/Projects/Amtk")
4321 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4322 (description
4323 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4324It is a basic GtkUIManager replacement based on GAction. It is suitable for
4325both a traditional UI or a modern UI with a GtkHeaderBar.")
4326 (license license:lgpl2.1+)))
4327
4a79e256
SB
4328(define-public devhelp
4329 (package
4330 (name "devhelp")
20db7a3d 4331 (version "3.32.0")
4a79e256
SB
4332 (source (origin
4333 (method url-fetch)
4334 (uri (string-append "mirror://gnome/sources/" name "/"
4335 (version-major+minor version) "/"
4336 name "-" version ".tar.xz"))
4337 (sha256
4338 (base32
20db7a3d 4339 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4340 (build-system meson-build-system)
35407f94 4341 (arguments
20db7a3d
KK
4342 '(#:glib-or-gtk? #t
4343 #:phases
35407f94
EF
4344 (modify-phases %standard-phases
4345 (add-after 'unpack 'skip-gtk-update-icon-cache
4346 ;; Don't create 'icon-theme.cache'.
4347 (lambda _
4348 (substitute* "meson_post_install.py"
4349 (("gtk-update-icon-cache") "true"))
4350 #t)))))
4a79e256
SB
4351 (native-inputs
4352 `(("intltool" ,intltool)
5dd12afc 4353 ("itstool" ,itstool)
11d28bd9
KK
4354 ("gobject-introspection" ,gobject-introspection)
4355 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4356 ("pkg-config" ,pkg-config)))
4357 (inputs
11d28bd9
KK
4358 `(("amtk" ,amtk)
4359 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4360 ("webkitgtk" ,webkitgtk)))
4361 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4362 (synopsis "API documentation browser for GNOME")
4363 (description
4364 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4365natively with GTK-Doc (the API reference system developed for GTK+ and used
4366throughout GNOME for API documentation).")
4367 (license license:gpl2+)))
ba421ab7
MW
4368
4369(define-public cogl
4370 (package
4371 (name "cogl")
54c69ae1 4372 (version "1.22.4")
ba421ab7
MW
4373 (source
4374 (origin
4375 (method url-fetch)
5754f0cf 4376 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4377 (version-major+minor version) "/"
5754f0cf 4378 "cogl-" version ".tar.xz"))
ba421ab7 4379 (sha256
54c69ae1 4380 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4381 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4382 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4383 (build-system gnu-build-system)
4384 (native-inputs
4385 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4386 ("gobject-introspection" ,gobject-introspection)
4387 ;;("xorg-server" ,xorg-server) ; for the test suite
4388 ("pkg-config" ,pkg-config)))
4389 (propagated-inputs
4390 `(("glib" ,glib)
4391 ("gdk-pixbuf" ,gdk-pixbuf)
4392 ("libx11" ,libx11)
4393 ("libxext" ,libxext)
4394 ("libxfixes" ,libxfixes)
4395 ("libxdamage" ,libxdamage)
4396 ("libxcomposite" ,libxcomposite)
4397 ("libxrandr" ,libxrandr)))
4398 (inputs
4399 `(("mesa" ,mesa)
4400 ("cairo" ,cairo)
4401 ("pango" ,pango)
4402 ("gstreamer" ,gstreamer)
31860852
KK
4403 ("gst-plugins-base" ,gst-plugins-base)
4404 ("wayland" ,wayland)))
ba421ab7
MW
4405 (arguments
4406 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4407 "--enable-wayland-egl-platform"
4408 "--enable-wayland-egl-server"
4409
ba421ab7
MW
4410 ;; Arrange to pass an absolute file name to
4411 ;; dlopen for libGL.so.
4412 (string-append "--with-gl-libname="
4413 (assoc-ref %build-inputs "mesa")
4414 "/lib/libGL.so"))
4415 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4416 ;; _FontTransOpen: Unable to Parse address
4417 ;; ${prefix}/share/fonts/X11/misc/
4418 #:tests? #f
4419 #; #:phases
4420 #;
4421 (modify-phases %standard-phases
4422 (add-before 'check 'start-xorg-server
4423 (lambda* (#:key inputs #:allow-other-keys)
4424 ;; The test suite requires a running X server.
4425 (system (format #f "~a/bin/Xvfb :1 &"
4426 (assoc-ref inputs "xorg-server")))
4427 (setenv "DISPLAY" ":1")
4428 #t)))))
89b49245 4429 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4430 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4431 (description
4432 "Cogl is a small library for using 3D graphics hardware to draw pretty
4433pictures. The API departs from the flat state machine style of OpenGL and is
4434designed to make it easy to write orthogonal components that can render
4435without stepping on each others toes.")
4436 (license (list license:expat ; most of the code
4437 license:bsd-3 ; cogl/cogl-point-in-poly.c
4438 license:sgifreeb2.0 ; cogl-path/tesselator/
4439 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4440
4441(define-public clutter
4442 (package
4443 (name "clutter")
6a88e4ee 4444 (version "1.26.2")
fb182b8a
MW
4445 (source
4446 (origin
4447 (method url-fetch)
4448 (uri (string-append "mirror://gnome/sources/" name "/"
4449 (version-major+minor version) "/"
4450 name "-" version ".tar.xz"))
4451 (sha256
4452 (base32
6a88e4ee 4453 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4454 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4455 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4456 (build-system gnu-build-system)
600233bd
LC
4457 (outputs '("out"
4458 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4459 (native-inputs
4460 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4461 ("gobject-introspection" ,gobject-introspection)
4462 ("pkg-config" ,pkg-config)
4463 ("xsltproc" ,libxslt)))
4464 (propagated-inputs
4465 `(("cogl" ,cogl)
4466 ("cairo" ,cairo)
4467 ("atk" ,atk)
4468 ("gtk+" ,gtk+)
4469 ("json-glib" ,json-glib)
4470 ("glib" ,glib)
4471 ("libxcomposite" ,libxcomposite)
4472 ("libxdamage" ,libxdamage)
4473 ("libxext" ,libxext)
4474 ("xinput" ,xinput)))
4475 (inputs
4476 `(("libxkbcommon" ,libxkbcommon)
4477 ("udev" ,eudev)))
4478 (arguments
600233bd
LC
4479 `(#:configure-flags (list "--enable-x11-backend=yes"
4480
4481 ;; This produces share/doc/{clutter,cally}.
4482 (string-append "--with-html-dir="
4483 (assoc-ref %outputs "doc")
4484 "/share/doc"))
fb182b8a
MW
4485 ;; XXX FIXME: Get test suite working. It would probably fail in the
4486 ;; same way the cogl tests fail, since clutter is based on cogl.
4487 #:tests? #f))
4488 (home-page "http://www.clutter-project.org")
476af713 4489 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4490 (description
476af713 4491 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4492creating fast, mainly 2D single window applications such as media box UIs,
4493presentations, kiosk style applications and so on.")
4494 (license license:lgpl2.0+)))
bf7f17ba
MW
4495
4496(define-public clutter-gtk
4497 (package
4498 (name "clutter-gtk")
5d1a3219 4499 (version "1.8.4")
bf7f17ba
MW
4500 (source
4501 (origin
4502 (method url-fetch)
4503 (uri (string-append "mirror://gnome/sources/" name "/"
4504 (version-major+minor version) "/"
4505 name "-" version ".tar.xz"))
4506 (sha256
4507 (base32
5d1a3219 4508 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4509 (build-system gnu-build-system)
4510 (native-inputs
4511 `(("pkg-config" ,pkg-config)
4512 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4513 (propagated-inputs
4514 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4515 `(("clutter" ,clutter)
4516 ("gtk+" ,gtk+)))
4517 (home-page "http://www.clutter-project.org")
476af713 4518 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4519 (description
476af713 4520 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4521creating fast, mainly 2D single window applications such as media box UIs,
4522presentations, kiosk style applications and so on.")
4523 (license license:lgpl2.0+)))
86d6a893
MW
4524
4525(define-public clutter-gst
4526 (package
4527 (name "clutter-gst")
ba07ac19 4528 (version "3.0.27")
86d6a893
MW
4529 (source
4530 (origin
4531 (method url-fetch)
f010f89b 4532 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4533 (version-major+minor version) "/"
f010f89b 4534 "clutter-gst-" version ".tar.xz"))
86d6a893 4535 (sha256
ba07ac19 4536 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4537 (build-system gnu-build-system)
4538 (native-inputs
ba07ac19 4539 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4540 ("pkg-config" ,pkg-config)
4541 ("gobject-introspection" ,gobject-introspection)))
4542 (inputs
4543 `(("clutter" ,clutter)
4544 ("gstreamer" ,gstreamer)
4545 ("gst-plugins-base" ,gst-plugins-base)))
4546 (home-page "http://www.clutter-project.org")
4547 (synopsis "Integration library for using GStreamer with Clutter")
4548 (description
4549 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4550It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4551implements the ClutterGstPlayer interface using playbin. Clutter is an
4552OpenGL-based interactive canvas library.")
86d6a893 4553 (license license:lgpl2.0+)))
607a04ae 4554
30dc88d9
LC
4555(define-public libchamplain
4556 (package
4557 (name "libchamplain")
5564b2c5 4558 (version "0.12.16")
30dc88d9
LC
4559 (source (origin
4560 (method url-fetch)
4561 (uri (string-append
4562 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4563 version ".tar.xz"))
4564 (sha256
4565 (base32
5564b2c5 4566 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4567 (build-system gnu-build-system)
f7c6833f
LF
4568 (arguments '(#:configure-flags '("--enable-vala")))
4569 (native-inputs
4570 `(("gobject-introspection" ,gobject-introspection)
4571 ("pkg-config" ,pkg-config)
4572 ("vala" ,vala)))
30dc88d9
LC
4573 (propagated-inputs
4574 `(("libsoup" ,libsoup)
4575 ("sqlite" ,sqlite)
4576 ("clutter" ,clutter)
4577 ("clutter-gtk" ,clutter-gtk)
4578 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4579 ("cairo" ,cairo)
4580 ("gtk+3" ,gtk+)
4581 ("glib" ,glib)))
f032d0be 4582 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4583 (synopsis "C library providing a ClutterActor to display maps")
4584 (description
4585 "libchamplain is a C library providing a ClutterActor to display maps.
4586It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4587and Perl bindings are also available. It supports numerous free map sources
4588such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4589 (license license:lgpl2.1+)))
4590
607a04ae
MW
4591(define-public gom
4592 (package
4593 (name "gom")
0510440b 4594 (version "0.3.2")
607a04ae
MW
4595 (source
4596 (origin
4597 (method url-fetch)
6c8a0b6f 4598 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4599 (version-major+minor version) "/"
6c8a0b6f 4600 "gom-" version ".tar.xz"))
607a04ae
MW
4601 (sha256
4602 (base32
0510440b 4603 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4604 (build-system gnu-build-system)
4605 (native-inputs
4606 `(("intltool" ,intltool)
4607 ("pkg-config" ,pkg-config)
4608 ("gobject-introspection" ,gobject-introspection)))
4609 (inputs
4610 `(("glib" ,glib)
4611 ("gdk-pixbuf" ,gdk-pixbuf)
4612 ("sqlite" ,sqlite)))
4613 ;; XXX TODO: Figure out how to run the test suite.
4614 (arguments `(#:tests? #f))
4615 (home-page "https://wiki.gnome.org/Projects/Gom")
4616 (synopsis "Object mapper from GObjects to SQLite")
4617 (description
4618 "Gom provides an object mapper from GObjects to SQLite. It helps you
4619write applications that need to store structured data as well as make complex
4620queries upon that data.")
4621 (license license:lgpl2.1+)))
b7a3cf11 4622
865aacc9 4623(define-public libgnome-games-support
f09520db 4624 (package
865aacc9 4625 (name "libgnome-games-support")
4c6d15cf 4626 (version "1.4.4")
f09520db
SB
4627 (source (origin
4628 (method url-fetch)
2d8dca9d 4629 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4630 (version-major+minor version) "/"
2d8dca9d 4631 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4632 (sha256
4633 (base32
4c6d15cf 4634 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4635 (build-system gnu-build-system)
4636 (arguments
4637 '(#:phases
4638 (modify-phases %standard-phases
4639 (add-before 'check 'pre-check
4640 (lambda _
865aacc9 4641 ;; Tests require a writable HOME.
f09520db
SB
4642 (setenv "HOME" (getcwd))
4643 #t)))))
4644 (native-inputs
4645 `(("intltool" ,intltool)
4646 ("pkg-config" ,pkg-config)
4647 ("vala" ,vala)))
4648 (propagated-inputs
865aacc9 4649 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4650 `(("gtk+" ,gtk+)
4651 ("libgee" ,libgee)))
4652 (home-page "https://www.gnome.org/")
4653 (synopsis "Useful functionality shared among GNOME games")
4654 (description
865aacc9 4655 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4656GNOME Games, but it may be used by others.")
4657 (license license:lgpl3+)))
4658
b7a3cf11
SB
4659(define-public gnome-klotski
4660 (package
4661 (name "gnome-klotski")
c1e419c4 4662 (version "3.32.0")
b7a3cf11
SB
4663 (source (origin
4664 (method url-fetch)
4665 (uri (string-append "mirror://gnome/sources/" name "/"
4666 (version-major+minor version) "/"
4667 name "-" version ".tar.xz"))
4668 (sha256
4669 (base32
c1e419c4
KK
4670 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4671 (build-system meson-build-system)
4672 (arguments
4673 '(#:glib-or-gtk? #t
4674 #:phases
4675 (modify-phases %standard-phases
4676 (add-after 'unpack 'skip-gtk-update-icon-cache
4677 ;; Don't create 'icon-theme.cache'.
4678 (lambda _
4679 (substitute* "build-aux/meson_post_install.py"
4680 (("gtk-update-icon-cache") (which "true")))
4681 #t)))))
b7a3cf11
SB
4682 (native-inputs
4683 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4684 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4685 ("intltool" ,intltool)
4686 ("itstool" ,itstool)
bcb354ad 4687 ("pkg-config" ,pkg-config)
c1e419c4 4688 ("vala" ,vala)
bcb354ad 4689 ("xmllint" ,libxml2)))
b7a3cf11
SB
4690 (inputs
4691 `(("gtk+" ,gtk+)
f4eae76f 4692 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4693 ("librsvg" ,librsvg)))
4694 (home-page "https://wiki.gnome.org/Apps/Klotski")
4695 (synopsis "Sliding block puzzles")
4696 (description
4697 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4698the patterned block to the area bordered by green markers. To do so, you will
4699need to slide other blocks out of the way. Complete each puzzle in as few moves
4700as possible!")
4701 (license license:gpl2+)))
8d4791bf
MW
4702
4703(define-public grilo
4704 (package
4705 (name "grilo")
a865e938 4706 (version "0.3.10")
8d4791bf
MW
4707 (source
4708 (origin
4709 (method url-fetch)
4710 (uri (string-append "mirror://gnome/sources/" name "/"
4711 (version-major+minor version) "/"
4712 name "-" version ".tar.xz"))
4713 (sha256
4714 (base32
a865e938 4715 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4716 (build-system meson-build-system)
8d4791bf
MW
4717 (native-inputs
4718 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4719 ("intltool" ,intltool)
4720 ("pkg-config" ,pkg-config)
d48d4c98
KK
4721 ("gobject-introspection" ,gobject-introspection)
4722 ("gtk-doc" ,gtk-doc)
4723 ("vala" ,vala)))
8d4791bf 4724 (inputs
6d7273a0
KK
4725 `(("cyrus-sasl" ,cyrus-sasl)
4726 ("glib" ,glib)
8d4791bf
MW
4727 ("gtk+" ,gtk+)
4728 ("libxml2" ,libxml2)
6d7273a0 4729 ("liboauth" ,liboauth)
8d4791bf
MW
4730 ("libsoup" ,libsoup)
4731 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4732 (native-search-paths
4733 (list (search-path-specification
4734 (variable "GRL_PLUGIN_PATH")
4735 (files (list (string-append "lib/grilo-"
4736 (version-major+minor version)))))))
d48d4c98 4737 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4738 (synopsis "Framework for discovering and browsing media")
4739 (description
4740 "Grilo is a framework focused on making media discovery and browsing easy
4741for application developers.")
4742 (license license:lgpl2.1+)))
7b212526
MW
4743
4744(define-public grilo-plugins
4745 (package
4746 (name "grilo-plugins")
281f6b3a 4747 (version "0.3.10")
7b212526
MW
4748 (source
4749 (origin
4750 (method url-fetch)
4751 (uri (string-append "mirror://gnome/sources/" name "/"
4752 (version-major+minor version) "/"
4753 name "-" version ".tar.xz"))
4754 (sha256
4755 (base32
281f6b3a
RG
4756 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4757 (build-system meson-build-system)
7b212526 4758 (native-inputs
281f6b3a
RG
4759 `(("gettext" ,gettext-minimal)
4760 ("glib:bin" ,glib "bin")
4761 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4762 ("itstool" ,itstool)
4763 ("pkg-config" ,pkg-config)))
281f6b3a 4764 ;; TODO: ahavi, gstreamer
7b212526
MW
4765 (inputs
4766 `(("grilo" ,grilo)
281f6b3a
RG
4767 ;("gmime" ,gmime) ; unused
4768 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4769 ("gom" ,gom)
281f6b3a
RG
4770 ;("gssdp" ,gssdp) ; unused
4771 ;("gupnp" ,gupnp) ; unused
4772 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4773 ("json-glib" ,json-glib)
4774 ("avahi" ,avahi)
281f6b3a
RG
4775 ("libgdata" ,libgdata)
4776 ("libmediaart" ,libmediaart)
4777 ;("librest" ,rest) ; unused
7b212526 4778 ("libsoup" ,libsoup)
281f6b3a
RG
4779 ("totam-pl-parser" ,totem-pl-parser)
4780 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4781 (arguments
281f6b3a
RG
4782 `(#:glib-or-gtk? #t
4783 ;;Disable lua-factory as it needs missing dependencies
4784 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4785 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4786 (synopsis "Plugins for the Grilo media discovery library")
4787 (description
4788 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4789for application developers. This package provides plugins for common media
4790discovery protocols.")
7b212526 4791 (license license:lgpl2.1+)))
4e3fc547
MW
4792
4793(define-public totem
4794 (package
4795 (name "totem")
995ef5ea 4796 (version "3.32.1")
4e3fc547
MW
4797 (source
4798 (origin
4799 (method url-fetch)
4800 (uri (string-append "mirror://gnome/sources/" name "/"
4801 (version-major+minor version) "/"
4802 name "-" version ".tar.xz"))
4803 (sha256
4804 (base32
995ef5ea 4805 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4806 (build-system meson-build-system)
4e3fc547
MW
4807 (native-inputs
4808 `(("pkg-config" ,pkg-config)
4809 ("desktop-file-utils" ,desktop-file-utils)
4810 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4811 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4812 ("intltool" ,intltool)
bcb354ad 4813 ("itstool" ,itstool)
995ef5ea
KK
4814 ("xmllint" ,libxml2)
4815 ("python-pylint" ,python-pylint)
4816 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4817 (propagated-inputs
4818 `(("dconf" ,dconf)))
4819 (inputs
4820 `(("gtk+" ,gtk+)
4821 ("gdk-pixbuf" ,gdk-pixbuf)
4822 ("atk" ,atk)
4823 ("cairo" ,cairo)
4824 ("dbus-glib" ,dbus-glib)
4825 ("clutter" ,clutter)
4826 ("clutter-gtk" ,clutter-gtk)
4827 ("clutter-gst" ,clutter-gst)
6a6db57f 4828 ("xorgproto" ,xorgproto)
4e3fc547
MW
4829 ("libxxf86vm" ,libxxf86vm)
4830 ("libxtst" ,libxtst)
4831 ("libxrandr" ,libxrandr)
4832 ("libxml2" ,libxml2)
4833 ("libsoup" ,libsoup)
4834 ("libpeas" ,libpeas)
4835 ("librsvg" ,librsvg)
4836 ("lirc" ,lirc)
4837 ("gnome-desktop" ,gnome-desktop)
4838 ("gstreamer" ,gstreamer)
4839 ("gst-plugins-base" ,gst-plugins-base)
4840 ("gst-plugins-good" ,gst-plugins-good)
4841 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4842 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4843 ("python" ,python)
995ef5ea 4844 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4845 ("totem-pl-parser" ,totem-pl-parser)
4846 ("grilo" ,grilo)
4847 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4848 ("vala" ,vala)))
4849 (arguments
7ad81b8b
LC
4850 `(#:glib-or-gtk? #t
4851
4852 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4853 ;; all that.
7ad81b8b 4854 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4855
4856 ;; Do not build .a files for the plugins, it's
4857 ;; completely useless. This saves 2 MiB.
7ad81b8b 4858 "--default-library" "shared")
ec5c24f9 4859 #:phases
4e3fc547 4860 (modify-phases %standard-phases
d51b19ad
EF
4861 (add-after 'unpack 'skip-gtk-update-icon-cache
4862 ;; Don't create 'icon-theme.cache'.
4863 (lambda _
4864 (substitute* "meson_post_install.py"
4865 (("gtk-update-icon-cache") "true"))
4866 #t))
6368eb39
DM
4867 (add-before
4868 'install 'disable-cache-generation
4869 (lambda _
4870 (setenv "DESTDIR" "/")
4871 #t))
995ef5ea
KK
4872 (add-before
4873 'check 'pre-check
4874 (lambda _
4875 ;; Tests require a running X server.
4876 (system "Xvfb :1 &")
4877 (setenv "DISPLAY" ":1")
4878 #t))
4e3fc547
MW
4879 (add-after
4880 'install 'wrap-totem
4881 (lambda* (#:key inputs outputs #:allow-other-keys)
4882 (let ((out (assoc-ref outputs "out"))
4883 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4884 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4885 (wrap-program (string-append out "/bin/totem")
4886 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4887 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4888 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4889 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4890 #t)))))
4891 (home-page "https://wiki.gnome.org/Apps/Videos")
4892 (synopsis "Simple media player for GNOME based on GStreamer")
4893 (description "Totem is a simple yet featureful media player for GNOME
4894which can read a large number of file formats.")
4895 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4896 ;; to be used and distributed together with GStreamer and Totem. See
4897 ;; file://COPYING in the source distribution for details.
4898 (license license:gpl2+)))
f0afb0c8
DH
4899
4900(define-public rhythmbox
4901 (package
4902 (name "rhythmbox")
eda580c0 4903 (version "3.4.4")
f0afb0c8
DH
4904 (source (origin
4905 (method url-fetch)
2588693d 4906 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 4907 (version-major+minor version) "/"
2588693d 4908 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
4909 (sha256
4910 (base32
eda580c0 4911 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
4912 (build-system glib-or-gtk-build-system)
4913 (arguments
4914 `(#:configure-flags
4915 (list "--enable-lirc"
4916 "--enable-python"
4917 "--enable-vala"
4918 "--with-brasero"
4919 "--with-gudev"
4920 "--with-libsecret")
4921 #:phases
4922 (modify-phases %standard-phases
4923 (add-after
4924 'install 'wrap-rhythmbox
4925 (lambda* (#:key inputs outputs #:allow-other-keys)
4926 (let ((out (assoc-ref outputs "out"))
4927 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4928 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4929 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4930 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4931 (wrap-program (string-append out "/bin/rhythmbox")
4932 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4933 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4934 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4935 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4936 #t)))))
4937 (propagated-inputs
4938 `(("dconf" ,dconf)))
4939 (native-inputs
bcb354ad
SB
4940 `(("itstool" ,itstool)
4941 ("intltool" ,intltool)
f0afb0c8
DH
4942 ("glib" ,glib "bin")
4943 ("gobject-introspection" ,gobject-introspection)
4944 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4945 ("pkg-config" ,pkg-config)
4946 ("xmllint" ,libxml2)))
f0afb0c8
DH
4947 (inputs
4948 `(("json-glib" ,json-glib)
4949 ("tdb" ,tdb)
4950 ("gnome-desktop" ,gnome-desktop)
4951 ("python" ,python)
4952 ("python-pygobject" ,python2-pygobject)
4953 ("vala" ,vala)
4954 ("gmime" ,gmime)
f0afb0c8
DH
4955 ("adwaita-icon-theme" ,adwaita-icon-theme)
4956 ("grilo" ,grilo)
4957 ("grilo-plugins" ,grilo-plugins)
4958 ("gstreamer" ,gstreamer)
4959 ("gst-plugins-base" ,gst-plugins-base)
4960 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4961 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4962 ("libgudev" ,libgudev)
f0afb0c8
DH
4963 ;;("libmtp" ,libmtp) FIXME: Not detected
4964 ("libsecret" ,libsecret)
4965 ("libsoup" ,libsoup)
4966 ("libnotify" ,libnotify)
4967 ("libpeas" ,libpeas)
4968 ("lirc" ,lirc)
4969 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4970 ;;("clutter" ,clutter)
4971 ;;("clutter-gtk" ,clutter-gtk)
4972 ;;("clutter-gst" ,clutter-gst)
4973 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4974 ("atk" ,atk)
4975 ("pango" ,pango)
4976 ("gtk+" ,gtk+)
4977 ;; TODO:
4978 ;; * libgpod
4979 ;; * mx
f0afb0c8
DH
4980 ("brasero" ,brasero)))
4981 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4982 (synopsis "Music player for GNOME")
4983 (description "Rhythmbox is a music playing application for GNOME. It
4984supports playlists, song ratings, and any codecs installed through gstreamer.")
4985 (license license:gpl2+)))
f70d8383
DH
4986
4987(define-public eog
4988 (package
4989 (name "eog")
b0f24a82 4990 (version "3.32.2")
f70d8383
DH
4991 (source (origin
4992 (method url-fetch)
4993 (uri (string-append "mirror://gnome/sources/" name "/"
4994 (version-major+minor version) "/"
4995 name "-" version ".tar.xz"))
4996 (sha256
4997 (base32
b0f24a82 4998 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 4999 (build-system meson-build-system)
f70d8383 5000 (arguments
34c44a34
RW
5001 `(#:configure-flags
5002 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5003 (list (string-append "-Dc_link_args=-Wl,-rpath="
5004 (assoc-ref %outputs "out") "/lib/eog"))
5005 #:phases
f70d8383 5006 (modify-phases %standard-phases
7a034665
EF
5007 (add-after 'unpack 'skip-gtk-update-icon-cache
5008 ;; Don't create 'icon-theme.cache'.
5009 (lambda _
5010 (substitute* "meson_post_install.py"
5011 (("gtk-update-icon-cache") "true"))
5012 #t))
61fb581f
RW
5013 (add-after 'install 'wrap-eog
5014 (lambda* (#:key outputs #:allow-other-keys)
5015 (let ((out (assoc-ref outputs "out"))
5016 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5017 (wrap-program (string-append out "/bin/eog")
5018 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5019 #t)))))
f70d8383
DH
5020 (propagated-inputs
5021 `(("dconf" ,dconf)))
5022 (native-inputs
5023 `(("intltool" ,intltool)
b3546174 5024 ("itstool" ,itstool)
f70d8383
DH
5025 ("glib" ,glib "bin")
5026 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5027 ("pkg-config" ,pkg-config)
5028 ("xmllint" ,libxml2)))
f70d8383
DH
5029 (inputs
5030 `(("gnome-desktop" ,gnome-desktop)
5031 ("shared-mime-info" ,shared-mime-info)
5032 ("adwaita-icon-theme" ,adwaita-icon-theme)
5033 ("exempi" ,exempi)
5034 ("lcms" ,lcms)
5035 ("libexif" ,libexif)
5036 ("libpeas" ,libpeas)
5037 ("libjpeg" ,libjpeg)
5038 ("librsvg" ,librsvg)
5039 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5040 ("gtk+" ,gtk+)))
5041 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5042 (synopsis "GNOME image viewer")
5043 (description "Eye of GNOME is the GNOME image viewer. It
5044supports image conversion, rotation, and slideshows.")
5045 (license license:gpl2+)))
41af5e7b 5046
0c3f8cb8
LC
5047(define-public eog-plugins
5048 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5049 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5050 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5051 ;; 'XDG_DATA_DIRS' appropriately set.
5052 (package
5053 (name "eog-plugins")
54b74cc6 5054 (version "3.26.4")
0c3f8cb8
LC
5055 (source (origin
5056 (method url-fetch)
f3b88ed2 5057 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5058 (version-major+minor version) "/"
f3b88ed2 5059 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5060 (sha256
5061 (base32
54b74cc6 5062 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5063 (build-system gnu-build-system)
5064 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5065 (synopsis "Extensions for the Eye of GNOME image viewer")
5066 (native-inputs
5067 `(("pkg-config" ,pkg-config)
5068 ("gettext" ,gnu-gettext)))
5069 (inputs
5070 `(("eog" ,eog)
5071 ("glib" ,glib)
5072 ("gtk+" ,gtk+)
5073 ("libpeas" ,libpeas)
5074 ("libexif" ,libexif)
5075 ("libchamplain" ,libchamplain)))
5076 (description
5077 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5078notably:
5079
5080@itemize
5081@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5082@item @dfn{Map}, which displays a map of where the picture was taken on the
5083side panel;
5084@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5085@end itemize\n")
5086
5087 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5088 ;; long suspicious byte stream that goes to a
5089 ;; ".gresource.eog_postasa_plugin" ELF section.
5090 (license license:gpl2+)))
5091
41af5e7b
SB
5092(define-public libgudev
5093 (package
5094 (name "libgudev")
b78f5118 5095 (version "232")
41af5e7b
SB
5096 (source (origin
5097 (method url-fetch)
5098 (uri (string-append "mirror://gnome/sources/" name "/"
5099 version "/" name "-" version ".tar.xz"))
5100 (sha256
5101 (base32
b78f5118 5102 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5103 (build-system gnu-build-system)
b78f5118
RW
5104 (arguments
5105 '(#:configure-flags
5106 ;; umockdev depends on libgudev.
5107 (list "--disable-umockdev")))
41af5e7b
SB
5108 (native-inputs
5109 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5110 ("gobject-introspection" ,gobject-introspection)
5111 ("pkg-config" ,pkg-config)))
5112 (propagated-inputs
5113 `(("glib" ,glib))) ; required by gudev-1.0.pc
5114 (inputs
5115 `(("udev" ,eudev)))
5116 (home-page "https://wiki.gnome.org/Projects/libgudev")
5117 (synopsis "GObject bindings for libudev")
5118 (description
5119 "This library provides GObject bindings for libudev. It was originally
5120part of udev-extras, then udev, then systemd. It's now a project on its own.")
5121 (license license:lgpl2.1+)))
3dc8828f
SB
5122
5123(define-public gvfs
5124 (package
5125 (name "gvfs")
12fe4846 5126 (version "1.40.1")
3dc8828f
SB
5127 (source (origin
5128 (method url-fetch)
1d68eb32 5129 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5130 (version-major+minor version) "/"
1d68eb32 5131 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5132 (sha256
5133 (base32
12fe4846 5134 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5135 (build-system meson-build-system)
3dc8828f 5136 (arguments
e762d943
RW
5137 '(#:glib-or-gtk? #t
5138 #:configure-flags
5139 (list "-Dsystemduserunitdir=no"
5140 "-Dtmpfilesdir=no"
5141 ;; Otherwise, the RUNPATH will lack the final path component.
5142 (string-append "-Dc_link_args=-Wl,-rpath="
5143 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5144 (native-inputs
5145 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5146 ("gettext" ,gettext-minimal)
5147 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5148 ("pkg-config" ,pkg-config)
5149 ("xsltproc" ,libxslt)))
5150 (inputs
5151 `(("avahi" ,avahi)
5152 ("docbook-xml" ,docbook-xml-4.2)
5153 ("docbook-xsl" ,docbook-xsl)
5154 ("dbus" ,dbus)
e762d943 5155 ("elogind" ,elogind)
3dc8828f 5156 ("fuse" ,fuse)
24a78aa6 5157 ("gcr" ,gcr)
3dc8828f 5158 ("glib" ,glib)
e762d943 5159 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5160 ("libarchive" ,libarchive)
5161 ("libbluray" ,libbluray)
8852ca24 5162 ("libcap" ,libcap)
3dc8828f
SB
5163 ("libcdio-paranoia" ,libcdio-paranoia)
5164 ("libgcrypt" ,libgcrypt)
e762d943 5165 ("libgdata" ,libgdata)
3dc8828f
SB
5166 ("libgphoto2" ,libgphoto2)
5167 ("libgudev" ,libgudev)
0ab9f949 5168 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5169 ("libmtp" ,libmtp)
e762d943 5170 ("libnfs" ,libnfs)
3dc8828f
SB
5171 ("libsecret" ,libsecret)
5172 ("libsmbclient" ,samba)
5173 ("libsoup" ,libsoup)
5174 ("libxml2" ,libxml2)
e762d943 5175 ("openssh" ,openssh)
8852ca24 5176 ("polkit" ,polkit)
3dc8828f
SB
5177 ("udisks" ,udisks)))
5178 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5179 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5180 (description
8f65585b 5181 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5182abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5183to all applications using the GIO API. It also supports exposing the GVFS
5184mounts to non-GIO applications using FUSE.
5185
5186GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5187DAV, and others.")
5188 (license license:lgpl2.0+)))
7c88b6bd
AW
5189
5190(define-public gusb
5191 (package
5192 (name "gusb")
536b3274 5193 (version "0.3.0")
7c88b6bd 5194 (source (origin
bbfb36f9
EF
5195 (method git-fetch)
5196 (uri (git-reference
5197 (url "https://github.com/hughsie/libgusb.git")
5198 (commit version)))
5199 (file-name (git-file-name name version))
7c88b6bd
AW
5200 (sha256
5201 (base32
bbfb36f9 5202 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5203 (build-system meson-build-system)
7c88b6bd 5204 (native-inputs
536b3274 5205 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5206 ("pkg-config" ,pkg-config)
5207 ("vala" ,vala)
7c88b6bd
AW
5208 ("gtk-doc" ,gtk-doc)))
5209 (propagated-inputs
5210 ;; Both of these are required by gusb.pc.
5211 `(("glib" ,glib)
5212 ("libusb" ,libusb)))
5213 (arguments
536b3274 5214 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5215 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5216 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5217 (description
5218 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5219asynchronous control, bulk and interrupt transfers with proper cancellation
5220and integration into a mainloop. This makes it easy to integrate low level
5221USB transfers with your high-level application or system daemon.")
5222 (license license:lgpl2.1+)))
0abe1d86
AW
5223
5224(define-public simple-scan
5225 (package
5226 (name "simple-scan")
fe6cfa99 5227 (version "3.36.0")
d9f6d587
TGR
5228 (source
5229 (origin
5230 (method url-fetch)
5231 (uri (string-append "mirror://gnome/sources/simple-scan/"
5232 (version-major+minor version) "/"
5233 "simple-scan-" version ".tar.xz"))
5234 (sha256
fe6cfa99 5235 (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
d9f6d587
TGR
5236 (build-system meson-build-system)
5237 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5238 (arguments
5239 '(#:glib-or-gtk? #t))
0abe1d86
AW
5240 (inputs
5241 `(("gtk" ,gtk+)
5242 ("zlib" ,zlib)
5243 ("cairo" ,cairo)
c501f592 5244 ("colord" ,colord)
0abe1d86
AW
5245 ("gdk-pixbuf" ,gdk-pixbuf)
5246 ("gusb" ,gusb)
4c928743 5247 ("libsane" ,sane-backends)))
0abe1d86 5248 (native-inputs
b94a6ca0 5249 `(("gettext" ,gettext-minimal)
0abe1d86 5250 ("itstool" ,itstool)
c501f592 5251 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5252 ("pkg-config" ,pkg-config)
bcb354ad
SB
5253 ("vala" ,vala)
5254 ("xmllint" ,libxml2)))
dff0eedb 5255 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5256 (synopsis "Document and image scanner")
d9f6d587
TGR
5257 (description
5258 "Document Scanner is an easy-to-use application that lets you connect your
5259scanner and quickly capture images and documents in an appropriate format. It
5260supports any scanner for which a suitable SANE driver is available, which is
5261almost all of them.")
0abe1d86 5262 (license license:gpl3+)))
7549f984 5263
ab466d79
RW
5264(define-public eolie
5265 (package
5266 (name "eolie")
ed783404 5267 (version "0.9.98.1")
ab466d79
RW
5268 (source (origin
5269 (method url-fetch)
ed783404
RW
5270 (uri (string-append "https://adishatz.org/eolie/eolie-"
5271 version ".tar.xz"))
ab466d79
RW
5272 (sha256
5273 (base32
ed783404 5274 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5275 (build-system meson-build-system)
ab466d79 5276 (arguments
00014781
RW
5277 `(#:glib-or-gtk? #t
5278 #:phases
ab466d79 5279 (modify-phases %standard-phases
f0c68100
EF
5280 (add-after 'unpack 'skip-gtk-update-icon-cache
5281 ;; Don't create 'icon-theme.cache'.
5282 (lambda _
5283 (substitute* "meson_post_install.py"
5284 (("gtk-update-icon-cache") "true"))
5285 #t))
ab466d79
RW
5286 (add-after 'wrap 'wrap-more
5287 (lambda* (#:key inputs outputs #:allow-other-keys)
5288 (let* ((out (assoc-ref outputs "out"))
5289 ;; These libraries must be on LD_LIBRARY_PATH.
5290 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5291 "atk" "gtk+" "gsettings-desktop-schemas"
5292 "gobject-introspection"))
5293 (path (string-join
5294 (map (lambda (lib)
5295 (string-append (assoc-ref inputs lib) "/lib"))
5296 libs)
5297 ":")))
5298 (wrap-program (string-append out "/bin/eolie")
5299 `("LD_LIBRARY_PATH" ":" prefix (,path))
5300 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5301 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5302 #t)))))
5303 (native-inputs
f85ca6ed 5304 `(("intltool" ,intltool)
ab466d79 5305 ("itstool" ,itstool)
d95f1041 5306 ("pkg-config" ,pkg-config)
d95f1041 5307 ("python" ,python)
f0c68100 5308 ("glib:bin" ,glib "bin")))
ab466d79
RW
5309 (inputs
5310 `(("gobject-introspection" ,gobject-introspection)
5311 ("glib-networking" ,glib-networking)
5312 ("cairo" ,cairo)
5313 ("gtk+" ,gtk+)
5314 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5315 ("python" ,python-wrapper)
d72f76df 5316 ("python-dateutil" ,python-dateutil)
00014781 5317 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5318 ("python-pygobject" ,python-pygobject)
5319 ("python-pycairo" ,python-pycairo)
00014781 5320 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5321 ("libsecret" ,libsecret)
5322 ("gtkspell3" ,gtkspell3)
5323 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5324 ("webkitgtk" ,webkitgtk)))
166b2c97 5325 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5326 (synopsis "Web browser for GNOME")
5327 (description
5328 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5329a secret password store, an adblocker, and a modern UI.")
5330 (license license:gpl3+)))
5331
7549f984
SB
5332(define-public epiphany
5333 (package
5334 (name "epiphany")
60680365 5335 (version "3.32.5")
7549f984
SB
5336 (source (origin
5337 (method url-fetch)
dd3266ec 5338 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5339 (version-major+minor version) "/"
dd3266ec 5340 "epiphany-" version ".tar.xz"))
7549f984
SB
5341 (sha256
5342 (base32
60680365 5343 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5344
5345 (build-system meson-build-system)
7549f984
SB
5346 (arguments
5347 ;; FIXME: tests run under Xvfb, but fail with:
5348 ;; /src/bookmarks/ephy-bookmarks/create:
5349 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5350 ;; subsystem
5351 ;; FAIL
6f48d9db 5352 '(#:tests? #f
e19f9c24 5353 #:glib-or-gtk? #t
bb7ff88f
EF
5354 #:phases
5355 (modify-phases %standard-phases
5356 (add-after 'unpack 'skip-gtk-update-icon-cache
5357 ;; Don't create 'icon-theme.cache'.
5358 (lambda _
5359 (substitute* "post_install.py"
5360 (("gtk-update-icon-cache") "true"))
5361 #t)))
e19f9c24
LF
5362 #:configure-flags
5363 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5364 (list (string-append "-Dc_link_args=-Wl,-rpath="
5365 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5366 (propagated-inputs
5367 `(("dconf" ,dconf)))
7549f984 5368 (native-inputs
fc5c5b92
R
5369 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5370 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5371 ("intltool" ,intltool)
7549f984 5372 ("itstool" ,itstool)
bcb354ad
SB
5373 ("pkg-config" ,pkg-config)
5374 ("xmllint" ,libxml2)))
7549f984
SB
5375 (inputs
5376 `(("avahi" ,avahi)
5377 ("gcr" ,gcr)
fc5c5b92 5378 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5379 ("glib-networking" ,glib-networking)
5380 ("gnome-desktop" ,gnome-desktop)
5381 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5382 ("json-glib" ,json-glib)
7549f984 5383 ("iso-codes" ,iso-codes)
8748e29c 5384 ("libdazzle" ,libdazzle)
7549f984
SB
5385 ("libnotify" ,libnotify)
5386 ("libsecret" ,libsecret)
7549f984 5387 ("libxslt" ,libxslt)
fc5c5b92 5388 ("nettle" ,nettle) ; for hogweed
7549f984 5389 ("sqlite" ,sqlite)
f85ca6ed 5390 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5391 (home-page "https://wiki.gnome.org/Apps/Web")
5392 (synopsis "GNOME web browser")
5393 (description
5394 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5395principles are simplicity and standards compliance.")
5396 (license license:gpl2+)))
a3856b2c
SB
5397
5398(define-public d-feet
5399 (package
5400 (name "d-feet")
458e9221 5401 (version "0.3.14")
a3856b2c
SB
5402 (source (origin
5403 (method url-fetch)
5404 (uri (string-append "mirror://gnome/sources/" name "/"
5405 (version-major+minor version) "/"
5406 name "-" version ".tar.xz"))
5407 (sha256
5408 (base32
458e9221 5409 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5410 (build-system glib-or-gtk-build-system)
5411 (arguments
5412 '(#:out-of-source? #f ; tests need to run in the source directory.
5413 #:phases
5414 (modify-phases %standard-phases
5415 (add-before
5416 'check 'pre-check
86aff791 5417 (lambda _
a3856b2c
SB
5418 ;; The test suite requires a running X server.
5419 (system "Xvfb :1 &")
5420 (setenv "DISPLAY" ":1")
5421 ;; Don't fail on missing '/etc/machine-id'.
5422 (setenv "DBUS_FATAL_WARNINGS" "0")
5423 ;; tests.py and window.py don't meet E402:
5424 ;; E402 module level import not at top of file
5425 (substitute* "src/tests/Makefile"
86aff791
MW
5426 (("--ignore=E123") "--ignore=E123,E402"))
5427 #t))
a3856b2c
SB
5428 (add-after
5429 'install 'wrap-program
5430 (lambda* (#:key outputs #:allow-other-keys)
5431 (let ((prog (string-append (assoc-ref outputs "out")
5432 "/bin/d-feet")))
5433 (wrap-program prog
5434 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5435 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5436 #t))))))
a3856b2c
SB
5437 (native-inputs
5438 `(("intltool" ,intltool)
5439 ("itstool" ,itstool)
5440 ("pkg-config" ,pkg-config)
5441 ("python-pep8" ,python-pep8)
5442 ("xmllint" ,libxml2)
ff337525 5443 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5444 (inputs
5445 `(("gobject-introspection" ,gobject-introspection)
5446 ("gtk+" ,gtk+)
5447 ("python" ,python-wrapper)
458e9221 5448 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5449 ("python-pygobject" ,python-pygobject)))
5450 (home-page "https://wiki.gnome.org/Apps/DFeet")
5451 (synopsis "D-Bus debugger")
5452 (description
5453 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5454of running programs and invoke methods on those interfaces.")
5455 (license license:gpl2+)))
c3b97bd9
SB
5456
5457(define-public yelp-xsl
5458 (package
5459 (name "yelp-xsl")
b3640e79 5460 (version "3.32.1")
c3b97bd9
SB
5461 (source (origin
5462 (method url-fetch)
5463 (uri (string-append "mirror://gnome/sources/" name "/"
5464 (version-major+minor version) "/"
5465 name "-" version ".tar.xz"))
5466 (sha256
5467 (base32
b3640e79 5468 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5469 (build-system gnu-build-system)
5470 (native-inputs
5471 `(("intltool" ,intltool)
5472 ("itstool" ,itstool)
5473 ("xmllint" ,libxml2)))
5474 (home-page "https://wiki.gnome.org/Apps/Yelp")
5475 (synopsis "XSL stylesheets for Yelp")
5476 (description
5477 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5478to format Docbook and Mallard documents.")
5479 (license license:gpl2+)))
de3d612a
SB
5480
5481(define-public yelp
5482 (package
5483 (name "yelp")
1f1b6d60 5484 (version "3.32.2")
de3d612a
SB
5485 (source (origin
5486 (method url-fetch)
5487 (uri (string-append "mirror://gnome/sources/" name "/"
5488 (version-major+minor version) "/"
5489 name "-" version ".tar.xz"))
5490 (sha256
5491 (base32
1f1b6d60 5492 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5493 (build-system glib-or-gtk-build-system)
5494 (native-inputs
5495 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5496 ("intltool" ,intltool)
5497 ("itstool" ,itstool)
5498 ("pkg-config" ,pkg-config)))
5499 (propagated-inputs
5500 `(("dconf" ,dconf)))
5501 (inputs
ad1b7d8b
SB
5502 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5503 ("libxslt" ,libxslt)
de3d612a 5504 ("sqlite" ,sqlite)
4c28ca1d
SB
5505 ("webkitgtk" ,webkitgtk)
5506 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5507 (home-page "https://wiki.gnome.org/Apps/Yelp")
5508 (synopsis "GNOME help browser")
5509 (description
5510 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5511man, info, and HTML documents. It can locate documents according to the
5512freedesktop.org help system specification.")
5513 (license license:gpl2+)))
122d0d10
SB
5514
5515(define-public yelp-tools
5516 (package
5517 (name "yelp-tools")
2089bca5 5518 (version "3.28.0")
122d0d10
SB
5519 (source (origin
5520 (method url-fetch)
5521 (uri (string-append "mirror://gnome/sources/" name "/"
5522 (version-major+minor version) "/"
5523 name "-" version ".tar.xz"))
5524 (sha256
5525 (base32
2089bca5 5526 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5527 (build-system gnu-build-system)
5528 (native-inputs
5529 `(("pkg-config" ,pkg-config)))
5530 (propagated-inputs
5531 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5532 `(("itstool" ,itstool)
5533 ("xmllint" ,libxml2)
5534 ("xsltproc" ,libxslt)))
5535 (inputs
5536 `(("yelp-xsl" ,yelp-xsl)))
5537 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5538 (synopsis "Yelp documentation tools")
5539 (description
5540 "Yelp-tools is a collection of scripts and build utilities to help create,
5541manage, and publish documentation for Yelp and the web. Most of the heavy
5542lifting is done by packages like yelp-xsl and itstool. This package just
5543wraps things up in a developer-friendly way.")
5544 (license license:gpl2+)))
af8f9f23 5545
4ed041d9
MB
5546(define-public yelp-tools/fixed
5547 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5548 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5549 ;; the next rebuild cycle.
5550 (hidden-package
5551 (package/inherit
5552 yelp-tools
5553 (propagated-inputs
5554 `(("itstool" ,itstool/fixed)
5555 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5556
af8f9f23
RW
5557(define-public libgee
5558 (package
5559 (name "libgee")
9cedae2a 5560 (version "0.20.3")
af8f9f23
RW
5561 (source (origin
5562 (method url-fetch)
84a1b007 5563 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5564 (version-major+minor version) "/"
84a1b007 5565 "libgee-" version ".tar.xz"))
af8f9f23
RW
5566 (sha256
5567 (base32
9cedae2a 5568 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5569 (build-system gnu-build-system)
5570 (arguments
5571 `(#:phases
5572 (modify-phases %standard-phases
5573 (add-after 'unpack 'fix-introspection-install-dir
5574 (lambda* (#:key outputs #:allow-other-keys)
5575 (let ((out (assoc-ref outputs "out")))
5576 (substitute* "gee/Makefile.in"
5577 (("@INTROSPECTION_GIRDIR@")
5578 (string-append out "/share/gir-1.0/"))
5579 (("@INTROSPECTION_TYPELIBDIR@")
5580 (string-append out "/lib/girepository-1.0/")))))))))
5581 (native-inputs
5582 `(("glib" ,glib "bin")
5583 ("pkg-config" ,pkg-config)))
5584 (inputs
5585 `(("glib" ,glib)
5586 ("gobject-introspection" ,gobject-introspection)))
5587 (home-page "https://wiki.gnome.org/Projects/Libgee")
5588 (synopsis "GObject collection library")
5589 (description
5590 "Libgee is a utility library providing GObject-based interfaces and
5591classes for commonly used data structures.")
5592 (license license:lgpl2.1+)))
b0f9c4b8
RW
5593
5594(define-public gexiv2
5595 (package
5596 (name "gexiv2")
b1a8b408 5597 (version "0.12.0")
b0f9c4b8
RW
5598 (source (origin
5599 (method url-fetch)
5600 (uri (string-append "mirror://gnome/sources/" name "/"
5601 (version-major+minor version) "/"
5602 name "-" version ".tar.xz"))
5603 (sha256
5604 (base32
b1a8b408 5605 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5606 (build-system meson-build-system)
b0f9c4b8 5607 (native-inputs
b1a8b408
KK
5608 `(("gcr" ,gcr)
5609 ("glib" ,glib "bin")
5610 ("pkg-config" ,pkg-config)
5611 ("vala" ,vala)))
b0f9c4b8
RW
5612 (propagated-inputs
5613 ;; Listed in "Requires" section of gexiv2.pc
5614 `(("exiv2" ,exiv2)))
5615 (inputs
5616 `(("glib" ,glib)
5617 ("gobject-introspection" ,gobject-introspection)))
5618 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5619 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5620 (description
5621 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5622allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5623metadata in photo and video files of various formats.")
5624 (license license:gpl2+)))
fed5a689
RW
5625
5626(define-public shotwell
5627 (package
5628 (name "shotwell")
bcea20cc 5629 (version "0.30.8")
fed5a689
RW
5630 (source (origin
5631 (method url-fetch)
5497d682 5632 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5633 (version-major+minor version) "/"
5497d682 5634 "shotwell-" version ".tar.xz"))
fed5a689
RW
5635 (sha256
5636 (base32
bcea20cc 5637 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5638 (build-system meson-build-system)
5639 (arguments
5a0beca3
EF
5640 '(#:glib-or-gtk? #t
5641 #:phases
5642 (modify-phases %standard-phases
5643 (add-after 'unpack 'skip-gtk-update-icon-cache
5644 (lambda _
5645 (substitute* "build-aux/meson/postinstall.py"
5646 (("gtk-update-icon-cache") (which "true"))
5647 (("update-desktop-database") (which "true")))
5648 #t)))))
735b8db6
TGR
5649 (propagated-inputs
5650 `(("dconf" ,dconf)))
fed5a689 5651 (native-inputs
5a0beca3
EF
5652 `(("gettext" ,gettext-minimal)
5653 ("glib:bin" ,glib "bin")
735b8db6 5654 ("itstool" ,itstool)
3b79afa6 5655 ("pkg-config" ,pkg-config)
735b8db6 5656 ("vala" ,vala)))
fed5a689 5657 (inputs
5a0beca3
EF
5658 `(("gcr" ,gcr)
5659 ("gexiv2" ,gexiv2)
fed5a689 5660 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5661 ("gstreamer" ,gstreamer)
5662 ("json-glib" ,json-glib)
dfb0323d 5663 ("libgdata" ,libgdata)
fed5a689 5664 ("libgee" ,libgee)
5a0beca3
EF
5665 ("libgphoto2" ,libgphoto2)
5666 ("libgudev" ,libgudev)
fed5a689 5667 ("libraw" ,libraw)
fed5a689
RW
5668 ("libsoup" ,libsoup)
5669 ("libxml2" ,libxml2)
5a0beca3
EF
5670 ("sqlite" ,sqlite)
5671 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5672 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5673 (synopsis "Photo manager for GNOME 3")
5674 (description
5675 "Shotwell is a digital photo manager designed for the GNOME desktop
5676environment. It allows you to import photos from disk or camera, organize
5677them by keywords and events, view them in full-window or fullscreen mode, and
5678share them with others via social networking and more.")
5679 (license license:lgpl2.1+)))
293ff8b2
DT
5680
5681(define-public file-roller
5682 (package
5683 (name "file-roller")
dcae4270 5684 (version "3.32.3")
293ff8b2
DT
5685 (source (origin
5686 (method url-fetch)
f89a27c6 5687 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5688 (version-major+minor version) "/"
f89a27c6 5689 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5690 (sha256
5691 (base32
dcae4270 5692 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5693 (build-system meson-build-system)
293ff8b2 5694 (native-inputs
0a500745
RW
5695 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5696 ("intltool" ,intltool)
4c96e5d1 5697 ("itstool" ,itstool)
0a500745
RW
5698 ("pkg-config" ,pkg-config)
5699 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5700 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5701 ;; TODO: Add libnautilus.
5702 (inputs
5703 `(("gtk+" ,gtk+)
5704 ("gdk-pixbuf" ,gdk-pixbuf)
5705 ("json-glib" ,json-glib)
5706 ("libarchive" ,libarchive)
5707 ("libnotify" ,libnotify)
4c96e5d1 5708 ("nettle" ,nettle)
293ff8b2
DT
5709 ("libxml2" ,libxml2)))
5710 (synopsis "Graphical archive manager for GNOME")
5711 (description "File Roller is an archive manager for the GNOME desktop
5712environment that allows users to view, unpack, and create compressed archives
5713such as gzip tarballs.")
5714 (home-page "http://fileroller.sourceforge.net/")
5715 (license license:gpl2+)))
7ce49365
SB
5716
5717(define-public gnome-session
5718 (package
5719 (name "gnome-session")
1fc2ec79 5720 (version "3.32.0")
7ce49365
SB
5721 (source (origin
5722 (method url-fetch)
5723 (uri (string-append "mirror://gnome/sources/" name "/"
5724 (version-major+minor version) "/"
5725 name "-" version ".tar.xz"))
5726 (sha256
5727 (base32
1fc2ec79 5728 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5729 (arguments
df278071
RW
5730 '(#:glib-or-gtk? #t
5731 #:phases
2914af3c
AW
5732 (modify-phases %standard-phases
5733 (add-before 'configure 'pre-configure
5734 (lambda* (#:key outputs #:allow-other-keys)
5735 ;; Use elogind instead of systemd.
df278071
RW
5736 (substitute* "meson.build"
5737 (("libsystemd-login") "libelogind")
5738 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5739 (substitute* "gnome-session/gsm-systemd.c"
5740 (("#include <systemd/sd-login.h>")
5741 "#include <elogind/sd-login.h>"))
df278071 5742 ;; Remove uses of the systemd daemon.
803ab416
SB
5743 (substitute* "gnome-session/gsm-autostart-app.c"
5744 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5745 #t))
5746 (add-after 'install 'wrap-gnome-session
5747 (lambda* (#:key inputs outputs #:allow-other-keys)
5748 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5749 (let ((glib (assoc-ref inputs "glib:bin"))
5750 (out (assoc-ref outputs "out")))
5751 (wrap-program (string-append out "/bin/gnome-session")
5752 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5753 #t))))
6cbc8d57 5754
2914af3c 5755 #:configure-flags
df278071
RW
5756 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5757 "-Dman=false" ; FIXME: disabled because of docbook validation error
5758 "-Dsystemd_journal=false")))
5759 (build-system meson-build-system)
7ce49365
SB
5760 (native-inputs
5761 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5762 ("pkg-config" ,pkg-config)
5763 ("intltool" ,intltool)
df278071
RW
5764 ("xsltproc" ,libxslt)
5765 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5766 ("docbook-xsl" ,docbook-xsl)
5767 ("docbook-xml" ,docbook-xml)
5768 ("xmlto" ,xmlto)))
7ce49365 5769 (inputs
2914af3c
AW
5770 `(("elogind" ,elogind)
5771 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5772 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5773 ("gtk+" ,gtk+)
5774 ("json-glib" ,json-glib)
5775 ("libsm" ,libsm)
5776 ("libxcomposite" ,libxcomposite)
5777 ("libxtst" ,libxtst)
5778 ("mesa" ,mesa)
5779 ("upower" ,upower)
5780 ("xtrans" ,xtrans)))
5781 (synopsis "Session manager for GNOME")
5782 (description
5783 "This package contains the GNOME session manager, as well as a
5784configuration program to choose applications starting on login.")
5785 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5786 (license license:gpl2+)))
f47ba77e
SB
5787
5788(define-public gjs
5789 (package
5790 (name "gjs")
d054fbf5 5791 (version "1.56.2")
f47ba77e
SB
5792 (source (origin
5793 (method url-fetch)
5794 (uri (string-append "mirror://gnome/sources/" name "/"
5795 (version-major+minor version) "/"
5796 name "-" version ".tar.xz"))
5797 (sha256
5798 (base32
d054fbf5 5799 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5800 (build-system gnu-build-system)
5801 (arguments
5802 '(#:phases
5803 (modify-phases %standard-phases
5804 (add-before
5805 'check 'pre-check
5806 (lambda _
fc119619
MW
5807 ;; The test suite requires a running X server.
5808 (system "Xvfb :1 &")
5809 (setenv "DISPLAY" ":1")
5810
f47ba77e
SB
5811 ;; For the missing /etc/machine-id.
5812 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5813
144f94d0
KK
5814 ;; Our mozjs-38 package does not compile the required Intl API
5815 ;; support for these failing tests.
5816 (substitute* "installed-tests/js/testLocale.js"
5817 ((".*toBeDefined.*") "")
5818 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5819 (substitute* "installed-tests/scripts/testCommandLine.sh"
5820 (("Valentín") "")
5821 (("☭") ""))
f47ba77e
SB
5822 #t)))))
5823 (native-inputs
8a831c6f 5824 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5825 ("pkg-config" ,pkg-config)
5826 ("xmllint" ,libxml2)
5827 ;; For testing
5828 ("dbus-launch" ,dbus)
5829 ("uuidgen" ,util-linux)
ebebee94 5830 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5831 (propagated-inputs
5832 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5833 `(("cairo" ,cairo)
5834 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5835 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5836 (inputs
5837 `(("gtk+" ,gtk+)
5838 ("readline" ,readline)))
5839 (synopsis "Javascript bindings for GNOME")
f032d0be 5840 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5841 (description
5842 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5843javascript engine and the GObject introspection framework.")
5844 (license license:gpl2+)))
329d731b
DH
5845
5846(define-public gedit
5847 (package
5848 (name "gedit")
480c9226 5849 (version "3.32.2")
329d731b
DH
5850 (source (origin
5851 (method url-fetch)
5852 (uri (string-append "mirror://gnome/sources/" name "/"
5853 (version-major+minor version) "/"
5854 name "-" version ".tar.xz"))
5855 (sha256
5856 (base32
480c9226
KK
5857 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5858 (build-system meson-build-system)
329d731b 5859 (arguments
480c9226
KK
5860 `(#:glib-or-gtk? #t
5861 #:configure-flags
5862 ;; Otherwise, the RUNPATH will lack the final path component.
5863 (list (string-append "-Dc_link_args=-Wl,-rpath="
5864 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5865
5866 ;; XXX: Generated .h files are sometimes used before being built.
5867 #:parallel-build? #f
5868
480c9226 5869 #:phases
329d731b 5870 (modify-phases %standard-phases
480c9226
KK
5871 (add-after 'unpack 'skip-gtk-update-icon-cache
5872 ;; Don't create 'icon-theme.cache'.
5873 (lambda _
5874 (substitute* "build-aux/meson/post_install.py"
5875 (("gtk-update-icon-cache") (which "true")))
5876 #t))
5877 (add-after 'unpack 'patch-libgd-fetch
5878 (lambda* (#:key inputs #:allow-other-keys)
5879 (let ((libgd (assoc-ref inputs "libgd")))
5880 ;; Calling git is unnecessary because libgd is fetched as a
5881 ;; native input to this package.
5882 (substitute* "meson.build"
5883 ((".*git.*") ""))
5884 (copy-recursively libgd "subprojects/libgd")
5885 #t)))
5886 (add-after 'install 'wrap-gedit
5887 (lambda* (#:key inputs outputs #:allow-other-keys)
5888 (let ((out (assoc-ref outputs "out"))
5889 (gtksourceview (assoc-ref inputs "gtksourceview"))
5890 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5891 (python-path (getenv "PYTHONPATH")))
5892 (wrap-program (string-append out "/bin/gedit")
5893 ;; For plugins.
5894 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5895 `("PYTHONPATH" ":" prefix (,python-path))
5896 ;; For language-specs.
5897 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5898 "/share")))))
5899 #t)))))
329d731b
DH
5900 (propagated-inputs
5901 `(("dconf" ,dconf)))
5902 (native-inputs
480c9226
KK
5903 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5904 ("intltool" ,intltool)
b3546174 5905 ("itstool" ,itstool)
480c9226 5906 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5907 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5908 ("libgd"
5909 ,(origin
5910 (method git-fetch)
5911 (uri (git-reference
5912 (url "https://gitlab.gnome.org/GNOME/libgd")
5913 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5914 (file-name (git-file-name "libgd" version))
5915 (sha256
5916 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5917 ("pkg-config" ,pkg-config)))
5918 (inputs
5919 `(("glib" ,glib)
0d2df50c 5920 ("gspell" ,gspell)
329d731b 5921 ("gtk+" ,gtk+)
480c9226 5922 ("gtksourceview" ,gtksourceview)
329d731b
DH
5923 ("libpeas" ,libpeas)
5924 ("libxml2" ,libxml2)
329d731b
DH
5925 ("iso-codes" ,iso-codes)
5926 ("python-pygobject" ,python-pygobject)
5927 ("python" ,python)
5928 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5929 ("libx11" ,libx11)
5930 ("vala" ,vala)
5931 ("adwaita-icon-theme" ,adwaita-icon-theme)
5932 ("libsoup" ,libsoup)
5933 ("gnome-desktop" ,gnome-desktop)))
5934 (home-page "https://wiki.gnome.org/Apps/Gedit")
5935 (synopsis "GNOME text editor")
5936 (description "While aiming at simplicity and ease of use, gedit is a
5937powerful general purpose text editor.")
5938 (license license:gpl2+)))
b7179363
SB
5939
5940(define-public zenity
5941 (package
5942 (name "zenity")
4f581bd0 5943 (version "3.32.0")
b7179363
SB
5944 (source (origin
5945 (method url-fetch)
5958df04 5946 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5947 (version-major+minor version) "/"
5958df04 5948 "zenity-" version ".tar.xz"))
b7179363
SB
5949 (sha256
5950 (base32
4f581bd0 5951 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5952 (build-system gnu-build-system)
5953 (native-inputs
b94a6ca0 5954 `(("gettext" ,gettext-minimal)
b7179363
SB
5955 ("itstool" ,itstool)
5956 ("pkg-config" ,pkg-config)))
5957 (inputs
5958 `(("libnotify" ,libnotify)
5959 ("webkitgtk" ,webkitgtk)))
5960 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5961 (home-page "https://www.gnome.org")
b7179363
SB
5962 (description
5963 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5964to display dialog boxes from the commandline and shell scripts.")
5965 (license license:lgpl2.0+)))
60c3627c
SB
5966
5967(define-public mutter
5968 (package
5969 (name "mutter")
edf43f68 5970 (version "3.32.2")
60c3627c 5971 (source (origin
86c44e72
KK
5972 (method url-fetch)
5973 (uri (string-append "mirror://gnome/sources/" name "/"
5974 (version-major+minor version) "/"
5975 name "-" version ".tar.xz"))
60c3627c
SB
5976 (sha256
5977 (base32
edf43f68 5978 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5979 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5980 ;; versions of cogl and clutter. As a result, many of the inputs,
5981 ;; propagated-inputs, and configure flags used in cogl and clutter are
5982 ;; needed here as well.
edf43f68 5983 (build-system meson-build-system)
60c3627c 5984 (arguments
edf43f68
KK
5985 '(;; XXX: All mutter tests fail with the following error:
5986 ;; Settings schema 'org.gnome.mutter' is not installed
5987 #:tests? #f
5988 #:glib-or-gtk? #t
5989 #:configure-flags
5990 ;; Otherwise, the RUNPATH will lack the final path component.
5991 (list (string-append "-Dc_link_args=-Wl,-rpath="
5992 (assoc-ref %outputs "out") "/lib:"
5993 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
5994
5995 ;; The following flags are needed for the bundled clutter
edf43f68 5996 (string-append "-Dxwayland_path="
d633f2f6
RH
5997 (assoc-ref %build-inputs "xorg-server-xwayland")
5998 "/bin/Xwayland")
5999
a88d5a0c 6000 ;; the remaining flags are needed for the bundled cogl
edf43f68 6001 (string-append "-Dopengl_libname="
a88d5a0c 6002 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6003 "/lib/libGL.so"))
6004 #:phases
6005 (modify-phases %standard-phases
edf43f68
KK
6006 (add-after 'unpack 'disable-werror
6007 (lambda _
6008 ;; XXX: build fails with [-Werror]:
6009 ;; backends/meta-cursor-renderer.c:112:5: error:
6010 ;; implicit declaration of function ?roundf?
6011 (substitute* "meson.build"
6012 (("'-Werror=.*',") ""))
6013 #t))
86c44e72
KK
6014 ;; Replace references to systemd libraries to elogind references.
6015 (add-before 'configure 'use-elogind
6016 (lambda _
edf43f68 6017 (substitute* (list "meson.build"
86c44e72
KK
6018 "src/backends/native/meta-launcher.c"
6019 "src/core/main.c")
6020 (("systemd") "elogind"))
6021 #t)))))
60c3627c
SB
6022 (native-inputs
6023 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6024 ("gobject-introspection" ,gobject-introspection)
6025 ("intltool" ,intltool)
f23052a6 6026 ("pkg-config" ,pkg-config)
edf43f68 6027 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6028 ;; For git build
6029 ("autoconf" ,autoconf)
6030 ("automake" ,automake)
6031 ("libtool" ,libtool)))
60c3627c 6032 (propagated-inputs
a88d5a0c
MW
6033 `(;; libmutter.pc refers to these:
6034 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6035 ("gtk+" ,gtk+)
6036 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6037 ("atk" ,atk)
6038 ("cairo" ,cairo)
6039 ("gdk-pixbuf" ,gdk-pixbuf)
6040 ("glib" ,glib)
a88d5a0c
MW
6041 ("json-glib" ,json-glib)
6042 ("libinput" ,libinput)
6043 ("libx11" ,libx11)
6044 ("libxcomposite" ,libxcomposite)
6045 ("libxdamage" ,libxdamage)
6046 ("libxext" ,libxext)
6047 ("libxfixes" ,libxfixes)
6048 ("libxkbcommon" ,libxkbcommon)
6049 ("libxrandr" ,libxrandr)
6050 ("mesa" ,mesa)
6051 ("pango" ,pango)
6052 ("udev" ,eudev)
a88d5a0c 6053 ("xinput" ,xinput)))
60c3627c 6054 (inputs
86c44e72
KK
6055 `(("elogind" ,elogind)
6056 ("gnome-desktop" ,gnome-desktop)
edf43f68 6057 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6058 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6059 ("libgudev" ,libgudev)
60c3627c
SB
6060 ("libice" ,libice)
6061 ("libsm" ,libsm)
edf43f68 6062 ("libwacom" ,libwacom)
60c3627c 6063 ("libxkbfile" ,libxkbfile)
a88d5a0c 6064 ("libxrandr" ,libxrandr)
86c44e72 6065 ("libxtst" ,libxtst)
edf43f68 6066 ("pipewire" ,pipewire)
60c3627c
SB
6067 ("startup-notification" ,startup-notification)
6068 ("upower-glib" ,upower)
6069 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6070 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6071 ("zenity" ,zenity)))
6072 (synopsis "Window and compositing manager")
f032d0be 6073 (home-page "https://www.gnome.org")
60c3627c
SB
6074 (description
6075 "Mutter is a window and compositing manager that displays and manages your
6076desktop via OpenGL. Mutter combines a sophisticated display engine using the
6077Clutter toolkit with solid window-management logic inherited from the Metacity
6078window manager.")
86c44e72 6079 (license license:gpl2+)))
685cee87
SB
6080
6081(define-public gnome-online-accounts
6082 (package
6083 (name "gnome-online-accounts")
aa200347 6084 (version "3.32.1")
685cee87
SB
6085 (source (origin
6086 (method url-fetch)
6087 (uri (string-append "mirror://gnome/sources/" name "/"
6088 (version-major+minor version) "/"
6089 name "-" version ".tar.xz"))
6090 (sha256
6091 (base32
aa200347 6092 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6093 (outputs '("out" "lib"))
685cee87 6094 (build-system glib-or-gtk-build-system)
14c297fd
TS
6095 (arguments
6096 `(#:configure-flags
6097 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6098 #:phases
6099 (modify-phases %standard-phases
6100 (add-before 'configure 'patch-libgoa-output
6101 (lambda* (#:key outputs #:allow-other-keys)
6102 (let ((lib (assoc-ref outputs "lib")))
6103 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6104 (("@prefix@") lib)
6105 (("@exec_prefix@") lib)
6106 (("@libdir@") (string-append lib "/lib"))
6107 (("@includedir@") (string-append lib "/include"))
6108 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6109 ;; Make sure gobject-introspection knows about the output
6110 ;; too (see <https://bugs.gnu.org/36535>).
6111 (setenv "outputs" "out lib")
14c297fd 6112 #t))))))
685cee87
SB
6113 (native-inputs
6114 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6115 ("gobject-introspection" ,gobject-introspection)
6116 ("intltool" ,intltool)
6117 ("pkg-config" ,pkg-config)
ebb2873d 6118 ("vala" ,vala)
685cee87
SB
6119 ("xsltproc" ,libxslt)))
6120 (propagated-inputs
6121 `(("glib" ,glib) ; required by goa-1.0.pc
6122 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6123 (inputs
6124 `(("docbook-xsl" ,docbook-xsl)
6125 ("json-glib" ,json-glib)
6126 ("libsecret" ,libsecret)
6127 ("rest" ,rest)
685cee87
SB
6128 ("webkitgtk" ,webkitgtk)))
6129 (synopsis "Single sign-on framework for GNOME")
6130 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6131 (description
6132 "GNOME Online Accounts provides interfaces so that applications and
6133libraries in GNOME can access the user's online accounts. It has providers for
6134Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6135Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6136 (license license:lgpl2.0+)))
df217748
SB
6137
6138(define-public evolution-data-server
6139 (package
6140 (name "evolution-data-server")
2196a8d4 6141 (version "3.32.4")
df217748
SB
6142 (source (origin
6143 (method url-fetch)
6144 (uri (string-append "mirror://gnome/sources/" name "/"
6145 (version-major+minor version) "/"
6146 name "-" version ".tar.xz"))
43190ac6
MB
6147 (patches (search-patches "evolution-data-server-locales.patch"
6148 "evolution-data-server-libical-compat.patch"))
df217748
SB
6149 (sha256
6150 (base32
2196a8d4 6151 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6152 (build-system cmake-build-system)
df217748 6153 (arguments
b468eedc
RW
6154 '(#:configure-flags
6155 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6156 (runpaths (map (lambda (s)
6157 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6158 '("addressbook-backends" "calendar-backends"
6159 "camel-providers" "credential-modules"
6160 "registry-modules"))))
6161 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6162 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6163 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6164 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6165 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6166 (string-append lib "/evolution-data-server;")
6167 (string-join runpaths ";"))
6168 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6169 #:phases
6170 (modify-phases %standard-phases
b468eedc
RW
6171 (add-after 'unpack 'disable-failing-tests
6172 (lambda _
6173 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6174 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6175 (delete-file-recursively "tests/book-migration")
6176 (substitute* "tests/CMakeLists.txt"
6177 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6178 ;; tests/libebook/client/test-book-client-view-operations:8077):
6179 ;; e-data-server-WARNING **:
6180 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6181 ;; runtime check failed:
6182 ;; (!g_main_context_pending (closure->main_context))
6183 (substitute* "tests/libebook/client/CMakeLists.txt"
6184 (("test-book-client-view-operations") ""))
b468eedc 6185 #t))
743aebd7 6186 (add-after 'unpack 'patch-paths
df217748 6187 (lambda _
b468eedc
RW
6188 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6189 "tests/libedata-book/data-test-utils.c"
6190 "tests/libedata-book/test-book-cache-utils.c"
6191 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6192 (("/bin/rm") (which "rm")))
ac033c7b
MB
6193 #t))
6194 (add-before 'configure 'dont-override-rpath
6195 (lambda _
6196 (substitute* "CMakeLists.txt"
6197 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6198 ;; Remove it so the configure flag is respected.
6199 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6200 #t)))))
df217748
SB
6201 (native-inputs
6202 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6203 ("gobject-introspection" ,gobject-introspection)
6204 ("gperf" ,gperf)
6205 ("intltool" ,intltool)
6206 ("pkg-config" ,pkg-config)
a73c1cf8 6207 ("vala" ,vala)
743aebd7 6208 ("python" ,python-wrapper)))
df217748
SB
6209 (propagated-inputs
6210 ;; These are all in the Requires field of .pc files.
6211 `(("gtk+" ,gtk+)
6212 ("libical" ,libical)
6213 ("libsecret" ,libsecret)
6214 ("libsoup" ,libsoup)
6215 ("nss" ,nss)
6216 ("sqlite" ,sqlite)))
6217 (inputs
6218 `(("bdb" ,bdb)
6219 ("gcr" ,gcr)
14c297fd 6220 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6221 ("json-glib" ,json-glib)
b468eedc 6222 ("libcanberra" ,libcanberra)
743aebd7
MB
6223 ("libgweather" ,libgweather)
6224 ("mit-krb5" ,mit-krb5)
891199c6
MW
6225 ("openldap" ,openldap)
6226 ("webkitgtk" ,webkitgtk)))
df217748
SB
6227 (synopsis "Store address books and calendars")
6228 (home-page "https://wiki.gnome.org/Apps/Evolution")
6229 (description
6230 "This package provides a unified backend for programs that work with
6231contacts, tasks, and calendar information. It was originally developed for
6232Evolution (hence the name), but is now used by other packages as well.")
6233 (license license:lgpl2.0)))
bd7dfafa
SB
6234
6235(define-public caribou
6236 (package
6237 (name "caribou")
fe964bb5 6238 (version "0.4.21")
bd7dfafa
SB
6239 (source (origin
6240 (method url-fetch)
6241 (uri (string-append "mirror://gnome/sources/" name "/"
6242 (version-major+minor version) "/"
6243 name "-" version ".tar.xz"))
6244 (sha256
6245 (base32
fe964bb5 6246 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6247 (build-system glib-or-gtk-build-system)
6248 (arguments
6249 '(#:phases
6250 (modify-phases %standard-phases
6251 (add-before
6252 'build 'pre-build
6253 (lambda* (#:key outputs #:allow-other-keys)
6254 (let ((out (assoc-ref outputs "out")))
6255 ;; Use absolute shared library path in Caribou-1.0.typelib.
6256 (substitute* "libcaribou/Makefile"
6257 (("--shared-library=libcaribou.so")
6258 (string-append "--shared-library="
6259 out "/lib/libcaribou.so")))
6260 #t)))
6261 (add-after 'install 'wrap-programs
6262 (lambda* (#:key outputs #:allow-other-keys)
6263 (let* ((out (assoc-ref outputs "out"))
6264 (python-path (getenv "PYTHONPATH"))
6265 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6266 (for-each
6267 (lambda (prog)
6268 (wrap-program prog
6269 `("PYTHONPATH" ":" prefix (,python-path))
6270 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6271 (list (string-append out "/bin/caribou-preferences")
6272 (string-append out "/libexec/antler-keyboard"))))
6273 #t)))))
6274 (native-inputs
6275 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6276 ("gobject-introspection" ,gobject-introspection)
6277 ("intltool" ,intltool)
6278 ("pkg-config" ,pkg-config)
9f7f5ba2 6279 ("python" ,python)
bd7dfafa
SB
6280 ("vala" ,vala)
6281 ("xsltproc" ,libxslt)))
6282 (propagated-inputs
6283 ;; caribou-1.0.pc refers to all these.
6284 `(("libgee" ,libgee)
6285 ("libxklavier" ,libxklavier)
6286 ("libxtst" ,libxtst)
6287 ("gtk+" ,gtk+)))
6288 (inputs
6289 `(("clutter" ,clutter)
6290 ("dconf" ,dconf)
6291 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6292 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6293 (synopsis "Text entry and UI navigation application")
6294 (home-page "https://wiki.gnome.org/Projects/Caribou")
6295 (description
6296 "Caribou is an input assistive technology intended for switch and pointer
6297users.")
6298 (license license:lgpl2.1)))
ba5dd105 6299
ba5dd105
SB
6300(define-public network-manager
6301 (package
6302 (name "network-manager")
6425d87a 6303 (version "1.18.4")
ba5dd105
SB
6304 (source (origin
6305 (method url-fetch)
6306 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6307 (version-major+minor version) "/"
6308 "NetworkManager-" version ".tar.xz"))
7d1861e2 6309 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6310 (sha256
6311 (base32
6425d87a 6312 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6313 (modules '((guix build utils)))
fd070f35 6314 (snippet
02710a9b
RW
6315 '(begin
6316 (substitute* "src/devices/wwan/nm-modem-manager.c"
6317 (("systemd") "elogind"))
6318 #t))))
ba5dd105
SB
6319 (build-system gnu-build-system)
6320 (outputs '("out"
6321 "doc")) ; 8 MiB of gtk-doc HTML
6322 (arguments
6323 '(#:configure-flags
6324 (let ((out (assoc-ref %outputs "out"))
6325 (doc (assoc-ref %outputs "doc"))
6326 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6327 "/sbin/dhclient")))
02710a9b
RW
6328 (list "--with-libnm-glib" ; needed by network-manager-applet
6329 "--with-systemd-journal=no"
6330 "--with-session-tracking=elogind"
6331 "--with-suspend-resume=elogind"
fd070f35
CM
6332 "--with-consolekit=no"
6333 "--with-crypto=gnutls"
ba5dd105
SB
6334 "--disable-config-plugin-ibft"
6335 "--sysconfdir=/etc"
6336 "--localstatedir=/var"
6337 (string-append "--with-udev-dir="
6338 out "/lib/udev")
6339 (string-append "--with-dbus-sys-dir="
6340 out "/etc/dbus-1/system.d")
6341 (string-append "--with-html-dir="
6342 doc "/share/gtk-doc/html")
6343 (string-append "--with-dhclient=" dhclient)))
6344 #:phases
6345 (modify-phases %standard-phases
02710a9b
RW
6346 ;; This bare "ls" invocation breaks some tests.
6347 (add-after 'unpack 'patch-ls-invocation
6348 (lambda _
6349 (substitute* "build-aux/ltmain.sh"
6350 (("`ls -")
6351 (string-append "`" (which "ls") " -")))
6352 #t))
b4f59d87
AW
6353 (add-before 'configure 'pre-configure
6354 (lambda _
6355 ;; These tests try to test aspects of network-manager's
6356 ;; functionality within restricted containers, but they don't
6357 ;; cope with being already in the Guix build jail as that jail
6358 ;; lacks some features that they would like to proxy over (like
6359 ;; a /sys mount).
d04687dc
HG
6360 (substitute* '("Makefile.in")
6361 (("src/platform/tests/test-address-linux") " ")
6362 (("src/platform/tests/test-cleanup-linux") " ")
6363 (("src/platform/tests/test-link-linux") " ")
6364 (("src/platform/tests/test-route-linux") " ")
02710a9b 6365 (("src/devices/tests/test-acd") "")
d04687dc
HG
6366 (("src/devices/tests/test-arping") " ")
6367 (("src/devices/tests/test-lldp") " ")
6368 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6369 #t))
45f80fce
RW
6370 (add-after 'unpack 'delete-failing-tests
6371 (lambda _
02710a9b 6372 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6373 ;; ERROR:libnm-core/tests/test-general.c:5842:
6374 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6375 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6376 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6377 ;; ERROR:libnm-core/tests/test-setting.c:907:
6378 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6379 (substitute* "Makefile.in"
6380 (("libnm-core/tests/test-general") " ")
6381 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6382 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6383 #t))
ba5dd105
SB
6384 (add-before 'check 'pre-check
6385 (lambda _
6386 ;; For the missing /etc/machine-id.
6387 (setenv "DBUS_FATAL_WARNINGS" "0")
6388 #t))
6389 (replace 'install
6390 (lambda _
45f80fce
RW
6391 (invoke "make"
6392 "sysconfdir=/tmp"
6393 "rundir=/tmp"
6394 "statedir=/tmp"
6395 "nmstatedir=/tmp/nm"
6396 "install")
6397 #t)))))
b93502d6
DC
6398 (propagated-inputs
6399 `(("glib" ,glib)))
ba5dd105
SB
6400 (native-inputs
6401 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6402 ("gobject-introspection" ,gobject-introspection)
d04687dc 6403 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6404 ("intltool" ,intltool)
d04687dc
HG
6405 ("libxslt" ,libxslt)
6406 ("libxml2" ,libxml2)
ba5dd105
SB
6407 ("pkg-config" ,pkg-config)
6408 ;; For testing.
6409 ("python" ,python-wrapper)
6410 ("python-dbus" ,python-dbus)
6411 ("python-pygobject" ,python-pygobject)))
6412 (inputs
02710a9b
RW
6413 `(("coreutils" ,coreutils) ; for ls
6414 ("curl" ,curl)
856ca567
KK
6415 ("cyrus-sasl" ,cyrus-sasl)
6416 ("dbus-glib" ,dbus-glib)
ba5dd105 6417 ("dnsmasq" ,dnsmasq)
856ca567 6418 ("eudev" ,eudev)
ba5dd105
SB
6419 ("gnutls" ,gnutls)
6420 ("iptables" ,iptables)
6421 ("isc-dhcp" ,isc-dhcp)
d04687dc 6422 ("jansson" ,jansson)
ba5dd105
SB
6423 ("libgcrypt" ,libgcrypt)
6424 ("libgudev" ,libgudev)
6425 ("libndp" ,libndp)
6426 ("libnl" ,libnl)
6427 ("libsoup" ,libsoup)
142bdcbc 6428 ("modem-manager" ,modem-manager)
c27e02bf 6429 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6430 ("polkit" ,polkit)
6431 ("ppp" ,ppp)
6432 ("readline" ,readline)
fd070f35
CM
6433 ("util-linux" ,util-linux)
6434 ("elogind" ,elogind)))
ba5dd105 6435 (synopsis "Network connection manager")
f032d0be 6436 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6437 (description
6438 "NetworkManager is a system network service that manages your network
6439devices and connections, attempting to keep active network connectivity when
6440available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6441devices, and provides VPN integration with a variety of different VPN
6442services.")
29d2f451
LC
6443 (license license:gpl2+)
6444 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6445
f2b96b3a
LC
6446(define-public network-manager-openvpn
6447 (package
6448 (name "network-manager-openvpn")
be1c4b07 6449 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6450 (version "1.8.10")
f2b96b3a
LC
6451 (source (origin
6452 (method url-fetch)
6453 (uri (string-append
6454 "mirror://gnome/sources/NetworkManager-openvpn/"
6455 (version-major+minor version)
6456 "/NetworkManager-openvpn-" version ".tar.xz"))
6457 (sha256
6458 (base32
7d87eede 6459 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6460 (build-system gnu-build-system)
6461 (arguments
633422b0
JL
6462 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6463 #:phases
6464 (modify-phases %standard-phases
6465 (add-after 'configure 'patch-path
6466 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6467 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6468 "/sbin/openvpn"))
6469 (modprobe (string-append (assoc-ref inputs "kmod")
6470 "/bin/modprobe"))
6471 (pretty-ovpn (string-append "\"" ovpn "\"")))
6472 (for-each
6473 (lambda (file)
6474 (substitute* file
6475 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6476 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6477 (("\"/sbin/openvpn\"") pretty-ovpn)
6478 (("/sbin/modprobe") modprobe)))
6479 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6480 #t)))))
f2b96b3a
LC
6481 (native-inputs
6482 `(("pkg-config" ,pkg-config)
6483 ("intltool" ,intltool)))
6484 (inputs
6485 `(("gtk+" ,gtk+)
633422b0 6486 ("kmod" ,kmod)
f2b96b3a
LC
6487 ("openvpn" ,openvpn)
6488 ("network-manager" ,network-manager)
6489 ("network-manager-applet" ,network-manager-applet) ;for libnma
6490 ("libsecret" ,libsecret)))
6491 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6492 (synopsis "OpenVPN plug-in for NetworkManager")
6493 (description
6494 "This extension of NetworkManager allows it to take care of connections
6495to virtual private networks (VPNs) via OpenVPN.")
6496 (license license:gpl2+)
6497 (properties `((upstream-name . "NetworkManager-openvpn")))))
6498
d376129f
JL
6499(define-public network-manager-vpnc
6500 (package
6501 (name "network-manager-vpnc")
6502 (version "1.2.6")
6503 (source (origin
6504 (method url-fetch)
6505 (uri (string-append
6506 "mirror://gnome/sources/NetworkManager-vpnc/"
6507 (version-major+minor version)
6508 "/NetworkManager-vpnc-" version ".tar.xz"))
6509 (sha256
6510 (base32
6511 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6512 (build-system gnu-build-system)
6513 (arguments
6514 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6515 #:phases
6516 (modify-phases %standard-phases
6517 (add-after 'configure 'patch-path
6518 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6519 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6520 "/sbin/vpnc"))
6521 (modprobe (string-append (assoc-ref inputs "kmod")
6522 "/bin/modprobe"))
6523 (pretty-ovpn (string-append "\"" vpnc "\"")))
6524 (substitute* "src/nm-vpnc-service.c"
6525 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6526 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6527 (("\"/sbin/vpnc\"") pretty-ovpn)
6528 (("/sbin/modprobe") modprobe)))
6529 #t)))))
6530 (native-inputs
6531 `(("pkg-config" ,pkg-config)
6532 ("intltool" ,intltool)))
6533 (inputs
6534 `(("gtk+" ,gtk+)
6535 ("kmod" ,kmod)
6536 ("vpnc" ,vpnc)
6537 ("network-manager" ,network-manager)
6538 ("network-manager-applet" ,network-manager-applet) ;for libnma
6539 ("libsecret" ,libsecret)))
6540 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6541 (synopsis "VPNC plug-in for NetworkManager")
6542 (description
6543 "Support for configuring virtual private networks based on VPNC.
6544Compatible with Cisco VPN concentrators configured to use IPsec.")
6545 (license license:gpl2+)
6546 (properties `((upstream-name . "NetworkManager-vpnc")))))
6547
8378c87a
EF
6548(define-public network-manager-openconnect
6549 (package
6550 (name "network-manager-openconnect")
6551 (version "1.2.6")
6552 (source (origin
6553 (method url-fetch)
6554 (uri (string-append
6555 "mirror://gnome/sources/NetworkManager-openconnect/"
6556 (version-major+minor version)
6557 "/NetworkManager-openconnect-" version ".tar.xz"))
6558 (sha256
6559 (base32
6560 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6561 (build-system gnu-build-system)
6562 (arguments
6563 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6564 #:phases
6565 (modify-phases %standard-phases
6566 (add-after 'configure 'patch-path
6567 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6568 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6569 "/sbin/openconnect"))
6570 (modprobe (string-append (assoc-ref inputs "kmod")
6571 "/bin/modprobe"))
6572 (pretty-ovpn (string-append "\"" openconnect "\"")))
6573 (substitute* "src/nm-openconnect-service.c"
6574 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6575 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6576 (("/sbin/modprobe") modprobe)))
6577 #t)))))
6578 (native-inputs
6579 `(("intltool" ,intltool)
6580 ("network-manager-applet" ,network-manager-applet) ;for libnma
6581 ("pkg-config" ,pkg-config)))
6582 (inputs
6583 `(("gcr" ,gcr)
6584 ("gtk+" ,gtk+)
6585 ("kmod" ,kmod)
6586 ("libsecret" ,libsecret)
6587 ("libxml2" ,libxml2)
6588 ("network-manager" ,network-manager)
6589 ("openconnect" ,openconnect)))
6590 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6591 (synopsis "OpenConnect plug-in for NetworkManager")
6592 (description
6593 "This extension of NetworkManager allows it to take care of connections
6594to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6595Cisco's AnyConnect SSL VPN.")
6596 (license license:gpl2+)
e52b9534
LC
6597 (properties `((upstream-name . "NetworkManager-openconnect")
6598
6599 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6600 ;; file refers to account "nm-openconnect". Specify it here
6601 ;; so that 'network-manager-service-type' creates it.
6602 (user-accounts . ("nm-openconnect"))))))
8378c87a 6603
e5e1df4d
DC
6604(define-public mobile-broadband-provider-info
6605 (package
6606 (name "mobile-broadband-provider-info")
310c89e3 6607 (version "20190116")
e5e1df4d
DC
6608 (source (origin
6609 (method url-fetch)
6610 (uri (string-append
6611 "mirror://gnome/sources/"
6612 "mobile-broadband-provider-info/" version "/"
6613 "mobile-broadband-provider-info-" version ".tar.xz"))
6614 (sha256
6615 (base32
310c89e3 6616 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6617 (build-system gnu-build-system)
6618 (arguments
310c89e3 6619 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6620 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6621 (synopsis "Database of broadband connection configuration")
6622 (description "Database of broadband connection configuration.")
6623 (license license:public-domain)))
6624
4d62a9d3
SB
6625(define-public network-manager-applet
6626 (package
6627 (name "network-manager-applet")
8fc3a337 6628 (version "1.8.24")
4d62a9d3
SB
6629 (source (origin
6630 (method url-fetch)
3df63444 6631 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6632 (version-major+minor version) "/"
3df63444 6633 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6634 (sha256
6635 (base32
8fc3a337 6636 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6637 (build-system meson-build-system)
6638 (arguments
be1c4b07
TGR
6639 '(#:configure-flags
6640 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6641 (list "-Dlibnm_gtk=true")
6642 #:glib-or-gtk? #t))
4d62a9d3
SB
6643 (native-inputs
6644 `(("intltool" ,intltool)
cd7f718e 6645 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6646 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6647 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6648 ("pkg-config" ,pkg-config)))
6649 (propagated-inputs
6650 ;; libnm-gtk.pc refers to all these.
6651 `(("dbus-glib" ,dbus-glib)
6652 ("gtk+" ,gtk+)
6653 ("network-manager" ,network-manager)))
6654 (inputs
cd7f718e
RW
6655 `(("gcr" ,gcr)
6656 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6657 ("libgudev" ,libgudev)
6658 ("libnotify" ,libnotify)
2116bfb3 6659 ("libsecret" ,libsecret)
240cee8a
KK
6660 ("libselinux" ,libselinux)
6661 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6662 ("modem-manager" ,modem-manager)
6663 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6664 (synopsis "Applet for managing network connections")
f032d0be 6665 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6666 (description
6667 "This package contains a systray applet for NetworkManager. It displays
6668the available networks and allows users to easily switch between them.")
6669 (license license:gpl2+)))
56196594
RW
6670
6671(define-public libxml++
6672 (package
6673 (name "libxml++")
8344a85e 6674 (version "3.0.1")
56196594
RW
6675 (source (origin
6676 (method url-fetch)
6677 (uri (string-append "mirror://gnome/sources/" name "/"
6678 (version-major+minor version) "/"
6679 name "-" version ".tar.xz"))
6680 (sha256
6681 (base32
8344a85e 6682 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6683 (build-system gnu-build-system)
6684 ;; libxml++-3.0.pc refers to all these.
6685 (propagated-inputs
6686 `(("libxml2" ,libxml2)
6687 ("glibmm" ,glibmm)))
6688 (native-inputs
6689 `(("perl" ,perl)
6690 ("pkg-config" ,pkg-config)))
6691 (home-page "http://libxmlplusplus.sourceforge.net/")
6692 (synopsis "C++ wrapper for XML parser library libxml2")
6693 (description
6694 "This package provides a C++ wrapper for the XML parser library
6695libxml2.")
6696 (license license:lgpl2.1+)))
df12f04a 6697
b61d9627
AW
6698(define-public libxml++-2
6699 (package
6700 (inherit libxml++)
6701 (name "libxml++")
6702 (version "2.40.1")
6703 (source (origin
6704 (method url-fetch)
6705 (uri (string-append "mirror://gnome/sources/" name "/"
6706 (version-major+minor version) "/"
6707 name "-" version ".tar.xz"))
6708 (sha256
6709 (base32
6710 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6711
df12f04a
SB
6712(define-public gdm
6713 (package
6714 (name "gdm")
bcca95dc 6715 (version "3.32.0")
df12f04a
SB
6716 (source (origin
6717 (method url-fetch)
6718 (uri (string-append "mirror://gnome/sources/" name "/"
6719 (version-major+minor version) "/"
6720 name "-" version ".tar.xz"))
6721 (sha256
6722 (base32
bcca95dc 6723 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6724 (build-system glib-or-gtk-build-system)
df12f04a
SB
6725 (arguments
6726 '(#:configure-flags
af37e6bb 6727 `("--without-plymouth"
957dbc0a 6728 "--disable-systemd-journal"
51bc8357
TS
6729
6730 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6731 ;; instead of having to replace it (i.e., stopping the mingetty
6732 ;; service for TTY 1 before starting GDM).
6733 "--with-initial-vt=7"
6734
89c86562
TS
6735 ;; Use '/etc/environment' for locale settings instead of the
6736 ;; systemd-specific '/etc/locale.conf'.
6737 "--with-lang-file=/etc/environment"
6738
b74ef0ba
RW
6739 ,(string-append "--with-udevdir="
6740 (assoc-ref %outputs "out") "/lib/udev")
6741
af37e6bb
AW
6742 "--localstatedir=/var"
6743 ,(string-append "--with-default-path="
6744 (string-join '("/run/setuid-programs"
6745 "/run/current-system/profile/bin"
6746 "/run/current-system/profile/sbin")
957dbc0a
AW
6747 ":"))
6748 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6749 ;; XDG_DATA_DIRS so that it finds its schemas.
6750 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6751 #:phases
6752 (modify-phases %standard-phases
6753 (add-before
6754 'configure 'pre-configure
e8c6e771 6755 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6756 ;; We don't have <systemd/sd-daemon.h>.
6757 (substitute* '("common/gdm-log.c"
6758 "daemon/gdm-server.c"
6759 "daemon/gdm-session-worker.c"
6760 "daemon/gdm-session-worker-job.c")
6761 (("#include <systemd/sd-daemon\\.h>") ""))
6762 ;; Use elogind for sd-login.
6763 (substitute* '("common/gdm-common.c"
6764 "daemon/gdm-manager.c"
6765 "libgdm/gdm-user-switching.c")
6766 (("#include <systemd/sd-login\\.h>")
6767 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6768 ;; Check for elogind.
6769 (substitute* '("configure")
6770 (("libsystemd")
6771 "libelogind"))
af37e6bb
AW
6772 ;; Look for system-installed sessions in
6773 ;; /run/current-system/profile/share.
6774 (substitute* '("libgdm/gdm-sessions.c"
6775 "daemon/gdm-session.c"
6776 "daemon/gdm-display.c"
6777 "daemon/gdm-launch-environment.c")
6778 (("DATADIR \"/x")
6779 "\"/run/current-system/profile/share/x")
6780 (("DATADIR \"/wayland")
6781 "\"/run/current-system/profile/share/wayland")
6782 (("DATADIR \"/gnome")
6783 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6784 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6785 "GDM_DBUS_DAEMON"
c9ff92b5 6786 "GDM_X_SERVER"
41fa9f18 6787 "GDM_X_SESSION"
c9ff92b5
TS
6788 ;; XXX: Remove this once GNOME Shell is
6789 ;; a dependency of GDM.
6790 "XDG_DATA_DIRS")))
6791 (substitute* "daemon/gdm-session.c"
6792 (("set_up_session_environment \\(self\\);")
6793 (apply string-append
6794 "set_up_session_environment (self);\n"
6795 (map (lambda (name)
6796 (string-append
6797 "gdm_session_set_environment_variable "
6798 "(self, \"" name "\","
6799 "g_getenv (\"" name "\"));\n"))
6800 propagate)))))
a430a350
TS
6801 ;; Find the configuration file using an environment variable.
6802 (substitute* '("common/gdm-settings.c")
e0e6756f 6803 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6804 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6805 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6806 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6807 ;; Use service-supplied path to X.
6808 (substitute* '("daemon/gdm-server.c")
6809 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6810 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6811 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6812 (("\"dbus-daemon\"")
6813 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6814 (("X_SERVER")
41fa9f18
TS
6815 "g_getenv (\"GDM_X_SERVER\")")
6816 (("GDMCONFDIR \"/Xsession\"")
6817 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6818 ;; Use an absolute path for GNOME Session.
6819 (substitute* "daemon/gdm-launch-environment.c"
6820 (("\"gnome-session\"")
6821 (string-append "\"" (assoc-ref inputs "gnome-session")
6822 "/bin/gnome-session\"")))
e8c6e771
TS
6823 ;; Do not automatically select the placeholder session.
6824 (substitute* "daemon/gdm-session.c"
6825 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6826 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6827 "(g_strcmp0(search_dirs[i], \""
6828 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6829 "\") == 0 && "
6830 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6831 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6832 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6833 #t))
8caa4589
TS
6834 ;; GDM requires that there be at least one desktop entry
6835 ;; file. This phase installs a hidden one that simply
6836 ;; fails. This enables users to use GDM with a
6837 ;; '~/.xsession' script with no other desktop entry files.
6838 ;; See <https://bugs.gnu.org/35068>.
6839 (add-after 'install 'install-placeholder-desktop-entry
6840 (lambda* (#:key inputs outputs #:allow-other-keys)
6841 (let* ((out (assoc-ref outputs "out"))
6842 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6843 (fail (string-append sessions "/fail.desktop")))
6844 (mkdir-p sessions)
6845 (with-output-to-file fail
6846 (lambda ()
6847 (for-each
6848 display
6849 '("[Desktop Entry]\n"
6850 "Encoding=UTF-8\n"
6851 "Type=Application\n"
6852 "Name=Fail\n"
6853 "Comment=This session fails immediately.\n"
6854 "NoDisplay=true\n"
6855 "Exec=false\n"))))
6856 #t)))
69544798
TS
6857 ;; GDM needs GNOME Session to run these applications. We link
6858 ;; their autostart files in `share/gdm/greeter/autostart'
6859 ;; because GDM explicitly tells GNOME Session to look there.
6860 ;;
6861 ;; XXX: GNOME Shell should be linked here too, but currently
6862 ;; GNOME Shell depends on GDM.
6863 (add-after 'install 'link-autostart-files
6864 (lambda* (#:key inputs outputs #:allow-other-keys)
6865 (let* ((out (assoc-ref outputs "out"))
6866 (autostart (string-append out "/share/gdm/"
6867 "greeter/autostart"))
6868 (settings (assoc-ref inputs "gnome-settings-daemon")))
6869 (mkdir-p autostart)
6870 (with-directory-excursion autostart
6871 (for-each (lambda (desktop)
6872 (symlink desktop (basename desktop)))
6873 (find-files (string-append settings "/etc/xdg"))))
6874 #t))))))
df12f04a
SB
6875 (native-inputs
6876 `(("dconf" ,dconf)
6877 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6878 ("gobject-introspection" ,gobject-introspection)
6879 ("intltool" ,intltool)
6880 ("itstool" ,itstool)
6881 ("pkg-config" ,pkg-config)
6882 ("xmllint" ,libxml2)))
6883 (inputs
6884 `(("accountsservice" ,accountsservice)
6885 ("check" ,check) ; for testing
6886 ("elogind" ,elogind)
def6d6b6 6887 ("gnome-session" ,gnome-session)
69544798 6888 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6889 ("gtk+" ,gtk+)
6890 ("iso-codes" ,iso-codes)
6891 ("libcanberra" ,libcanberra)
6892 ("linux-pam" ,linux-pam)))
6893 (synopsis "Display manager for GNOME")
f032d0be 6894 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6895 (description
6896 "GNOME Display Manager is a system service that is responsible for
6897providing graphical log-ins and managing local and remote displays.")
6898 (license license:gpl2+)))
8e1dd04f
SB
6899
6900(define-public libgtop
6901 (package
6902 (name "libgtop")
015fc036 6903 (version "2.40.0")
8e1dd04f
SB
6904 (source (origin
6905 (method url-fetch)
59487fc2 6906 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6907 (version-major+minor version) "/"
59487fc2 6908 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6909 (sha256
6910 (base32
015fc036 6911 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6912 (build-system gnu-build-system)
6913 (native-inputs
6914 `(("gobject-introspection" ,gobject-introspection)
6915 ("intltool" ,intltool)
6916 ("perl" ,perl)
6917 ("pkg-config" ,pkg-config)))
6918 (propagated-inputs
6919 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6920 (synopsis "Portable system access library")
6921 (home-page "https://www.gnome.org/")
6922 (description
6923 "LibGTop is a library to get system specific data such as CPU and memory
6924usage and information about running processes.")
6925 (license license:gpl2+)))
b96c4260
SB
6926
6927(define-public gnome-bluetooth
6928 (package
6929 (name "gnome-bluetooth")
723afae6 6930 (version "3.32.1")
b96c4260
SB
6931 (source (origin
6932 (method url-fetch)
6933 (uri (string-append "mirror://gnome/sources/" name "/"
6934 (version-major+minor version) "/"
6935 name "-" version ".tar.xz"))
6936 (sha256
6937 (base32
723afae6 6938 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6939 (build-system meson-build-system)
b96c4260
SB
6940 (native-inputs
6941 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6942 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6943 ("gobject-introspection" ,gobject-introspection)
6944 ("intltool" ,intltool)
6945 ("pkg-config" ,pkg-config)
6946 ("xmllint" ,libxml2)))
6947 (propagated-inputs
6948 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6949 `(("glib" ,glib)
6950 ("gtk+" ,gtk+)))
b96c4260 6951 (inputs
723afae6
KK
6952 `(("eudev" ,eudev)
6953 ("libcanberra" ,libcanberra)
b96c4260
SB
6954 ("libnotify" ,libnotify)))
6955 (synopsis "GNOME Bluetooth subsystem")
6956 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6957 (description
6958 "This package contains tools for managing and manipulating Bluetooth
6959devices using the GNOME desktop.")
6960 (license license:lgpl2.1+)))
b645146f
SB
6961
6962(define-public gnome-control-center
6963 (package
6964 (name "gnome-control-center")
a6938bac 6965 (version "3.32.2")
b645146f
SB
6966 (source (origin
6967 (method url-fetch)
6968 (uri (string-append "mirror://gnome/sources/" name "/"
6969 (version-major+minor version) "/"
6970 name "-" version ".tar.xz"))
6971 (sha256
6972 (base32
a6938bac 6973 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6974 (build-system meson-build-system)
b645146f 6975 (arguments
59dac026
RW
6976 '(#:glib-or-gtk? #t
6977 #:configure-flags
64c70430
KK
6978 (list "-Dcheese=false"
6979 (string-append "-Dgnome_session_libexecdir="
6980 (assoc-ref %build-inputs "gnome-session")
6981 "/libexec"))
59dac026 6982 #:phases
b645146f
SB
6983 (modify-phases %standard-phases
6984 (add-before 'configure 'patch-paths
6985 (lambda* (#:key inputs #:allow-other-keys)
6986 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6987 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6988 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6989 (nm-applet (assoc-ref inputs "network-manager-applet"))
6990 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6991 (substitute* "panels/datetime/tz.h"
6992 (("/usr/share/zoneinfo/zone.tab")
6993 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6994 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6995 (("/usr/share/locale")
6996 (string-append libc "/share/locale")))
1df38cfc
LC
6997 (substitute* "panels/region/cc-region-panel.c"
6998 (("\"gkbd-keyboard-display")
6999 (string-append "\"" libgnomekbd
7000 "/bin/gkbd-keyboard-display")))
341225ac
LC
7001 (substitute* '("panels/network/net-device-wifi.c"
7002 "panels/network/net-device.c"
7003 "panels/network/connection-editor/net-connection-editor.c")
7004 (("\"nm-connection-editor")
7005 (string-append "\"" nm-applet
7006 "/bin/nm-connection-editor")))
1acd107c
FP
7007 (substitute* '("panels/user-accounts/run-passwd.c")
7008 (("/usr/bin/passwd")
7009 "/run/setuid-programs/passwd"))
64c70430
KK
7010 (substitute* "panels/info/cc-info-overview-panel.c"
7011 (("DATADIR \"/gnome/gnome-version.xml\"")
7012 (string-append "\"" gnome-desktop
7013 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7014 #t))))))
7015 (native-inputs
7016 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7017 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7018 ("intltool" ,intltool)
7019 ("pkg-config" ,pkg-config)
a6938bac
KK
7020 ("xsltproc" ,libxslt)
7021 ;; For tests
7022 ("hicolor-icon-theme" ,hicolor-icon-theme)
7023 ("python-dbusmock" ,python-dbusmock)
7024 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7025 (inputs
7026 `(("accountsservice" ,accountsservice)
7027 ("clutter-gtk" ,clutter-gtk)
7028 ("colord-gtk" ,colord-gtk)
7029 ("cups" ,cups)
7030 ("dconf" ,dconf)
7031 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7032 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7033 ("gnome-bluetooth" ,gnome-bluetooth)
7034 ("gnome-desktop" ,gnome-desktop)
7035 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7036 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7037 ("gnome-session" ,gnome-session)
b645146f
SB
7038 ("gnome-settings-daemon" ,gnome-settings-daemon)
7039 ("grilo" ,grilo)
a6938bac 7040 ("gsound" ,gsound)
b645146f
SB
7041 ("ibus" ,ibus)
7042 ("libcanberra" ,libcanberra)
1df38cfc 7043 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7044 ("libgudev" ,libgudev)
7045 ("libgtop" ,libgtop)
7046 ("libpwquality" ,libpwquality)
982c0b36 7047 ("libsecret" ,libsecret)
b645146f
SB
7048 ("libsoup" ,libsoup)
7049 ("libxml2" ,libxml2)
7050 ("libwacom" ,libwacom)
7051 ("mesa" ,mesa)
7052 ("mit-krb5" ,mit-krb5)
7053 ("modem-manager" ,modem-manager)
7054 ("network-manager-applet" ,network-manager-applet)
7055 ("polkit" ,polkit)
7056 ("pulseaudio" ,pulseaudio)
7057 ("smbclient" ,samba)
7058 ("tzdata" ,tzdata)
982c0b36 7059 ("udisks" ,udisks)
b645146f
SB
7060 ("upower" ,upower)))
7061 (synopsis "Utilities to configure the GNOME desktop")
7062 (home-page "https://www.gnome.org/")
7063 (description
7064 "This package contains configuration applets for the GNOME desktop,
7065allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7066properties, sound setup, desktop theme and background, user interface
7067properties, screen resolution, and other GNOME parameters.")
7068 (license license:gpl2+)))
a4df5756
SB
7069
7070(define-public gnome-shell
7071 (package
7072 (name "gnome-shell")
d5e615ca 7073 (version "3.32.2")
a4df5756
SB
7074 (source (origin
7075 (method url-fetch)
7076 (uri (string-append "mirror://gnome/sources/" name "/"
7077 (version-major+minor version) "/"
7078 name "-" version ".tar.xz"))
7079 (sha256
7080 (base32
d5e615ca 7081 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7082 (patches (search-patches "gnome-shell-theme.patch"))
7083 (modules '((guix build utils)))
7084 (snippet
7085 #~(begin
a76d0f03
LC
7086 ;; Copy images for use on the GDM log-in screen.
7087 (copy-file #$(file-append %artwork-repository
7088 "/slim/0.x/background.png")
7089 "data/theme/guix-background.png")
45fef894
LC
7090 (copy-file #$(file-append %artwork-repository
7091 "/logo/Guix-horizontal-white.svg")
7092 "data/theme/guix-logo.svg")
a76d0f03 7093 #t))))
2b0c755d 7094 (build-system meson-build-system)
a4df5756 7095 (arguments
08185081
MB
7096 `(#:glib-or-gtk? #t
7097 #:disallowed-references ((,glib "bin")
11e1df56
LC
7098 ,inkscape ,libxslt
7099 ,ruby-sass)
2b0c755d
RW
7100 #:configure-flags
7101 (list "-Dsystemd=false"
7102 ;; Otherwise, the RUNPATH will lack the final path component.
7103 (string-append "-Dc_link_args=-Wl,-rpath="
7104 (assoc-ref %outputs "out")
7105 "/lib/gnome-shell"))
11e1df56 7106
08185081 7107 #:modules ((guix build meson-build-system)
11e1df56
LC
7108 (guix build utils)
7109 (srfi srfi-1))
7110
2b0c755d 7111 #:phases
a4df5756 7112 (modify-phases %standard-phases
2b0c755d 7113 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7114 (lambda* (#:key outputs #:allow-other-keys)
7115 (let* ((out (assoc-ref outputs "out"))
7116 (keysdir (string-append
7117 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7118 (substitute* "meson.build"
7119 (("keysdir =.*")
7120 (string-append "keysdir = '" keysdir "'\n")))
7121 #t)))
ebfe259f
MB
7122 (add-before 'configure 'convert-logo-to-png
7123 (lambda* (#:key inputs #:allow-other-keys)
7124 ;; Convert the logo from SVG to PNG.
7125 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7126 "data/theme/guix-logo.svg")))
ba00235a 7127 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7128 (lambda* (#:key inputs #:allow-other-keys)
7129 (substitute* "js/misc/ibusManager.js"
7130 (("'ibus-daemon'")
7131 (string-append "'" (assoc-ref inputs "ibus")
7132 "/bin/ibus-daemon'")))
d6fda4d3
LC
7133 (substitute* "js/ui/status/keyboard.js"
7134 (("'gkbd-keyboard-display'")
7135 (string-append "'" (assoc-ref inputs "libgnomekbd")
7136 "/bin/gkbd-keyboard-display'")))
2472cdec 7137 #t))
2b0c755d
RW
7138 (add-before 'check 'pre-check
7139 (lambda* (#:key inputs #:allow-other-keys)
7140 ;; Tests require a running X server.
7141 (system "Xvfb :1 &")
7142 (setenv "DISPLAY" ":1")
7143 #t))
7144 (add-after 'install 'wrap-programs
7145 (lambda* (#:key inputs outputs #:allow-other-keys)
7146 (let ((out (assoc-ref outputs "out"))
7147 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7148 (python-path (getenv "PYTHONPATH")))
7149 (wrap-program (string-append out "/bin/gnome-shell")
7150 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7151 ;; FIXME: gnome-shell loads these libraries with unqualified
7152 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7153 ;; alternative might be to patch gnome-shell.
7154 `("LD_LIBRARY_PATH" ":" prefix
7155 ,(map (lambda (pkg)
7156 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7157 '("gdk-pixbuf"
7158 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7159 (for-each
7160 (lambda (prog)
7161 (wrap-program (string-append out "/bin/" prog)
7162 `("PYTHONPATH" ":" prefix (,python-path))
7163 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7164 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7165 #t)))
11e1df56
LC
7166 (replace 'glib-or-gtk-wrap
7167 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7168 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7169 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7170 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7171 ;; phase. Fix that since we don't need these.
7172 (wrap #:inputs (fold alist-delete inputs
7173 '("inkscape" "intltool" "glib:bin"))
7174 #:outputs outputs)))))))
a4df5756
SB
7175 (native-inputs
7176 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7177 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7178 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7179 ("inkscape" ,inkscape)
a4df5756
SB
7180 ("intltool" ,intltool)
7181 ("pkg-config" ,pkg-config)
7182 ("python" ,python)
2b0c755d
RW
7183 ("ruby-sass" ,ruby-sass)
7184 ("sassc" ,sassc)
a76d0f03 7185 ("xsltproc" ,libxslt)
2b0c755d 7186 ;; For tests
0b4504f6 7187 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7188 (inputs
7189 `(("accountsservice" ,accountsservice)
7190 ("caribou" ,caribou)
7191 ("docbook-xsl" ,docbook-xsl)
7192 ("evolution-data-server" ,evolution-data-server)
7193 ("gcr" ,gcr)
7194 ("gdm" ,gdm)
c5db31d4 7195 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7196 ("gjs" ,gjs)
7197 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7198 ("gnome-desktop" ,gnome-desktop)
7199 ("gnome-settings-daemon" ,gnome-settings-daemon)
7200 ("gst-plugins-base" ,gst-plugins-base)
7201 ("ibus" ,ibus)
7202 ("libcanberra" ,libcanberra)
7203 ("libcroco" ,libcroco)
d6fda4d3 7204 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7205 ("libgweather" ,libgweather)
7206 ("libsoup" ,libsoup)
7207 ("mesa-headers" ,mesa-headers)
7208 ("mutter" ,mutter)
7209 ("network-manager-applet" ,network-manager-applet)
7210 ("polkit" ,polkit)
7211 ("pulseaudio" ,pulseaudio)
7212 ("python-pygobject" ,python-pygobject)
7213 ("startup-notification" ,startup-notification)
7214 ("telepathy-logger" ,telepathy-logger)
7215 ("upower" ,upower)
30e760f0
MB
7216 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7217 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7218 ("librsvg" ,librsvg)
2b0c755d 7219 ("geoclue" ,geoclue)))
a4df5756
SB
7220 (synopsis "Desktop shell for GNOME")
7221 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7222 (description
7223 "GNOME Shell provides core user interface functions for the GNOME desktop,
7224like switching to windows and launching applications.")
7225 (license license:gpl2+)))
c3f29bc9
RS
7226
7227(define-public gtk-vnc
7228 (package
7229 (name "gtk-vnc")
965ff023 7230 (version "0.9.0")
c3f29bc9
RS
7231 (source
7232 (origin
7233 (method url-fetch)
7234 (uri (string-append "mirror://gnome/sources/" name "/"
7235 (version-major+minor version) "/"
7236 name "-" version ".tar.xz"))
7237 (sha256
7238 (base32
965ff023 7239 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7240 (build-system gnu-build-system)
7241 (arguments
7242 '(#:configure-flags '("--with-gtk=3.0")))
7243 (propagated-inputs
7244 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7245 (inputs
7246 `(("cyrus-sasl" ,cyrus-sasl)
7247 ("gnutls" ,gnutls)
7248 ("libgcrypt" ,libgcrypt)
7249 ("pulseaudio" ,pulseaudio)))
7250 (native-inputs
7251 `(("glib:bin" ,glib "bin")
7252 ("gobject-introspection" ,gobject-introspection)
7253 ("intltool" ,intltool)
7254 ("pkg-config" ,pkg-config)
2f17e939 7255 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7256 ("vala" ,vala)))
7257 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7258 (synopsis "VNC viewer widget for GTK+")
7259 (description
7260 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7261applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7262GTK-VNC implements client side RFB protocol and authentication extensions such
7263as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7264 (license license:lgpl2.1+)))
8b877545 7265
dc69fe18
MW
7266(define-public gnome-autoar
7267 (package
7268 (name "gnome-autoar")
c7da8510 7269 (version "0.2.3")
dc69fe18
MW
7270 (source (origin
7271 (method url-fetch)
7272 (uri (string-append "mirror://gnome/sources/" name "/"
7273 (version-major+minor version) "/"
7274 name "-" version ".tar.xz"))
7275 (sha256
7276 (base32
c7da8510 7277 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7278 (build-system glib-or-gtk-build-system)
7279 (native-inputs
7280 `(("gnome-common" ,gnome-common)
7281 ("gobject-introspection" ,gobject-introspection)
7282 ("pkg-config" ,pkg-config)))
7283 (propagated-inputs
7284 `(("libarchive" ,libarchive))) ; XXX document why
7285 (inputs
0a6e9e13 7286 `(("gtk+" ,gtk+)))
dc69fe18
MW
7287 (synopsis "Archives integration support for GNOME")
7288 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7289 (description
7290 "GNOME Autoar is a library which makes creating and extracting archives
7291easy, safe, and automatic.")
7292 (license license:lgpl2.1+)))
7293
b64e217f
MW
7294(define-public tracker
7295 (package
7296 (name "tracker")
caaefa40 7297 (version "2.3.4")
b64e217f
MW
7298 (source (origin
7299 (method url-fetch)
b5b0fd23 7300 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7301 (version-major+minor version) "/"
b5b0fd23 7302 "tracker-" version ".tar.xz"))
b64e217f
MW
7303 (sha256
7304 (base32
caaefa40 7305 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7306 (build-system meson-build-system)
c8bdf589 7307 (arguments
5ada561c
KK
7308 `(#:glib-or-gtk? #t
7309 #:configure-flags
7310 ;; Otherwise, the RUNPATH will lack the final path component.
7311 (list (string-append "-Dc_link_args=-Wl,-rpath="
7312 (assoc-ref %outputs "out") "/lib:"
7313 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7314 #:phases
c8bdf589 7315 (modify-phases %standard-phases
c8bdf589
RW
7316 (add-before 'check 'pre-check
7317 (lambda _
63db190a
PN
7318 ;; Some tests expect to write to $HOME.
7319 (setenv "HOME" "/tmp")
c8bdf589 7320 #t)))))
b64e217f 7321 (native-inputs
5ada561c 7322 `(("glib:bin" ,glib "bin")
b64e217f 7323 ("gobject-introspection" ,gobject-introspection)
5ada561c 7324 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7325 ("intltool" ,intltool)
7326 ("pkg-config" ,pkg-config)
7327 ("vala" ,vala)))
7328 (inputs
63db190a 7329 `(("dbus" ,dbus)
44ed6284 7330 ("sqlite" ,sqlite)
b64e217f 7331 ("libxml2" ,libxml2)
63db190a 7332 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7333 ("json-glib" ,json-glib)
63db190a 7334 ("libsoup" ,libsoup)))
b64e217f
MW
7335 (synopsis "Metadata database, indexer and search tool")
7336 (home-page "https://wiki.gnome.org/Projects/Tracker")
7337 (description
63db190a
PN
7338 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7339
7340It is a middleware component aimed at desktop application developers who want
7341their apps to browse and search user content. It's not designed to be used
7342directly by desktop users, but it provides a commandline tool named
7343@command{tracker} for the adventurous.
7344
7345Tracker allows your application to instantly perform full-text searches across
7346all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7347example. This is achieved by indexing the user's home directory in the
7348background.
7349
7350Tracker also allows your application to query and list content that the user
7351has stored. For example, GNOME Music displays all the music files that are
7352found by Tracker. This means that GNOME Music doesn't need to maintain a
7353database of its own.
7354
7355If you need to go beyond simple searches, Tracker is also a linked data
7356endpoint and it understands SPARQL. ")
7357 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7358 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7359 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7360 (license (list license:gpl2+
63db190a
PN
7361 license:bsd-3
7362 license:lgpl2.1+))))
b64e217f 7363
03be9874
KK
7364(define-public tracker-miners
7365 (package
7366 (name "tracker-miners")
de60ac2f 7367 (version "2.3.3")
03be9874
KK
7368 (source (origin
7369 (method url-fetch)
7370 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7371 (version-major+minor version)
7372 "/tracker-miners-" version ".tar.xz"))
7373 (sha256
7374 (base32
de60ac2f 7375 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7376 (build-system meson-build-system)
7377 (arguments
7378 `(#:glib-or-gtk? #t
7379 #:configure-flags
7380 (list "-Dminer_rss=false" ; libgrss is required.
7381 ;; Ensure the RUNPATH contains all installed library locations.
7382 (string-append "-Dc_link_args=-Wl,-rpath="
7383 (assoc-ref %outputs "out")
7384 "/lib/tracker-miners-2.0")
7385 ;; TODO: Enable functional tests. Currently, the following error
7386 ;; appears:
7387 ;; Exception: The functional tests require DConf to be the default
7388 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7389 "-Dfunctional_tests=false")))
7390 (native-inputs
7391 `(("dbus" ,dbus)
7392 ("intltool" ,intltool)
7393 ("glib:bin" ,glib "bin")
7394 ("gobject-introspection" ,gobject-introspection)
7395 ("pkg-config" ,pkg-config)
7396 ("python-pygobject" ,python-pygobject)))
7397 (inputs
7398 `(("exempi" ,exempi)
7399 ("ffmpeg" ,ffmpeg)
7400 ("flac" ,flac)
7401 ("giflib" ,giflib)
7402 ("glib" ,glib)
7403 ("gstreamer" ,gstreamer)
7404 ("icu4c" ,icu4c)
7405 ("libcue" ,libcue)
7406 ("libexif" ,libexif)
7407 ("libgsf" ,libgsf)
7408 ("libgxps" ,libgxps)
7409 ("libiptcdata" ,libiptcdata)
7410 ("libjpeg" ,libjpeg)
7411 ("libosinfo" ,libosinfo)
7412 ("libpng" ,libpng)
7413 ("libseccomp" ,libseccomp)
7414 ("libtiff" ,libtiff)
7415 ("libvorbis" ,libvorbis)
7416 ("libxml2" ,libxml2)
7417 ("poppler" ,poppler)
7418 ("taglib" ,taglib)
7419 ("totem-pl-parser" ,totem-pl-parser)
7420 ("tracker" ,tracker)
7421 ("upower" ,upower)
7422 ("zlib" ,zlib)))
7423 (synopsis "Metadata database, indexer and search tool")
7424 (home-page "https://wiki.gnome.org/Projects/Tracker")
7425 (description
7426 "Tracker is an advanced framework for first class objects with associated
7427metadata and tags. It provides a one stop solution for all metadata, tags,
7428shared object databases, search tools and indexing.")
7429 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7430 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7431 (license (list license:gpl2+
7432 license:lgpl2.1+
7433 license:lgpl2.0+))))
7434
8b877545
RS
7435(define-public nautilus
7436 (package
7437 (name "nautilus")
d682c599 7438 (version "3.32.3")
8b877545
RS
7439 (source (origin
7440 (method url-fetch)
7441 (uri (string-append "mirror://gnome/sources/" name "/"
7442 (version-major+minor version) "/"
7443 name "-" version ".tar.xz"))
7444 (sha256
7445 (base32
d682c599 7446 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7447 (build-system meson-build-system)
8b877545 7448 (arguments
35e2d0cf 7449 '(#:glib-or-gtk? #t
8b877545
RS
7450 ;; XXX: FAIL: check-nautilus
7451 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7452 #:tests? #f))
7453 (native-inputs
35e2d0cf
R
7454 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7455 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7456 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7457 ("gobject-introspection" ,gobject-introspection)
7458 ("intltool" ,intltool)
7459 ("pkg-config" ,pkg-config)))
8b877545 7460 (inputs
8b877545 7461 `(("dconf" ,dconf)
caf6c363 7462 ("gexiv2" ,gexiv2)
dd05e731 7463 ("gvfs" ,gvfs)
8b877545
RS
7464 ("exempi" ,exempi)
7465 ("gnome-desktop" ,gnome-desktop)
09d88905 7466 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7467 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7468 ("libseccomp" ,libseccomp)
35e2d0cf 7469 ("libselinux" ,libselinux)
09d88905 7470 ("tracker" ,tracker)
3cafb9d4 7471 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7472 ;; XXX: gtk+ is required by libnautilus-extension.pc
7473 ;;
7474 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7475 ;; package. See:
7476 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7477 ("gtk+" ,gtk+)
8b877545
RS
7478 ("libexif" ,libexif)
7479 ("libxml2" ,libxml2)))
7480 (synopsis "File manager for GNOME")
7481 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7482 (description
7483 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7484design and behaviour, giving the user a simple way to navigate and manage its
7485files.")
7486 (license license:gpl2+)))
3c697ffd
JR
7487
7488(define-public baobab
7489 (package
7490 (name "baobab")
e0c5f20c 7491 (version "3.32.0")
3c697ffd
JR
7492 (source (origin
7493 (method url-fetch)
7494 (uri (string-append
7495 "mirror://gnome/sources/" name "/"
7496 (version-major+minor version) "/"
7497 name "-" version ".tar.xz"))
7498 (sha256
7499 (base32
e0c5f20c 7500 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7501 (build-system meson-build-system)
7502 (arguments
7503 '(#:glib-or-gtk? #t))
3c697ffd
JR
7504 (native-inputs
7505 `(("intltool" ,intltool)
7506 ("pkg-config" ,pkg-config)
d233d373
RJ
7507 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7508 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7509 ("itstool" ,itstool)
7510 ("xmllint" ,libxml2)
7511 ("glib" ,glib "bin")
7512 ("vala" ,vala)))
7513 (inputs
7514 `(("gtk+" ,gtk+)))
7515 (synopsis "Disk usage analyzer for GNOME")
7516 (description
7517 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7518usage in the GNOME desktop environment. It can easily scan device volumes or
7519a specific user-requested directory branch (local or remote). Once the scan
7520is complete it provides a graphical representation of each selected folder.")
7521 (home-page "https://wiki.gnome.org/Apps/Baobab")
7522 (license license:gpl2+)))
dc050251 7523
fdba447c
RS
7524(define-public gnome-backgrounds
7525 (package
7526 (name "gnome-backgrounds")
e04e8a8c 7527 (version "3.32.0")
fdba447c
RS
7528 (source
7529 (origin
7530 (method url-fetch)
7531 (uri (string-append "mirror://gnome/sources/" name "/"
7532 (version-major+minor version) "/"
7533 name "-" version ".tar.xz"))
7534 (sha256
7535 (base32
e04e8a8c 7536 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7537 (build-system meson-build-system)
fdba447c
RS
7538 (native-inputs
7539 `(("intltool" ,intltool)))
e04e8a8c 7540 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7541 (synopsis "Background images for the GNOME desktop")
7542 (description
7543 "GNOME backgrounds package contains a collection of graphics files which
7544can be used as backgrounds in the GNOME Desktop environment. Additionally,
7545the package creates the proper framework and directory structure so that you
7546can add your own files to the collection.")
7547 (license (list license:gpl2+
7548 license:cc-by2.0
7549 license:cc-by-sa2.0
7550 license:cc-by-sa3.0))))
7551
b784b1a9
RS
7552(define-public gnome-screenshot
7553 (package
7554 (name "gnome-screenshot")
6acf4033 7555 (version "3.32.0")
b784b1a9
RS
7556 (source
7557 (origin
7558 (method url-fetch)
7559 (uri (string-append "mirror://gnome/sources/" name "/"
7560 (version-major+minor version) "/"
7561 name "-" version ".tar.xz"))
7562 (sha256
7563 (base32
6acf4033 7564 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7565 (build-system meson-build-system)
b784b1a9
RS
7566 (native-inputs
7567 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7568 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7569 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7570 ("intltool" ,intltool)
8356aefa 7571 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7572 ("pkg-config" ,pkg-config)))
7573 (inputs
7574 `(("gtk+" ,gtk+)
7575 ("libcanberra" ,libcanberra)
7576 ("libx11" ,libx11)
7577 ("libxext" ,libxext)))
676e7cb4 7578 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7579 (synopsis "Take pictures of your screen")
7580 (description
7581 "GNOME Screenshot is a utility used for taking screenshots of the entire
7582screen, a window or a user defined area of the screen, with optional
7583beautifying border effects.")
7584 (license license:gpl2+)))
7585
66d59111
RS
7586(define-public dconf-editor
7587 (package
7588 (name "dconf-editor")
66261451 7589 (version "3.32.0")
66d59111
RS
7590 (source
7591 (origin
7592 (method url-fetch)
7593 (uri (string-append "mirror://gnome/sources/" name "/"
7594 (version-major+minor version) "/"
7595 name "-" version ".tar.xz"))
7596 (sha256
7597 (base32
66261451 7598 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7599 (build-system meson-build-system)
86f2124b
LC
7600 (arguments
7601 '(#:phases (modify-phases %standard-phases
7602 (add-before 'configure 'set-glib-minimum-version
7603 (lambda _
7604 ;; Change the minimum required GLib version so that
7605 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7606 ;; do that, it complains that "55" is not an even
7607 ;; number. See <https://bugs.gnu.org/37503>.
7608 (substitute* "editor/meson.build"
7609 (("2\\.55\\.1") "2.60.0"))
7610 #t)))))
66d59111
RS
7611 (native-inputs
7612 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7613 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7614 ("intltool" ,intltool)
294ff39d
RW
7615 ("pkg-config" ,pkg-config)
7616 ("vala" ,vala)))
66d59111
RS
7617 (inputs
7618 `(("dconf" ,dconf)
7619 ("gtk+" ,gtk+)
7620 ("libxml2" ,libxml2)))
7621 (home-page "https://git.gnome.org/browse/dconf-editor")
7622 (synopsis "Graphical editor for GNOME's dconf configuration system")
7623 (description
7624 "Dconf-editor is a graphical tool for browsing and editing the dconf
7625configuration system for GNOME. It allows users to configure desktop
7626software that do not provide their own configuration interface.")
7627 (license license:lgpl2.1+)))
7628
96d36f38
AW
7629(define-public gnome-default-applications
7630 (package
7631 (name "gnome-default-applications")
7632 (version "0")
7633 (build-system trivial-build-system)
7634 (source #f)
7635 (propagated-inputs
8ad4f0aa
LC
7636 `(("nautilus" ,nautilus)
7637 ("evince" ,evince)))
96d36f38
AW
7638 (arguments
7639 `(#:modules ((guix build utils))
7640 #:builder
7641 (begin
7642 (use-modules (guix build utils))
7643 (let* ((out (assoc-ref %outputs "out"))
7644 (apps (string-append out "/share/applications")))
7645 (mkdir-p apps)
7646 (call-with-output-file (string-append apps "/defaults.list")
7647 (lambda (port)
7648 (format port "[Default Applications]\n")
8ad4f0aa
LC
7649 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7650 (format port "application/pdf=evince.desktop\n")
7651 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7652 #t))))
7653 (synopsis "Default MIME type associations for the GNOME desktop")
7654 (description
7655 "Given many installed packages which might handle a given MIME type, a
7656user running the GNOME desktop probably has some preferences: for example,
7657that folders be opened by default by the Nautilus file manager, not the Baobab
7658disk usage analyzer. This package establishes that set of default MIME type
7659associations for GNOME.")
7660 (license license:gpl3+)
7661 (home-page #f)))
7662
3f1ed953
RG
7663(define-public libgovirt
7664 (package
7665 (name "libgovirt")
7666 (version "0.3.6")
7667 (source (origin
7668 (method url-fetch)
7669 (uri (string-append "mirror://gnome/sources/" name "/"
7670 (version-major+minor version) "/"
7671 name "-" version ".tar.xz"))
7672 (sha256
7673 (base32
7674 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7675 (build-system glib-or-gtk-build-system)
7676 (native-inputs
7677 `(("gettext" ,gettext-minimal)
7678 ("glib:bin" ,glib "bin")
7679 ("gobject-introspection" ,gobject-introspection)
7680 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7681 ("gtk+:bin" ,gtk+ "bin")
7682 ("pkg-config" ,pkg-config)))
7683 (inputs
7684 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7685 ("librest" ,rest)))
7686 (synopsis "GoVirt Library")
7687 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7688 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7689 (license license:gpl2+)))
7690
8672e5e9
RG
7691(define-public gnome-weather
7692 (package
7693 (name "gnome-weather")
7694 (version "3.34.0")
7695 (source (origin
7696 (method url-fetch)
7697 (uri (string-append "mirror://gnome/sources/" name "/"
7698 (version-major+minor version) "/"
7699 name "-" version ".tar.xz"))
7700 (sha256
7701 (base32
7702 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7703 (build-system meson-build-system)
7704 (native-inputs
7705 `(("gettext" ,gettext-minimal)
7706 ("glib:bin" ,glib "bin")
7707 ("gobject-introspection" ,gobject-introspection)
7708 ("gtk+:bin" ,gtk+ "bin")
7709 ("pkg-config" ,pkg-config)))
7710 (inputs
7711 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7712 ("appstream-glib" ,appstream-glib)
7713 ("geoclue" ,geoclue)
7714 ("gdk-pixbuf" ,gdk-pixbuf)
7715 ("gjs" ,gjs)
7716 ("gnome-desktop" ,gnome-desktop)
7717 ("libgweather" ,libgweather)))
7718 (synopsis "Weather monitoring for GNOME desktop")
7719 (description "GNOME Weather is a small application that allows you to
7720monitor the current weather conditions for your city, or anywhere in the
7721world.")
7722 (home-page "https://wiki.gnome.org/Apps/Weather")
7723 (license license:gpl2+)))
7724
dc050251
SB
7725(define-public gnome
7726 (package
7727 (name "gnome")
7728 (version (package-version gnome-shell))
7729 (source #f)
7730 (build-system trivial-build-system)
e3cfef22 7731 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7732 (propagated-inputs
8d8c6bff 7733 ;; TODO: Add or remove packages according to:
a8cda7f5 7734 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7735 `(
8d8c6bff 7736 ;; GNOME-Core-OS-Services
7922b6f7 7737 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7738 ("network-manager" ,network-manager)
7739 ("packagekit" ,packagekit)
7740 ("upower" ,upower)
7741 ;; GNOME-Core-Shell
7742 ("adwaita-icon-theme" ,adwaita-icon-theme)
7743 ("gdm" ,gdm)
7744 ("glib-networking" ,glib-networking)
7745 ("gnome-backgrounds" ,gnome-backgrounds)
7746 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7747 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7748 ("gnome-control-center" ,gnome-control-center)
7749 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7750 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7751 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7752 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7753 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7754 ("gnome-session" ,gnome-session)
7755 ("gnome-settings-daemon" ,gnome-settings-daemon)
7756 ("gnome-shell-extensions" ,gnome-shell-extensions)
7757 ("gnome-shell" ,gnome-shell)
7758 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7759 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7760 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7761 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7762 ("gvfs" ,gvfs)
7763 ("mutter" ,mutter)
7764 ("orca" ,orca)
d36fa50f
RG
7765 ("rygel" ,rygel)
7766 ("sushi" ,sushi)
8d8c6bff
RG
7767 ;; GNOME-Core-Utilities
7768 ("baobab" ,baobab)
7769 ("cheese" ,cheese)
7770 ("eog" ,eog)
7771 ("epiphany" ,epiphany)
7772 ("evince" ,evince)
7773 ("file-roller" ,file-roller)
7774 ("gedit" ,gedit)
d36fa50f 7775 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7776 ("gnome-calculator" ,gnome-calculator)
7777 ("gnome-calendar" ,gnome-calendar)
7778 ("gnome-characters" ,gnome-characters)
7779 ("gnome-clocks" ,gnome-clocks)
7780 ("gnome-contacts" ,gnome-contacts)
7781 ("gnome-disk-utility" ,gnome-disk-utility)
7782 ("gnome-font-viewer" ,gnome-font-viewer)
7783 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7784 ; TODO: ("gnome-music" ,gnome-music)
7785 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7786 ("gnome-screenshot" ,gnome-screenshot)
7787 ("gnome-system-monitor" ,gnome-system-monitor)
7788 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7789 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7790 ("nautilus" ,nautilus)
7791 ("simple-scan" ,simple-scan)
7792 ("totem" ,totem)
7922b6f7
RG
7793 ("yelp" ,yelp)
7794 ;; Others
7795 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7796 ("gnome-online-accounts" ,gnome-online-accounts)
7797
7798 ;; Packages not part of GNOME proper but that are needed for a good
7799 ;; experience. See <https://bugs.gnu.org/39646>.
7800 ;; XXX: Find out exactly which ones are needed and why.
7801 ("font-cantarell" ,font-cantarell)
7802 ("font-dejavu" ,font-dejavu)
7803 ("at-spi2-core" ,at-spi2-core)
7804 ("dbus" ,dbus)
7805 ("dconf" ,dconf)
7806 ("desktop-file-utils" ,desktop-file-utils)
7807 ("gnome-default-applications" ,gnome-default-applications)
7808 ("gnome-themes-standard" ,gnome-themes-standard)
7809 ("gst-plugins-base" ,gst-plugins-base)
7810 ("gst-plugins-good" ,gst-plugins-good)
7811 ("gucharmap" ,gucharmap)
7812 ("pinentry-gnome3" ,pinentry-gnome3)
7813 ("pulseaudio" ,pulseaudio)
7814 ("shared-mime-info" ,shared-mime-info)
7815 ("system-config-printer" ,system-config-printer)
7816 ("xdg-user-dirs" ,xdg-user-dirs)
7817 ("yelp" ,yelp)
7818 ("zenity" ,zenity)))
fe4e698d 7819 (synopsis "The GNU desktop environment")
dc050251
SB
7820 (home-page "https://www.gnome.org/")
7821 (description
fe4e698d
LC
7822 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7823applications for browsing the web, editing text and images, creating
7824documents and diagrams, playing media, scanning, and much more.")
dc050251 7825 (license license:gpl2+)))
4a526711
DT
7826
7827(define-public byzanz
7828 ;; The last stable release of Byzanz was in 2011, but there have been many
7829 ;; useful commits made to the Byzanz repository since then that it would be
7830 ;; silly to use such an old release.
7831 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7832 (package
7833 (name "byzanz")
7834 (version (string-append "0.2-1." (string-take commit 7)))
7835 (source (origin
7836 (method git-fetch)
7837 (uri (git-reference
5f13bf09 7838 (url "https://git.gnome.org/browse/byzanz")
4a526711 7839 (commit commit)))
5a6527e4 7840 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7841 (sha256
7842 (base32
7843 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7844 (build-system glib-or-gtk-build-system)
7845 (arguments
7846 '(#:phases
7847 (modify-phases %standard-phases
189be331 7848 (replace 'bootstrap
4a526711
DT
7849 (lambda _
7850 ;; The build system cleverly detects that we're not building from
7851 ;; a release tarball and turns on -Werror for GCC.
7852 ;; Unsurprisingly, there is a warning during compilation that
7853 ;; causes the build to fail unnecessarily, so we remove the flag.
7854 (substitute* '("configure.ac")
7855 (("-Werror") ""))
7856 ;; The autogen.sh script in gnome-common will run ./configure
7857 ;; by default, which is problematic because source shebangs
7858 ;; have not yet been patched.
7859 (setenv "NOCONFIGURE" "t")
7860 (zero? (system* "sh" "autogen.sh")))))))
7861 (native-inputs
7862 `(("autoconf" ,autoconf)
7863 ("automake" ,automake)
7864 ("gnome-common" ,gnome-common)
7865 ("intltool" ,intltool)
7866 ("libtool" ,libtool)
7867 ("pkg-config" ,pkg-config)
7868 ("which" ,which)))
7869 (inputs
7870 `(("glib" ,glib)
7871 ("gstreamer" ,gstreamer)
7872 ("gst-plugins-base" ,gst-plugins-base)
7873 ("gtk+" ,gtk+)))
7874 (synopsis "Desktop recording program")
7875 (description "Byzanz is a simple desktop recording program with a
7876command-line interface. It can record part or all of an X display for a
7877specified duration and save it as a GIF encoded animated image file.")
7878 (home-page "https://git.gnome.org/browse/byzanz")
7879 (license license:gpl2+))))
3a9a4c51 7880
0ec171ec
MS
7881(define-public gsound
7882 (package
7883 (name "gsound")
7884 (version "1.0.2")
7885 (source (origin
7886 (method url-fetch)
7887 (uri (string-append "mirror://gnome/sources/" name "/"
7888 (version-major+minor version) "/"
7889 name "-" version ".tar.xz"))
7890 (sha256
7891 (base32
7892 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7893 (build-system glib-or-gtk-build-system)
7894 (native-inputs
7895 `(("pkg-config" ,pkg-config)
7896 ("gobject-introspection" ,gobject-introspection)
7897 ("vala" ,vala)))
7898 (inputs
7899 `(("glib" ,glib)
7900 ("libcanberra" ,libcanberra)))
7901 (home-page "https://wiki.gnome.org/Projects/GSound")
7902 (synopsis "GObject wrapper for libcanberra")
7903 (description
7904 "GSound is a small library for playing system sounds. It's designed to be
7905used via GObject Introspection, and is a thin wrapper around the libcanberra C
7906library.")
7907 (license license:lgpl2.1+)))
7908
3a9a4c51
RS
7909(define-public libzapojit
7910 (package
7911 (name "libzapojit")
7912 (version "0.0.3")
7913 (source (origin
7914 (method url-fetch)
7915 (uri (string-append "mirror://gnome/sources/" name "/"
7916 (version-major+minor version) "/"
7917 name "-" version ".tar.xz"))
7918 (sha256
7919 (base32
7920 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7921 (build-system gnu-build-system)
7922 (native-inputs
7923 `(("gobject-introspection" ,gobject-introspection)
7924 ("intltool" ,intltool)
7925 ("pkg-config" ,pkg-config)))
7926 (inputs
14c297fd 7927 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7928 ("json-glib" ,json-glib)
7929 ("rest" ,rest)))
7930 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7931 (synopsis "Library for accessing SkyDrive and Hotmail")
7932 (description
7933 "Libzapojit is a GLib-based library for accessing online service APIs of
7934Microsoft SkyDrive and Hotmail, using their REST protocols.")
7935 (license license:lgpl2.1+)))
9365ee1c 7936
60e2a9ae
MS
7937(define-public gnome-clocks
7938 (package
7939 (name "gnome-clocks")
c76d0dbc 7940 (version "3.32.0")
60e2a9ae
MS
7941 (source (origin
7942 (method url-fetch)
7943 (uri (string-append "mirror://gnome/sources/" name "/"
7944 (version-major+minor version) "/"
7945 name "-" version ".tar.xz"))
7946 (sha256
7947 (base32
c76d0dbc 7948 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7949 (build-system meson-build-system)
7950 (arguments
7951 '(#:glib-or-gtk? #t))
7952 (native-inputs
7953 `(("vala" ,vala)
7954 ("pkg-config" ,pkg-config)
7955 ("glib" ,glib "bin") ; for glib-compile-resources
7956 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7957 ("desktop-file-utils" ,desktop-file-utils)
7958 ("gettext" ,gettext-minimal)
7959 ("itstool" ,itstool)))
7960 (inputs
7961 `(("glib" ,glib)
7962 ("gtk+" ,gtk+)
7963 ("gsound" ,gsound)
7964 ("geoclue" ,geoclue)
7965 ("geocode-glib" ,geocode-glib)
7966 ("libgweather" ,libgweather)
7967 ("gnome-desktop" ,gnome-desktop)))
7968 (home-page "https://wiki.gnome.org/Apps/Clocks")
7969 (synopsis "GNOME's clock application")
7970 (description
7971 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7972desktop. It supports world clock, stop watch, alarms, and count down timer.")
7973 (license license:gpl3+)))
7974
3c474897
KY
7975(define-public gnome-calendar
7976 (package
7977 (name "gnome-calendar")
339b59bf 7978 (version "3.32.2")
3c474897
KY
7979 (source (origin
7980 (method url-fetch)
7981 (uri (string-append "mirror://gnome/sources/" name "/"
7982 (version-major+minor version) "/"
7983 name "-" version ".tar.xz"))
7984 (sha256
7985 (base32
339b59bf 7986 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7987 (build-system meson-build-system)
7988 (arguments
7989 '(#:glib-or-gtk? #t
7990 ;; gnome-calendar has to be installed before the tests can be run
7991 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
7992 #:tests? #f))
3c474897 7993 (native-inputs
a49d3e37
MS
7994 `(("gettext" ,gettext-minimal)
7995 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
7996 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
7997 ("pkg-config" ,pkg-config)))
7998 (inputs
a49d3e37 7999 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8000 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8001 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8002 ("libdazzle" ,libdazzle)
b63c06f1 8003 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8004 ("libgweather" ,libgweather)
8005 ("geoclue" ,geoclue)))
3c474897
KY
8006 (home-page "https://wiki.gnome.org/Apps/Calendar")
8007 (synopsis "GNOME's calendar application")
8008 (description
8009 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8010desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8011 (license license:gpl3+)))
8012
57b14665
MS
8013(define-public gnome-todo
8014 (package
8015 (name "gnome-todo")
9f3c6c88 8016 (version "3.28.1")
57b14665
MS
8017 (source (origin
8018 (method url-fetch)
8019 (uri (string-append "mirror://gnome/sources/" name "/"
8020 (version-major+minor version) "/"
8021 name "-" version ".tar.xz"))
8022 (sha256
8023 (base32
9f3c6c88 8024 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8025 (build-system meson-build-system)
8026 (arguments
8027 '(#:glib-or-gtk? #t
8028 #:phases (modify-phases %standard-phases
8029 (add-after
8030 'install 'wrap-gnome-todo
8031 (lambda* (#:key inputs outputs #:allow-other-keys)
8032 (let ((out (assoc-ref outputs "out"))
8033 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8034 (python-path (getenv "PYTHONPATH")))
8035 (wrap-program (string-append out "/bin/gnome-todo")
8036 ;; XXX: gi plugins are broken.
8037 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8038 ;; For plugins.
8039 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8040 `("PYTHONPATH" ":" prefix (,python-path))))
8041 #t)))))
8042 (native-inputs
8043 `(("gettext" ,gettext-minimal)
8044 ("gobject-introspection" ,gobject-introspection)
8045 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8046 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8047 ("pkg-config" ,pkg-config)))
8048 (inputs
8049 `(("rest" ,rest) ; For Todoist plugin
8050 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8051 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8052 ("libical" ,libical)
8053 ("libpeas" ,libpeas)
8054 ("python-pygobject" ,python-pygobject)
8055 ("evolution-data-server" ,evolution-data-server)
14c297fd 8056 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8057 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8058 (home-page "https://wiki.gnome.org/Apps/Todo")
8059 (synopsis "GNOME's ToDo Application")
8060 (description
8061 "GNOME To Do is a simplistic personal task manager designed to perfectly
8062fit the GNOME desktop.")
8063 (license license:gpl3+)))
8064
ab179eaf
SB
8065(define-public gnome-dictionary
8066 (package
8067 (name "gnome-dictionary")
cf81ddef 8068 (version "3.26.1")
ab179eaf
SB
8069 (source (origin
8070 (method url-fetch)
8071 (uri (string-append "mirror://gnome/sources/" name "/"
8072 (version-major+minor version) "/"
8073 name "-" version ".tar.xz"))
8074 (sha256
8075 (base32
cf81ddef
LC
8076 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8077 (build-system meson-build-system)
2776b5d5
MB
8078 (arguments '(#:glib-or-gtk? #t
8079 #:phases (modify-phases %standard-phases
8080 (add-after 'unpack 'patch-install-script
8081 (lambda _
8082 ;; This script attempts to compile glib schemas
8083 ;; and create an empty MIME database. We do
8084 ;; that elsewhere, so prevent it from running.
8085 (substitute* "build-aux/post-install.sh"
8086 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8087 #t)))))
ab179eaf
SB
8088 (native-inputs
8089 `(("glib:bin" ,glib "bin")
8090 ("gobject-introspection" ,gobject-introspection)
8091 ("intltool" ,intltool)
8092 ("itstool" ,itstool)
8093 ("pkg-config" ,pkg-config)
8094 ("xmllint" ,libxml2)))
8095 (inputs
8096 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8097 ("gtk+" ,gtk+)))
8098 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8099 (synopsis "Look up words in dictionary sources")
8100 (description
8101 "GNOME Dictionary can look for the definition or translation of a word in
8102existing databases over the internet.")
8103 (license license:gpl3+)))
8104
d13f3a03 8105(define-public gnome-tweaks
9365ee1c 8106 (package
d13f3a03 8107 (name "gnome-tweaks")
652af676 8108 (version "3.32.0")
9365ee1c
JN
8109 (source (origin
8110 (method url-fetch)
d13f3a03 8111 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8112 (version-major+minor version) "/"
d13f3a03
RW
8113 "gnome-tweaks-" version ".tar.xz"))
8114 (patches
8115 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8116 (sha256
8117 (base32
652af676 8118 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8119 (build-system meson-build-system)
9365ee1c 8120 (arguments
d13f3a03
RW
8121 `(#:glib-or-gtk? #t
8122 #:configure-flags '("-Dlocalstatedir=/tmp"
8123 "-Dsysconfdir=/tmp")
9365ee1c 8124 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8125 ,@%meson-build-system-modules)
8126 #:phases
8127 (modify-phases %standard-phases
8128 (add-after 'install 'wrap
8129 (@@ (guix build python-build-system) wrap))
8130 (add-after 'wrap 'wrap-gi-typelib
8131 (lambda* (#:key inputs outputs #:allow-other-keys)
8132 (let ((out (assoc-ref outputs "out"))
8133 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8134 (wrap-program (string-append out "/bin/gnome-tweaks")
8135 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8136 #t)))))
9365ee1c 8137 (native-inputs
c7fc414e
RH
8138 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8139 ("intltool" ,intltool)
9365ee1c
JN
8140 ("pkg-config" ,pkg-config)))
8141 (inputs
c7fc414e
RH
8142 `(("gnome-desktop" ,gnome-desktop)
8143 ("gtk+" ,gtk+)
9365ee1c
JN
8144 ("gobject-introspection" ,gobject-introspection)
8145 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8146 ("libnotify" ,libnotify)
8147 ("libsoup" ,libsoup)
8148 ("nautilus" ,nautilus)
8149 ("python" ,python)
8150 ("python-pygobject" ,python-pygobject)))
9365ee1c 8151 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8152 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8153 (description
d13f3a03 8154 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8155GNOME 3. This includes things like the fonts used in user interface elements,
8156alternative user interface themes, changes in window management behavior,
8157GNOME Shell appearance and extension, etc.")
8158 (license license:gpl3+)))
813f814a 8159
32ac717c
DT
8160(define-public gnome-shell-extensions
8161 (package
8162 (name "gnome-shell-extensions")
ae4c05e0 8163 (version "3.32.1")
32ac717c
DT
8164 (source (origin
8165 (method url-fetch)
8166 (uri (string-append "mirror://gnome/sources/" name "/"
8167 (version-major+minor version) "/"
8168 name "-" version ".tar.xz"))
8169 (sha256
8170 (base32
ae4c05e0 8171 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8172 (build-system meson-build-system)
32ac717c 8173 (arguments
100f625b 8174 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8175 (native-inputs
c9ea8873
LP
8176 `(("glib:bin" ,glib "bin")
8177 ("intltool" ,intltool)
32ac717c
DT
8178 ("pkg-config" ,pkg-config)))
8179 (propagated-inputs
c9ea8873 8180 `(("glib" ,glib)))
32ac717c
DT
8181 (synopsis "Extensions for GNOME Shell")
8182 (description "GNOME Shell extensions modify and extend GNOME Shell
8183functionality and behavior.")
8184 (home-page "https://extensions.gnome.org/")
8185 (license license:gpl3+)))
8186
813f814a
DT
8187(define-public arc-theme
8188 (package
8189 (name "arc-theme")
37781323 8190 (version "20190917")
813f814a 8191 (source (origin
a18f8eaf
BH
8192 (method git-fetch)
8193 (uri (git-reference
8194 (url "https://github.com/NicoHood/arc-theme.git")
8195 (commit version)))
8196 (file-name (git-file-name name version))
813f814a
DT
8197 (sha256
8198 (base32
37781323 8199 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8200 (build-system gnu-build-system)
d88884fa
EF
8201 (arguments
8202 '(#:phases
8203 (modify-phases %standard-phases
8204 ;; autogen.sh calls configure at the end of the script.
8205 (replace 'bootstrap
4690e3a4
MC
8206 (lambda _ (invoke "autoreconf" "-vfi")))
8207 (add-before 'build 'set-home ;placate Inkscape
8208 (lambda _
8209 (setenv "HOME" (getcwd))
8210 #t)))))
813f814a
DT
8211 (native-inputs
8212 `(("autoconf" ,autoconf)
8213 ("automake" ,automake)
a18f8eaf
BH
8214 ("glib" ,glib "bin") ; for glib-compile-resources
8215 ("gnome-shell" ,gnome-shell)
8216 ("gtk+" ,gtk+)
8217 ("inkscape" ,inkscape)
8218 ("optipng" ,optipng)
8219 ("pkg-config" ,pkg-config)
bed24ecf 8220 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8221 (synopsis "A flat GTK+ theme with transparent elements")
8222 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
82232, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8224like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8225 (home-page "https://github.com/horst3180/arc-theme")
8226 ;; No "or later" language found.
a18f8eaf 8227 (license license:gpl3+)))
9987c57c 8228
d935e6a1 8229(define-public faba-icon-theme
9987c57c 8230 (package
d935e6a1 8231 (name "faba-icon-theme")
2eee7ee3 8232 (version "4.3")
d935e6a1
BT
8233 (source
8234 (origin
757e4027
TGR
8235 (method git-fetch)
8236 (uri (git-reference
8237 (url "https://github.com/snwh/faba-icon-theme.git")
8238 (commit (string-append "v" version))))
8239 (file-name (git-file-name name version))
d935e6a1 8240 (sha256
757e4027 8241 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8242 (build-system meson-build-system)
9987c57c 8243 (arguments
82da291a 8244 `(#:phases
9987c57c 8245 (modify-phases %standard-phases
82da291a 8246 (add-before 'configure 'disable-post-install
9987c57c 8247 (lambda _
82da291a
JL
8248 (substitute* "meson.build"
8249 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8250 (native-inputs
8251 `(("autoconf" ,autoconf)
8252 ("automake" ,automake)))
d935e6a1
BT
8253 (synopsis "Faba icon theme")
8254 (description
8255 "Faba is a minimal icon set used as a basis for other themes such as
8256Moka")
8257 (home-page "https://snwh.org/moka")
8258 (license (list license:lgpl3+
8259 license:cc-by-sa4.0))))
8260
9987c57c
DT
8261(define-public moka-icon-theme
8262 (package
8b0e4177 8263 (inherit faba-icon-theme)
9987c57c 8264 (name "moka-icon-theme")
105a3625 8265 (version "5.4.0")
8c3f2170
TGR
8266 (source
8267 (origin
8268 (method git-fetch)
8269 (uri (git-reference
8270 (url "https://github.com/snwh/moka-icon-theme.git")
8271 (commit (string-append "v" version))))
8272 (file-name (git-file-name name version))
8273 (sha256
8274 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8275 (propagated-inputs
8276 ;; Moka is based on Faba by using it as a fallback icon set instead of
8277 ;; bundling it, so we need to add it as a propagated input.
8278 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8279 (synopsis "Moka icon theme")
8280 (description "Moka is a stylized desktop icon set, designed to be clear,
8281simple and consistent.")
fedde43b
BT
8282 (license (list license:gpl3+
8283 license:cc-by-sa4.0))))
6fd8f8d6
DT
8284
8285(define-public arc-icon-theme
8286 (package
8287 (name "arc-icon-theme")
c4180240 8288 (version "20161122")
bbf66cbf
TGR
8289 (source
8290 (origin
8291 (method git-fetch)
8292 (uri (git-reference
8293 (url "https://github.com/horst3180/arc-icon-theme.git")
8294 (commit version)))
8295 (file-name (git-file-name name version))
8296 (sha256
8297 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8298 (build-system gnu-build-system)
9e1ede95
JL
8299 (arguments
8300 `(#:phases
8301 (modify-phases %standard-phases
8302 (add-after 'unpack 'disable-configure-during-bootstrap
8303 (lambda _
8304 (substitute* "autogen.sh"
8305 (("^\"\\$srcdir/configure\".*") ""))
8306 #t)))))
6fd8f8d6
DT
8307 (native-inputs
8308 `(("autoconf" ,autoconf)
8309 ("automake" ,automake)))
8310 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8311 (propagated-inputs
8312 `(("moka-icon-theme" ,moka-icon-theme)))
8313 (synopsis "Arc icon theme")
8314 (description "The Arc icon theme provides a set of icons matching the
8315style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8316the Moka icon theme.")
8317 (home-page "https://github.com/horst3180/arc-icon-theme")
8318 (license license:gpl3+)))
6064a4e8
LF
8319
8320(define-public folks
8321 (package
8322 (name "folks")
d23495fa 8323 (version "0.11.4")
6064a4e8
LF
8324 (source (origin
8325 (method url-fetch)
8326 (uri (string-append
e5f4796e 8327 "mirror://gnome/sources/folks/"
6064a4e8 8328 (version-major+minor version) "/"
e5f4796e 8329 "folks-" version ".tar.xz"))
6064a4e8
LF
8330 (sha256
8331 (base32
d23495fa 8332 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8333 (build-system glib-or-gtk-build-system)
8334 (inputs
8335 `(("bdb" ,bdb)
8336 ("dbus-glib" ,dbus-glib)
8337 ("evolution-data-server" ,evolution-data-server)
8338 ("glib" ,glib)
8339 ("libgee" ,libgee)
8340 ("telepathy-glib" ,telepathy-glib)))
8341 (native-inputs
8342 `(("gobject-introspection" ,gobject-introspection)
8343 ("intltool" ,intltool)
8344 ("pkg-config" ,pkg-config)
8345 ("vala" ,vala)))
8346 (synopsis "Library to aggregate data about people")
8347 (description "Libfolks is a library that aggregates information about people
8348from multiple sources (e.g., Telepathy connection managers for IM contacts,
8349Evolution Data Server for local contacts, libsocialweb for web service contacts,
8350etc.) to create metacontacts. It's written in Vala, which generates C code when
8351compiled.")
8352 (home-page "https://wiki.gnome.org/Projects/Folks")
8353 (license license:lgpl2.1+)))
01ea778f
LF
8354
8355(define-public gfbgraph
8356 (package
8357 (name "gfbgraph")
8358 (version "0.2.3")
8359 (source (origin
8360 (method url-fetch)
8361 (uri (string-append
237d4cf7 8362 "mirror://gnome/sources/gfbgraph/"
01ea778f 8363 (version-major+minor version) "/"
237d4cf7 8364 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8365 (sha256
8366 (base32
8367 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8368 (build-system glib-or-gtk-build-system)
8369 (arguments
8370 `(#:tests? #f ; Tests appear to require the network.
8371 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8372 #:configure-flags '("--disable-gtk-doc"
8373 "--disable-static"
8374 "--enable-introspection")))
8375 (native-inputs
8376 `(("pkg-config" ,pkg-config)
8377 ("gobject-introspection" ,gobject-introspection)))
8378 (inputs
8379 `(("json-glib" ,json-glib)
14c297fd 8380 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8381 ("rest" ,rest)))
8382 (synopsis "GLib/GObject wrapper for the Facebook API")
8383 (description "This library allows you to use the Facebook API from
8384GLib/GObject code.")
8385 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8386 (license license:lgpl2.1+)))
3920868c 8387
8388(define-public libgnomekbd
8389 (package
8390 (name "libgnomekbd")
70f2b0f9 8391 (version "3.26.1")
3920868c 8392 (source (origin
8393 (method url-fetch)
d47fa82d 8394 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8395 (version-major+minor version) "/"
d47fa82d 8396 "libgnomekbd-" version ".tar.xz"))
3920868c 8397 (sha256
8398 (base32
70f2b0f9 8399 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8400 (build-system gnu-build-system)
8401 (native-inputs
8402 `(("pkg-config" ,pkg-config)
8403 ("glib" ,glib "bin")
8404 ("intltool" ,intltool)))
8405 (propagated-inputs
8406 ;; Referred to in .h files and .pc.
8407 `(("glib" ,glib)
8408 ("gtk+" ,gtk+)
8409 ("libxklavier" ,libxklavier)))
8410 (home-page "https://www.gnome.org")
8411 (synopsis "GNOME keyboard configuration library")
8412 (description
8413 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8414environment, which can notably display keyboard layouts.")
8415 (license license:lgpl2.0+)))
85327d0d 8416
8417;;; This package is no longer maintained:
8418;;; https://wiki.gnome.org/Attic/LibUnique
8419;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8420;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8421(define-public libunique
8422 (package
8423 (name "libunique")
8424 (version "3.0.2")
8425 (source (origin
8426 (method url-fetch)
8427 (uri (string-append "mirror://gnome/sources/" name "/"
8428 (version-major+minor version) "/"
8429 name "-" version ".tar.xz"))
8430 (sha256
8431 (base32
8432 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8433 (build-system glib-or-gtk-build-system)
8434 (arguments
8435 `(#:configure-flags '("--disable-static"
8436 "--disable-dbus" ; use gdbus
8437 "--enable-introspection")))
8438 (native-inputs
8439 `(("pkg-config" ,pkg-config)
8440 ("gobject-introspection" ,gobject-introspection)
8441 ("glib:bin" ,glib "bin")
8442 ("gtk-doc" ,gtk-doc)))
8443 (propagated-inputs
8444 ;; Referred to in .h files and .pc.
8445 `(("gtk+" ,gtk+)))
8446 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8447 (synopsis "Library for writing single instance applications")
8448 (description
8449 "Libunique is a library for writing single instance applications. If you
8450launch a single instance application twice, the second instance will either just
8451quit or will send a message to the running instance. Libunique makes it easy to
8452write this kind of application, by providing a base class, taking care of all
8453the IPC machinery needed to send messages to a running instance, and also
8454handling the startup notification side.")
8455 (license license:lgpl2.1+)))
54021cd8
RS
8456
8457(define-public gnome-calculator
8458 (package
8459 (name "gnome-calculator")
07ace641 8460 (version "3.32.2")
54021cd8
RS
8461 (source
8462 (origin
8463 (method url-fetch)
8464 (uri (string-append "mirror://gnome/sources/" name "/"
8465 (version-major+minor version) "/"
8466 name "-" version ".tar.xz"))
8467 (sha256
8468 (base32
07ace641 8469 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8470 (build-system meson-build-system)
8471 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8472 (native-inputs
8473 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8474 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8475 ("intltool" ,intltool)
8476 ("itstool" ,itstool)
2d475910 8477 ("vala" ,vala)
54021cd8
RS
8478 ("pkg-config" ,pkg-config)))
8479 (inputs
112e9083 8480 `(("glib" ,glib)
07ace641 8481 ("gtksourceview" ,gtksourceview)
54021cd8 8482 ("libsoup" ,libsoup)
112e9083 8483 ("libxml2" ,libxml2)
2c2da7ec 8484 ("mpc" ,mpc)
54021cd8
RS
8485 ("mpfr" ,mpfr)))
8486 (home-page "https://wiki.gnome.org/Apps/Calculator")
8487 (synopsis "Desktop calculator")
8488 (description
8489 "Calculator is an application that solves mathematical equations and
8490is suitable as a default application in a Desktop environment.")
8491 (license license:gpl3)))
0bd69759
RS
8492
8493(define-public xpad
8494 (package
8495 (name "xpad")
c85626bb 8496 (version "5.1.0")
0bd69759
RS
8497 (source
8498 (origin
8499 (method url-fetch)
08fda9c6
R
8500 (uri (string-append "https://launchpad.net/xpad/trunk/"
8501 version "/+download/"
0bd69759
RS
8502 name "-" version ".tar.bz2"))
8503 (sha256
8504 (base32
c85626bb 8505 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8506 (build-system gnu-build-system)
8507 (native-inputs
08fda9c6
R
8508 `(("autoconf" ,autoconf)
8509 ("automake" ,automake)
8510 ("gtk+:bin" ,gtk+ "bin")
8511 ("intltool" ,intltool)
0bd69759
RS
8512 ("pkg-config" ,pkg-config)))
8513 (inputs
c72647fb 8514 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8515 ("libsm" ,libsm)))
8516 (home-page "https://wiki.gnome.org/Apps/Xpad")
8517 (synopsis "Virtual sticky note")
8518 (description
8519 "Xpad is a sticky note that strives to be simple, fault tolerant,
8520and customizable. Xpad consists of independent pad windows, each is
8521basically a text box in which notes can be written.")
8522 (license license:gpl3+)))
3ad7dce1
RS
8523
8524(define-public gucharmap
c60063ea
RW
8525 (let ((unicode-files
8526 '(("Blocks.txt"
1f8b5515 8527 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8528 ("DerivedAge.txt"
1f8b5515 8529 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8530 ("NamesList.txt"
1f8b5515 8531 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8532 ("Scripts.txt"
1f8b5515 8533 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8534 ("UnicodeData.txt"
1f8b5515 8535 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8536 ("Unihan.zip"
1f8b5515 8537 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8538 (package
8539 (name "gucharmap")
1f8b5515 8540 (version "12.0.1")
c60063ea
RW
8541 (source
8542 (origin
8543 (method url-fetch)
8544 (uri (string-append "mirror://gnome/sources/" name "/"
8545 (version-major+minor version) "/"
8546 name "-" version ".tar.xz"))
8547 (sha256
8548 (base32
1f8b5515 8549 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8550 (build-system glib-or-gtk-build-system)
8551 (arguments
8552 `(#:modules ((ice-9 match)
8553 (guix build glib-or-gtk-build-system)
8554 (guix build utils))
8555 #:configure-flags
8556 (list "--with-unicode-data=../unicode-data")
8557 #:phases
8558 (modify-phases %standard-phases
8559 (add-after 'unpack 'prepare-unicode-data
8560 (lambda* (#:key inputs #:allow-other-keys)
8561 (mkdir-p "../unicode-data")
8562 (with-directory-excursion "../unicode-data"
8563 (for-each (match-lambda
8564 ((file _)
8565 (install-file (assoc-ref inputs file) ".")))
8566 ',unicode-files))
8567 #t)))))
8568 (native-inputs
8569 `(("desktop-file-utils" ,desktop-file-utils)
8570 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8571 ("gobject-introspection" ,gobject-introspection)
8572 ("intltool" ,intltool)
8573 ("itstool" ,itstool)
8574 ("pkg-config" ,pkg-config)
8575 ,@(map (match-lambda
8576 ((file hash)
8577 `(,file
8578 ,(origin
8579 (method url-fetch)
8580 (uri (string-append
1f8b5515 8581 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8582 file))
8583 (sha256 (base32 hash))))))
8584 unicode-files)
8585 ("unzip" ,unzip)))
8586 (inputs
8587 `(("gtk+" ,gtk+)
8588 ("xmllint" ,libxml2)))
8589 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8590 (synopsis "Unicode character picker and font browser")
8591 (description
8592 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8593characters and categories for the installed fonts, and to examine their
8594detailed properties. It is an easy way to find the character you might
8595only know by its Unicode name or code point.")
c60063ea 8596 (license license:gpl3+))))
04ce840a
RS
8597
8598(define-public bluefish
8599 (package
8600 (name "bluefish")
290fe81d 8601 (version "2.2.11")
04ce840a
RS
8602 (source
8603 (origin
8604 (method url-fetch)
8605 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8606 "bluefish-" version ".tar.gz"))
04ce840a 8607 (sha256
290fe81d 8608 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8609 (build-system gnu-build-system)
8610 (native-inputs
8611 `(("desktop-file-utils" ,desktop-file-utils)
8612 ("intltool" ,intltool)
8613 ("pkg-config" ,pkg-config)))
8614 (inputs
8615 `(("enchant" ,enchant)
8616 ("gtk+" ,gtk+)
290fe81d 8617 ("python" ,python-wrapper)
04ce840a
RS
8618 ("xmllint" ,libxml2)
8619 ("gucharmap" ,gucharmap)))
8620 (home-page "http://bluefish.openoffice.nl")
8621 (synopsis "Web development studio")
8622 (description
8623 "Bluefish is an editor targeted towards programmers and web developers,
8624with many options to write web sites, scripts and other code.
8625Bluefish supports many programming and markup languages.")
8626 (license license:gpl3+)))
1f6a73ee
RS
8627
8628(define-public gnome-system-monitor
8629 (package
8630 (name "gnome-system-monitor")
083cffaf 8631 (version "3.32.1")
1f6a73ee
RS
8632 (source
8633 (origin
8634 (method url-fetch)
8635 (uri (string-append "mirror://gnome/sources/" name "/"
8636 (version-major+minor version) "/"
8637 name "-" version ".tar.xz"))
8638 (sha256
8639 (base32
083cffaf 8640 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8641 (build-system meson-build-system)
8642 (arguments
8643 '(#:glib-or-gtk? #t
8644 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8645 (native-inputs
8646 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8647 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8648 ("intltool" ,intltool)
8649 ("itstool" ,itstool)
8650 ("libgtop" ,libgtop)
4985d9aa 8651 ("polkit" ,polkit)
1f6a73ee
RS
8652 ("pkg-config" ,pkg-config)))
8653 (inputs
8654 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8655 ("gtk+" ,gtk+)
8656 ("gtkmm" ,gtkmm)
8657 ("librsvg" ,librsvg)
4985d9aa
RW
8658 ("libxml2" ,libxml2)
8659 ("libwnck" ,libwnck)))
1f6a73ee
RS
8660 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8661 (synopsis "Process viewer and system resource monitor for GNOME")
8662 (description
8663 "GNOME System Monitor is a GNOME process viewer and system monitor with
8664an attractive, easy-to-use interface. It has features, such as a tree view
8665for process dependencies, icons for processes, the ability to hide processes,
8666graphical time histories of CPU/memory/swap usage and the ability to
8667kill/reinice processes.")
8668 (license license:gpl2+)))
3e00ac47
SB
8669
8670(define-public python-pyatspi
8671 (package
8672 (name "python-pyatspi")
4f937a32 8673 (version "2.34.0")
3e00ac47
SB
8674 (source (origin
8675 (method url-fetch)
8676 (uri (string-append
8677 "mirror://gnome/sources/pyatspi/"
8678 (version-major+minor version)
8679 "/pyatspi-" version ".tar.xz"))
8680 (sha256
8681 (base32
4f937a32 8682 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8683 (build-system gnu-build-system)
b95af3f6
JL
8684 (arguments
8685 `(#:phases
8686 (modify-phases %standard-phases
8687 (add-before 'build 'fix-atk-load
8688 (lambda _
8689 (substitute* "pyatspi/__init__.py"
8690 (("from gi.repository import Atspi")
8691 "gi.require_version('Gtk', '3.0')
8692from gi.repository import Gtk
8693from gi.repository import Atspi"))
8694 #t)))))
3e00ac47
SB
8695 (native-inputs
8696 `(("pkg-config" ,pkg-config)))
8697 (inputs
8698 `(("python" ,python)
8699 ("python-pygobject" ,python-pygobject)))
8700 (synopsis "Python client bindings for D-Bus AT-SPI")
8701 (home-page "https://wiki.linuxfoundation.org/accessibility\
8702/atk/at-spi/at-spi_on_d-bus")
8703 (description
8704 "This package includes a python client library for the AT-SPI D-Bus
8705accessibility infrastructure.")
8706 (license license:lgpl2.0)
8707 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8708
8709(define-public orca
8710 (package
8711 (name "orca")
089e8585 8712 (version "3.32.0")
53201c0d
SB
8713 (source (origin
8714 (method url-fetch)
8715 (uri (string-append
8716 "mirror://gnome/sources/" name "/"
8717 (version-major+minor version) "/"
8718 name "-" version ".tar.xz"))
8719 (sha256
8720 (base32
089e8585 8721 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8722 (build-system glib-or-gtk-build-system)
8723 (arguments
8724 '(#:phases
8725 (modify-phases %standard-phases
8726 (add-before 'configure 'qualify-xkbcomp
8727 (lambda* (#:key inputs #:allow-other-keys)
8728 (let ((xkbcomp (string-append
8729 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8730 (substitute* "src/orca/orca.py"
8731 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8732 #t))
8733 (add-after 'install 'wrap-orca
8734 (lambda* (#:key outputs #:allow-other-keys)
8735 (let* ((out (assoc-ref outputs "out"))
8736 (prog (string-append out "/bin/orca")))
8737 (wrap-program prog
8738 `("GI_TYPELIB_PATH" ":" prefix
8739 (,(getenv "GI_TYPELIB_PATH")))
8740 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8741 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8742 `("PYTHONPATH" ":" prefix
8743 (,(getenv "PYTHONPATH")))))
8744 #t)))))
8745 (native-inputs
8746 `(("intltool" ,intltool)
8747 ("itstool" ,itstool)
8748 ("pkg-config" ,pkg-config)
8749 ("xmllint" ,libxml2)))
8750 (inputs
8751 `(("at-spi2-atk" ,at-spi2-atk)
8752 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8753 ("gstreamer" ,gstreamer)
8754 ("gst-plugins-base" ,gst-plugins-base)
8755 ("gst-plugins-good" ,gst-plugins-good)
8756 ("gtk+" ,gtk+)
8757 ("python" ,python)
8758 ("python-pygobject" ,python-pygobject)
8759 ("python-pyatspi" ,python-pyatspi)
8760 ("python-speechd" ,speech-dispatcher)
8761 ("xkbcomp" ,xkbcomp)))
8762 (synopsis
8763 "Screen reader for individuals who are blind or visually impaired")
8764 (home-page "https://wiki.gnome.org/Projects/Orca")
8765 (description
8766 "Orca is a screen reader that provides access to the graphical desktop
8767via speech and refreshable braille. Orca works with applications and toolkits
8768that support the Assistive Technology Service Provider Interface (AT-SPI).")
8769 (license license:lgpl2.1+)))
411ba511
LC
8770
8771(define-public gspell
8772 (package
8773 (name "gspell")
7a6bbe9b 8774 (version "1.8.2")
411ba511
LC
8775 (source (origin
8776 (method url-fetch)
8777 (uri (string-append "mirror://gnome/sources/" name "/"
8778 (version-major+minor version) "/"
8779 name "-" version ".tar.xz"))
8780 (sha256
8781 (base32
7a6bbe9b 8782 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8783 (patches (search-patches "gspell-dash-test.patch"))))
8784 (build-system glib-or-gtk-build-system)
8785 (arguments
d0f50164 8786 '(#:configure-flags (list "--enable-vala")
8787 #:phases
411ba511
LC
8788 (modify-phases %standard-phases
8789 (add-before 'check 'pre-check
8790 (lambda* (#:key inputs #:allow-other-keys)
8791 ;; Tests require a running X server.
8792 (system "Xvfb :1 &")
8793 (setenv "DISPLAY" ":1")
8794
8795 ;; For the missing /etc/machine-id.
8796 (setenv "DBUS_FATAL_WARNINGS" "0")
8797
8798 ;; Allow Enchant and its Aspell backend to find the en_US
8799 ;; dictionary.
8800 (setenv "ASPELL_DICT_DIR"
8801 (string-append (assoc-ref inputs "aspell-dict-en")
8802 "/lib/aspell"))
8803 #t)))))
8804 (inputs
eccd35be 8805 `(("gtk+" ,gtk+)
a801ae4c
TGR
8806 ("glib" ,glib)
8807 ("iso-codes" ,iso-codes)))
411ba511
LC
8808 (native-inputs
8809 `(("glib" ,glib "bin")
26ba3f07 8810 ("gobject-introspection" ,gobject-introspection)
411ba511 8811 ("pkg-config" ,pkg-config)
d0f50164 8812 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
8813 ("xmllint" ,libxml2)
8814
8815 ;; For tests.
a801ae4c 8816 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8817 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8818 (propagated-inputs
9b1bb757 8819 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8820 (home-page "https://wiki.gnome.org/Projects/gspell")
8821 (synopsis "GNOME's alternative spell checker")
8822 (description
8823 "gspell provides a flexible API to add spell-checking to a GTK+
8824application. It provides a GObject API, spell-checking to text entries and
8825text views, and buttons to choose the language.")
8826 (license license:gpl2+)))
d1d739fa
CM
8827
8828(define-public gnome-planner
8829 (package
8830 (name "gnome-planner")
8831 (version "0.14.6")
8832 (source (origin
8833 (method url-fetch)
8834 (uri (string-append "mirror://gnome/sources/planner/"
8835 (version-major+minor version) "/planner-"
8836 version ".tar.xz"))
8837 (sha256
8838 (base32
8839 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8840 (build-system glib-or-gtk-build-system)
8841 (arguments
8842 ;; Disable the Python bindings because the Planner program functions
8843 ;; without them, and (as of 2017-06-13) we have not packaged all of
8844 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8845 `(#:configure-flags
8846 (list "--disable-python"
8847 ,@(if (string=? "aarch64-linux" (%current-system))
8848 '("--build=aarch64-unknown-linux-gnu")
8849 '()))))
d1d739fa
CM
8850 (inputs
8851 `(("libgnomecanvas" ,libgnomecanvas)
8852 ("libgnomeui" ,libgnomeui)
8853 ("libglade" ,libglade)
8854 ("gnome-vfs" ,gnome-vfs)
8855 ("gconf" ,gconf)
8856 ("libxml2" ,libxml2)
8857 ("libxslt" ,libxslt)
8858 ("gtk+" ,gtk+)
8859 ("glib" ,glib)))
8860 (native-inputs
8861 `(("intltool" ,intltool)
8862 ("scrollkeeper" ,scrollkeeper)
8863 ("pkg-config" ,pkg-config)))
8864 (home-page "https://wiki.gnome.org/Apps/Planner")
8865 (synopsis "Project management software for the GNOME desktop")
8866 (description
8867 "GNOME Planner is a project management tool based on the Work Breakdown
8868Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8869the resources, tasks, and constraints that you define, Planner generates
8870various views into a project. For example, Planner can show a Gantt chart of
8871the project. It can show a detailed summary of tasks including their
8872duration, cost, and current progress. It can also show a report of resource
8873utilization that highlights under-utilized and over-utilized resources. These
8874views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8875 (license license:gpl2+)))
64fce637
RS
8876
8877(define-public lollypop
8878 (package
8879 (name "lollypop")
24b5d8f7 8880 (version "1.2.32")
64fce637
RS
8881 (source
8882 (origin
8883 (method url-fetch)
24b5d8f7 8884 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 8885 "lollypop-" version ".tar.xz"))
64fce637 8886 (sha256
24b5d8f7 8887 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 8888 (build-system meson-build-system)
64fce637
RS
8889 (arguments
8890 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
8891 ,@%meson-build-system-modules)
8892 #:glib-or-gtk? #t
5fc9b6c1
EF
8893 #:tests? #f ; no test suite
8894 #:phases
8895 (modify-phases %standard-phases
5fc9b6c1
EF
8896 (add-after 'install 'wrap-program
8897 (lambda* (#:key outputs #:allow-other-keys)
8898 (let ((out (assoc-ref outputs "out"))
8899 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8900 (wrap-program (string-append out "/bin/lollypop")
8901 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8902 #t))
8ac8b3b3
TGR
8903 (add-after 'install 'wrap-python
8904 (@@ (guix build python-build-system) wrap))
8905 (add-after 'install 'wrap-glib-or-gtk
8906 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
8907 (native-inputs
8908 `(("intltool" ,intltool)
8909 ("itstool" ,itstool)
aa498fc0
TD
8910 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8911 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8912 ("pkg-config" ,pkg-config)))
8913 (inputs
8914 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8915 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8916 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8917 ("libnotify" ,libnotify)
8918 ("libsecret" ,libsecret)
8919 ("libsoup" ,libsoup)
8920 ("python" ,python)
8921 ("python-beautifulsoup4" ,python-beautifulsoup4)
8922 ("python-gst" ,python-gst)
d029afdd 8923 ("python-pil" ,python-pillow)
64fce637 8924 ("python-pycairo" ,python-pycairo)
7460f346 8925 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8926 ("python-pylast" ,python-pylast)
8927 ("totem-pl-parser" ,totem-pl-parser)
8928 ("webkitgtk" ,webkitgtk)))
8929 (propagated-inputs
8930 `(;; gst-plugins-base is required to start Lollypop,
8931 ;; the others are required to play streaming.
64fce637
RS
8932 ("gst-plugins-good" ,gst-plugins-good)
8933 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8934 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8935 (synopsis "GNOME music playing application")
8936 (description
8937 "Lollypop is a music player designed to play well with GNOME desktop.
8938Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8939from artists and tracks from the web. It also fetches cover artworks
8940automatically and it can stream songs from online music services and charts.")
8941 (license license:gpl3+)))
d831d49d
AW
8942
8943(define-public gnome-video-effects
8944 (package
8945 (name "gnome-video-effects")
8946 (version "0.4.3")
8947 (source (origin
8948 (method url-fetch)
8949 (uri (string-append "mirror://gnome/sources/" name "/"
8950 (version-major+minor version) "/" name "-"
8951 version ".tar.xz"))
8952 (sha256
8953 (base32
8954 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8955 (build-system glib-or-gtk-build-system)
8956 (arguments
8957 `(#:out-of-source? #f))
8958 (native-inputs
8959 `(("glib:bin" ,glib "bin")
8960 ("intltool" ,intltool)
8961 ("gettext" ,gettext-minimal)
8962 ("pkg-config" ,pkg-config)))
8963 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8964 (synopsis "Video effects for Cheese and other GNOME applications")
8965 (description
8966 "A collection of GStreamer video filters and effects to be used in
8967photo-booth-like software, such as Cheese.")
8968 (license license:gpl2+)))
3511c780
AW
8969
8970(define-public cheese
8971 (package
8972 (name "cheese")
dd33b337 8973 (version "3.32.1")
3511c780
AW
8974 (source (origin
8975 (method url-fetch)
8976 (uri (string-append "mirror://gnome/sources/" name "/"
8977 (version-major+minor version) "/" name "-"
8978 version ".tar.xz"))
8979 (sha256
8980 (base32
dd33b337 8981 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8982 (arguments
8983 ;; Tests require GDK.
8984 `(#:tests? #f
8985 #:phases
8986 (modify-phases %standard-phases
8987 (add-before 'install 'skip-gtk-update-icon-cache
8988 (lambda _
8989 ;; Don't create 'icon-theme.cache'
8990 (substitute* "Makefile"
8991 (("gtk-update-icon-cache") (which "true")))
8992 #t))
8993 (add-after 'install 'wrap-cheese
8994 (lambda* (#:key inputs outputs #:allow-other-keys)
8995 (let ((out (assoc-ref outputs "out"))
8996 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8997 (wrap-program (string-append out "/bin/cheese")
8998 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8999 #t)))))
9000 (build-system glib-or-gtk-build-system)
9001 (native-inputs
9002 `(("glib:bin" ,glib "bin")
9003 ("intltool" ,intltool)
9004 ("itstool" ,itstool)
9005 ("libxml2" ,libxml2)
9006 ("pkg-config" ,pkg-config)
9007 ("vala" ,vala)))
9008 (propagated-inputs
6a19f03e
RW
9009 `(("gnome-video-effects" ,gnome-video-effects)
9010 ("clutter" ,clutter)
3511c780
AW
9011 ("clutter-gst" ,clutter-gst)
9012 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9013 ("libcanberra" ,libcanberra)
3511c780
AW
9014 ("gdk-pixbuf" ,gdk-pixbuf)
9015 ("glib" ,glib)
6a19f03e
RW
9016 ("gstreamer" ,gstreamer)))
9017 (inputs
9018 `(("gnome-desktop" ,gnome-desktop)
3511c780 9019 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9020 ("gst-plugins-base" ,gst-plugins-base)
9021 ("gst-plugins-bad" ,gst-plugins-bad)
9022 ("gtk+" ,gtk+)
3511c780
AW
9023 ("libx11" ,libx11)
9024 ("libxtst" ,libxtst)))
9025 (home-page "https://wiki.gnome.org/Apps/Cheese")
9026 (synopsis "Webcam photo booth software for GNOME")
9027 (description
9028 "Cheese uses your webcam to take photos and videos. Cheese can also
9029apply fancy special effects and lets you share the fun with others.")
9030 (license license:gpl2+)))
3c5dbd2b 9031
9032(define-public sound-juicer
9033 (package
9034 (name "sound-juicer")
9035 (version "3.24.0")
9036 (source
9037 (origin
9038 (method url-fetch)
9039 (uri (string-append "mirror://gnome/sources/" name "/"
9040 (version-major+minor version) "/"
9041 name "-" version ".tar.xz"))
9042 (sha256
9043 (base32
9044 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9045 (build-system glib-or-gtk-build-system)
9046 (native-inputs
9047 `(("desktop-file-utils" ,desktop-file-utils)
9048 ("intltool" ,intltool)
9049 ("itstool" ,itstool)
9050 ("pkg-config" ,pkg-config)
9051 ("xmllint" ,libxml2)))
9052 (inputs
9053 `(("gtk+" ,gtk+)
9054 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9055 ("gstreamer" ,gstreamer)
9056 ("gst-plugins-base" ,gst-plugins-base)
9057 ("gst-plugins-good" ,gst-plugins-good)
9058 ("iso-codes" ,iso-codes)
9059 ("libbrasero-media3" ,brasero)
9060 ("libcanberra" ,libcanberra)
9061 ("libdiscid" ,libdiscid)
9062 ("libmusicbrainz" ,libmusicbrainz)
9063 ("neon" ,neon)))
9064 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9065 (synopsis "Audio music cd ripper")
9066 (description "Sound Juicer extracts audio from compact discs and convert it
9067into audio files that a personal computer or digital audio player can play.
9068It supports ripping to any audio codec supported by a GStreamer plugin, such as
9069mp3, Ogg Vorbis and FLAC")
9070 (license license:gpl2+)))
4e3fdeb7 9071
0d3f1708
CB
9072(define-public soundconverter
9073 (package
9074 (name "soundconverter")
fa75a213 9075 (version "3.0.1")
0d3f1708
CB
9076 (source
9077 (origin
9078 (method url-fetch)
9079 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9080 version "/+download/"
9081 "soundconverter-" version ".tar.xz"))
9082
9083 (sha256
fa75a213 9084 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9085 (patches
9086 (search-patches
9087 "soundconverter-remove-gconf-dependency.patch"))))
9088 (build-system glib-or-gtk-build-system)
9089 (arguments
9090 `(#:imported-modules ((guix build python-build-system)
9091 (guix build glib-or-gtk-build-system)
9092 ,@%gnu-build-system-modules)
9093
9094 #:modules ((guix build glib-or-gtk-build-system)
9095 (guix build utils)
9096 ((guix build gnu-build-system) #:prefix gnu:)
9097 ((guix build python-build-system) #:prefix python:))
9098
9099 #:phases
9100 (modify-phases %standard-phases
0d3f1708
CB
9101 (add-after 'install 'wrap-soundconverter-for-python
9102 (assoc-ref python:%standard-phases 'wrap))
9103 (add-after 'install 'wrap-soundconverter
9104 (lambda* (#:key inputs outputs #:allow-other-keys)
9105 (let ((out (assoc-ref outputs "out"))
9106 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9107 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9108 (wrap-program (string-append out "/bin/soundconverter")
9109 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9110 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9111 #t)))))
9112 (native-inputs
9113 `(("intltool" ,intltool)
9114 ("pkg-config" ,pkg-config)
9115 ("glib:bin" ,glib "bin")))
9116 (inputs
9117 `(("gtk+" ,gtk+)
9118 ("python" ,python)
9119 ("python-pygobject" ,python-pygobject)
9120 ("gstreamer" ,gstreamer)
9121 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9122 (home-page "https://soundconverter.org/")
0d3f1708
CB
9123 (synopsis "Convert between audio formats with a graphical interface")
9124 (description
9125 "SoundConverter supports converting between many audio formats including
9126Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9127configurable file renaming. ")
9128 (license license:gpl3)))
9129
4e3fdeb7 9130(define-public workrave
89f2d736
TGR
9131 (package
9132 (name "workrave")
1b9e1648 9133 (version "1.10.37")
89f2d736
TGR
9134 (source
9135 (origin
9136 (method git-fetch)
9137 (uri (git-reference
9138 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9139 (commit (string-append "v" (string-map
9140 (match-lambda (#\. #\_) (chr chr))
9141 version)))))
89f2d736
TGR
9142 (file-name (git-file-name name version))
9143 (sha256
1b9e1648 9144 (base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13"))))
89f2d736 9145 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9146 (arguments
9147 ;; The only tests are maintainer tests (in po/), which fail.
9148 `(#:tests? #f))
d1c96847
MC
9149 (inputs `(("glib" ,glib)
9150 ("gtk+" ,gtk+)
9151 ("gdk-pixbuf" ,gdk-pixbuf)
9152 ("gtkmm" ,gtkmm)
9153 ("glibmm" ,glibmm)
9154 ("libx11" ,libx11)
9155 ("libxtst" ,libxtst)
9156 ("dconf" ,dconf)
9157 ("libice" ,libice)
9158 ("libsm" ,libsm)
9159 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9160 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9161 ("pkg-config" ,pkg-config)
9162 ("gettext" ,gnu-gettext)
9163 ("autoconf" ,autoconf)
9164 ("autoconf-archive" , autoconf-archive)
9165 ("automake" ,automake)
9166 ("libtool" ,libtool)
9167 ("intltool" ,intltool)
89f2d736 9168 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9169 ("python3" ,python-3)
9170 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9171 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9172 (description
9173 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9174repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9175micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9176 (home-page "http://www.workrave.org")
9177 (license license:gpl3+)))
312afa7d
LC
9178
9179(define-public ghex
9180 (package
9181 (name "ghex")
3748992a 9182 (version "3.18.4")
312afa7d
LC
9183 (source (origin
9184 (method url-fetch)
2fbab848 9185 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9186 (version-major+minor version) "/"
2fbab848 9187 "ghex-" version ".tar.xz"))
312afa7d
LC
9188 (sha256
9189 (base32
3748992a
KK
9190 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9191 (build-system meson-build-system)
9192 (arguments
9193 '(#:glib-or-gtk? #t
9194 #:phases
9195 (modify-phases %standard-phases
9196 (add-after 'unpack 'skip-gtk-update-icon-cache
9197 ;; Don't create 'icon-theme.cache'.
9198 (lambda _
9199 (substitute* "meson_post_install.py"
9200 (("gtk-update-icon-cache") (which "true")))
9201 #t)))))
312afa7d
LC
9202 (native-inputs
9203 `(("pkg-config" ,pkg-config)
3748992a 9204 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9205 ("gnome-common" ,gnome-common)
9206 ("which" ,which)
9207 ("intltool" ,intltool)
9208 ("yelp-tools" ,yelp-tools)
2fbab848 9209 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9210 (inputs
9211 `(("atk" ,atk)
9212 ("gtk" ,gtk+)))
9213 (synopsis "GNOME hexadecimal editor")
9214 (description "The GHex program can view and edit files in two ways:
9215hexadecimal or ASCII. It is useful for editing binary files in general.")
9216 (home-page "https://wiki.gnome.org/Apps/Ghex")
9217 (license license:gpl2)))
4b2ed6c2
RW
9218
9219(define-public libdazzle
9220 (package
9221 (name "libdazzle")
64fa66ba 9222 (version "3.33.90")
4b2ed6c2
RW
9223 (source (origin
9224 (method url-fetch)
687b4909 9225 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9226 (version-major+minor version) "/"
687b4909 9227 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9228 (sha256
9229 (base32
64fa66ba 9230 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9231 (build-system meson-build-system)
9232 (arguments
9233 `(#:phases
9234 (modify-phases %standard-phases
4b2ed6c2
RW
9235 (add-before 'check 'pre-check
9236 (lambda _
9237 ;; Tests require a running X server.
9238 (system "Xvfb :1 &")
9239 (setenv "DISPLAY" ":1")
9240 #t)))))
9241 (native-inputs
687b4909 9242 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9243 ("pkg-config" ,pkg-config)
687b4909 9244 ;; For tests.
ff337525 9245 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9246 (inputs
9247 `(("glib" ,glib)
9248 ("gobject-introspection" ,gobject-introspection)
9249 ("gtk+" ,gtk+)
9250 ("vala" ,vala)))
9251 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9252 (synopsis "Companion library to GObject and Gtk+")
9253 (description "The libdazzle library is a companion library to GObject and
9254Gtk+. It provides various features that the authors wish were in the
9255underlying library but cannot for various reasons. In most cases, they are
9256wildly out of scope for those libraries. In other cases, they are not quite
9257generic enough to work for everyone.")
9258 (license license:gpl3+)))
7d3bb433
RW
9259
9260(define-public evolution
9261 (package
9262 (name "evolution")
06141f83 9263 (version "3.32.4")
7d3bb433
RW
9264 (source (origin
9265 (method url-fetch)
9266 (uri (string-append "mirror://gnome/sources/evolution/"
9267 (version-major+minor version) "/"
9268 "evolution-" version ".tar.xz"))
9269 (sha256
9270 (base32
06141f83 9271 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9272 (build-system cmake-build-system)
9273 (arguments
5229bea1
KK
9274 `(#:imported-modules (,@%cmake-build-system-modules
9275 (guix build glib-or-gtk-build-system))
9276 #:modules ((guix build cmake-build-system)
9277 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9278 (guix build utils))
9279 #:configure-flags
7d3bb433 9280 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9281 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9282 ; in four years and cannot be built.
5229bea1
KK
9283 #:phases
9284 (modify-phases %standard-phases
9285 ;; The build system attempts to install user interface modules to the
9286 ;; output directory of the "evolution-data-server" package. This
9287 ;; change redirects that change.
9288 (add-after 'unpack 'patch-ui-module-dir
9289 (lambda* (#:key outputs #:allow-other-keys)
9290 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9291 (("\\$\\{edsuimoduledir\\}")
9292 (string-append (assoc-ref outputs "out")
9293 "/lib/evolution-data-server/ui-modules")))
9294 #t))
9295 (add-after 'install 'glib-or-gtk-compile-schemas
9296 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9297 (add-after 'install 'glib-or-gtk-wrap
9298 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9299 (native-inputs
ad6e168b 9300 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9301 ("pkg-config" ,pkg-config)
9302 ("intltool" ,intltool)
9303 ("itstool" ,itstool)))
9304 (inputs
9305 `(("enchant" ,enchant)
9306 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9307 ("gcr" ,gcr)
ad6e168b 9308 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9309 ("gnome-autoar" ,gnome-autoar)
9310 ("gnome-desktop" ,gnome-desktop)
9311 ("gtkspell3" ,gtkspell3)
9312 ("highlight" ,highlight)
9313 ("libcanberra" ,libcanberra)
b63c06f1 9314 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9315 ("libgweather" ,libgweather)
9316 ("libnotify" ,libnotify)
9317 ("libsoup" ,libsoup)
9318 ("nss" ,nss)
9319 ("openldap" ,openldap)
9320 ("webkitgtk" ,webkitgtk)
9321 ("ytnef" ,ytnef)))
9322 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9323 (synopsis "Manage your email, contacts and schedule")
9324 (description "Evolution is a personal information management application
9325that provides integrated mail, calendaring and address book
9326functionality.")
9327 ;; See COPYING for details.
23dbe621 9328 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9329 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9330 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9331
9332(define-public gthumb
9333 (package
9334 (name "gthumb")
8280676b 9335 (version "3.8.2")
169d63f5
AT
9336 (source (origin
9337 (method url-fetch)
9338 (uri (string-append "mirror://gnome/sources/gthumb/"
9339 (version-major+minor version) "/"
9340 "gthumb-" version ".tar.xz"))
9341 (sha256
9342 (base32
8280676b 9343 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9344 (build-system meson-build-system)
9345 (arguments
9346 `(#:glib-or-gtk? #t
9347 #:configure-flags
9348 ;; Ensure the RUNPATH contains all installed library locations.
9349 (list (string-append "-Dc_link_args=-Wl,-rpath="
9350 (assoc-ref %outputs "out")
9351 "/lib/gthumb/extensions")
9352 (string-append "-Dcpp_link_args=-Wl,-rpath="
9353 (assoc-ref %outputs "out")
9354 "/lib/gthumb/extensions"))))
9355 (native-inputs
9356 `(("pkg-config" ,pkg-config)
9357 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9358 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9359 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9360 ("intltool" ,intltool)
9361 ("itstool" ,itstool)))
9362 (inputs
9363 `(("exiv2" ,exiv2)
9364 ("gtk" ,gtk+)
9365 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9366 ("gstreamer" ,gstreamer)
9367 ("clutter" ,clutter)
9368 ("clutter-gst" ,clutter-gst)
9369 ("clutter-gtk" ,clutter-gtk)
9370 ("libjpeg" ,libjpeg)
9371 ("libtiff" ,libtiff)
9372 ("libraw" ,libraw)))
9373 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9374 (synopsis "GNOME image viewer and browser")
9375 (description "GThumb is an image viewer, browser, organizer, editor and
9376advanced image management tool")
9377 (license license:gpl2+)))
08be02be
AT
9378
9379(define-public terminator
9380 (package
9381 (name "terminator")
9382 (version "1.91")
9383 (source (origin
9384 (method url-fetch)
9385 (uri (string-append "https://launchpad.net/" name "/"
9386 "gtk3/" version "/" "+download/"
9387 name "-" version ".tar.gz"))
9388 (sha256
9389 (base32
9390 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9391 (build-system python-build-system)
9392 (native-inputs
9393 `(("intltool" ,intltool)
9394 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9395 ("gettext" ,gettext-minimal)
9396 ("pkg-config" ,pkg-config)))
9397 (inputs
9398 `(("cairo" ,cairo)
9399 ("gobject-introspection" ,gobject-introspection)
96681d4b 9400 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9401 ("python2-pycairo" ,python2-pycairo)
9402 ("python2-pygobject" ,python2-pygobject)
9403 ("python2-psutil" ,python2-psutil)
9404 ("vte" ,vte)))
9405 (arguments
96681d4b
TGR
9406 `(#:python ,python-2 ; Python 3 isn't supported
9407 #:imported-modules ((guix build glib-or-gtk-build-system)
9408 ,@%python-build-system-modules)
9409 #:modules ((guix build python-build-system)
9410 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9411 (guix build utils))
08be02be
AT
9412 #:phases
9413 (modify-phases %standard-phases
9414 (add-after
9415 'install 'wrap-program
9416 (lambda* (#:key outputs #:allow-other-keys)
9417 (let ((prog (string-append (assoc-ref outputs "out")
9418 "/bin/terminator")))
9419 (wrap-program prog
9420 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9421 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9422 #t)))
9423 (add-after 'wrap-program 'glib-or-gtk-wrap
9424 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9425 (home-page "https://gnometerminator.blogspot.com/")
9426 (synopsis "Store and run multiple GNOME terminals in one window")
9427 (description
9428 "Terminator allows you to run multiple GNOME terminals in a grid and
9429+tabs, and it supports drag and drop re-ordering of terminals.")
9430 (license license:gpl2)))
213315d4
JF
9431
9432(define-public libhandy
9433 (package
9434 (name "libhandy")
f6501b9f 9435 (version "0.0.12")
213315d4
JF
9436 (source
9437 (origin
9438 (method git-fetch)
9439 (uri (git-reference
9440 (url "https://source.puri.sm/Librem5/libhandy")
9441 (commit (string-append "v" version))))
9442 (file-name (git-file-name name version))
9443 (sha256
f6501b9f 9444 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9445 (build-system meson-build-system)
9446 (arguments
9447 `(#:configure-flags
9448 '("-Dglade_catalog=disabled"
9449 "-Dgtk_doc=true")
9450 #:phases
9451 (modify-phases %standard-phases
213315d4
JF
9452 (add-before 'check 'pre-check
9453 (lambda _
9454 ;; Tests require a running X server.
9455 (system "Xvfb :1 &")
9456 (setenv "DISPLAY" ":1")
9457 #t)))))
9458 (inputs
9459 `(("gtk+" ,gtk+)))
9460 (native-inputs
9461 `(("glib:bin" ,glib "bin")
9462 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9463 ("vala" ,vala)
9464 ("gtk-doc" ,gtk-doc)
9465 ("pkg-config" ,pkg-config)
9466 ("gettext" ,gettext-minimal)
d41ee146
TGR
9467
9468 ;; Test suite dependencies.
ff337525 9469 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9470 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9471 (home-page "https://source.puri.sm/Librem5/libhandy")
9472 (synopsis "Library full of GTK+ widgets for mobile phones")
9473 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9474interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9475for usage on small and big screens.")
213315d4 9476 (license license:lgpl2.1+)))
a830d14d
GL
9477
9478(define-public libgit2-glib
9479 (package
9480 (name "libgit2-glib")
6448c2e1 9481 (version "0.99.0.1")
a830d14d
GL
9482 (source (origin
9483 (method url-fetch)
9484 (uri (string-append "mirror://gnome/sources/" name "/"
9485 (version-major+minor version) "/"
9486 name "-" version ".tar.xz"))
9487 (sha256
9488 (base32
6448c2e1 9489 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9490 (build-system meson-build-system)
9491 (native-inputs
9492 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9493 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9494 ("pkg-config" ,pkg-config)
9495 ("python-pygobject" ,python-pygobject)
9496 ("python-wrapper" ,python-wrapper)
9497 ("vala" ,vala)))
9498 (inputs
9499 `(("glib" ,glib)
8c6aae46
MB
9500 ("libssh2" ,libssh2)))
9501 (propagated-inputs
9502 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9503 ("libgit2" ,libgit2)))
9504 (synopsis "GLib wrapper around the libgit2 Git access library")
9505 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9506access library. It only implements the core plumbing functions, not really the
9507higher level porcelain stuff.")
9508 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9509 (license license:gpl2+)))
93beace0 9510
08db81c9
LP
9511(define-public gitg
9512 (package
9513 (name "gitg")
9514 (version "3.32.1")
9515 (source (origin
9516 (method url-fetch)
9517 (uri (string-append "mirror://gnome/sources/" name "/"
9518 (version-major+minor version) "/"
9519 name "-" version ".tar.xz"))
9520 (sha256
9521 (base32
9522 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9523 (build-system meson-build-system)
9524 (arguments
9525 `(#:glib-or-gtk? #t
9526 #:phases
9527 (modify-phases %standard-phases
9528 (add-after 'unpack 'disable-post-install-partially
9529 (lambda _
9530 (substitute* "meson_post_install.py"
9531 (("'python'") ; there are no python sources to compile
9532 (string-append "'" (which "true") "'"))
9533 (("gtk-update-icon-cache") (which "true")))
9534 #t))
9535 (add-after 'unpack 'fix-test-sources
9536 (lambda _
9537 (substitute* "tests/libgitg/test-commit.vala"
9538 (("/bin/bash") (which "bash")))
9539 #t))
9540 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9541 (lambda* (#:key outputs #:allow-other-keys)
9542 (let ((prog (string-append (assoc-ref outputs "out")
9543 "/bin/gitg")))
9544 (wrap-program prog
9545 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9546 #t))))))
9547 (inputs
9548 `(("glib" ,glib)
9549 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9550 ("gtk+" ,gtk+)
9551 ("gtkspell3" ,gtkspell3)
9552 ("gtksourceview" ,gtksourceview-3)
9553 ("json-glib" ,json-glib)
9554 ("libdazzle" ,libdazzle)
9555 ("libgee" ,libgee)
08db81c9
LP
9556 ("libgit2-glib" ,libgit2-glib)
9557 ("libpeas" ,libpeas)
9558 ("libsecret" ,libsecret)
9559 ("libsoup" ,libsoup)
9560 ("libxml2" ,libxml2)))
9561 (native-inputs
9562 `(("glib:bin" ,glib "bin")
9563 ("gtk+:bin" ,gtk+ "bin")
9564 ("gobject-introspection" ,gobject-introspection)
9565 ("intltool" ,intltool)
9566 ("pkg-config" ,pkg-config)
9567 ("vala" ,vala)))
9568 (synopsis "Graphical user interface for git")
9569 (description
9570 "gitg is a graphical user interface for git. It aims at being a small,
9571fast and convenient tool to visualize the history of git repositories.
9572Besides visualization, gitg also provides several utilities to manage your
9573repository and commit your work.")
9574 (home-page "https://wiki.gnome.org/Apps/Gitg")
9575 (license license:gpl2+)))
9576
1e600ed0
RW
9577(define-public gamin
9578 (package
9579 (name "gamin")
9580 (version "0.1.10")
9581 (source (origin
9582 (method url-fetch)
9583 (uri (string-append "mirror://gnome/sources/" name "/"
9584 (version-major+minor version) "/"
9585 name "-" version ".tar.bz2"))
9586 (sha256
9587 (base32
9588 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9589 (build-system gnu-build-system)
9590 (arguments
9591 `(#:phases
9592 (modify-phases %standard-phases
9593 (add-after 'unpack 'remove-deprecated-macro
9594 (lambda _
9595 (substitute* '("server/gam_node.c"
9596 "server/gam_subscription.h"
9597 "server/gam_node.h"
9598 "server/gam_subscription.c")
9599 (("G_CONST_RETURN") "const"))
9600 #t)))))
9601 (inputs
9602 `(("glib" ,glib)))
9603 (native-inputs
9604 `(("intltool" ,intltool)
9605 ("pkg-config" ,pkg-config)))
9606 (home-page "https://people.gnome.org/~veillard/gamin/")
9607 (synopsis "File alteration monitor")
9608 (description
9609 "Gamin is a file and directory monitoring system defined to be a subset
9610of the FAM (File Alteration Monitor) system. This is a service provided by a
9611library which allows to detect when a file or a directory has been modified.")
9612 (license license:gpl2+)))
9613
93beace0
DW
9614(define-public gnome-mahjongg
9615 (package
9616 (name "gnome-mahjongg")
9617 (version "3.35.1")
9618 (source (origin
9619 (method git-fetch)
9620 (uri (git-reference
9621 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9622 (commit version)))
9623 (file-name (git-file-name name version))
9624 (sha256
9625 (base32
9626 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9627 (build-system meson-build-system)
9628 (arguments
9629 `(#:glib-or-gtk? #t))
9630 (native-inputs
9631 `(("appstream-glib" ,appstream-glib)
9632 ("gettext" ,gettext-minimal)
9633 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9634 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9635 ("itstool" ,itstool)
9636 ("pkg-config" ,pkg-config)
9637 ("vala" ,vala)))
9638 (propagated-inputs
9639 `(("dconf" ,dconf)))
9640 (inputs
9641 `(("glib" ,glib)
9642 ("gtk+" ,gtk+)
9643 ("librsvg" ,librsvg)))
9644 (synopsis "Mahjongg tile-matching game")
9645 (description "GNOME Mahjongg is a game based on the classic Chinese
9646tile-matching game Mahjong. It features multiple board layouts, tile themes,
9647and a high score table.")
9648 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9649 (license license:gpl2+)))
f825476c 9650
76ea7632
RG
9651(define-public gnome-themes-extra
9652 (package
9653 (name "gnome-themes-extra")
9654 (version "3.28")
9655 (source
9656 (origin
9657 (method url-fetch)
9658 (uri (string-append "mirror://gnome/sources/" name "/"
9659 (version-major+minor version) "/" name "-"
9660 version ".tar.xz"))
9661 (sha256
9662 (base32
9663 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9664 (build-system gnu-build-system)
885424bf
RG
9665 (arguments
9666 '(#:configure-flags
9667 ;; Don't create 'icon-theme.cache'.
9668 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9669 (true (string-append coreutils "/bin/true")))
9670 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9671 (native-inputs
9672 `(("glib:bin" ,glib "bin")
9673 ("intltool" ,intltool)
9674 ("pkg-config" ,pkg-config)))
9675 (inputs
9676 `(("glib" ,glib)
9677 ("gtk+" ,gtk+)
9678 ("gtk+-2" ,gtk+-2)
9679 ("librsvg" ,librsvg)
9680 ("libxml2" ,libxml2)))
9681 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9682 (synopsis "GNOME Extra Themes")
9683 (description "This package provides themes and related elements that don't
9684really fit in other upstream packages. It offers legacy support for GTK+ 2
9685versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9686index files needed for Adwaita to be used outside of GNOME.")
9687 (license license:lgpl2.1+)))
9688
f825476c
LP
9689(define-public polari
9690 (package
9691 (name "polari")
9692 (version "3.32.2")
9693 (source (origin
9694 (method url-fetch)
9695 (uri (string-append "mirror://gnome/sources/polari/"
9696 (version-major+minor version)
9697 "/polari-" version ".tar.xz"))
9698 (sha256
9699 (base32
9700 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9701 (build-system meson-build-system)
9702 (arguments
9703 `(#:glib-or-gtk? #t
9704 #:phases
9705 (modify-phases %standard-phases
9706 (add-after 'unpack 'skip-gtk-update-icon-cache
9707 (lambda _
9708 (substitute* "meson/meson-postinstall.sh"
9709 (("gtk-update-icon-cache") (which "true")))
9710 #t))
9711 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9712 (lambda* (#:key outputs #:allow-other-keys)
9713 (let ((prog (string-append (assoc-ref outputs "out")
9714 "/bin/polari")))
9715 (wrap-program prog
9716 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9717 #t))))))
9718 (inputs
9719 `(("glib" ,glib)
9720 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9721 ("gspell" ,gspell)
9722 ("gtk+" ,gtk+)
9723 ("gjs" ,gjs)
9724 ("libsecret" ,libsecret)
9725 ("libsoup" ,libsoup)
9726 ("telepathy-glib" ,telepathy-glib)
9727 ("telepathy-logger" ,telepathy-logger)))
9728 (native-inputs
9729 `(("glib:bin" ,glib "bin")
9730 ("gobject-introspection" ,gobject-introspection)
9731 ("intltool" ,intltool)
9732 ("pkg-config" ,pkg-config)
9733 ("yelp-tools" ,yelp-tools)))
9734 (propagated-inputs
9735 `(("telepathy-idle" ,telepathy-idle)
9736 ("telepathy-mission-control" ,telepathy-mission-control)))
9737 (synopsis "Simple IRC Client")
9738 (description
9739 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9740integrate seamlessly with the GNOME desktop.")
9741 (home-page "https://wiki.gnome.org/Apps/Polari")
9742 (license license:gpl2+)))
59d4c8c2
PN
9743
9744(define-public gnome-boxes
9745 (package
9746 (name "gnome-boxes")
9747 (version "3.35.91")
9748 (source
9749 (origin
9750 (method url-fetch)
9751 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9752 (version-major+minor version) "/"
9753 "gnome-boxes-" version ".tar.xz"))
9754 (sha256
9755 (base32
9756 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9757 (build-system meson-build-system)
9758 (arguments
9759 '(#:glib-or-gtk? #t
9760 #:configure-flags (list "-Drdp=false"
9761 (string-append "-Dc_link_args=-Wl,-rpath="
9762 (assoc-ref %outputs "out")
9763 "/lib/gnome-boxes"))))
9764 (native-inputs
9765 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9766 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9767 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9768 ("itstool" ,itstool)
9769 ("intltool" ,intltool)
9770 ("vala" ,vala)
9771 ("pkg-config" ,pkg-config)))
9772 (inputs
9773 `(("libarchive" ,libarchive)
9774 ("gtk" ,gtk+)
9775 ("gtk-vnc" ,gtk-vnc)
9776 ("libosinfo" ,libosinfo)
9777 ("libsecret" ,libsecret)
9778 ("libsoup" ,libsoup)
9779 ("libusb" ,libusb)
9780 ("libvirt" ,libvirt)
9781 ("libvirt-glib" ,libvirt-glib)
9782 ("libxml" ,libxml2)
9783 ("spice-gtk" ,spice-gtk)
9784 ("sparql-query" ,sparql-query)
9785 ("vte" ,vte)
9786 ("webkitgtk" ,webkitgtk)
9787 ("tracker" ,tracker)
9788 ("libgudev" ,libgudev)))
9789 (home-page "https://wiki.gnome.org/Apps/Boxes")
9790 (synopsis "View, access, and manage remote and virtual systems")
9791 (description "GNOME Boxes is a simple application to view, access, and
9792manage remote and virtual systems.")
9793 (license (list
9794 ;; For data/icons/empty-boxes.png.
9795 license:cc-by2.0
9796 ;; For all others.
9797 license:lgpl2.0+))))
0e26c3cf 9798
9799(define-public geary
9800 (package
9801 (name "geary")
9802 (version "3.34.1")
9803 (source (origin
9804 (method git-fetch)
9805 (uri (git-reference
9806 (url "https://gitlab.gnome.org/GNOME/geary")
9807 (commit version)))
9808 (file-name (git-file-name name version))
9809 (sha256
9810 (base32
9811 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
9812 (build-system meson-build-system)
9813 (arguments
9814 `(#:glib-or-gtk? #t
9815 #:phases (modify-phases %standard-phases
9816 (add-after 'unpack 'disable-failing-tests
9817 (lambda _
9818 (substitute* "test/meson.build"
9819 (("test\\('client-tests', geary_test_client_bin\\)")
9820 ""))
9821 #t))
9822 (add-after 'unpack 'disable-postinstall-script
9823 (lambda _
9824 (substitute* "meson.build"
9825 (("meson.add_install_script\\(\
9826join_paths\\('build-aux', 'post_install.py'\\)\\)")
9827 ""))
9828 #t))
9829 (add-before 'check 'setup-xvfb
9830 (lambda _
9831 (system "Xvfb :1 &")
9832 (setenv "DISPLAY" ":1")
9833 #t)))))
9834 (inputs
9835 `(("enchant" ,enchant)
9836 ("folks" ,folks)
9837 ("gcr" ,gcr)
9838 ("glib" ,glib)
9839 ("gmime" ,gmime-2.6)
9840 ("gnome-online-accounts:lib"
9841 ,gnome-online-accounts "lib")
9842 ("gspell" ,gspell)
9843 ("gtk+" ,gtk+)
9844 ("iso-codes" ,iso-codes)
9845 ("json-glib" ,json-glib)
9846 ("libcanberra" ,libcanberra)
9847 ("libgee" ,libgee)
9848 ("libhandy" ,libhandy)
9849 ("libpeas" ,libpeas)
9850 ("libsecret" ,libsecret)
9851 ("libunwind" ,libunwind)
9852 ("sqlite" ,sqlite)
9853 ("webkitgtk" ,webkitgtk)
9854 ("ytnef" ,ytnef)))
9855 (native-inputs
9856 `(("appstream-glib" ,appstream-glib)
9857 ("cmake-minimal" ,cmake-minimal)
9858 ("desktop-file-utils" ,desktop-file-utils)
9859 ("gettext" ,gnu-gettext)
9860 ("glib:bin" ,glib "bin")
9861 ("gobject-introspection" ,gobject-introspection)
9862 ("itstool" ,itstool)
9863 ("libarchive" ,libarchive)
9864 ("libxml2" ,libxml2)
9865 ("pkg-config" ,pkg-config)
9866 ("vala" ,vala)
9867 ("xvfb" ,xorg-server-for-tests)))
9868 (synopsis "GNOME email application built around conversations")
9869 (description
9870 "Geary collects related messages together into conversations,
9871making it easy to find and follow your discussions. Full-text and keyword
9872search makes it easy to find the email you are looking for. Geary's
9873full-featured composer lets you send rich, styled text with images, links, and
9874lists, but also send lightweight, easy to read text messages. Geary
9875automatically picks up your existing GNOME Online Accounts, and adding more is
9876easy. Geary has a clean, fast, modern interface that works like you want it
9877to.")
9878 (home-page "https://wiki.gnome.org/Apps/Geary")
9879 (license (list
9880 ;; geary
9881 license:lgpl2.1+
9882 ;; icons
9883 license:cc-by3.0
9884 license:cc-by-sa3.0
9885 license:public-domain
9886 ;; snowball
9887 license:bsd-2))))
1a17d21b
NG
9888
9889(define-public parlatype
9890 ;; This is one commit away from 2.0, because the latter introduced
9891 ;; a regression in ASR.
9892 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
9893 (revision "0"))
9894 (package
9895 (name "parlatype")
9896 (version (git-version "2.0" revision commit))
9897 (source
9898 (origin
9899 (method git-fetch)
9900 (uri (git-reference
9901 (url "https://github.com/gkarsay/parlatype.git")
9902 (commit commit)))
9903 (file-name (git-file-name name version))
9904 (sha256
9905 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
9906 (build-system meson-build-system)
9907 (arguments
9908 `(#:glib-or-gtk? #t
9909 #:tests? #f ;require internet access
9910 #:phases
9911 (modify-phases %standard-phases
9912 (add-after 'install 'wrap-parlatype
9913 ;; Add gstreamer plugin provided in this package to system's
9914 ;; plugins.
9915 (lambda* (#:key outputs #:allow-other-keys)
9916 (let* ((out (assoc-ref outputs "out"))
9917 (gst-plugin-path (string-append
9918 out "/lib/gstreamer-1.0/"
9919 ":"
9920 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
9921 (wrap-program (string-append out "/bin/parlatype")
9922 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
9923 #t)))))
9924 (native-inputs
9925 `(("appstream-glib" ,appstream-glib)
9926 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
9927 ("gettext" ,gettext-minimal)
9928 ("glib" ,glib "bin") ;for glib-compile-resources
9929 ("pkg-config" ,pkg-config)
9930 ("yelp-tools" ,yelp-tools)))
9931 (inputs
9932 `(("gst-plugins-base" ,gst-plugins-base)
9933 ("gst-plugins-good" ,gst-plugins-good)
9934 ("gstreamer" ,gstreamer)
9935 ("gtk+" ,gtk+)
9936 ("pocketsphinx" ,pocketsphinx)
9937 ("pulseaudio" ,pulseaudio)
9938 ("sphinxbase" ,sphinxbase)))
9939 (home-page "http://gkarsay.github.io/parlatype/")
9940 (synopsis "GNOME audio player for transcription")
9941 (description "Parlatype is an audio player for the GNOME desktop
9942environment. Its main purpose is the manual transcription of spoken
9943audio files.")
9944 (license license:gpl3+))))