gnu: Deprecate emacs-modus-themes.
[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"
c627e2cb
LC
539 "-Dsystemd=false")
540 #:phases (modify-phases %standard-phases
541 (add-after 'unpack 'set-gkbd-file-name
542 (lambda* (#:key inputs #:allow-other-keys)
543 ;; Allow the "Preview" button in the keyboard layout
544 ;; selection dialog to display the layout.
545 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
546 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
547 (("\"gkbd-keyboard-display")
548 (string-append "\"" libgnomekbd
549 "/bin/gkbd-keyboard-display")))
550 #t))))))
a26680eb
RG
551 (native-inputs
552 `(("gettext" ,gettext-minimal)
553 ("glib:bin" ,glib "bin")
554 ("gobject-introspection" ,gobject-introspection)
555 ("gtk+:bin" ,gtk+ "bin")
556 ("pkg-config" ,pkg-config)))
557 (inputs
558 `(("accountsservice" ,accountsservice)
559 ;("adwaita-icon-theme" ,adwaita-icon-theme)
560 ("gdm" ,gdm)
561 ("geoclue" ,geoclue)
562 ("gnome-desktop" ,gnome-desktop)
563 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
564 ("gnome-online-accounts" ,gnome-online-accounts)
565 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
566 ("gstreamer" ,gstreamer)
567 ("ibus" ,ibus)
568 ("json-glib" ,json-glib)
569 ("krb5" ,mit-krb5)
570 ("libgweather" ,libgweather)
571 ("libsecret" ,libsecret)
572 ("network-manager" ,network-manager)
573 ("network-manager-applet" ,network-manager-applet)
574 ("packagekit" ,packagekit)
575 ("polkit" ,polkit)
576 ("pwquality" ,libpwquality)
577 ("rest" ,rest)
578 ("upower" ,upower)
c627e2cb
LC
579 ("webkitgtk" ,webkitgtk)
580 ("libgnomekbd" ,libgnomekbd)))
a26680eb 581 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
582 (description "This package provides a set-up wizard when a
583user logs into GNOME for the first time. It typically provides a
584tour of all gnome components and allows the user to set them up.")
a26680eb
RG
585 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
586 (license license:gpl2)))
587
b5f01392
RG
588(define-public gnome-user-share
589 (package
590 (name "gnome-user-share")
591 (version "3.33.1")
592 (source (origin
593 (method url-fetch)
594 (uri (string-append "mirror://gnome/sources/" name "/"
595 (version-major+minor version) "/"
596 name "-" version ".tar.xz"))
597 (sha256
598 (base32
599 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
600 (build-system meson-build-system)
601 (arguments
602 `(#:glib-or-gtk? #t
603 #:configure-flags
604 `("-Dsystemd=false"
605 ;; Enable nautilus extension for file sharing.
606 "-Dnautilus_extension=true")))
607 (native-inputs
608 `(("gettext" ,gettext-minimal)
609 ("glib:bin" ,glib "bin")
610 ("gobject-introspection" ,gobject-introspection)
611 ("gtk+:bin" ,gtk+ "bin")
612 ("pkg-config" ,pkg-config)
613 ("yelp-tools" ,yelp-tools)))
614 (inputs
615 `(("glib" ,glib)
616 ("gnome-bluetooth" ,gnome-bluetooth)
617 ("gtk+" ,gtk+)
618 ("libcanberra" ,libcanberra)
619 ("libnotify" ,libnotify)
620 ("nautilus" ,nautilus))) ; For nautilus extension.
621 (synopsis "File sharing for GNOME desktop")
622 (description "GNOME User Share is a small package that binds together
623various free software projects to bring easy to use user-level file
624sharing to the masses.")
625 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 626 (license license:gpl2+)))
b5f01392 627
04b201bb
RG
628(define-public sushi
629 (package
630 (name "sushi")
631 (version "3.32.1")
632 (source (origin
633 (method url-fetch)
634 (uri (string-append "mirror://gnome/sources/" name "/"
635 (version-major+minor version) "/"
636 name "-" version ".tar.xz"))
637 (sha256
638 (base32
639 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
640 (build-system meson-build-system)
641 (arguments
642 `(#:glib-or-gtk? #t
643 #:phases
644 (modify-phases %standard-phases
645 (add-after 'glib-or-gtk-wrap 'wrap-typelib
646 (lambda* (#:key outputs #:allow-other-keys)
647 (let ((prog (string-append (assoc-ref outputs "out")
648 "/bin/sushi")))
649 ;; Put existing typelibs before sushi's deps, so as to correctly
650 ;; infer gdk-pixbuf
651 (wrap-program prog
652 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
653 #t))))))
654 (native-inputs
655 `(("glib:bin" ,glib "bin")
656 ("gettext" ,gettext-minimal)
657 ("gobject-introspection" ,gobject-introspection)
658 ("pkg-config" ,pkg-config)))
659 (inputs
660 `(("clutter" ,clutter)
661 ("clutter-gst" ,clutter-gst)
662 ("clutter-gtk" ,clutter-gtk)
663 ("evince" ,evince) ; For file previewing.
664 ("freetype" ,freetype)
665 ("gdk-pixbuf" ,gdk-pixbuf)
666 ("gjs" ,gjs)
667 ("gst-plugins-base" ,gst-plugins-base)
668 ("gstreamer" ,gstreamer)
669 ("gtksourceview" ,gtksourceview-3)
670 ("harfbuzz" ,harfbuzz)
671 ("libepoxy" ,libepoxy)
672 ("libmusicbrainz" ,libmusicbrainz)
673 ("libxml2" ,libxml2)
674 ("neon" ,neon)
675 ("webkitgtk" ,webkitgtk)))
676 (synopsis "File previewer for the GNOME desktop")
677 (description "Sushi is a DBus-activated service that allows applications to
678preview files on the GNOME desktop.")
679 (home-page "https://gitlab.gnome.org/GNOME/sushi")
680 (license license:gpl2+)))
681
89af0902
RG
682(define-public rygel
683 (package
684 (name "rygel")
685 (version "0.38.3")
686 (source (origin
687 (method url-fetch)
688 (uri (string-append "mirror://gnome/sources/" name "/"
689 (version-major+minor version) "/"
690 name "-" version ".tar.xz"))
691 (sha256
692 (base32
693 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
694 (build-system gnu-build-system)
695 (native-inputs
696 `(("gettext" ,gettext-minimal)
697 ("gobject-introspection" ,gobject-introspection)
698 ("gtk-doc" ,gtk-doc)
699 ("pkg-config" ,pkg-config)
700 ("vala" ,vala)))
701 (inputs
702 `(("gdk-pixbuf" ,gdk-pixbuf)
703 ("gssdp" ,gssdp)
704 ("gstreamer" ,gstreamer)
705 ("gst-plugins-base" ,gst-plugins-base)
706 ("gtk+" ,gtk+)
707 ("gupnp" ,gupnp)
708 ("gupnp-av" ,gupnp-av)
709 ("gupnp-dlna" ,gupnp-dlna)
710 ("libgee" ,libgee)
711 ("libmediaart" ,libmediaart)
712 ("libsoup" ,libsoup)
713 ("libxslt" ,libxslt)
714 ("libunistring" ,libunistring)
715 ("tracker" ,tracker)))
716 (synopsis "Share audio, video, and pictures with other devices")
717 (description
718 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
719MediaRenderer}) for GNOME that allows you to easily share audio, video, and
720pictures, and to control a media player on your home network.
721
722Rygel achieves interoperability with other devices by trying to conform to the
723strict requirements of DLNA and by converting media on-the-fly to formats that
724client devices can handle.")
725 (home-page "https://wiki.gnome.org/Projects/Rygel")
726 (license (list
727 ;; For logo (data/icons/*).
728 license:cc-by-sa3.0
729 ;; For all others.
730 license:lgpl2.1+))))
731
47e87093
RG
732(define-public libnma
733 (package
734 (name "libnma")
735 (version "1.8.26")
736 (source (origin
737 (method url-fetch)
738 (uri (string-append "mirror://gnome/sources/" name "/"
739 (version-major+minor version) "/"
740 name "-" version ".tar.xz"))
741 (sha256
742 (base32
743 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
744 (build-system meson-build-system)
745 (arguments
746 `(#:glib-or-gtk? #t))
747 (native-inputs
748 `(("gettext" ,gettext-minimal)
749 ("glib:bin" ,glib "bin")
750 ("gtk-doc" ,gtk-doc)
751 ("gobject-introspection" ,gobject-introspection)
752 ("pkg-config" ,pkg-config)))
753 (inputs
754 `(("adwaita-icon-theme" ,adwaita-icon-theme)
755 ("gcr" ,gcr)
756 ("gtk+" ,gtk+)
757 ("iso-codes" ,iso-codes)
758 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
759 ("network-manager" ,network-manager)))
760 (synopsis "Network Manager's applet library")
761 (description "Libnma is an applet library for Network Manager. It was
762initially part of network-manager-applet and has now become a separate
763project.")
764 (home-page "https://gitlab.gnome.org/GNOME/libnma")
765
766 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
767 ;; "LGPL-2.1+".
768 (license license:gpl2+)))
769
30416265
RG
770(define-public gnome-menus
771 (package
772 (name "gnome-menus")
773 (version "3.32.0")
774 (source (origin
775 (method url-fetch)
776 (uri (string-append "mirror://gnome/sources/gnome-menus/"
777 (version-major+minor version) "/"
778 name "-" version ".tar.xz"))
779 (sha256
780 (base32
781 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
782 (build-system gnu-build-system)
783 (native-inputs
784 `(("gettext" ,gettext-minimal)
785 ("glib" ,glib)
786 ("pkg-config" ,pkg-config)))
787 (synopsis "Menu support for GNOME desktop")
788 (description "GNOME Menus contains the libgnome-menu library, the layout
789configuration files for the GNOME menu, as well as a simple menu editor.")
790 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 791 (license license:lgpl2.0+)))
30416265 792
d61a894b
CB
793(define-public deja-dup
794 (package
795 (name "deja-dup")
796 (version "34.3")
797 (source (origin
798 (method url-fetch)
799 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
800 (sha256
801 (base32
802 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
803 (patches
804 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
805 (build-system glib-or-gtk-build-system)
806 (arguments
807 `(#:modules ((guix build gnu-build-system)
808 ((guix build cmake-build-system) #:prefix cmake:)
809 (guix build glib-or-gtk-build-system)
810 (guix build utils))
811 #:imported-modules (,@%glib-or-gtk-build-system-modules
812 (guix build cmake-build-system))
813 #:test-target "test"
814 #:configure-flags (list (string-append
815 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
816 (string-append
817 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
818 #:phases
819 (modify-phases %standard-phases
820 (add-after 'unpack 'patch-lockfile-deletion
821 (lambda rest
822 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
823 (("/bin/rm")
824 (which "rm")))))
825 (replace 'configure
826 (assoc-ref cmake:%standard-phases 'configure))
827 (delete 'check) ;; Fails due to issues with DBus
828 (add-after 'install 'wrap-deja-dup
829 (lambda* (#:key inputs outputs #:allow-other-keys)
830 (let ((python (assoc-ref inputs "python"))
831 (python-path (getenv "PYTHONPATH"))
832 (duplicity (assoc-ref inputs "duplicity"))
833 (out (assoc-ref outputs "out")))
834 (for-each
835 (lambda (program)
836 (wrap-program program
837 `("PATH" ":" prefix (,(string-append python "/bin")
838 ,(string-append duplicity "/bin"))))
839 (wrap-program program
840 `("PYTHONPATH" ":" prefix (,python-path))))
841
842 (find-files (string-append out "/bin")))
843 #t))))))
844 (inputs
845 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
846 ("gobject-introspection" ,gobject-introspection)
847 ("duplicity" ,duplicity)
61506fe5 848 ("python" ,python-2)
d61a894b
CB
849 ("python-pygobject" ,python2-pygobject)
850 ("gtk+" ,gtk+)
851 ("libnotify" ,libnotify)
852 ("libpeas" ,libpeas)
853 ("libsecret" ,libsecret)
854 ("packagekit" ,packagekit)))
855 (native-inputs
856 `(("pkg-config" ,pkg-config)
857 ("vala" ,vala)
858 ("gettext" ,gettext-minimal)
859 ("itstool" ,itstool)
860 ("intltool" ,intltool)
c69959f0 861 ("cmake" ,cmake-minimal)))
d61a894b
CB
862 (home-page "https://launchpad.net/deja-dup")
863 (synopsis "Simple backup tool, for regular encrypted backups")
864 (description
865 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
866uses duplicity as the backend, which supports incremental backups and storage
867either on a local, or remote machine via a number of methods.")
868 (license license:gpl3+)))
869
823b77fb
RG
870(define-public gnome-user-docs
871 (package
872 (name "gnome-user-docs")
873 (version "3.32.3")
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
878 (version-major+minor version)
879 "/gnome-user-docs-" version ".tar.xz"))
880 (sha256
881 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
882 (build-system gnu-build-system)
883 (native-inputs
884 `(("gettext" ,gettext-minimal)
885 ("itstool" ,itstool)
886 ("pkg-config" ,pkg-config)
887 ("xmllint" ,libxml2)))
888 (synopsis "User documentation for the GNOME desktop")
889 (description
890 "The GNOME User Documentation explains how to use the GNOME desktop and its
891components. It covers usage and setup of the core GNOME programs by end-users
892and system administrators.")
893 (home-page "https://live.gnome.org/DocumentationProject")
894 (license license:cc-by3.0)))
895
be93299d
RG
896(define-public gnome-getting-started-docs
897 (package
898 (name "gnome-getting-started-docs")
899 (version "3.32.2")
900 (source
901 (origin
902 (method url-fetch)
903 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
904 (version-major+minor version)
905 "/gnome-getting-started-docs-" version ".tar.xz"))
906 (sha256
907 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
908 (build-system gnu-build-system)
909 (native-inputs
910 `(("gettext" ,gettext-minimal)
911 ("itstool" ,itstool)
912 ("pkg-config" ,pkg-config)
913 ("xmllint" ,libxml2)))
914 (synopsis "Help to get new users started with the GNOME desktop")
915 (description
916 "The GNOME Getting Started Documentation contains GNOME's intuitive
917\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
918
919It is normally used together with @command{gnome-initial-setup}, but is also
920useful as a tutorial and users' guide for new or less experienced users.")
921 (home-page "https://live.gnome.org/DocumentationProject")
922 (license license:cc-by-sa3.0)))
923
a56be436
RJ
924(define-public dia
925 ;; This version from GNOME's repository includes fixes for compiling with
926 ;; recent versions of the build tools. The latest activity on the
927 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
928 ;; fixes in 2016.
929 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
930 (package
931 (name "dia")
914c8cdf 932 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
933 (source (origin
934 (method git-fetch)
935 (uri (git-reference
914c8cdf 936 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 937 (commit commit)))
914c8cdf 938 (file-name (git-file-name name version))
a56be436
RJ
939 (sha256
940 (base32
941 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
942 (build-system gnu-build-system)
943 (inputs
a315afa3 944 `(("freetype" ,freetype)
a56be436
RJ
945 ("gdk-pixbuf" ,gdk-pixbuf)
946 ("gtk+" ,gtk+-2)
a315afa3 947 ("libart-lgpl" ,libart-lgpl)
a56be436 948 ("libxml2" ,libxml2)
a315afa3 949 ("pango" ,pango)))
a56be436 950 (native-inputs
a315afa3 951 `(("autoconf" ,autoconf)
a56be436 952 ("automake" ,automake)
a315afa3
EF
953 ("intltool" ,intltool)
954 ("glib" ,glib "bin")
a56be436
RJ
955 ("libtool" ,libtool)
956 ("perl" ,perl)
a315afa3 957 ("pkg-config" ,pkg-config)
a56be436
RJ
958 ("python-wrapper" ,python-wrapper)))
959 (arguments
960 `(#:phases
961 (modify-phases %standard-phases
4b3e91de 962 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 963 (lambda _
4b3e91de
EF
964 (setenv "NOCONFIGURE" "true")
965 #t)))))
a56be436
RJ
966 (home-page "https://wiki.gnome.org/Apps/Dia")
967 (synopsis "Diagram creation for GNOME")
968 (description "Dia can be used to draw different types of diagrams, and
969includes support for UML static structure diagrams (class diagrams), entity
970relationship modeling, and network diagrams. The program supports various file
971formats like PNG, SVG, PDF and EPS.")
972 (license license:gpl2+))))
973
d0b19e44
RW
974;; This is the unstable release, but it is required for the current stable
975;; release of gvfs (1.38.1).
adc5cb1b
KK
976(define-public libgdata
977 (package
978 (name "libgdata")
d0b19e44 979 (version "0.17.9")
adc5cb1b
KK
980 (source (origin
981 (method url-fetch)
982 (uri (string-append "mirror://gnome/sources/" name "/"
983 (version-major+minor version) "/"
984 name "-" version ".tar.xz"))
985 (sha256
986 (base32
d0b19e44 987 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
988 (build-system gnu-build-system)
989 (arguments
990 '(#:phases
991 (modify-phases %standard-phases
448052b7
TGR
992 (add-before 'check 'disable-failing-tests
993 (lambda _
994 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
995 ;; They have been removed in libgdata 0.17.6, so just do the same.
996 (substitute* "gdata/tests/Makefile"
997 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
998 #t)))))
999 (native-inputs
1000 `(("glib:bin" ,glib "bin")
1001 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1002 ("intltool" ,intltool)
1003 ("pkg-config" ,pkg-config)
1004 ("uhttpmock" ,uhttpmock)))
1005 (inputs
1006 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1007 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1008 (propagated-inputs
1009 `(("gcr" ,gcr)
d0b19e44 1010 ("glib" ,glib)
14c297fd 1011 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1012 ("json-glib" ,json-glib)
adc5cb1b 1013 ("liboauth" ,liboauth)
d0b19e44 1014 ("libsoup" ,libsoup)
adc5cb1b
KK
1015 ("libxml2" ,libxml2)))
1016 (home-page "https://wiki.gnome.org/Projects/libgdata")
1017 (synopsis "Library for accessing online service APIs")
1018 (description
1019 "libgdata is a GLib-based library for accessing online service APIs using
1020the GData protocol — most notably, Google's services. It provides APIs to
1021access the common Google services, and has full asynchronous support.")
1022 (license license:lgpl2.1+)))
1023
94e10cf4
KK
1024(define-public libgxps
1025 (package
1026 (name "libgxps")
66470a5a 1027 (version "0.3.1")
94e10cf4
KK
1028 (source (origin
1029 (method url-fetch)
7f10628c 1030 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1031 (version-major+minor version) "/"
1032 name "-" version ".tar.xz"))
1033 (sha256
1034 (base32
66470a5a 1035 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1036 (build-system meson-build-system)
94e10cf4
KK
1037 (native-inputs
1038 `(("gobject-introspection" ,gobject-introspection)
1039 ("pkg-config" ,pkg-config)))
1040 (inputs
c8d62d93 1041 `(("gtk+" ,gtk+)
b6b3e512 1042 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1043 ("lcms" ,lcms)
0a6e9e13 1044 ("libtiff" ,libtiff)))
c8d62d93
MB
1045 (propagated-inputs
1046 ;; In Requires of libgxps.pc.
1047 `(("cairo" ,cairo)
1048 ("glib" ,glib)
1049 ("libarchive" ,libarchive)))
94e10cf4
KK
1050 (home-page "https://wiki.gnome.org/Projects/libgxps")
1051 (synopsis "GObject-based library for handling and rendering XPS documents")
1052 (description
1053 "libgxps is a GObject-based library for handling and rendering XPS
1054documents. This package also contains binaries that can convert XPS documents
1055to other formats.")
1056 (license license:lgpl2.1+)))
1057
4e09f57a
RG
1058(define-public gnome-characters
1059 (package
1060 (name "gnome-characters")
1061 (version "3.30.0")
1062 (source
1063 (origin
1064 (method url-fetch)
1065 (uri (string-append "mirror://gnome/sources/"
1066 "gnome-characters/" (version-major+minor version)
1067 "/gnome-characters-" version ".tar.xz"))
1068 (sha256
1069 (base32
1070 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1071 (build-system meson-build-system)
5757c641 1072 (arguments
1073 `(#:glib-or-gtk? #t
1074 #:phases (modify-phases %standard-phases
1075 (add-after 'install 'wrap
1076 (lambda* (#:key outputs #:allow-other-keys)
1077 ;; GNOME Characters needs Typelib files from GTK and
1078 ;; gnome-desktop.
1079 (wrap-program (string-append (assoc-ref outputs "out")
1080 "/bin/gnome-characters")
1081 `("GI_TYPELIB_PATH" ":" prefix
1082 (,(getenv "GI_TYPELIB_PATH"))))
1083 #t)))))
4e09f57a
RG
1084 (native-inputs
1085 `(("gettext" ,gettext-minimal)
1086 ("glib:bin" ,glib "bin")
1087 ("gtk+:bin" ,gtk+ "bin")
1088 ("pkg-config" ,pkg-config)
1089 ("python" ,python-minimal)))
1090 (inputs
1091 `(("gjs" ,gjs)
1092 ("gtk+" ,gtk+)
5757c641 1093 ("libunistring" ,libunistring)
1094 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1095 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1096 (synopsis "Find and insert unusual characters")
1097 (description "Characters is a simple utility application to find
1098and insert unusual characters. It allows you to quickly find the
1099character you are looking for by searching for keywords.")
1100 (license license:bsd-3)))
1101
7aab13f1
ML
1102(define-public gnome-common
1103 (package
1104 (name "gnome-common")
af83490d 1105 (version "3.18.0")
7aab13f1
ML
1106 (source
1107 (origin
1108 (method url-fetch)
1109 (uri (string-append "mirror://gnome/sources/" name "/"
1110 (version-major+minor version) "/"
1111 name "-" version ".tar.xz"))
1112 (sha256
1113 (base32
af83490d 1114 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1115 (build-system gnu-build-system)
1116 (home-page "https://www.gnome.org/")
1117 (synopsis "Bootstrap GNOME modules built from Git")
1118 (description "gnome-common contains various files needed to bootstrap
1119GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1120can be used to configure a source directory checked out from Git and some
1121commonly used macros.")
1122 (license license:gpl2+)))
1123
4e868d22
RG
1124(define-public gnome-contacts
1125 (package
1126 (name "gnome-contacts")
6a6138b2 1127 (version "3.32.1")
4e868d22
RG
1128 (source (origin
1129 (method url-fetch)
1130 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1131 (version-major+minor version) "/"
1132 name "-" version ".tar.xz"))
1133 (sha256
1134 (base32
6a6138b2 1135 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1136 (build-system meson-build-system)
1137 (arguments
1138 `(#:phases
1139 (modify-phases %standard-phases
1140 (add-after 'unpack 'generate-vapis
1141 (lambda* (#:key inputs #:allow-other-keys)
1142 ;; To generate goa's missing .vapi file
1143 (define goa
1144 (assoc-ref inputs "gnome-online-accounts:lib"))
1145
1146 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1147 "--library=goa-1.0"
1148 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1149 #t)))))
1150 (native-inputs
1151 `(("glib:bin" ,glib "bin")
1152 ("gtk+:bin" ,gtk+ "bin")
1153 ("pkg-config" ,pkg-config)))
1154 (inputs
1155 `(("cheese" ,cheese)
1156 ("docbook-xml" ,docbook-xml)
1157 ("dockbook-xsl" ,docbook-xsl)
1158 ("evolution-data-server" ,evolution-data-server)
1159 ("gettext" ,gettext-minimal)
1160 ("gnome-desktop" ,gnome-desktop)
1161 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1162 ("gobject-introspection" ,gobject-introspection)
1163 ("gst-plugins-base" ,gst-plugins-base)
1164 ("gtk+" ,gtk+)
1165 ("libgee" ,libgee)
1166 ("libxslt" ,libxslt)
1167 ("telepathy-glib" ,telepathy-glib)
1168 ("vala" ,vala)))
1169 (propagated-inputs
1170 `(("folks", folks)
1171 ("telepathy-mission-control" ,telepathy-mission-control)))
1172 (synopsis "GNOME's integrated address book")
1173 (description
1174 "GNOME Contacts organizes your contact information from online and
1175offline sources, providing a centralized place for managing your contacts.")
1176 (home-page "https://wiki.gnome.org/Apps/Contacts")
1177 (license license:gpl2+)))
1178
9cc98f8a
CR
1179(define-public gnome-desktop
1180 (package
1181 (name "gnome-desktop")
e8a26caa 1182 (version "3.32.2")
9cc98f8a
CR
1183 (source
1184 (origin
1185 (method url-fetch)
b38e45d8
EB
1186 (uri (string-append "mirror://gnome/sources/" name "/"
1187 (version-major+minor version) "/"
9cc98f8a
CR
1188 name "-" version ".tar.xz"))
1189 (sha256
1190 (base32
e8a26caa
KK
1191 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1192 (build-system meson-build-system)
a0fe7c06
CB
1193 (arguments
1194 '(#:phases
1195 (modify-phases %standard-phases
1196 (add-before 'configure 'patch-path
1197 (lambda* (#:key inputs #:allow-other-keys)
1198 (let ((libc (assoc-ref inputs "libc")))
1199 (substitute* "libgnome-desktop/gnome-languages.c"
1200 (("\"locale\"")
1201 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1202 #t)))
1203 (add-before 'check 'pre-check
1204 (lambda* (#:key inputs #:allow-other-keys)
1205 ;; Tests require a running X server and locales.
1206 (system "Xvfb :1 &")
1207 (setenv "DISPLAY" ":1")
1208 (setenv "GUIX_LOCPATH"
1209 (string-append (assoc-ref inputs "glibc-locales")
1210 "/lib/locale"))
1211 #t)))))
9cc98f8a 1212 (native-inputs
e8a26caa
KK
1213 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1214 ("glibc-locales" ,glibc-locales) ; for tests
1215 ("gobject-introspection" ,gobject-introspection)
a8340482 1216 ("itstool" ,itstool)
bcb354ad
SB
1217 ("intltool" ,intltool)
1218 ("pkg-config" ,pkg-config)
e8a26caa
KK
1219 ("xmllint" ,libxml2)
1220 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1221 (propagated-inputs
1222 ;; Required by gnome-desktop-3.0.pc.
1223 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1224 ("gtk+" ,gtk+)
9cc98f8a 1225 ("iso-codes" ,iso-codes)
9863ce20 1226 ("libseccomp" ,libseccomp)
9cc98f8a 1227 ("libx11" ,libx11)
e8a26caa
KK
1228 ("xkeyboard-config" ,xkeyboard-config)))
1229 (inputs
1230 `(("gdk-pixbuf" ,gdk-pixbuf)
1231 ("glib" ,glib)
9cc98f8a
CR
1232 ("libxext" ,libxext)
1233 ("libxkbfile" ,libxkbfile)
e8a26caa 1234 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1235 (home-page "https://www.gnome.org/")
1236 (synopsis
35b9e423 1237 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1238 (description
1239 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1240on the desktop, but that cannot live in the platform for various reasons.
1241There is no API or ABI guarantee, although we are doing our best to provide
1242stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1243
1244The gnome-about program helps find which version of GNOME is installed.")
1245 ; Some bits under the LGPL.
1dd26275 1246 (license license:gpl2+)))
9cc98f8a 1247
995b7261
AE
1248(define-public gnome-doc-utils
1249 (package
1250 (name "gnome-doc-utils")
1251 (version "0.20.10")
1252 (source
1253 (origin
1254 (method url-fetch)
b38e45d8
EB
1255 (uri (string-append "mirror://gnome/sources/" name "/"
1256 (version-major+minor version) "/"
995b7261
AE
1257 name "-" version ".tar.xz"))
1258 (sha256
1259 (base32
1260 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1261 (build-system gnu-build-system)
c4c4cc05 1262 (native-inputs
995b7261 1263 `(("intltool" ,intltool)
b4ce6300 1264 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1265 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1266 ("libxml2" ,libxml2)
1267 ("libxslt" ,libxslt)
1268 ("pkg-config" ,pkg-config)
1269 ("python-2" ,python-2)))
995b7261
AE
1270 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1271 (synopsis
1272 "Documentation utilities for the Gnome project")
1273 (description
1274 "Gnome-doc-utils is a collection of documentation utilities for the
1275Gnome project. It includes xml2po tool which makes it easier to translate
1276and keep up to date translations of documentation.")
1dd26275 1277 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1278
6c4f7022
DC
1279(define-public gnome-disk-utility
1280 (package
1281 (name "gnome-disk-utility")
e106d0a6 1282 (version "3.32.1")
6c4f7022
DC
1283 (source (origin
1284 (method url-fetch)
1285 (uri (string-append "mirror://gnome/sources/" name "/"
1286 (version-major+minor version) "/"
1287 name "-" version ".tar.xz"))
1288 (sha256
1289 (base32
e106d0a6 1290 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1291 (build-system meson-build-system)
321c73c3
EF
1292 (arguments
1293 '(#:phases
1294 (modify-phases %standard-phases
1295 (add-after 'unpack 'skip-gtk-update-icon-cache
1296 ;; Don't create 'icon-theme.cache'.
1297 (lambda _
1298 (substitute* "meson_post_install.py"
1299 (("gtk-update-icon-cache") "true"))
1300 #t)))))
6c4f7022
DC
1301 (native-inputs
1302 `(("glib:bin" ,glib "bin")
1303 ("intltool" ,intltool)
1304 ("pkg-config" ,pkg-config)
1305 ("docbook-xml" ,docbook-xml)
1306 ("docbook-xsl" ,docbook-xsl)
1307 ("libxml2" ,libxml2)
1308 ("libxslt" ,libxslt)))
1309 (inputs
1310 `(("glib" ,glib)
1311 ("appstream-glib" ,appstream-glib)
1312 ("gnome-settings-daemon" ,gnome-settings-daemon)
1313 ("gtk+" ,gtk+)
1314 ("libcanberra" ,libcanberra)
1315 ("libdvdread" ,libdvdread)
1316 ("libnotify" ,libnotify)
1317 ("libpwquality" ,libpwquality)
1318 ("libsecret" ,libsecret)
1319 ("udisks" ,udisks)))
1320 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1321 (synopsis "Disk management utility for GNOME")
1322 (description "Disk management utility for GNOME.")
1323 (license license:gpl2+)))
1324
3d217317
RG
1325(define-public gnome-font-viewer
1326 (package
1327 (name "gnome-font-viewer")
1328 (version "3.30.0")
1329 (source (origin
1330 (method url-fetch)
1331 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1332 (version-major+minor version)
1333 "/gnome-font-viewer-" version ".tar.xz"))
1334 (sha256
1335 (base32
1336 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1337 (build-system meson-build-system)
1338 (arguments
1339 '(#:phases
1340 (modify-phases %standard-phases
1341 (add-after 'unpack 'patch-post-install-script
1342 (lambda _
1343 (substitute* "meson-postinstall.sh"
1344 (("update-desktop-database") (which "true")))
1345 #t)))))
1346 (native-inputs
1347 `(("gettext" ,gettext-minimal)
1348 ("glib:bin" ,glib "bin")
1349 ("pkg-config" ,pkg-config)))
1350 (inputs
1351 `(("glib" ,glib)
1352 ("gnome-desktop" ,gnome-desktop)
1353 ("gtk+" ,gtk+)))
1354 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1355 (synopsis "GNOME Fonts")
1356 (description "Application to show you the fonts installed on your computer
1357for your use as thumbnails. Selecting any thumbnails shows the full view of how
1358the font would look under various sizes.")
1359 (license license:gpl2+)))
1360
8ff49011
RW
1361(define-public gcr
1362 (package
1363 (name "gcr")
bea6b829 1364 (version "3.28.1")
8ff49011 1365 (source (origin
0daf0efb
RW
1366 (method url-fetch)
1367 (uri (string-append "mirror://gnome/sources/" name "/"
1368 (version-major+minor version) "/"
1369 name "-" version ".tar.xz"))
1370 (sha256
1371 (base32
bea6b829 1372 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1373 (patches
1374 (list
1375 ;; This patch solves an ordering issue that showed up when
1376 ;; running the test suite against newer Glib 2.60. See
1377 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1378 (origin
1379 (method url-fetch)
1380 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1381 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1382 (file-name "gcr-hashtable-ordering.patch")
1383 (sha256
1384 (base32
1385 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1386 (build-system gnu-build-system)
1387 (arguments
0daf0efb
RW
1388 '(#:phases
1389 (modify-phases %standard-phases
1390 ;; These fail because /var/lib/dbus/machine-id is not present in the
1391 ;; build environment.
1392 (add-after 'unpack 'disable-failing-tests
1393 (lambda _
1394 (substitute* "gcr/test-system-prompt.c"
1395 (("g_test_add") "//")
1396 (("return.*") "return 0;"))
1397 #t))
1398 (add-before 'check 'pre-check
1399 (lambda _
1400 ;; Some tests expect to write to $HOME.
1401 (setenv "HOME" "/tmp")
1402 #t)))))
8ff49011
RW
1403 (inputs
1404 `(("dbus" ,dbus)
0daf0efb 1405 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1406 ("libgcrypt" ,libgcrypt)))
1407 (native-inputs
0daf0efb 1408 `(("python" ,python-2) ;for tests
8ff49011
RW
1409 ("pkg-config" ,pkg-config)
1410 ("glib" ,glib "bin")
2af4f5b0
SB
1411 ("gobject-introspection" ,gobject-introspection)
1412 ("intltool" ,intltool)
0daf0efb 1413 ("libxml2" ,libxml2)
bea6b829 1414 ("vala" ,vala)
2af4f5b0 1415 ("xsltproc" ,libxslt)))
8ff49011
RW
1416 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1417 (propagated-inputs
1418 `(("p11-kit" ,p11-kit)
1419 ("glib" ,glib)
1420 ("gtk+" ,gtk+)))
f032d0be 1421 (home-page "https://www.gnome.org")
8ff49011
RW
1422 (synopsis "Libraries for displaying certificates and accessing key stores")
1423 (description
1424 "The GCR package contains libraries used for displaying certificates and
1425accessing key stores. It also provides the viewer for crypto files on the
1426GNOME Desktop.")
1427 (license license:lgpl2.1+)))
1428
c1354b90
LC
1429(define-public libgnome-keyring
1430 (package
1431 (name "libgnome-keyring")
5e8aec2c 1432 (version "3.12.0")
c1354b90
LC
1433 (source (origin
1434 (method url-fetch)
b38e45d8
EB
1435 (uri (string-append "mirror://gnome/sources/" name "/"
1436 (version-major+minor version) "/"
1437 name "-" version ".tar.xz"))
c1354b90
LC
1438 (sha256
1439 (base32
5e8aec2c 1440 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1441 (build-system gnu-build-system)
c1354b90 1442 (inputs
c4c4cc05 1443 `(("libgcrypt" ,libgcrypt)
c1354b90 1444 ("dbus" ,dbus)))
c4c4cc05
JD
1445 (native-inputs
1446 `(("pkg-config" ,pkg-config)
426adbe8 1447 ("glib" ,glib "bin")
c4c4cc05 1448 ("intltool" ,intltool)))
c1354b90
LC
1449 (propagated-inputs
1450 ;; Referred to in .h files and .pc.
1451 `(("glib" ,glib)))
f032d0be 1452 (home-page "https://www.gnome.org")
c1354b90
LC
1453 (synopsis "Accessing passwords from the GNOME keyring")
1454 (description
1455 "Client library to access passwords from the GNOME keyring.")
1456
1457 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1458 (license license:lgpl2.0+)))
c1354b90 1459
e99a3d6f
RW
1460(define-public gnome-keyring
1461 (package
1462 (name "gnome-keyring")
ab35cc6e 1463 (version "3.28.2")
e99a3d6f
RW
1464 (source (origin
1465 (method url-fetch)
1466 (uri (string-append "mirror://gnome/sources/" name "/"
1467 (version-major+minor version) "/"
1468 name "-" version ".tar.xz"))
1469 (sha256
1470 (base32
ab35cc6e 1471 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1472 (build-system gnu-build-system)
1473 (arguments
1474 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1475 ;not exist
1476 #:configure-flags
1477 (list
1478 (string-append "--with-pkcs11-config="
1479 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1480 (string-append "--with-pkcs11-modules="
1481 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1482 #:phases
1483 (modify-phases %standard-phases
ab35cc6e
RW
1484 (add-after 'unpack 'fix-/bin/sh-reference
1485 (lambda _
1486 (substitute* "po/Makefile.in.in"
1487 (("/bin/sh") (which "sh")))
1488 #t))
5120f24f
RW
1489 (add-after 'unpack 'fix-docbook
1490 (lambda* (#:key inputs #:allow-other-keys)
1491 (substitute* "docs/Makefile.am"
1492 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1493 (string-append (assoc-ref inputs "docbook-xsl")
1494 "/xml/xsl/docbook-xsl-"
1495 ,(package-version docbook-xsl)
1496 "/manpages/docbook.xsl")))
1497 (setenv "XML_CATALOG_FILES"
1498 (string-append (assoc-ref inputs "docbook-xml")
1499 "/xml/dtd/docbook/catalog.xml"))
1500 ;; Rerun the whole thing to avoid version mismatch ("This is
1501 ;; Automake 1.15.1, but the definition used by this
1502 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1503 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1504 (invoke "autoconf")
1505 (invoke "aclocal")
1506 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1507 (inputs
1508 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1509 ("linux-pam" ,linux-pam)
ab35cc6e 1510 ("openssh" ,openssh)
e99a3d6f
RW
1511 ("dbus" ,dbus)
1512 ("gcr" ,gcr)))
1513 (native-inputs
1514 `(("pkg-config" ,pkg-config)
1515 ("glib" ,glib "bin")
5120f24f 1516 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1517 ("python" ,python-2) ;for tests
1518 ("intltool" ,intltool)
1519 ("autoconf" ,autoconf)
1520 ("automake" ,automake)
1521 ("libxslt" ,libxslt) ;for documentation
1522 ("docbook-xml" ,docbook-xml-4.2)
1523 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1524 (home-page "https://www.gnome.org")
e99a3d6f
RW
1525 (synopsis "Daemon to store passwords and encryption keys")
1526 (description
1527 "gnome-keyring is a program that keeps passwords and other secrets for
1528users. It is run as a daemon in the session, similar to ssh-agent, and other
1529applications locate it via an environment variable or D-Bus.
1530
1531The program can manage several keyrings, each with its own master password,
1532and there is also a session keyring which is never stored to disk, but
1533forgotten when the session ends.")
1534 (license license:lgpl2.1+)))
1535
c1354b90
LC
1536(define-public evince
1537 (package
1538 (name "evince")
936d5642 1539 (version "3.34.2")
c1354b90
LC
1540 (source (origin
1541 (method url-fetch)
ac631328 1542 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1543 (version-major+minor version) "/"
ac631328 1544 "evince-" version ".tar.xz"))
c1354b90
LC
1545 (sha256
1546 (base32
936d5642 1547 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1548 (build-system glib-or-gtk-build-system)
c1354b90 1549 (arguments
169b8f77 1550 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1551 #:phases
1552 (modify-phases %standard-phases
1553 (add-before 'install 'skip-gtk-update-icon-cache
1554 ;; Don't create 'icon-theme.cache'.
1555 (lambda _
1556 (substitute* "data/Makefile"
1557 (("gtk-update-icon-cache") "true"))
1558 #t)))))
c1354b90 1559 (inputs
9a096881
KK
1560 `(("libarchive" ,libarchive)
1561 ("libgxps" ,libgxps)
1562 ("libspectre" ,libspectre)
c769cf9f 1563 ("djvulibre" ,djvulibre)
c1354b90
LC
1564 ("ghostscript" ,ghostscript)
1565 ("poppler" ,poppler)
c769cf9f
SB
1566 ("libtiff" ,libtiff)
1567 ;; TODO:
c769cf9f
SB
1568 ;; Build libkpathsea as a shared library for DVI support.
1569 ;; ("libkpathsea" ,texlive-bin)
1570 ("gnome-desktop" ,gnome-desktop)
c1354b90 1571 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1572 ("gspell" ,gspell)
c1354b90 1573 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1574 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1575 ("gdk-pixbuf" ,gdk-pixbuf)
1576 ("atk" ,atk)
1577 ("pango" ,pango)
1578 ("gtk+" ,gtk+)
1579 ("glib" ,glib)
1580 ("libxml2" ,libxml2)
c1354b90
LC
1581 ("libsm" ,libsm)
1582 ("libice" ,libice)
96e42467 1583 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1584 ("dconf" ,dconf)
1585 ("libcanberra" ,libcanberra)
c769cf9f 1586 ("libsecret" ,libsecret)
a271096b 1587
c1354b90
LC
1588 ;; For tests.
1589 ("dogtail" ,python2-dogtail)))
96e42467 1590 (native-inputs
bcb354ad
SB
1591 `(("itstool" ,itstool)
1592 ("intltool" ,intltool)
426adbe8 1593 ("glib" ,glib "bin")
169b8f77 1594 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1595 ("pkg-config" ,pkg-config)
1596 ("xmllint" ,libxml2)))
c1354b90 1597 (home-page
f032d0be 1598 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1599 (synopsis "GNOME's document viewer")
1600 (description
1601 "Evince is a document viewer for multiple document formats. It
1602currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1603of Evince is to replace the multiple document viewers that exist
96e42467 1604on the GNOME Desktop with a single simple application.")
1dd26275 1605 (license license:gpl2+)))
c1354b90 1606
22e32e69
AE
1607(define-public gsettings-desktop-schemas
1608 (package
1609 (name "gsettings-desktop-schemas")
c900dabd 1610 (version "3.32.0")
22e32e69
AE
1611 (source
1612 (origin
1613 (method url-fetch)
1614 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1615 (version-major+minor version) "/"
22e32e69
AE
1616 name "-" version ".tar.xz"))
1617 (sha256
1618 (base32
c900dabd
KK
1619 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1620 (build-system meson-build-system)
65209ffa
LC
1621 (arguments
1622 '(#:phases (modify-phases %standard-phases
3861fb1c 1623 (add-after 'unpack 'patch-schemas
65209ffa 1624 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1625 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1626 (substitute* (find-files "schemas"
1627 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1628 ;; Provide the correct file name of the default GNOME
1629 ;; background, 'adwaita-timed.xml'.
65209ffa 1630 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1631 (string-append theme "/share/backgrounds/gnome"))
1632 ;; Do not reference fonts, that may not exist.
1633 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1634 #t))))))
22e32e69 1635 (inputs
65209ffa
LC
1636 `(("glib" ,glib)
1637 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1638 (native-inputs
1639 `(("intltool" ,intltool)
426adbe8 1640 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1641 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1642 ("pkg-config" ,pkg-config)))
1643 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1644 (synopsis
1645 "GNOME settings for various desktop components")
1646 (description
1647 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1648for settings shared by various components of the GNOME desktop.")
1dd26275 1649 (license license:lgpl2.1+)))
22e32e69 1650
27477d2d
AE
1651(define-public icon-naming-utils
1652 (package
1653 (name "icon-naming-utils")
1654 (version "0.8.90")
1655 (source
1656 (origin
1657 (method url-fetch)
5cc3096c 1658 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1659 version ".tar.bz2"))
1660 (sha256
1661 (base32
1662 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1663 (build-system gnu-build-system)
1664 (inputs
1665 `(("perl" ,perl)
1666 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1667 (arguments
1668 '(#:phases
dc1d3cde
KK
1669 (modify-phases %standard-phases
1670 (add-after 'install 'set-load-paths
1671 ;; Tell 'icon-name-mapping' where XML::Simple is.
1672 (lambda* (#:key outputs #:allow-other-keys)
1673 (let* ((out (assoc-ref outputs "out"))
1674 (prog (string-append out "/libexec/icon-name-mapping")))
1675 (wrap-program
1676 prog
1677 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1678 #t)))))
27477d2d
AE
1679 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1680 (synopsis
1681 "Utility to implement the Freedesktop Icon Naming Specification")
1682 (description
1683 "To help with the transition to the Freedesktop Icon Naming
1684Specification, the icon naming utility maps the icon names used by the
1685GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1686 (license license:lgpl2.1+)))
27477d2d 1687
7d3f3651
AE
1688(define-public gnome-icon-theme
1689 (package
1690 (name "gnome-icon-theme")
b32f58dd 1691 (version "3.12.0")
7d3f3651
AE
1692 (source
1693 (origin
1694 (method url-fetch)
1695 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1696 (version-major+minor version) "/"
7d3f3651
AE
1697 name "-" version ".tar.xz"))
1698 (sha256
1699 (base32
b32f58dd 1700 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1701 (build-system gnu-build-system)
5613c27d
SB
1702 (arguments
1703 '(#:configure-flags
1704 ;; Don't create 'icon-theme.cache'.
1705 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1706 (true (string-append coreutils "/bin/true")))
1707 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1708 (native-inputs
5613c27d 1709 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1710 ("intltool" ,intltool)
1711 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1712 (home-page "https://wiki.gnome.org/Personalization")
1713 (synopsis "GNOME icon theme")
1714 (description "Icons for the GNOME desktop.")
1dd26275 1715 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1716
14eeefa2
SB
1717;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1718(define-public adwaita-icon-theme
1719 (package (inherit gnome-icon-theme)
1720 (name "adwaita-icon-theme")
9be59d7f 1721 (version "3.32.0")
14eeefa2
SB
1722 (source (origin
1723 (method url-fetch)
1724 (uri (string-append "mirror://gnome/sources/" name "/"
1725 (version-major+minor version) "/"
1726 name "-" version ".tar.xz"))
1727 (sha256
1728 (base32
9be59d7f 1729 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1730 (native-inputs
1731 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1732
ae792dba
RW
1733(define-public tango-icon-theme
1734 (package
1735 (name "tango-icon-theme")
1736 (version "0.8.90")
1737 (source (origin
1738 (method url-fetch)
1739 (uri (string-append "http://tango.freedesktop.org/releases/"
1740 "tango-icon-theme-" version ".tar.bz2"))
1741 (sha256
1742 (base32
1743 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1744 (build-system gnu-build-system)
1745 (native-inputs
1746 `(("icon-naming-utils" ,icon-naming-utils)
1747 ("intltool" ,intltool)
1748 ("imagemagick" ,imagemagick)
1749 ("pkg-config" ,pkg-config)))
1750 (home-page "http://tango-project.org/")
1751 (synopsis "Tango icon theme")
1752 (description "This is an icon theme that follows the Tango visual
1753guidelines.")
1754 (license license:public-domain)))
1755
9167f8e6
LC
1756(define-public shared-mime-info
1757 (package
1758 (name "shared-mime-info")
18138ab9 1759 (version "1.10")
9167f8e6
LC
1760 (source (origin
1761 (method url-fetch)
5cc3096c 1762 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1763 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1764 (sha256
1765 (base32
18138ab9 1766 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1767 (build-system gnu-build-system)
1768 (arguments
1769 ;; The build system appears not to be parallel-safe.
1770 '(#:parallel-build? #f))
1771 (inputs
1772 `(("glib" ,glib)
c4c4cc05 1773 ("libxml2" ,libxml2)))
9167f8e6 1774 (native-inputs
c4c4cc05
JD
1775 `(("intltool" ,intltool)
1776 ("pkg-config" ,pkg-config)))
57e7d748 1777 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1778 (synopsis "Database of common MIME types")
1779 (description
1780 "The shared-mime-info package contains the core database of common types
1781and the update-mime-database command used to extend it. It requires glib2 to
1782be installed for building the update command. Additionally, it uses intltool
1783for translations, though this is only a dependency for the maintainers. This
1784database is translated at Transifex.")
1dd26275 1785 (license license:gpl2+)))
9167f8e6 1786
dd1fcddc
CB
1787(define-public system-config-printer
1788 (package
1789 (name "system-config-printer")
fa01e10d 1790 (version "1.5.12")
a5643044
TGR
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri (string-append
1795 "https://github.com/OpenPrinting/system-config-printer/releases/"
1796 "download/" version
1797 "/system-config-printer-" version ".tar.xz"))
1798 (sha256
fa01e10d 1799 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1800 (build-system glib-or-gtk-build-system)
1801 (arguments
1802 `(#:imported-modules ((guix build python-build-system)
1803 ,@%glib-or-gtk-build-system-modules)
1804 #:phases
1805 (modify-phases %standard-phases
1806 (add-after 'unpack 'patch-Makefile.am
1807 (lambda _
1808 ;; The Makefile generates some scripts, so set a valid shebang
1809 (substitute* "Makefile.am"
1810 (("/bin/bash") (which "bash")))
1811 (delete-file "configure")
1812 #t))
1813 (add-after 'unpack 'patch-docbook-xml
1814 (lambda* (#:key inputs #:allow-other-keys)
1815 ;; Modify the man XML otherwise xmlto tries to access the network
1816 (substitute* "man/system-config-printer.xml"
1817 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1818 (string-append (assoc-ref inputs "docbook-xml")
1819 "/xml/dtd/docbook/")))
1820 #t))
1821 (add-after 'install 'wrap-for-python
1822 (@@ (guix build python-build-system) wrap))
1823 (add-after 'install 'wrap
1824 (lambda* (#:key outputs #:allow-other-keys)
1825 (let ((out (assoc-ref outputs "out"))
1826 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1827 (for-each
1828 (lambda (program)
1829 (wrap-program program
1830 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1831 (map (lambda (name)
1832 (string-append out "/bin/" name))
1833 '("system-config-printer"
1834 "system-config-printer-applet"
1835 "install-printerdriver"
1836 "scp-dbus-service"))))
1837 #t)))))
1838 (inputs
1839 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1840 ("gobject-introspection" ,gobject-introspection)
1841 ("python" ,python)
1842 ("cups" ,cups)
1843 ("python-dbus" ,python-dbus)
1844 ("python-pygobject" ,python-pygobject)
1845 ("python-pycups" ,python-pycups)
1846 ("python-requests" ,python-requests)
1847 ("python-pycairo" ,python-pycairo)
1848 ("libnotify" ,libnotify)
1849 ("packagekit" ,packagekit)))
1850 (native-inputs
1851 `(("pkg-config" ,pkg-config)
1852 ("desktop-file-utils" ,desktop-file-utils)
1853 ("glib" ,glib)
1854 ("autoconf" ,autoconf)
1855 ("automake" ,automake)
1856 ("intltool" ,intltool)
1857 ("xmlto" ,xmlto)
1858 ("docbook-xml" ,docbook-xml-4.1.2)
1859 ("docbook-xsl" ,docbook-xsl)
1860 ("libxml2" ,libxml2)))
1861 (home-page "https://github.com/zdohnal/system-config-printer")
1862 (synopsis "CUPS administration tool")
1863 (description
1864 "system-config-printer is a CUPS administration tool. It's written in
1865Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1866configuring CUPS.")
1867 (license license:gpl2+)))
1868
bef4dd92
AE
1869(define-public hicolor-icon-theme
1870 (package
1871 (name "hicolor-icon-theme")
851cb6dd 1872 (version "0.17")
bef4dd92
AE
1873 (source
1874 (origin
1875 (method url-fetch)
5cc3096c 1876 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1877 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1878 (sha256
1879 (base32
851cb6dd 1880 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1881 (build-system gnu-build-system)
1882 (arguments
1883 `(#:tests? #f)) ; no check target
57e7d748 1884 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1885 (synopsis
1886 "Freedesktop icon theme")
1887 (description
1888 "Freedesktop icon theme.")
1dd26275 1889 (license license:gpl2)))
bef4dd92 1890
d9c1a22b
AE
1891(define-public libnotify
1892 (package
1893 (name "libnotify")
195bfa68 1894 (version "0.7.7")
d9c1a22b
AE
1895 (source
1896 (origin
1897 (method url-fetch)
1898 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1899 (version-major+minor version) "/"
d9c1a22b
AE
1900 name "-" version ".tar.xz"))
1901 (sha256
1902 (base32
195bfa68 1903 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1904 (build-system gnu-build-system)
6acf6cec
MB
1905 (arguments
1906 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1907 (propagated-inputs
1908 `(;; In Requires of libnotify.pc.
1909 ("gdk-pixbuf" ,gdk-pixbuf)
1910 ("glib" ,glib)))
d9c1a22b 1911 (inputs
7ef08efa 1912 `(("gtk+" ,gtk+)
c4c4cc05
JD
1913 ("libpng" ,libpng)))
1914 (native-inputs
426adbe8 1915 `(("pkg-config" ,pkg-config)
277a7d82
JN
1916 ("glib" ,glib "bin")
1917 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1918 (home-page "https://developer-next.gnome.org/libnotify/")
1919 (synopsis
1920 "GNOME desktop notification library")
1921 (description
1922 "Libnotify is a library that sends desktop notifications to a
35b9e423 1923notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1924notifications can be used to inform the user about an event or display
1925some form of information without getting in the user's way.")
1dd26275 1926 (license license:lgpl2.1+)))
7a8605ce
CR
1927
1928(define-public libpeas
1929 (package
1930 (name "libpeas")
f2d56e39 1931 (version "1.24.1")
7a8605ce
CR
1932 (source
1933 (origin
1934 (method url-fetch)
1935 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1936 (version-major+minor version) "/"
7a8605ce
CR
1937 name "-" version ".tar.xz"))
1938 (sha256
1939 (base32
f2d56e39
MB
1940 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1941 (build-system meson-build-system)
1942 (arguments
1943 '(#:phases
1944 (modify-phases %standard-phases
1945 (add-before 'check 'start-xserver
1946 (lambda* (#:key inputs #:allow-other-keys)
1947 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1948 (disp ":1"))
1949 (setenv "DISPLAY" disp)
1950 ;; Tests require a running X server.
1951 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1952 #t))))))
7a8605ce 1953 (inputs
2ed6522a
SB
1954 `(("gtk+" ,gtk+)
1955 ("glade" ,glade3)
2ed6522a
SB
1956 ("python" ,python)
1957 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1958 (native-inputs
1959 `(("pkg-config" ,pkg-config)
f2d56e39 1960 ("gettext" ,gettext-minimal)
93622993 1961 ("glib:bin" ,glib "bin")
141aed80 1962 ("gobject-introspection" ,gobject-introspection)
f2d56e39 1963 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
1964 (propagated-inputs
1965 ;; The .pc file "Requires" gobject-introspection.
1966 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1967 (home-page "https://wiki.gnome.org/Libpeas")
1968 (synopsis "GObject plugin system")
1969 (description
d1e4ad1b
TGR
1970 "Libpeas is a gobject-based plugin engine, targeted at giving every
1971application the chance to assume its own extensibility. It also has a set of
1972features including, but not limited to: multiple extension points; on-demand
1973(lazy) programming language support for C, Python and JS; simplicity of the
1974API.")
1dd26275 1975 (license license:lgpl2.0+)))
ed19903d
JD
1976
1977(define-public gtkglext
1978 (package
1979 (name "gtkglext")
1980 (version "1.2.0")
1981 (source (origin
1982 (method url-fetch)
0f971a04 1983 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1984 version "/gtkglext-" version ".tar.gz"))
1985 (sha256
1986 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1987 (patches (search-patches
1988 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1989 (build-system gnu-build-system)
14e2f61a
RW
1990 (arguments
1991 `(#:phases
1992 (modify-phases %standard-phases
1993 ;; Fix a collision between a local variable and a definition from
1994 ;; glibc's string.h.
1995 (add-after 'unpack 'fix-collision
1996 (lambda _
1997 (substitute* "gdk/gdkglshapes.c"
1998 ((" index") " triangle_index"))
1999 #t)))))
ed19903d
JD
2000 (inputs `(("gtk+" ,gtk+-2)
2001 ("mesa" ,mesa)
cc8b02f4 2002 ("glu" ,glu)
ed19903d
JD
2003 ("libx11" ,libx11)
2004 ("libxt" ,libxt)))
426adbe8
LC
2005 (native-inputs `(("pkg-config" ,pkg-config)
2006 ("glib" ,glib "bin")))
a83b6a06 2007 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2008 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2009 (synopsis "OpenGL extension to GTK+")
35b9e423 2010 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2011additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2012API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2013 (license license:lgpl2.1+)))
3600420e
JD
2014
2015(define-public glade3
2016 (package
2017 (name "glade")
c6571adb 2018 (version "3.22.1")
b38e45d8
EB
2019 (source (origin
2020 (method url-fetch)
2021 (uri (string-append "mirror://gnome/sources/" name "/"
2022 (version-major+minor version) "/"
f5ca44b8 2023 name "-" version ".tar.xz"))
3600420e 2024 (sha256
f714d9fe 2025 (base32
c6571adb 2026 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2027 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2028 (arguments
2029 `(#:tests? #f ; needs X, GL, and software rendering
2030 #:phases
2031 (modify-phases %standard-phases
2032 (add-before 'configure 'fix-docbook
2033 (lambda* (#:key inputs #:allow-other-keys)
2034 (substitute* "man/Makefile.in"
2035 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2036 (string-append (assoc-ref inputs "docbook-xsl")
2037 "/xml/xsl/docbook-xsl-"
2038 ,(package-version docbook-xsl)
2039 "/manpages/docbook.xsl")))
2040 #t)))))
3600420e 2041 (inputs
f5ca44b8 2042 `(("gtk+" ,gtk+)
3600420e
JD
2043 ("libxml2" ,libxml2)))
2044 (native-inputs
2045 `(("intltool" ,intltool)
f5ca44b8
RW
2046 ("itstool" ,itstool)
2047 ("libxslt" ,libxslt) ;for xsltproc
2048 ("docbook-xml" ,docbook-xml-4.2)
2049 ("docbook-xsl" ,docbook-xsl)
2050 ("python" ,python-2)
3600420e
JD
2051 ("pkg-config" ,pkg-config)))
2052 (home-page "https://glade.gnome.org")
2053 (synopsis "GTK+ rapid application development tool")
2054 (description "Glade is a rapid application development (RAD) tool to
2055enable quick & easy development of user interfaces for the GTK+ toolkit and
2056the GNOME desktop environment.")
1dd26275
LC
2057 (license license:lgpl2.0+)))
2058
2059(define-public libcroco
2060 (package
2061 (name "libcroco")
8bdacad2 2062 (version "0.6.13")
1dd26275
LC
2063 (source (origin
2064 (method url-fetch)
b38e45d8
EB
2065 (uri (string-append "mirror://gnome/sources/" name "/"
2066 (version-major+minor version) "/"
2067 name "-" version ".tar.xz"))
1dd26275
LC
2068 (sha256
2069 (base32
8bdacad2 2070 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2071 (build-system gnu-build-system)
2072 (native-inputs
2073 `(("pkg-config" ,pkg-config)))
2074 (inputs
2075 `(("glib" ,glib)
2076 ("libxml2" ,libxml2)
2077 ("zlib" ,zlib)))
2078 (home-page "https://github.com/GNOME/libcroco")
2079 (synopsis "CSS2 parsing and manipulation library")
2080 (description
2081 "Libcroco is a standalone CSS2 parsing and manipulation library.
2082The parser provides a low level event driven SAC-like API and a CSS object
2083model like API. Libcroco provides a CSS2 selection engine and an experimental
2084XML/CSS rendering engine.")
2085
2086 ;; LGPLv2.1-only.
2087 (license license:lgpl2.1)))
25178594
LC
2088
2089(define-public libgsf
2090 (package
2091 (name "libgsf")
8d1644a1 2092 (version "1.14.46")
25178594
LC
2093 (source (origin
2094 (method url-fetch)
b38e45d8
EB
2095 (uri (string-append "mirror://gnome/sources/" name "/"
2096 (version-major+minor version) "/"
2097 name "-" version ".tar.xz"))
25178594
LC
2098 (sha256
2099 (base32
8d1644a1 2100 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2101 (build-system gnu-build-system)
2102 (native-inputs
2103 `(("intltool" ,intltool)
2104 ("pkg-config" ,pkg-config)))
2105 (inputs
2106 `(("python" ,python)
2107 ("zlib" ,zlib)
2108 ("bzip2" ,bzip2)))
2109 (propagated-inputs
2110 `(("gdk-pixbuf" ,gdk-pixbuf)
2111 ("glib" ,glib)
2112 ("libxml2" ,libxml2)))
f032d0be 2113 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2114 (synopsis "GNOME's Structured File Library")
2115 (description
2116 "Libgsf aims to provide an efficient extensible I/O abstraction for
2117dealing with different structured file formats.")
2118
2119 ;; LGPLv2.1-only.
2120 (license license:lgpl2.1)))
63016e7c
LC
2121
2122(define-public librsvg
f67417a1 2123 (package
35b256f5 2124 (replacement librsvg/fixed)
f67417a1
MB
2125 (name "librsvg")
2126 (version "2.40.20")
2127 (source (origin
2128 (method url-fetch)
2129 (uri (string-append "mirror://gnome/sources/" name "/"
2130 (version-major+minor version) "/"
2131 name "-" version ".tar.xz"))
2132 (sha256
2133 (base32
2134 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2135 (build-system gnu-build-system)
2136 (arguments
2137 `(#:configure-flags
2138 (list "--disable-static"
2139 "--enable-vala") ; needed for e.g. gnome-mines
2140 #:phases
2141 (modify-phases %standard-phases
2142 (add-before 'configure 'pre-configure
2143 (lambda* (#:key inputs #:allow-other-keys)
2144 (substitute* "gdk-pixbuf-loader/Makefile.in"
2145 ;; By default the gdk-pixbuf loader is installed under
2146 ;; gdk-pixbuf's prefix. Work around that.
2147 (("gdk_pixbuf_moduledir = .*$")
2148 (string-append "gdk_pixbuf_moduledir = "
2149 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2150 "loaders\n"))
2151 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2152 (("gdk_pixbuf_cache_file = .*$")
2153 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2154 #t))
2155 (add-before 'check 'remove-failing-tests
2156 (lambda _
2157 (with-directory-excursion "tests/fixtures/reftests"
2158 (for-each delete-file
2159 '(;; This test fails on i686:
2160 "svg1.1/masking-path-04-b.svg"
2161 ;; This test fails on armhf:
2162 "svg1.1/masking-mask-01-b.svg"
2163 ;; This test fails on aarch64:
2164 "bugs/777834-empty-text-children.svg")))
2165 #t)))))
2166 (native-inputs
2167 `(("pkg-config" ,pkg-config)
2168 ("vala" ,vala)
2169 ("glib" ,glib "bin") ; glib-mkenums, etc.
2170 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2171 (inputs
2172 `(("pango" ,pango)
2173 ("libcroco" ,libcroco)
2174 ("bzip2" ,bzip2)
2175 ("libgsf" ,libgsf)
2176 ("libxml2" ,libxml2)))
2177 (propagated-inputs
2178 ;; librsvg-2.0.pc refers to all of that.
2179 `(("cairo" ,cairo)
2180 ("gdk-pixbuf" ,gdk-pixbuf)
2181 ("glib" ,glib)))
2182 (home-page "https://wiki.gnome.org/LibRsvg")
2183 (synopsis "Render SVG files using Cairo")
2184 (description
2185 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2186library.")
2187 (license license:lgpl2.0+)))
2188
23f33de1
EF
2189(define librsvg/fixed
2190 (package
2191 (inherit librsvg)
2192 (name "librsvg")
2193 (version "2.40.21")
2194 (source (origin
2195 (method url-fetch)
2196 (uri (string-append "mirror://gnome/sources/" name "/"
2197 (version-major+minor version) "/"
2198 name "-" version ".tar.xz"))
2199 (sha256
2200 (base32
2201 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2202
f67417a1 2203(define-public librsvg-next
63016e7c 2204 (package
25d39a2a 2205 (inherit librsvg)
63016e7c 2206 (name "librsvg")
3276e123 2207 (version "2.46.4")
69568670
EF
2208 (source (origin
2209 (method url-fetch)
2210 (uri (string-append "mirror://gnome/sources/librsvg/"
2211 (version-major+minor version) "/"
2212 "librsvg-" version ".tar.xz"))
2213 (sha256
2214 (base32
2215 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2216 (modules '((guix build utils)))
2217 (snippet
2218 '(begin (delete-file-recursively "vendor")
2219 ;; Don't demand an exact version for string_cache
2220 (substitute* "rsvg_internals/Cargo.toml"
2221 (("\"=") "\""))
2222 #t))))
2223 (build-system cargo-build-system)
63016e7c 2224 (arguments
69568670
EF
2225 `(#:modules ((guix build cargo-build-system)
2226 (guix build utils)
2227 ((guix build gnu-build-system) #:prefix gnu:))
2228 #:vendor-dir "vendor"
2229 #:cargo-inputs
2230 (("rust-bitflags" ,rust-bitflags-1)
2231 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2232 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2233 ("rust-cssparser" ,rust-cssparser-0.25)
2234 ("rust-data-url" ,rust-data-url-0.1)
2235 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2236 ("rust-encoding" ,rust-encoding-0.2)
2237 ("rust-float-cmp" ,rust-float-cmp-0.5)
2238 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2239 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2240 ("rust-gio" ,rust-gio-0.7)
2241 ("rust-gio-sys" ,rust-gio-sys-0.9)
2242 ("rust-glib" ,rust-glib-0.8)
2243 ("rust-glib-sys" ,rust-glib-sys-0.9)
2244 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2245 ("rust-itertools" ,rust-itertools-0.8)
2246 ("rust-language-tags" ,rust-language-tags-0.2)
2247 ("rust-lazy-static" ,rust-lazy-static-1)
2248 ("rust-libc" ,rust-libc-0.2)
2249 ("rust-locale-config" ,rust-locale-config-0.3)
2250 ("rust-markup5ever" ,rust-markup5ever-0.9)
2251 ("rust-nalgebra" ,rust-nalgebra-0.18)
2252 ("rust-num-traits" ,rust-num-traits-0.2)
2253 ("rust-pkg-config" ,rust-pkg-config-0.3)
2254 ("rust-pango" ,rust-pango-0.7)
2255 ("rust-pango-sys" ,rust-pango-sys-0.9)
2256 ("rust-pangocairo" ,rust-pangocairo-0.8)
2257 ("rust-phf" ,rust-phf-0.7)
2258 ("rust-rayon" ,rust-rayon-1.3)
2259 ("rust-rctree" ,rust-rctree-0.3)
2260 ("rust-string-cache" ,rust-string-cache-0.7)
2261 ("rust-regex" ,rust-regex-1.3)
2262 ("rust-url" ,rust-url-2.1)
2263 ("rust-xml-rs" ,rust-xml-rs-0.8))
2264 #:cargo-development-inputs
2265 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2266 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2267 #:phases
b6239e45 2268 (modify-phases %standard-phases
69568670 2269 (add-after 'unpack 'prepare-for-build
ec47c07d 2270 (lambda _
69568670
EF
2271 ;; In lieu of #:make-flags
2272 (setenv "CC" "gcc")
2273 ;; Something about the build environment resists building
2274 ;; successfully with the '--locked' flag.
2275 (substitute* '("Makefile.am"
2276 "Makefile.in")
2277 (("--locked") ""))
2278 #t))
b6239e45 2279 (add-before 'configure 'pre-configure
69568670 2280 (lambda _
b6239e45
EF
2281 (substitute* "gdk-pixbuf-loader/Makefile.in"
2282 ;; By default the gdk-pixbuf loader is installed under
2283 ;; gdk-pixbuf's prefix. Work around that.
2284 (("gdk_pixbuf_moduledir = .*$")
2285 (string-append "gdk_pixbuf_moduledir = "
2286 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2287 "loaders\n"))
2288 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2289 (("gdk_pixbuf_cache_file = .*$")
2290 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2291 #t))
69568670
EF
2292 (add-after 'configure 'gnu-configure
2293 (assoc-ref gnu:%standard-phases 'configure))
2294 ;(lambda* (#:key outputs #:allow-other-keys)
2295 ; ((assoc-ref gnu:%standard-phases 'configure)
2296 ; #:outputs outputs
2297 ; #:configure-flags ("--disable-static"
2298 ; "--enable-vala"))))
2299 (add-after 'configure 'dont-vendor-self
2300 (lambda* (#:key vendor-dir #:allow-other-keys)
2301 ;; Don't keep the whole tarball in the vendor directory
2302 (delete-file-recursively
2303 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2304 #t))
2305 (replace 'build
2306 (assoc-ref gnu:%standard-phases 'build))
2307 (replace 'check
2308 (lambda* args
2309 ((assoc-ref gnu:%standard-phases 'check)
2310 #:test-target "check")))
2311 (replace 'install
2312 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2313 (add-before 'check 'remove-failing-tests
b6239e45 2314 (lambda _
64a153bd
MW
2315 (with-directory-excursion "tests/fixtures/reftests"
2316 (for-each delete-file
ec47c07d
MB
2317 '(;; The images produced by these tests differ slightly
2318 ;; from their reference counterparts due to differences
2319 ;; in the build environment (missing fonts, etc). See
2320 ;; <tests/README.md> for details.
2321 ;; These fail on x86_64.
2322 "svg1.1/coords-viewattr-02-b.svg"
2323 "svg1.1/filters-composite-04-f.svg"
2324 "svg1.1/filters-image-01-b.svg"
2325 "svg1.1/filters-conv-02-f.svg"
2326 "svg1.1/filters-conv-04-f.svg"
2327 ;; This test fails on i686:
64a153bd 2328 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2329 ;; This test fails on armhf:
2330 "svg1.1/masking-mask-01-b.svg"
64a153bd 2331 ;; This test fails on aarch64:
ec47c07d 2332 "bugs/777834-empty-text-children.svg")))
b6239e45 2333 #t)))))
cf9dad6c 2334 (license license:lgpl2.1+)))
5698b8b8
JD
2335
2336(define-public libidl
2337 (package
2338 (name "libidl")
2339 (version "0.8.14")
2340 (source (origin
2341 (method url-fetch)
80a06e62
EF
2342 (uri (string-append "mirror://gnome/sources/libIDL/"
2343 (version-major+minor version) "/"
2344 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2345 (sha256
2346 (base32
2347 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2348 (build-system gnu-build-system)
2349 (inputs `(("glib" ,glib)))
2350 (native-inputs
2351 `(("pkg-config" ,pkg-config)
b3546174 2352 ("flex" ,flex)
5698b8b8
JD
2353 ("bison" ,bison)))
2354 (home-page "http://freecode.com/projects/libidl")
2355 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2356 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2357Definition Language (idl) files, which is a specification for defining
2358portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2359GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2360functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2361 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2362 (license license:lgpl2.0+)))
2363
2364
2365(define-public orbit2
2366 (package
2367 (name "orbit2")
2368 (version "2.14.19")
2369 (source (origin
2370 (method url-fetch)
2e6ecc5c 2371 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2372 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2373 (version-major+minor version) "/"
2374 upstream-name "-" version ".tar.bz2")))
5698b8b8 2375 (sha256
a124bbd2
SB
2376 (base32
2377 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2378 (build-system gnu-build-system)
2379 (arguments
a124bbd2 2380 `(#:configure-flags
8aad2e32
LC
2381 '(;; We don't need static libraries, plus they don't build reproducibly
2382 ;; (non-deterministic ordering of .o files in the archive.)
2383 "--disable-static"
2384
2385 ;; The programmer kindly gives us a hook to turn off deprecation
2386 ;; warnings ...
2387 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2388 ;; ... which they then completly ignore !!
2389 #:phases
dc1d3cde
KK
2390 (modify-phases %standard-phases
2391 (add-before 'configure 'ignore-deprecations
2392 (lambda _
2393 (substitute* "linc2/src/Makefile.in"
2394 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2395 #t)))))
5698b8b8
JD
2396 (inputs `(("glib" ,glib)
2397 ("libidl" ,libidl)))
2398 (native-inputs
2399 `(("pkg-config" ,pkg-config)))
2400 (home-page "https://projects.gnome.org/orbit2/")
2401 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2402 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2403featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2404 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2405 ;; a version. SOME of the code files have licence notices for GPLv2+.
2406 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2407 (license license:gpl2+)
2408 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2409
2410
2411(define-public libbonobo
2412 (package
2413 (name "libbonobo")
2414 (version "2.32.1")
2415 (source (origin
2416 (method url-fetch)
5becd025 2417 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2418 (version-major+minor version)
5becd025 2419 "/" name "-" version ".tar.bz2"))
5698b8b8 2420 (sha256
f1fc45a9 2421 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2422 (patches (search-patches
2423 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2424 (build-system gnu-build-system)
2425 (arguments
2426 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2427 `(#:configure-flags
2428 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2429 ;; ... which they then completly ignore !!
2430 #:phases
dc1d3cde
KK
2431 (modify-phases %standard-phases
2432 (add-before 'configure 'ignore-deprecations
2433 (lambda _
2434 (substitute* "activation-server/Makefile.in"
2435 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2436 #t)))
2437
2438 ;; There's apparently a race condition between the server stub
2439 ;; generation and linking of the example under 'samples/echo' that can
2440 ;; lead do undefined references when building in parallel, as reported
2441 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2442 ;; Thus, disable parallel builds.
2443 #:parallel-build? #f))
5698b8b8
JD
2444 (inputs `(("popt" ,popt)
2445 ("libxml2" ,libxml2)))
2446 ;; The following are Required by the .pc file
44add1ce 2447 (propagated-inputs
5698b8b8
JD
2448 `(("glib" ,glib)
2449 ("orbit2" ,orbit2)))
2450 (native-inputs
2451 `(("intltool" ,intltool)
2452 ("pkg-config" ,pkg-config)
221ed17a 2453 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2454 ("flex" ,flex)
2455 ("bison" ,bison)))
2456 (home-page "https://developer.gnome.org/libbonobo/")
2457 (synopsis "Framework for creating reusable components for use in GNOME applications")
2458 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2459use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2460 ;; Licence not explicitly stated. Source files contain no licence notices.
2461 ;; Tarball contains text of both GPLv2 and LGPLv2
2462 ;; GPLv2 covers both conditions
2463 (license license:gpl2+)))
2464
2465
2466(define-public gconf
2467 (package
2468 (name "gconf")
2469 (version "3.2.6")
2470 (source (origin
2471 (method url-fetch)
a124bbd2
SB
2472 (uri
2473 (let ((upstream-name "GConf"))
2474 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2475 (version-major+minor version) "/"
2476 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2477 (sha256
2478 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2479 (build-system gnu-build-system)
2e88d113 2480 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2481 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2482 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2483 ("orbit2" ,orbit2)))
5698b8b8
JD
2484 (native-inputs
2485 `(("intltool" ,intltool)
221ed17a 2486 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2487 ("pkg-config" ,pkg-config)))
2488 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2489 (synopsis "Store application preferences")
2490 (description "Gconf is a system for storing application preferences. It
2491is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2492 (license license:lgpl2.0+)
2493 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2494
2495
2496(define-public gnome-mime-data
2497 (package
2498 (name "gnome-mime-data")
2499 (version "2.18.0")
2500 (source (origin
2501 (method url-fetch)
b38e45d8
EB
2502 (uri (string-append "mirror://gnome/sources/" name "/"
2503 (version-major+minor version) "/"
2504 name "-" version ".tar.bz2"))
5698b8b8
JD
2505 (sha256
2506 (base32
2507 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2508 (build-system gnu-build-system)
2509 (native-inputs
2510 `(("perl" ,perl)
2511 ("intltool" ,intltool)))
3e6add96
LC
2512 (arguments
2513 '(#:phases (modify-phases %standard-phases
2514 (add-after 'configure 'use-our-intltool
2515 (lambda _
2516 ;; Do not use the bundled intltool commands, which lack
2517 ;; the "dotless @INC" fixes of our 'intltool' package.
2518 (substitute* (find-files "." "^Makefile$")
2519 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2520 (string-append "INTLTOOL_" tool " = intltool-"
2521 (string-downcase tool) "\n")))
2522 #t)))))
f032d0be 2523 (home-page "https://www.gnome.org")
35b9e423 2524 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2525 (description "GNOME Mime Data is a module which contains the base MIME
2526and Application database for GNOME. The data stored by this module is
2527designed to be accessed through the MIME functions in GnomeVFS.")
2528 (license license:gpl2+)))
2529
2530
2531(define-public gnome-vfs
2532 (package
2533 (name "gnome-vfs")
2534 (version "2.24.4")
2535 (source (origin
2536 (method url-fetch)
b38e45d8
EB
2537 (uri (string-append "mirror://gnome/sources/" name "/"
2538 (version-major+minor version) "/"
2539 name "-" version ".tar.bz2"))
5698b8b8 2540 (sha256
9e12bc34
MW
2541 (base32
2542 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2543 (build-system gnu-build-system)
2544 (arguments
db5127d8 2545 `(#:phases
dc1d3cde
KK
2546 (modify-phases %standard-phases
2547 (add-before 'configure 'ignore-deprecations
2548 (lambda _
2549 (substitute* '("libgnomevfs/Makefile.in"
2550 "daemon/Makefile.in")
2551 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2552 #t))
2553 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2554 (lambda _
2555 (substitute* "test/test-async-cancel.c"
2556 (("EXIT_FAILURE") "77"))
2557 #t)))))
2e6ecc5c 2558 (inputs `(("libxml2" ,libxml2)
5698b8b8 2559 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2560 ("gconf" ,gconf)
2561 ("gnome-mime-data" ,gnome-mime-data)
2562 ("zlib" ,zlib)))
2563 (native-inputs
221ed17a
EB
2564 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2565 ("intltool" ,intltool)
5698b8b8
JD
2566 ("pkg-config" ,pkg-config)))
2567 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2568 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2569 (description
2570 "GnomeVFS is the core library used to access files and folders in GNOME
2571applications. It provides a file system abstraction which allows applications
2572to access local and remote files with a single consistent API.")
5698b8b8
JD
2573 (license license:lgpl2.0+)))
2574
2575
2576
2577(define-public libgnome
2578 (package
2579 (name "libgnome")
2580 (version "2.32.1")
2581 (source (origin
2582 (method url-fetch)
b38e45d8
EB
2583 (uri (string-append "mirror://gnome/sources/" name "/"
2584 (version-major+minor version) "/"
2585 name "-" version ".tar.bz2"))
5698b8b8
JD
2586 (sha256
2587 (base32
17c3eea7
LC
2588 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2589 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2590 (build-system gnu-build-system)
2591 (arguments
2592 `(#:phases
dc1d3cde
KK
2593 (modify-phases %standard-phases
2594 (add-before 'configure 'enable-deprecated
2595 (lambda _
2596 (substitute* "libgnome/Makefile.in"
2597 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2598 #t)))))
25338e9f 2599 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2600 (native-inputs
221ed17a
EB
2601 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2602 ("intltool" ,intltool)
5698b8b8
JD
2603 ("pkg-config" ,pkg-config)))
2604 ;; The following are listed as Required in the .pc file
2605 ;; (except for libcanberra -- which seems to be oversight on the part
2606 ;; of the upstream developers -- anything that links against libgnome,
2607 ;; must also link against libcanberra
2608 (propagated-inputs
2609 `(("libcanberra" ,libcanberra)
2610 ("libbonobo" ,libbonobo)
2611 ("gconf" ,gconf)
a640d3d5
LC
2612 ("gnome-vfs" ,gnome-vfs)
2613 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2614 (home-page "https://developer.gnome.org/libgnome/")
2615 (synopsis "Useful routines for building applications")
2616 (description "The libgnome library provides a number of useful routines
2617for building modern applications, including session management, activation of
2618files and URIs, and displaying help.")
2619 (license license:lgpl2.0+)))
2620
2621
2622(define-public libart-lgpl
2623 (package
2624 (name "libart-lgpl")
76c9b6aa 2625 (version "2.3.21")
5698b8b8
JD
2626 (source (origin
2627 (method url-fetch)
2628 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2629 (string-append "mirror://gnome/sources/" upstream-name "/"
2630 (version-major+minor version) "/"
2631 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2632 (sha256
2633 (base32
76c9b6aa 2634 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2635 (build-system gnu-build-system)
2636 (native-inputs
2637 `(("pkg-config" ,pkg-config)))
2638 (home-page "https://people.gnome.org/~mathieu/libart")
2639 (synopsis "2D drawing library")
2e6ecc5c 2640 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2641high-quality vector-based 2D library with antialiasing and alpha composition.")
2642 (license license:lgpl2.0+)))
2643
2644
2645
2646(define-public libgnomecanvas
2647 (package
2648 (name "libgnomecanvas")
2649 (version "2.30.3")
2650 (source (origin
2651 (method url-fetch)
b38e45d8
EB
2652 (uri (string-append "mirror://gnome/sources/" name "/"
2653 (version-major+minor version) "/"
2654 name "-" version ".tar.gz"))
5698b8b8
JD
2655 (sha256
2656 (base32
2657 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2658 (build-system gnu-build-system)
2659 ;; Mentioned as Required in the .pc file
2660 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2661 ("gtk+" ,gtk+-2)))
2662 (native-inputs
2663 `(("intltool" ,intltool)
221ed17a 2664 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2665 ("pkg-config" ,pkg-config)))
2666 (home-page "https://developer.gnome.org/libgnomecanvas/")
2667 (synopsis "Flexible widget for creating interactive structured graphics")
2668 (description "The GnomeCanvas widget provides a flexible widget for
2669creating interactive structured graphics.")
2670 (license license:lgpl2.0+)))
2671
eadc734e
RW
2672(define-public libgnomecanvasmm
2673 (package
2674 (name "libgnomecanvasmm")
2675 (version "2.26.0")
2676 (source (origin
2677 (method url-fetch)
2678 (uri (string-append "mirror://gnome/sources/" name "/"
2679 (version-major+minor version) "/"
2680 name "-" version ".tar.bz2"))
2681 (sha256
2682 (base32
2683 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2684 (build-system gnu-build-system)
2685 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2686 (native-inputs
2687 `(("gtkmm-2" ,gtkmm-2)
2688 ("pkg-config" ,pkg-config)))
8e933cb3 2689 (home-page "https://gtkmm.org")
eadc734e
RW
2690 (synopsis "C++ bindings to the GNOME Canvas library")
2691 (description "C++ bindings to the GNOME Canvas library.")
2692 (license license:lgpl2.0+)))
2693
5698b8b8
JD
2694(define-public libgnomeui
2695 (package
2696 (name "libgnomeui")
2697 (version "2.24.5")
2698 (source (origin
2699 (method url-fetch)
b38e45d8
EB
2700 (uri (string-append "mirror://gnome/sources/" name "/"
2701 (version-major+minor version) "/"
2702 name "-" version ".tar.bz2"))
8fa1872a 2703 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2704 (sha256
2705 (base32
2706 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2707 (build-system gnu-build-system)
2708 ;; Mentioned as Required in the .pc file
0a38a497
AE
2709 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2710 ("libgnome" ,libgnome)
2711 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2712 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2713 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2714 ("popt" ,popt)
2715 ("libbonobo" ,libbonobo)
2716 ("libxml2" ,libxml2)
2717 ("libglade" ,libglade)))
2718 (native-inputs
221ed17a
EB
2719 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2720 ("intltool" ,intltool)
5698b8b8
JD
2721 ("pkg-config" ,pkg-config)))
2722 (home-page "https://developer.gnome.org/libgnomeui/")
2723 (synopsis "Additional widgets for applications")
35b9e423 2724 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2725applications. Many of the widgets from libgnomeui have already been
2726ported to GTK+.")
5698b8b8
JD
2727 (license license:lgpl2.0+)))
2728
2729(define-public libglade
2730 (package
2731 (name "libglade")
2732 (version "2.6.4")
2733 (source (origin
2734 (method url-fetch)
b38e45d8
EB
2735 (uri (string-append "mirror://gnome/sources/" name "/"
2736 (version-major+minor version) "/"
2737 name "-" version ".tar.bz2"))
5698b8b8
JD
2738 (sha256
2739 (base32
2740 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2741 (build-system gnu-build-system)
2742 (inputs
92dcc23d
AE
2743 `(("python" ,python))) ;; needed for the optional libglade-convert program
2744 (propagated-inputs
5698b8b8 2745 `(("gtk+-2" ,gtk+-2)
92dcc23d 2746 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2747 (native-inputs
2748 `(("pkg-config" ,pkg-config)))
2749 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2750 (synopsis "Load glade interfaces and access the glade built widgets")
2751 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2752graphical interfaces described in glade files and for accessing the
2753widgets built in the loading process.")
2754 (license license:gpl2+))) ; This is correct. GPL not LGPL
2755
2756(define-public libgnomeprint
eb497b66
LC
2757 ;; This library has been deprecated since 2006; see
2758 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2759 (package
2760 (name "libgnomeprint")
d19db454 2761 (version "2.18.8")
5698b8b8
JD
2762 (source (origin
2763 (method url-fetch)
b38e45d8
EB
2764 (uri (string-append "mirror://gnome/sources/" name "/"
2765 (version-major+minor version) "/"
2766 name "-" version ".tar.bz2"))
5698b8b8
JD
2767 (sha256
2768 (base32
d19db454 2769 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2770 (build-system gnu-build-system)
2771 (inputs
2772 `(("popt" ,popt)
2773 ("libart-lgpl" ,libart-lgpl)
2774 ("gtk+" ,gtk+-2)
44add1ce 2775 ("libxml2" ,libxml2)))
5698b8b8
JD
2776 (native-inputs
2777 `(("intltool" ,intltool)
221ed17a 2778 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2779 ("pkg-config" ,pkg-config)))
2780 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2781 (synopsis "Printing framework for GNOME")
eb497b66
LC
2782 (description
2783 "GNOME-print was a printing framework for GNOME. It has been deprecated
2784since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2785 (license license:lgpl2.0+)))
2786
2787
2788(define-public libgnomeprintui
eb497b66 2789 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2790 (package
2791 (name "libgnomeprintui")
36053d7f 2792 (version "2.18.6")
5698b8b8
JD
2793 (source (origin
2794 (method url-fetch)
b38e45d8
EB
2795 (uri (string-append "mirror://gnome/sources/" name "/"
2796 (version-major+minor version) "/"
2797 name "-" version ".tar.bz2"))
5698b8b8
JD
2798 (sha256
2799 (base32
36053d7f 2800 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2801 (build-system gnu-build-system)
2802 ;; Mentioned as Required in the .pc file
2803 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2804 (inputs `(("gtk+" ,gtk+-2)
2805 ("glib" ,glib)
2806 ("gnome-icon-theme" ,gnome-icon-theme)
2807 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2808 ("libxml2" ,libxml2)))
5698b8b8
JD
2809 (native-inputs
2810 `(("intltool" ,intltool)
2811 ("pkg-config" ,pkg-config)))
2812 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2813 (synopsis "Printing framework for GNOME")
eb497b66 2814 (description (package-description libgnomeprint))
5698b8b8
JD
2815 (license license:lgpl2.0+)))
2816
5698b8b8
JD
2817(define-public libbonoboui
2818 (package
2819 (name "libbonoboui")
2820 (version "2.24.5")
2821 (source (origin
2822 (method url-fetch)
b38e45d8
EB
2823 (uri (string-append "mirror://gnome/sources/" name "/"
2824 (version-major+minor version) "/"
2825 name "-" version ".tar.bz2"))
5698b8b8
JD
2826 (sha256
2827 (base32
2828 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2829 (build-system gnu-build-system)
2830 (arguments
2831 `(#:phases
dc1d3cde
KK
2832 (modify-phases %standard-phases
2833 (add-before 'check 'start-xserver
2834 (lambda* (#:key inputs #:allow-other-keys)
2835 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2836 (disp ":1"))
2837
2838 (setenv "HOME" (getcwd))
2839 (setenv "DISPLAY" disp)
2840 ;; There must be a running X server and make check doesn't start one.
2841 ;; Therefore we must do it.
2842 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2843 ;; Mentioned as Required by the .pc file
2844 (propagated-inputs `(("libxml2" ,libxml2)))
2845 (inputs
2846 `(("popt" ,popt)
2847 ("pangox-compat" ,pangox-compat)
2848 ("libgnome" ,libgnome)
2849 ("libgnomecanvas" ,libgnomecanvas)
2850 ("libglade" ,libglade)))
2851 (native-inputs
221ed17a
EB
2852 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2853 ("intltool" ,intltool)
ff337525 2854 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2855 ("pkg-config" ,pkg-config)))
2856 (home-page "https://developer.gnome.org/libbonoboui/")
2857 (synopsis "Some user interface controls using Bonobo")
2858 (description "The Bonobo UI library provides a number of user interface
2859controls using the Bonobo component framework.")
2860 (license license:lgpl2.0+)))
2861
fecbf86e
SB
2862(define-public libwnck
2863 (package
2864 (name "libwnck")
d3b40696 2865 (version "3.32.0")
fecbf86e
SB
2866 (source (origin
2867 (method url-fetch)
2868 (uri (string-append "mirror://gnome/sources/" name "/"
2869 (version-major+minor version) "/"
2870 name "-" version ".tar.xz"))
2871 (sha256
ad9b8987 2872 (base32
d3b40696
KK
2873 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2874 (build-system meson-build-system)
fecbf86e
SB
2875 (native-inputs
2876 `(("pkg-config" ,pkg-config)
d3b40696
KK
2877 ("glib" ,glib "bin") ; for glib-mkenums
2878 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2879 ("intltool" ,intltool)))
2880 (propagated-inputs
427476d5
SB
2881 `(("gtk+" ,gtk+)
2882 ("libxres" ,libxres)
2883 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2884 (home-page "https://developer.gnome.org/libwnck/")
2885 (synopsis "Window Navigator Construction Kit")
2886 (description
2887 "Libwnck is the Window Navigator Construction Kit, a library for use in
2888writing pagers, tasklists, and more generally applications that are dealing
2889with window management. It tries hard to respect the Extended Window Manager
2890Hints specification (EWMH).")
2891 (license license:lgpl2.0+)))
2892
2893;; stable version for gtk2, required by xfwm4.
dbb7a081 2894(define-public libwnck-2
fecbf86e
SB
2895 (package (inherit libwnck)
2896 (name "libwnck")
2897 (version "2.30.7")
2898 (source (origin
2899 (method url-fetch)
2900 (uri (string-append "mirror://gnome/sources/" name "/"
2901 (version-major+minor version) "/"
2902 name "-" version ".tar.xz"))
2903 (sha256
2904 (base32
2905 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2906 (build-system gnu-build-system)
2907 (native-inputs
2908 `(("pkg-config" ,pkg-config)
2909 ("intltool" ,intltool)))
fecbf86e 2910 (propagated-inputs
427476d5
SB
2911 `(("gtk+" ,gtk+-2)
2912 ("libxres" ,libxres)
2913 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2914
2915(define-public goffice
2916 (package
2917 (name "goffice")
09abffcc 2918 (version "0.10.46")
b804c61e
JD
2919 (source (origin
2920 (method url-fetch)
16243f0b 2921 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2922 (version-major+minor version) "/"
16243f0b 2923 "goffice-" version ".tar.xz"))
b804c61e 2924 (sha256
09abffcc 2925 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2926 (build-system gnu-build-system)
72a06d3e 2927 (outputs '("out"
355420c6 2928 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2929 (arguments
2930 '(#:configure-flags (list (string-append "--with-html-dir="
2931 (assoc-ref %outputs "doc")
2932 "/share/gtk-doc/html"))))
b804c61e
JD
2933 (inputs
2934 `(("gtk+" ,gtk+)
2935 ("libgsf" ,libgsf)
2936 ("librsvg" ,librsvg)
2937 ("libxslt" ,libxslt)
2938 ("libxml2" ,libxml2)))
2939 (native-inputs
2940 `(("intltool" ,intltool)
f280cdb1 2941 ("glib" ,glib "bin")
b804c61e
JD
2942 ("pkg-config" ,pkg-config)))
2943 (home-page "https://developer.gnome.org/goffice/")
2944 (synopsis "Document-centric objects and utilities")
2945 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2946 (license
b804c61e
JD
2947 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2948 ;; Note: NOT LGPL
2949 (list license:gpl2 license:gpl3))))
2950
c024ae36
RW
2951(define-public goffice-0.8
2952 (package (inherit goffice)
2953 (version "0.8.17")
2954 (source (origin
2955 (method url-fetch)
2956 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2957 (version-major+minor version) "/"
2958 (package-name goffice) "-" version ".tar.xz"))
2959 (sha256
2960 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2961 (arguments
2962 `(#:phases
dc1d3cde
KK
2963 (modify-phases %standard-phases
2964 (add-after 'unpack 'fix-pcre-check
2965 (lambda _
2966 ;; Only glib.h can be included directly. See
2967 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2968 (substitute* "configure"
2969 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2970
2971 ,@(package-arguments goffice)))
c024ae36
RW
2972 (propagated-inputs
2973 ;; libgoffice-0.8.pc mentions libgsf-1
2974 `(("libgsf" ,libgsf)))
2975 (inputs
2976 `(("gtk" ,gtk+-2)
2977 ,@(alist-delete "gtk" (package-inputs goffice))))))
2978
b804c61e
JD
2979(define-public gnumeric
2980 (package
2981 (name "gnumeric")
f0517b5d 2982 (version "1.12.46")
b804c61e
JD
2983 (source (origin
2984 (method url-fetch)
b7fd0217 2985 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2986 (version-major+minor version) "/"
b7fd0217 2987 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2988 (sha256
2989 (base32
f0517b5d 2990 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2991 (build-system glib-or-gtk-build-system)
b804c61e
JD
2992 (arguments
2993 `(;; The gnumeric developers don't worry much about failing tests.
2994 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2995 #:tests? #f
b804c61e 2996 #:phases
7bcbd40d
EF
2997 (modify-phases %standard-phases
2998 (add-before
2999 'configure 'pre-conf
3000 (lambda* (#:key outputs #:allow-other-keys)
3001 ;; Make install tries to write into the directory of goffice
3002 ;; I am informed that this only affects the possibility to embed a
3003 ;; spreadsheet inside an Abiword document. So presumably when we
3004 ;; package Abiword we'll have to refer it to this directory.
3005 (substitute* "configure"
3006 (("^GOFFICE_PLUGINS_DIR=.*")
3007 (string-append "GOFFICE_PLUGINS_DIR="
3008 (assoc-ref outputs "out")
3009 "/goffice/plugins"))))))))
b804c61e
JD
3010 (inputs
3011 `(("glib" ,glib)
3012 ("gtk+" ,gtk+)
3013 ("goffice" ,goffice)
3014 ("libgsf" ,libgsf)
7bcbd40d 3015 ("librsvg" ,librsvg)
b804c61e 3016 ("libxml2" ,libxml2)
7bcbd40d 3017 ("libxslt" ,libxslt)
2e4c5457 3018 ("python" ,python-2)
6983ba56 3019 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3020 ("zlib" ,zlib)))
3021 (native-inputs
6983ba56 3022 `(("bison" ,bison)
1ed398d1 3023 ("docbook-xml" ,docbook-xml)
6983ba56 3024 ("intltool" ,intltool)
3a2efbc8 3025 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3026 ("glib:bin" ,glib "bin")
b804c61e
JD
3027 ("pkg-config" ,pkg-config)))
3028 (home-page "http://www.gnumeric.org")
66672a45
LC
3029 (synopsis "Spreadsheet application")
3030 (description
3031 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3032interoperable with other spreadsheet applications. It has a vast array of
3033features beyond typical spreadsheet functionality, such as support for linear
3034and non-linear solvers, statistical analysis, and telecommunication
3035engineering.")
3036 (license
b804c61e
JD
3037 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3038 (list license:gpl2 license:gpl3))))
6f885c05
FB
3039
3040(define-public gnome-themes-standard
3041 (package
3042 (name "gnome-themes-standard")
0b7b8fb0 3043 (version "3.22.3")
6f885c05
FB
3044 (source
3045 (origin
3046 (method url-fetch)
2e6ecc5c 3047 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3048 (version-major+minor version) "/" name "-"
3049 version ".tar.xz"))
3050 (sha256
3051 (base32
0b7b8fb0 3052 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3053 (build-system gnu-build-system)
8ac70c7f
SB
3054 (arguments
3055 '(#:configure-flags
3056 ;; Don't create 'icon-theme.cache'.
3057 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3058 (true (string-append coreutils "/bin/true")))
3059 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3060 (inputs
3061 `(("gtk+" ,gtk+)
3062 ("gtk+-2" ,gtk+-2)
3063 ("librsvg" ,librsvg)
3064 ("libxml2" ,libxml2)
3065 ("glib" ,glib)))
3066 (native-inputs
3067 `(("intltool" ,intltool)
3068 ("glib:bin" ,glib "bin")
3069 ("pkg-config" ,pkg-config)))
6f885c05
FB
3070 (home-page "https://launchpad.net/gnome-themes-standard")
3071 (synopsis "Default GNOME 3 themes")
3072 (description
3073 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3074 (license license:lgpl2.1+)))
5a659a48 3075
df90c701
RW
3076(define-public seahorse
3077 (package
3078 (name "seahorse")
bcea3c11 3079 (version "3.32.2")
df90c701
RW
3080 (source
3081 (origin
3082 (method url-fetch)
3083 (uri (string-append "mirror://gnome/sources/" name "/"
3084 (version-major+minor version) "/" name "-"
3085 version ".tar.xz"))
3086 (sha256
3087 (base32
bcea3c11 3088 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3089 (patches (search-patches
3090 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3091 (build-system meson-build-system)
3092 (arguments
bcea3c11
KK
3093 '(#:glib-or-gtk? #t
3094 #:phases
af561664
MÁAV
3095 (modify-phases %standard-phases
3096 (add-after 'unpack 'skip-gtk-update-icon-cache
3097 ;; Don't create 'icon-theme.cache'.
3098 (lambda _
3099 (substitute* "build-aux/meson_post_install.py"
3100 (("gtk-update-icon-cache") "true"))
3101 #t)))))
df90c701
RW
3102 (inputs
3103 `(("gtk+" ,gtk+)
3104 ("gcr" ,gcr)
34b979b9 3105 ("gnupg" ,gnupg)
df90c701 3106 ("gpgme" ,gpgme)
34b979b9 3107 ("openldap" ,openldap)
4a1bf090 3108 ("openssh" ,openssh)
af561664 3109 ("avahi" ,avahi)
bcea3c11 3110 ("libpwquality" ,libpwquality)
34b979b9
EF
3111 ("libsecret" ,libsecret)
3112 ("libsoup" ,libsoup)))
df90c701 3113 (native-inputs
af561664 3114 `(("gettext" ,gettext-minimal)
df90c701
RW
3115 ("glib:bin" ,glib "bin")
3116 ("itstool" ,itstool)
bcb354ad 3117 ("pkg-config" ,pkg-config)
af561664 3118 ("vala" ,vala)
bcb354ad 3119 ("xmllint" ,libxml2)))
bcea3c11 3120 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3121 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3122 (description
3123 "Seahorse is a GNOME application for managing encryption keys and
3124passwords in the GNOME keyring.")
3125 (license license:gpl2+)))
3126
5a659a48
SB
3127(define-public vala
3128 (package
3129 (name "vala")
2d6872f6 3130 (version "0.44.5")
5a659a48
SB
3131 (source (origin
3132 (method url-fetch)
3133 (uri (string-append "mirror://gnome/sources/" name "/"
3134 (version-major+minor version) "/"
3135 name "-" version ".tar.xz"))
3136 (sha256
3137 (base32
2d6872f6 3138 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3139 (build-system gnu-build-system)
1ea90625
SB
3140 (arguments
3141 '(#:phases
3142 (modify-phases %standard-phases
f4925a4f 3143 (add-before 'check 'pre-check
1ea90625
SB
3144 (lambda _
3145 (setenv "CC" "gcc")
8839b6be
RW
3146 (substitute* "valadoc/tests/testrunner.sh"
3147 (("export PKG_CONFIG_PATH=" m)
3148 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3149 ;; For missing '/etc/machine-id'.
3150 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3151 #t)))))
5a659a48
SB
3152 (native-inputs
3153 `(("pkg-config" ,pkg-config)
3154 ("flex" ,flex)
3155 ("bison" ,bison)
3156 ("xsltproc" ,libxslt)
3157 ("dbus" ,dbus) ; for dbus tests
3158 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3159 (inputs
3160 `(("graphviz" ,graphviz)))
5a659a48 3161 (propagated-inputs
8839b6be 3162 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3163 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3164 (synopsis "Compiler for the GObject type system")
3165 (description
3166 "Vala is a programming language that aims to bring modern programming
3167language features to GNOME developers without imposing any additional runtime
3168requirements and without using a different ABI compared to applications and
3169libraries written in C.")
3170 (license license:lgpl2.1+)))
ea57378f
SB
3171
3172(define-public vte
3173 (package
3174 (name "vte")
68c47474 3175 (version "0.58.3")
ea57378f
SB
3176 (source (origin
3177 (method url-fetch)
ac87ffb8 3178 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3179 (version-major+minor version) "/"
ac87ffb8 3180 "vte-" version ".tar.xz"))
ea57378f
SB
3181 (sha256
3182 (base32
68c47474
TGR
3183 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3184 (build-system meson-build-system)
ea57378f
SB
3185 (native-inputs
3186 `(("pkg-config" ,pkg-config)
3187 ("intltool" ,intltool)
3188 ("vala" ,vala)
3189 ("gobject-introspection" ,gobject-introspection)
68c47474 3190 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3191 ("gperf" ,gperf)
ea57378f
SB
3192 ("xmllint" ,libxml2)))
3193 (propagated-inputs
68c47474
TGR
3194 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3195 ("gnutls" ,gnutls) ; ditto
3196 ("pcre2" ,pcre2))) ; ditto
f032d0be 3197 (home-page "https://www.gnome.org/")
ea57378f
SB
3198 (synopsis "Virtual Terminal Emulator")
3199 (description
3200 "VTE is a library (libvte) implementing a terminal emulator widget for
3201GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3202gnome-terminal, but can also be used to embed a console/terminal in games,
3203editors, IDEs, etc.")
3204 (license license:lgpl2.1+)))
3205
c44fb4df
MO
3206(define-public vte-ng
3207 (package
3208 (inherit vte)
3209 (name "vte-ng")
24f4fcbe 3210 (version "0.58.2.a")
afd90f8d 3211 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3212 (source (origin
3213 (method git-fetch)
3214 (uri (git-reference (url home-page) (commit version)))
3215 (file-name (git-file-name name version))
3216 (sha256
3217 (base32
24f4fcbe
MB
3218 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3219 (build-system meson-build-system)
c44fb4df
MO
3220 (native-inputs
3221 `(("gtk-doc" ,gtk-doc)
c44fb4df 3222 ,@(package-native-inputs vte)))
c44fb4df 3223 (arguments
24f4fcbe 3224 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3225 (synopsis "Enhanced VTE terminal widget")
3226 (description
3227 "VTE is a library (libvte) implementing a terminal emulator widget for
3228GTK+, this fork provides additional functions exposed for keyboard text
3229selection and URL hints.")))
3230
2776d72c
EF
3231;; provides vte 2.90, required for some terminal emulators
3232;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3233;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3234;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3235;; pantheon-terminal, roxterm are not currently packaged
3236(define-public vte-0.36
3237 (package (inherit vte)
3238 (name "vte")
3239 (version "0.36.5")
3240 (source (origin
3241 (method url-fetch)
3242 (uri (string-append "mirror://gnome/sources/" name "/"
3243 (version-major+minor version) "/"
3244 name "-" version ".tar.xz"))
3245 (sha256
3246 (base32
3247 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3248 (propagated-inputs
3249 `(("gtk" ,gtk+)
3250 ("ncurses" ,ncurses)))))
3251
ea57378f
SB
3252;; stable version for gtk2, required by xfce4-terminal.
3253(define-public vte/gtk+-2
3254 (package (inherit vte)
3255 (name "vte")
3256 (version "0.28.2")
3257 (source (origin
3258 (method url-fetch)
3259 (uri (string-append "mirror://gnome/sources/" name "/"
3260 (version-major+minor version) "/"
3261 name "-" version ".tar.xz"))
3262 (sha256
3263 (base32
7d48938a
EF
3264 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3265 (patches (search-patches
3266 "vte-CVE-2012-2738-pt1.patch"
3267 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3268 (build-system gnu-build-system)
ea57378f
SB
3269 (arguments
3270 '(#:configure-flags '("--disable-python")))
3271 (native-inputs
3272 `(("pkg-config" ,pkg-config)
3273 ("intltool" ,intltool)
3274 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3275 (propagated-inputs
3276 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3277 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3278
cce0da5e
TD
3279(define-public vinagre
3280 (package
3281 (name "vinagre")
3282 (version "3.22.0")
3283 (source (origin
3284 (method url-fetch)
3285 (uri (string-append "mirror://gnome/sources/" name "/"
3286 (version-major+minor version) "/"
3287 name "-" version ".tar.xz"))
684f97f8
EF
3288 (patches (search-patches "vinagre-newer-freerdp.patch"
3289 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3290 (sha256
3291 (base32
3292 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3293 (build-system glib-or-gtk-build-system)
684f97f8 3294 (arguments
7f486d25
MC
3295 ;; Disable -Werror and such, to avoid build failures on compilation
3296 ;; warnings.
3297 '(#:configure-flags '("--enable-compile-warnings=minimum")
3298 #:phases
684f97f8 3299 (modify-phases %standard-phases
1839768c
EF
3300 (add-before 'install 'skip-gtk-update-icon-cache
3301 (lambda _
3302 ;; Don't create 'icon-theme.cache'
3303 (substitute* (find-files "." "^Makefile$")
3304 (("gtk-update-icon-cache") (which "true")))
3305 #t))
684f97f8
EF
3306 (add-after 'unpack 'patch-configure
3307 (lambda _
3308 (substitute* "configure"
3309 (("freerdp") "freerdp2"))
3310 #t)))))
cce0da5e
TD
3311 (native-inputs
3312 `(("pkg-config" ,pkg-config)
3313 ("intltool" ,intltool)
3314 ("itstool" ,itstool)
1839768c 3315 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3316 (inputs
3317 `(("libxml2" ,libxml2)
3318 ("gtk-vnc" ,gtk-vnc)
3319 ("gnome-keyring" ,gnome-keyring)
3320 ("libsecret" ,libsecret)
3321 ("freerdp" ,freerdp)
3322 ("spice" ,spice)
3323 ("spice-gtk" ,spice-gtk)
3324 ("telepathy-glib" ,telepathy-glib)
3325 ("vte" ,vte)))
cce0da5e
TD
3326 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3327 (synopsis "Remote desktop viewer for GNOME")
3328 (description "Vinagre is a remote display client supporting the VNC, SPICE
3329and RDP protocols.")
3330 (license license:gpl3+)))
3331
b47e1b20
FB
3332(define-public dconf
3333 (package
3334 (name "dconf")
1e33331c 3335 (version "0.32.0")
b47e1b20
FB
3336 (source (origin
3337 (method url-fetch)
3338 (uri (string-append
2e6ecc5c 3339 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3340 (version-major+minor version) "/"
3341 name "-" version ".tar.xz"))
3342 (sha256
f05c809f 3343 (base32
1e33331c 3344 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3345 (build-system meson-build-system)
bc036f4c
MB
3346 (propagated-inputs
3347 ;; In Requires of dconf.pc.
3348 `(("glib" ,glib)))
b47e1b20
FB
3349 (inputs
3350 `(("gtk+" ,gtk+)
bc036f4c 3351 ("dbus" ,dbus)))
b47e1b20 3352 (native-inputs
1e33331c
MB
3353 `(("bash-completion" ,bash-completion)
3354 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3355 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3356 ("docbook-xml" ,docbook-xml-4.2)
3357 ("docbook-xsl" ,docbook-xsl)
35fa923d 3358 ("glib:bin" ,glib "bin")
03676d6f 3359 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3360 ("pkg-config" ,pkg-config)
3361 ("vala" ,vala)))
b47e1b20
FB
3362 (arguments
3363 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3364 ; or /etc/machine-id.
35fa923d
MB
3365 #:glib-or-gtk? #t
3366 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3367 (home-page "https://developer.gnome.org/dconf")
3368 (synopsis "Low-level GNOME configuration system")
3369 (description "Dconf is a low-level configuration system. Its main purpose
3370is to provide a backend to GSettings on platforms that don't already have
3371configuration storage systems.")
e20e6b40 3372 (license license:lgpl2.1+)))
109da1c0
AE
3373
3374(define-public json-glib
3375 (package
3376 (name "json-glib")
4115e8ea 3377 (version "1.4.4")
109da1c0
AE
3378 (source (origin
3379 (method url-fetch)
3380 (uri (string-append "mirror://gnome/sources/" name "/"
3381 (version-major+minor version) "/"
3382 name "-" version ".tar.xz"))
3383 (sha256
3384 (base32
4115e8ea 3385 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3386 (build-system meson-build-system)
109da1c0 3387 (native-inputs
98afa184
MB
3388 `(("gettext" ,gettext-minimal)
3389 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3390 ("gobject-introspection" ,gobject-introspection)
3391 ("pkg-config" ,pkg-config)))
3392 (propagated-inputs
88c6b580 3393 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3394 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3395 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3396 (description
3397 "JSON-GLib is a C library based on GLib providing serialization and
3398deserialization support for the JavaScript Object Notation (JSON) format
3399described by RFC 4627. It provides parser and generator GObject classes and
3400various wrappers for the complex data types employed by JSON, such as arrays
3401and objects.")
109da1c0 3402 (license license:lgpl2.1+)))
6f96a359
SB
3403
3404(define-public libxklavier
3405 (package
3406 (name "libxklavier")
5f39050b 3407 (version "5.4")
6f96a359 3408 (source (origin
5f39050b 3409 ;; Note: There's no tarball at ftp.gnome.org for this version.
3410 (method git-fetch)
3411 (uri (git-reference
3412 (url "https://anongit.freedesktop.org/git/libxklavier")
3413 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3414 (sha256
3415 (base32
5f39050b 3416 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3417 (file-name (git-file-name name version))))
6f96a359
SB
3418 (build-system gnu-build-system)
3419 (arguments
5f39050b 3420 '(#:phases
3421 (modify-phases %standard-phases
3422 (add-after 'unpack 'no-configure
3423 (lambda* _
3424 (setenv "NOCONFIGURE" "1")
3425 #t)))
3426 #:configure-flags
6f96a359
SB
3427 (list (string-append "--with-xkb-base="
3428 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3429 "/share/X11/xkb")
3430 "--disable-xmodmap-support")))
6f96a359
SB
3431 (native-inputs
3432 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3433 ("gobject-introspection" ,gobject-introspection)
5f39050b 3434 ("pkg-config" ,pkg-config)
3435 ("gtk-doc" ,gtk-doc)
3436 ("intltool" ,intltool)
3437 ("which" ,which)
3438 ("autoconf" ,autoconf)
3439 ("automake" ,automake)
3440 ("libtool" ,libtool)))
6f96a359
SB
3441 (propagated-inputs
3442 ;; Required by libxklavier.pc.
3443 `(("glib" ,glib)
3444 ("libxml2" ,libxml2)))
3445 (inputs
3446 `(("iso-codes" ,iso-codes)
3447 ("libxi" ,libxi)
3448 ("libxkbfile" ,libxkbfile)
3449 ("xkbcomp" ,xkbcomp)
3450 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3451 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3452 (synopsis "High-level API for X Keyboard Extension")
3453 (description
3454 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3455Extension known as XKB. This library is intended to support XFree86 and other
3456commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3457indicators etc).")
3458 (license license:lgpl2.0+)))
619936a4
LC
3459
3460(define-public python2-rsvg
3461 ;; XXX: This is actually a subset of gnome-python-desktop.
3462 (package
3463 (name "python2-rsvg")
3464 (version "2.32.0")
3465 (source
3466 (origin
3467 (method url-fetch)
3468 (uri (string-append
3469 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3470 version ".tar.bz2"))
3471 (sha256
3472 (base32
3473 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3474 (build-system gnu-build-system)
3475 (native-inputs
3476 `(("pkg-config" ,pkg-config)))
3477 (inputs
3478 `(("python" ,python-2)
3479 ("python2-pygtk" ,python2-pygtk)
3480 ("librsvg" ,librsvg)))
f032d0be 3481 (home-page "https://www.gnome.org")
619936a4
LC
3482 (synopsis "Python bindings to librsvg")
3483 (description
3ad75446 3484 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3485library.")
3486
3487 ;; This is the license of the rsvg bindings. The license of each module
3488 ;; of gnome-python-desktop is given in 'COPYING'.
3489 (license license:lgpl2.1+)))
a31a6d22 3490
f2ca414a
SB
3491(define-public glib-networking
3492 (package
3493 (name "glib-networking")
0d75c64d 3494 (version "2.60.3")
f2ca414a
SB
3495 (source (origin
3496 (method url-fetch)
3497 (uri (string-append "mirror://gnome/sources/glib-networking/"
3498 (version-major+minor version) "/"
fb8fe1e8 3499 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3500 (sha256
3501 (base32
0d75c64d 3502 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3503 (build-system meson-build-system)
f2ca414a 3504 (arguments
0d75c64d 3505 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3506 (native-inputs
3507 `(("pkg-config" ,pkg-config)
3508 ("intltool" ,intltool)))
3509 (inputs
3510 `(("glib" ,glib)
3511 ("gnutls" ,gnutls)
4b8f1313 3512 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3513 (home-page "https://www.gnome.org")
f2ca414a
SB
3514 (synopsis "Network-related GIO modules")
3515 (description
3516 "This package contains various network related extensions for the GIO
3517library.")
3518 (license license:lgpl2.0+)))
3519
ca649680 3520(define-public rest
4510b2da 3521 (package
ca649680 3522 (name "rest")
a4194d16 3523 (version "0.8.1")
4510b2da
SB
3524 (source (origin
3525 (method url-fetch)
3526 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3527 (version-major+minor version) "/"
3528 name "-" version ".tar.xz"))
4510b2da
SB
3529 (sha256
3530 (base32
a4194d16 3531 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3532 (build-system gnu-build-system)
3533 (arguments
3534 '(#:tests? #f ; tests require internet connection
3535 #:configure-flags
3536 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3537 (native-inputs
3538 `(("glib-mkenums" ,glib "bin")
3539 ("gobject-introspection" ,gobject-introspection)
3540 ("pkg-config" ,pkg-config)))
3541 (propagated-inputs
3542 ;; rest-0.7.pc refers to all these.
3543 `(("glib" ,glib)
3544 ("libsoup" ,libsoup)
3545 ("libxml2" ,libxml2)))
24d6cc1d 3546 (home-page "https://www.gtk.org/")
4510b2da
SB
3547 (synopsis "RESTful web api query library")
3548 (description
3549 "This library was designed to make it easier to access web services that
3550claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3551libxml to ease remote use of the RESTful API.")
3552 (license license:lgpl2.1+)))
3553
6e1bb642
SB
3554(define-public libsoup
3555 (package
3556 (name "libsoup")
9a9cd9bc 3557 (version "2.70.0")
6e1bb642
SB
3558 (source (origin
3559 (method url-fetch)
3560 (uri (string-append "mirror://gnome/sources/libsoup/"
3561 (version-major+minor version) "/"
c1b79b36 3562 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3563 (sha256
3564 (base32
9a9cd9bc 3565 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3566 (build-system meson-build-system)
6e1bb642
SB
3567 (outputs '("out" "doc"))
3568 (arguments
2deb146f 3569 `(#:modules ((guix build utils)
eccaa8bf 3570 (guix build meson-build-system)
2deb146f
LC
3571 (ice-9 popen))
3572
f8026a79 3573 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3574 #:phases
3575 (modify-phases %standard-phases
eccaa8bf 3576 (add-after 'unpack 'adjust-tests
26c228f9 3577 (lambda _
eccaa8bf
MB
3578 ;; This test fails due to missing /etc/nsswitch.conf
3579 ;; in the build environment.
26c228f9
LC
3580 (substitute* "tests/socket-test.c"
3581 ((".*/sockets/unconnected.*") ""))
2deb146f 3582
f8026a79
MB
3583 ;; These fail because "subdomain.localhost" does not resolve in
3584 ;; the build environment.
3585 (substitute* "tests/hsts-test.c"
3586 ((".*/hsts/basic.*") "")
3587 ((".*/hsts/subdomains.*") "")
3588 ((".*/hsts/superdomain.*") "")
3589 ((".*/hsts/utf8-address.*") ""))
3590 (substitute* "tests/hsts-db-test.c"
3591 ((".*/hsts-db/subdomains.*") ""))
3592
2deb146f
LC
3593 ;; Generate a self-signed certificate that has "localhost" as its
3594 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3595 ;; 3.5.12, tests such as "ssl-tests" fail:
3596 ;;
3597 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3598 ;;
3599 ;; 'certtool' is interactive so we have to pipe it the answers.
3600 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3601 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3602 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3603 (for-each (lambda (line)
3604 (display line pipe)
3605 (newline pipe))
3606 '("" ;Common name
3607 "" ;UID
3608 "Guix" ;Organizational unit name
3609 "GNU" ;Organization name
3610 "" ;Locality name
3611 "" ;State or province
3612 "" ;Country
3613 "" ;subject's domain component (DC)
3614 "" ;E-mail
3615 "" ;serial number
3616 "-1" ;expiration time
3617 "N" ;belong to authority?
3618 "N" ;web client certificate?
3619 "N" ;IPsec IKE?
3620 "Y" ;web server certificate?
3621 "localhost" ;dnsName of subject
3622 "" ;dnsName of subject (end)
3623 "" ;URI of subject
3624 "127.0.0.1" ;IP address of subject
3625 "" ;signing?
06f5bc4e
MB
3626 "" ;encryption (RSA)?
3627 "" ;data encryption?
2deb146f
LC
3628 "" ;sign OCSP requests?
3629 "" ;sign code?
3630 "" ;time stamping?
3631 "" ;email protection?
3632 "" ;URI of the CRL distribution point
3633 "y" ;above info OK?
3634 ))
3635 (close-pipe pipe))
26c228f9 3636 #t))
eccaa8bf
MB
3637 (add-after 'install 'move-doc
3638 (lambda* (#:key outputs #:allow-other-keys)
3639 (let ((out (assoc-ref outputs "out"))
3640 (doc (assoc-ref outputs "doc")))
3641 (mkdir-p (string-append doc "/share"))
3642 (copy-recursively (string-append out "/share/gtk-doc")
3643 (string-append doc "/share/gtk-doc"))
3644 (delete-file-recursively (string-append out "/share/gtk-doc"))
3645 #t))))))
6e1bb642 3646 (native-inputs
26c228f9 3647 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3648 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3649 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3650 ("intltool" ,intltool)
3651 ("pkg-config" ,pkg-config)
3652 ("python" ,python-wrapper)
fd730590 3653 ("vala" ,vala)
6e1bb642
SB
3654 ;; These are needed for the tests.
3655 ;; FIXME: Add PHP once available.
3656 ("curl" ,curl)
2deb146f 3657 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3658 ("httpd" ,httpd)))
3659 (propagated-inputs
3660 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3661 `(("brotli" ,google-brotli)
3662 ("glib" ,glib)
249846bf 3663 ("libpsl" ,libpsl)
eccaa8bf 3664 ("libxml2" ,libxml2)
f8026a79
MB
3665 ("sqlite" ,sqlite)
3666 ("zlib" ,zlib)))
eccaa8bf
MB
3667 (inputs
3668 `(("glib-networking" ,glib-networking)
3669 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3670 (home-page "https://live.gnome.org/LibSoup/")
3671 (synopsis "GLib-based HTTP Library")
3672 (description
3673 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3674and the GLib main loop, to integrate well with GNOME applications.")
3675 (license license:lgpl2.0+)))
3676
bba229a3
SB
3677(define-public libsecret
3678 (package
3679 (name "libsecret")
aa0063a0 3680 (version "0.20.2")
bba229a3
SB
3681 (source (origin
3682 (method url-fetch)
3683 (uri (string-append
896dcbc7
EF
3684 "mirror://gnome/sources/libsecret/"
3685 (version-major+minor version) "/"
0ada4e29 3686 "libsecret-" version ".tar.xz"))
bba229a3
SB
3687 (sha256
3688 (base32
aa0063a0 3689 "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"))))
bba229a3
SB
3690 (build-system gnu-build-system)
3691 (outputs '("out" "doc"))
3692 (arguments
3693 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3694 #:configure-flags
3695 (list (string-append "--with-html-dir="
3696 (assoc-ref %outputs "doc")
3697 "/share/gtk-doc/html"))))
3698 (native-inputs
c06ef010
MB
3699 `(("gettext" ,gettext-minimal)
3700 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3701 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3702 ("pkg-config" ,pkg-config)
3703 ("vala" ,vala)
3704 ("xsltproc" ,libxslt)))
3705 ;; These are needed for the tests.
3706 ;; FIXME: Add gjs once available.
3707 ;("dbus" ,dbus)
3708 ;("python2" ,python-2)
3709 ;("python2-dbus" ,python2-dbus)
3710 ;("python2-pygobject" ,python2-pygobject)
3711 ;("python2-pygobject-2" ,python2-pygobject-2)))
3712 (propagated-inputs
3713 `(("glib" ,glib))) ; required by libsecret-1.pc
3714 (inputs
3715 `(("docbook-xsl" ,docbook-xsl)
3716 ("libgcrypt" ,libgcrypt)
3717 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3718 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3719 (synopsis "GObject bindings for \"Secret Service\" API")
3720 (description
3721 "Libsecret is a GObject based library for storing and retrieving passwords
3722and other secrets. It communicates with the \"Secret Service\" using DBus.")
3723 (license license:lgpl2.1+)))
3724
b6821ee0 3725(define-public five-or-more
3726 (package
3727 (name "five-or-more")
bf782bfc 3728 (version "3.32.1")
b6821ee0 3729 (source
3730 (origin
3731 (method url-fetch)
bf782bfc 3732 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3733 (version-major+minor version) "/"
bf782bfc 3734 "five-or-more-" version ".tar.xz"))
b6821ee0 3735 (sha256
bf782bfc 3736 (base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk"))))
d9795e93
KK
3737 (build-system meson-build-system)
3738 (arguments
3739 '(#:glib-or-gtk? #t
3740 #:phases
3741 (modify-phases %standard-phases
3742 (add-after 'unpack 'skip-gtk-update-icon-cache
3743 (lambda _
3744 (substitute* "meson_post_install.py"
3745 (("gtk-update-icon-cache") (which "true")))
3746 #t)))))
b6821ee0 3747 (native-inputs
3748 `(("pkg-config" ,pkg-config)
d9795e93 3749 ("appstream-glib" ,appstream-glib)
b6821ee0 3750 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3751 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3752 ("intltool" ,intltool)
3753 ("itstool" ,itstool)
d9795e93 3754 ("vala" ,vala)
b6821ee0 3755 ("xmllint" ,libxml2)))
3756 (inputs
3757 `(("gtk+" ,gtk+)
d9795e93 3758 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3759 ("librsvg" ,librsvg)))
3760 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3761 (synopsis "Logic puzzle game")
3762 (description "Five or More is a game where you try to align
3763 five or more objects of the same color and shape causing them to disappear.
3764 On every turn more objects will appear, until the board is full.
3765 Try to last as long as possible.")
3766 (license license:gpl2+)))
3767
a31a6d22
SB
3768(define-public gnome-mines
3769 (package
3770 (name "gnome-mines")
2d817e41 3771 (version "3.32.2")
a31a6d22
SB
3772 (source
3773 (origin
3774 (method url-fetch)
3775 (uri (string-append "mirror://gnome/sources/" name "/"
3776 (version-major+minor version) "/"
3777 name "-" version ".tar.xz"))
3778 (sha256
3779 (base32
2d817e41 3780 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3781 (build-system meson-build-system)
a31a6d22 3782 (arguments
2d817e41
KK
3783 '(#:glib-or-gtk? #t
3784 #:phases
a31a6d22 3785 (modify-phases %standard-phases
2d817e41
KK
3786 (add-after 'unpack 'skip-gtk-update-icon-cache
3787 (lambda _
3788 (substitute* "build-aux/meson_post_install.py"
3789 (("gtk-update-icon-cache") (which "true")))
3790 #t)))))
a31a6d22 3791 (native-inputs
8c0fab36
RW
3792 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3793 ("pkg-config" ,pkg-config)
a31a6d22
SB
3794 ("desktop-file-utils" ,desktop-file-utils)
3795 ("intltool" ,intltool)
bcb354ad 3796 ("itstool" ,itstool)
8c0fab36
RW
3797 ("vala" ,vala)
3798 ("yelp" ,yelp)
3799 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3800 (inputs
3801 `(("gtk+" ,gtk+)
73992962 3802 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3803 ("librsvg" ,librsvg)))
3804 (home-page "https://wiki.gnome.org/Apps/Mines")
3805 (synopsis "Minesweeper game")
3806 (description
3807 "Mines (previously gnomine) is a puzzle game where you locate mines
3808floating in an ocean using only your brain and a little bit of luck.")
3809 (license license:gpl2+)))
88f70665 3810
dfc407f3
KY
3811(define-public gnome-sudoku
3812 (package
3813 (name "gnome-sudoku")
7dc728c4 3814 (version "3.32.0")
dfc407f3
KY
3815 (source
3816 (origin
3817 (method url-fetch)
3818 (uri (string-append "mirror://gnome/sources/" name "/"
3819 (version-major+minor version) "/"
3820 name "-" version ".tar.xz"))
3821 (sha256
3822 (base32
7dc728c4
KK
3823 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3824 (build-system meson-build-system)
3825 (arguments
3826 '(#:glib-or-gtk? #t
3827 #:phases
3828 (modify-phases %standard-phases
3829 (add-after 'unpack 'skip-gtk-update-icon-cache
3830 (lambda _
3831 (substitute* "build-aux/post_install.py"
3832 (("gtk-update-icon-cache") (which "true")))
3833 #t)))))
dfc407f3
KY
3834 (native-inputs
3835 `(("pkg-config" ,pkg-config)
3836 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3837 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3838 ("intltool" ,intltool)
3839 ("itstool" ,itstool)
7dc728c4 3840 ("vala" ,vala)
dfc407f3
KY
3841 ("xmllint" ,libxml2)))
3842 (inputs
3843 `(("gtk+" ,gtk+)
3844 ("json-glib" ,json-glib)
3845 ("libgee" ,libgee)
3846 ("librsvg" ,librsvg)
3847 ("qqwing" ,qqwing)))
3848 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3849 (synopsis "Japanese logic game")
3850 (description
3851 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3852GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3853possible while still providing features that make playing difficult Sudoku
3854more fun.")
3855 (license license:gpl2+)))
3856
88f70665
AW
3857(define-public gnome-terminal
3858 (package
3859 (name "gnome-terminal")
7dee3942 3860 (version "3.32.2")
88f70665
AW
3861 (source
3862 (origin
3863 (method url-fetch)
3864 (uri (string-append "mirror://gnome/sources/" name "/"
3865 (version-major+minor version) "/"
3866 name "-" version ".tar.xz"))
3867 (sha256
3868 (base32
7dee3942 3869 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3870 (build-system glib-or-gtk-build-system)
3871 (arguments
3872 '(#:configure-flags
3873 (list "--disable-migration" "--disable-search-provider"
3874 "--without-nautilus-extension")
3875 #:phases
3876 (modify-phases %standard-phases
3a4de6b2 3877 (add-before 'configure 'patch-/bin/true
88f70665
AW
3878 (lambda _
3879 (substitute* "configure"
3880 (("/bin/true") (which "true"))))))))
3881 (native-inputs
3882 `(("pkg-config" ,pkg-config)
3883 ("desktop-file-utils" ,desktop-file-utils)
3884 ("intltool" ,intltool)
bcb354ad
SB
3885 ("itstool" ,itstool)
3886 ("xmllint" ,libxml2)))
68702167
MW
3887 (propagated-inputs
3888 `(("dconf" ,dconf)))
88f70665
AW
3889 (inputs
3890 `(("gtk+" ,gtk+)
3891 ("vte" ,vte)
3892 ("gnutls" ,gnutls)
88f70665
AW
3893 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3894 ("util-linux" ,util-linux)
3895 ("vala" ,vala)))
3896 (home-page "https://wiki.gnome.org/Apps/Terminal")
3897 (synopsis "Terminal emulator")
3898 (description
3899 "GNOME Terminal is a terminal emulator application for accessing a
3900UNIX shell environment which can be used to run programs available on
3901your system.
3902
3903It supports several profiles, multiple tabs and implements several
3904keyboard shortcuts.")
3905 (license license:gpl3+)))
75016d07
AW
3906
3907(define-public colord
3908 (package
3909 (name "colord")
f98be942 3910 (version "1.4.4")
75016d07
AW
3911 (source
3912 (origin
3913 (method url-fetch)
5cc3096c 3914 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3915 "colord-" version ".tar.xz"))
75016d07 3916 (sha256
f98be942 3917 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3918 (build-system meson-build-system)
75016d07 3919 (arguments
a68544a8
RW
3920 '(;; FIXME: One test fails:
3921 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3922 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3923 ;; application/x-zerosize
75016d07 3924 #:tests? #f
a68544a8
RW
3925 #:glib-or-gtk? #t
3926 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3927 ;; No dep on systemd.
a68544a8 3928 "-Dsystemd=false"
75016d07
AW
3929 ;; Wants to install to global completion dir;
3930 ;; punt.
a68544a8 3931 "-Dbash_completion=false"
a68544a8
RW
3932 "-Ddaemon_user=colord"
3933 "-Dsane=true"
dac26e22 3934 "-Dvapi=true"
6f20e2dc 3935 ;; Requires spotread.
a68544a8 3936 "-Dargyllcms_sensor=false"
6f20e2dc 3937 ;; TODO: Requires docbook2x.
a68544a8 3938 "-Dman=false")
75016d07
AW
3939 #:phases
3940 (modify-phases %standard-phases
a68544a8
RW
3941 (add-before 'configure 'patch-build-system
3942 (lambda* (#:key outputs #:allow-other-keys)
3943 (substitute* "rules/meson.build"
3944 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3945 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3946 #t))
3947 (add-before 'configure 'set-sqlite3-file-name
3948 (lambda* (#:key inputs #:allow-other-keys)
3949 ;; "colormgr dump" works by invoking the "sqlite3" command.
3950 ;; Record its absolute file name.
3951 (let ((sqlite (assoc-ref inputs "sqlite")))
3952 (substitute* "client/cd-util.c"
3953 (("\"sqlite3\"")
3954 (string-append "\"" sqlite "/bin/sqlite3\"")))
3955 #t))))))
75016d07 3956 (native-inputs
6f20e2dc 3957 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3958 ("gettext" ,gettext-minimal)
75016d07 3959 ("gobject-introspection" ,gobject-introspection)
a68544a8 3960 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3961 ("pkg-config" ,pkg-config)
3962 ("vala" ,vala)))
65cb2d61
SB
3963 (propagated-inputs
3964 ;; colord.pc refers to all these.
3965 `(("glib" ,glib)
6f20e2dc
TGR
3966 ("lcms" ,lcms)
3967 ("udev" ,eudev)))
75016d07 3968 (inputs
65cb2d61 3969 `(("dbus-glib" ,dbus-glib)
a68544a8 3970 ("gusb" ,gusb)
80c7dd1a 3971 ("libgudev" ,libgudev)
75016d07 3972 ("libusb" ,libusb)
75016d07 3973 ("polkit" ,polkit)
a68544a8 3974 ("python" ,python-wrapper)
6f20e2dc 3975 ("sqlite" ,sqlite)
4c928743 3976 ("sane-backends" ,sane-backends)))
57e7d748 3977 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3978 (synopsis "Color management service")
3979 (description "Colord is a system service that makes it easy to manage,
3980install and generate color profiles to accurately color manage input and
3981output devices.")
3982 (license license:gpl2+)))
7b2abd00
AW
3983
3984(define-public geoclue
3985 (package
3986 (name "geoclue")
50e96d25 3987 (version "2.5.5")
7b2abd00
AW
3988 (source
3989 (origin
3990 (method url-fetch)
50e96d25
MB
3991 (uri
3992 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
3993 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
3994 (sha256
3995 (base32
50e96d25 3996 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 3997 (patches (search-patches "geoclue-config.patch"))))
50e96d25 3998 (build-system meson-build-system)
7b2abd00 3999 (arguments
50e96d25 4000 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4001 (native-inputs
4002 `(("pkg-config" ,pkg-config)
758798a9 4003 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4004 ("modem-manager" ,modem-manager)
4005 ("libnotify" ,libnotify)
4006 ("gtk-doc", gtk-doc)
7b2abd00
AW
4007 ("intltool" ,intltool)))
4008 (inputs
54e911bc 4009 `(("avahi" ,avahi)
50e96d25
MB
4010 ("glib:bin" ,glib "bin")
4011 ("glib-networking" ,glib-networking)
7b2abd00
AW
4012 ("json-glib" ,json-glib)
4013 ("libsoup" ,libsoup)))
50e96d25 4014 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4015 (synopsis "Geolocation service")
4016 (description "Geoclue is a D-Bus service that provides location
4017information. The primary goal of the Geoclue project is to make creating
4018location-aware applications as simple as possible, while the secondary goal is
4019to ensure that no application can access location information without explicit
e881752c 4020permission from user.")
7b2abd00 4021 (license license:gpl2+)))
2bfe7437
AW
4022
4023(define-public geocode-glib
4024 (package
4025 (name "geocode-glib")
65de725f 4026 (version "3.26.1")
2bfe7437
AW
4027 (source (origin
4028 (method url-fetch)
4029 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4030 (version-major+minor version) "/"
d485cdc0 4031 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4032 (sha256
4033 (base32
65de725f 4034 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4035 (build-system meson-build-system)
2bfe7437 4036 (arguments
a7dd0c02
RW
4037 `(#:phases
4038 (modify-phases %standard-phases
4039 ;; The tests require a bunch of locales.
4040 (add-before 'check 'set-locales
4041 (lambda* (#:key inputs #:allow-other-keys)
4042 (setenv "GUIX_LOCPATH"
4043 (string-append (assoc-ref inputs "glibc-locales")
4044 "/lib/locale"))
4045 #t)))))
2bfe7437
AW
4046 (native-inputs
4047 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4048 ("glibc-locales" ,glibc-locales) ; for tests
4049 ("gettext" ,gettext-minimal)
2bfe7437 4050 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4051 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4052 ("pkg-config" ,pkg-config)
4053 ("json-glib" ,json-glib)))
4054 (propagated-inputs
4055 ;; geocode-glib-1.0.pc refers to GIO.
4056 `(("glib" ,glib)))
4057 (inputs
4058 `(("libsoup" ,libsoup)))
4059 (home-page "https://github.com/GNOME/geocode-glib/")
4060 (synopsis "Geocoding and reverse-geocoding library")
4061 (description
4062 "geocode-glib is a convenience library for geocoding (finding longitude,
4063and latitude from an address) and reverse geocoding (finding an address from
4064coordinates) using the Nominatim service. geocode-glib caches requests for
4065faster results and to avoid unnecessary server load.")
4066 (license license:lgpl2.0+)))
a1d5bb0e
AW
4067
4068(define-public upower
4069 (package
4070 (name "upower")
df45af90 4071 (version "0.99.11")
a1d5bb0e
AW
4072 (source (origin
4073 (method url-fetch)
df45af90 4074 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4075 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4076 (sha256
4077 (base32
df45af90 4078 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4079 (patches (search-patches "upower-builddir.patch"))
4080 (modules '((guix build utils)))
4081 (snippet
4082 '(begin
4083 ;; Upstream commit
4084 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4085 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4086 ;; 'dbus-configuration-directory' in (gnu services dbus)
4087 ;; expects it in etc/. Thus, move it back to its previous
4088 ;; location.
4089 (substitute* "src/Makefile.in"
4090 (("^dbusconfdir =.*$")
4091 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4092 #t))))
a1d5bb0e
AW
4093 (build-system glib-or-gtk-build-system)
4094 (arguments
4095 '( ;; The tests want to contact the system bus, which can't be done in the
4096 ;; build environment. The integration test can run, but the last of
4097 ;; the up-self-tests doesn't. Disable tests for now.
4098 #:tests? #f
4099 #:configure-flags (list "--localstatedir=/var"
4100 (string-append "--with-udevrulesdir="
4101 (assoc-ref %outputs "out")
9ec54965 4102 "/lib/udev/rules.d"))))
a1d5bb0e 4103 (native-inputs
ebeabe2d
SB
4104 `(("gobject-introspection" ,gobject-introspection)
4105 ("pkg-config" ,pkg-config)
a1d5bb0e 4106 ("intltool" ,intltool)
55409295
LC
4107 ("python" ,python)
4108
4109 ;; For man pages.
4110 ("libxslt" ,libxslt) ;for 'xsltproc'
4111 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4112 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4113 (inputs
ea226291
SB
4114 `(("dbus-glib" ,dbus-glib)
4115 ("libgudev" ,libgudev)
a1d5bb0e 4116 ("libusb" ,libusb)))
d7a503fc
MB
4117 (propagated-inputs
4118 ;; In Requires of upower-glib.pc.
4119 `(("glib" ,glib)))
57e7d748 4120 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4121 (synopsis "System daemon for managing power devices")
4122 (description
4123 "UPower is an abstraction for enumerating power devices,
4124listening to device events and querying history and statistics. Any
4125application or service on the system can access the org.freedesktop.UPower
4126service via the system message bus.")
4127 (license license:gpl2+)))
6a180f6f
AW
4128
4129(define-public libgweather
4130 (package
4131 (name "libgweather")
794ce8ea 4132 (version "3.28.3")
6a180f6f
AW
4133 (source (origin
4134 (method url-fetch)
4135 (uri (string-append "mirror://gnome/sources/" name "/"
4136 (version-major+minor version) "/"
4137 name "-" version ".tar.xz"))
4138 (sha256
4139 (base32
794ce8ea 4140 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4141 (build-system meson-build-system)
6a180f6f 4142 (arguments
cf6cbc34
RW
4143 `(#:tests? #f ; one of two tests requires network access
4144 #:configure-flags
4145 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4146 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4147 "/share/zoneinfo"))))
6a180f6f
AW
4148 (native-inputs
4149 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4150 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4151 ("pkg-config" ,pkg-config)
1d3fcf94 4152 ("vala" ,vala)
6a180f6f
AW
4153 ("intltool" ,intltool)))
4154 (propagated-inputs
4155 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4156 ;; libsoup.
4157 `(("gtk+" ,gtk+)
4158 ("gdk-pixbuf" ,gdk-pixbuf)
4159 ("libxml2" ,libxml2)
cf6cbc34 4160 ("libsoup" ,libsoup)
6a180f6f 4161 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4162 (inputs
4163 `(("tzdata" ,tzdata)))
6a180f6f
AW
4164 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4165 (synopsis "Location, time zone, and weather library for GNOME")
4166 (description
4167 "libgweather is a library to access weather information from online
4168services for numerous locations.")
4169 (license license:gpl2+)))
23a22af6
AW
4170
4171(define-public gnome-settings-daemon
4172 (package
4173 (name "gnome-settings-daemon")
4be0719f 4174 (version "3.32.1")
23a22af6
AW
4175 (source
4176 (origin
4177 (method url-fetch)
4178 (uri (string-append "mirror://gnome/sources/" name "/"
4179 (version-major+minor version) "/"
4180 name "-" version ".tar.xz"))
4181 (sha256
4182 (base32
4be0719f 4183 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4184 (build-system meson-build-system)
23a22af6 4185 (arguments
e644f9fa
RW
4186 `(#:glib-or-gtk? #t
4187 #:configure-flags
4188 (list (string-append "-Dudev_dir="
4189 (assoc-ref %outputs "out")
4d0e085b
RW
4190 "/lib/udev/rules.d/")
4191 ;; Otherwise, the RUNPATH will lack the final path component.
4192 (string-append "-Dc_link_args=-Wl,-rpath="
4193 (assoc-ref %outputs "out")
4194 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4195 ;; Color management test can't reach the colord system service.
23a22af6
AW
4196 #:tests? #f))
4197 (native-inputs
e644f9fa
RW
4198 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4199 ("pkg-config" ,pkg-config)
23a22af6
AW
4200 ("intltool" ,intltool)
4201 ("xsltproc" ,libxslt)
4202 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4203 ("docbook-xml" ,docbook-xml-4.2)
4204 ("docbook-xsl" ,docbook-xsl)))
4205 (inputs
e644f9fa
RW
4206 `(("alsa-lib" ,alsa-lib)
4207 ("colord" ,colord)
ea226291 4208 ("libgudev" ,libgudev)
23a22af6
AW
4209 ("upower" ,upower)
4210 ("polkit" ,polkit)
4211 ("pulseaudio" ,pulseaudio)
4212 ("libcanberra" ,libcanberra)
4213 ("libx11" ,libx11)
4214 ("libxtst" ,libxtst)
4215 ("lcms" ,lcms)
4216 ("libnotify" ,libnotify)
4217 ("geoclue" ,geoclue)
4218 ("geocode-glib" ,geocode-glib)
4219 ("libgweather" ,libgweather)
4220 ("gnome-desktop" ,gnome-desktop)
4221 ("nss" ,nss)
4222 ("cups" ,cups)
ec2b1921
AW
4223 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4224 ("libwacom" ,libwacom)
4225 ("librsvg" ,librsvg)
eee7878f 4226 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4227 ("wayland" ,wayland)
eee7878f 4228 ("network-manager" ,network-manager)))
f032d0be 4229 (home-page "https://www.gnome.org")
23a22af6
AW
4230 (synopsis "GNOME settings daemon")
4231 (description
4232 "This package contains the daemon responsible for setting the various
4233parameters of a GNOME session and the applications that run under it. It
4234handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4235settings, themes, mouse settings, and startup of other daemons.")
4236 (license license:gpl2+)))
1e7464a9
DH
4237
4238(define-public totem-pl-parser
4239 (package
4240 (name "totem-pl-parser")
77425f04 4241 (version "3.26.3")
1e7464a9
DH
4242 (source (origin
4243 (method url-fetch)
e980cbe9
MW
4244 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4245 (version-major+minor version) "/"
1e7464a9
DH
4246 "totem-pl-parser-" version ".tar.xz"))
4247 (sha256
4248 (base32
77425f04 4249 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4250 (build-system meson-build-system)
1e7464a9
DH
4251 (arguments
4252 ;; FIXME: Tests require gvfs.
4253 `(#:tests? #f))
4254 (native-inputs
4255 `(("intltool" ,intltool)
4256 ("glib" ,glib "bin")
4d6d8281 4257 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4258 ("pkg-config" ,pkg-config)))
22a6ad6a 4259 (propagated-inputs
1e7464a9
DH
4260 `(("glib" ,glib)
4261 ("gmime" ,gmime)
1e9b19dd
RW
4262 ("libarchive" ,libarchive)
4263 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4264 ("libxml2" ,libxml2)))
4265 (inputs
0a6e9e13 4266 `(("libsoup" ,libsoup)))
1e7464a9
DH
4267 (home-page "https://projects.gnome.org/totem")
4268 (synopsis "Library to parse and save media playlists for GNOME")
4269 (description "Totem-pl-parser is a GObjects-based library to parse and save
4270playlists in a variety of formats.")
4271 (license license:lgpl2.0+)))
4272
6b888eff
SB
4273(define-public aisleriot
4274 (package
4275 (name "aisleriot")
36ed9b46 4276 (version "3.22.9")
6b888eff
SB
4277 (source (origin
4278 (method url-fetch)
e43f622a 4279 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4280 (version-major+minor version) "/"
e43f622a 4281 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4282 (sha256
4283 (base32
36ed9b46 4284 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4285 (build-system glib-or-gtk-build-system)
4286 (arguments
4287 '(#:configure-flags
4288 '("--with-platform=gtk-only"
4289 "--with-card-theme-formats=svg")))
4290 (native-inputs
4291 `(("desktop-file-utils" ,desktop-file-utils)
4292 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4293 ("intltool" ,intltool)
4294 ("itstool" ,itstool)
4295 ("pkg-config" ,pkg-config)
4296 ("xmllint" ,libxml2)))
4297 (inputs
4298 `(("gtk+" ,gtk+)
226e57d6 4299 ("guile" ,guile-2.2)
6b888eff
SB
4300 ("libcanberra" ,libcanberra)
4301 ("librsvg" ,librsvg)))
4302 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4303 (synopsis "Solitaire card games")
4304 (description
4305 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4306which are easy to play with the aid of a mouse.")
4307 (license license:gpl3+)))
4a79e256 4308
f828d05b
KK
4309(define-public amtk
4310 (package
4311 (name "amtk")
0e08ca14 4312 (version "5.0.2")
f828d05b
KK
4313 (source (origin
4314 (method url-fetch)
bf92ba6b 4315 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4316 (version-major+minor version) "/"
bf92ba6b 4317 "amtk-" version ".tar.xz"))
f828d05b
KK
4318 (sha256
4319 (base32
0e08ca14 4320 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4321 (build-system gnu-build-system)
4322 (arguments
4323 '(#:configure-flags '("--enable-gtk-doc")))
4324 (native-inputs
4325 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4326 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4327 ("gtk-doc" ,gtk-doc)
4328 ("pkg-config" ,pkg-config)))
4329 (inputs
4330 `(("glib" ,glib)
4331 ("gtk+" ,gtk+)))
4332 (home-page "https://wiki.gnome.org/Projects/Amtk")
4333 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4334 (description
4335 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4336It is a basic GtkUIManager replacement based on GAction. It is suitable for
4337both a traditional UI or a modern UI with a GtkHeaderBar.")
4338 (license license:lgpl2.1+)))
4339
4a79e256
SB
4340(define-public devhelp
4341 (package
4342 (name "devhelp")
20db7a3d 4343 (version "3.32.0")
4a79e256
SB
4344 (source (origin
4345 (method url-fetch)
4346 (uri (string-append "mirror://gnome/sources/" name "/"
4347 (version-major+minor version) "/"
4348 name "-" version ".tar.xz"))
4349 (sha256
4350 (base32
20db7a3d 4351 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4352 (build-system meson-build-system)
35407f94 4353 (arguments
20db7a3d
KK
4354 '(#:glib-or-gtk? #t
4355 #:phases
35407f94
EF
4356 (modify-phases %standard-phases
4357 (add-after 'unpack 'skip-gtk-update-icon-cache
4358 ;; Don't create 'icon-theme.cache'.
4359 (lambda _
4360 (substitute* "meson_post_install.py"
4361 (("gtk-update-icon-cache") "true"))
4362 #t)))))
4a79e256
SB
4363 (native-inputs
4364 `(("intltool" ,intltool)
5dd12afc 4365 ("itstool" ,itstool)
11d28bd9
KK
4366 ("gobject-introspection" ,gobject-introspection)
4367 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4368 ("pkg-config" ,pkg-config)))
4369 (inputs
11d28bd9
KK
4370 `(("amtk" ,amtk)
4371 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4372 ("webkitgtk" ,webkitgtk)))
4373 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4374 (synopsis "API documentation browser for GNOME")
4375 (description
4376 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4377natively with GTK-Doc (the API reference system developed for GTK+ and used
4378throughout GNOME for API documentation).")
4379 (license license:gpl2+)))
ba421ab7
MW
4380
4381(define-public cogl
4382 (package
4383 (name "cogl")
54c69ae1 4384 (version "1.22.4")
ba421ab7
MW
4385 (source
4386 (origin
4387 (method url-fetch)
5754f0cf 4388 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4389 (version-major+minor version) "/"
5754f0cf 4390 "cogl-" version ".tar.xz"))
ba421ab7 4391 (sha256
54c69ae1 4392 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4393 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4394 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4395 (build-system gnu-build-system)
4396 (native-inputs
4397 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4398 ("gobject-introspection" ,gobject-introspection)
4399 ;;("xorg-server" ,xorg-server) ; for the test suite
4400 ("pkg-config" ,pkg-config)))
4401 (propagated-inputs
4402 `(("glib" ,glib)
4403 ("gdk-pixbuf" ,gdk-pixbuf)
4404 ("libx11" ,libx11)
4405 ("libxext" ,libxext)
4406 ("libxfixes" ,libxfixes)
4407 ("libxdamage" ,libxdamage)
4408 ("libxcomposite" ,libxcomposite)
4409 ("libxrandr" ,libxrandr)))
4410 (inputs
4411 `(("mesa" ,mesa)
4412 ("cairo" ,cairo)
4413 ("pango" ,pango)
4414 ("gstreamer" ,gstreamer)
31860852
KK
4415 ("gst-plugins-base" ,gst-plugins-base)
4416 ("wayland" ,wayland)))
ba421ab7
MW
4417 (arguments
4418 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4419 "--enable-wayland-egl-platform"
4420 "--enable-wayland-egl-server"
4421
ba421ab7
MW
4422 ;; Arrange to pass an absolute file name to
4423 ;; dlopen for libGL.so.
4424 (string-append "--with-gl-libname="
4425 (assoc-ref %build-inputs "mesa")
4426 "/lib/libGL.so"))
4427 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4428 ;; _FontTransOpen: Unable to Parse address
4429 ;; ${prefix}/share/fonts/X11/misc/
4430 #:tests? #f
4431 #; #:phases
4432 #;
4433 (modify-phases %standard-phases
4434 (add-before 'check 'start-xorg-server
4435 (lambda* (#:key inputs #:allow-other-keys)
4436 ;; The test suite requires a running X server.
4437 (system (format #f "~a/bin/Xvfb :1 &"
4438 (assoc-ref inputs "xorg-server")))
4439 (setenv "DISPLAY" ":1")
4440 #t)))))
89b49245 4441 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4442 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4443 (description
4444 "Cogl is a small library for using 3D graphics hardware to draw pretty
4445pictures. The API departs from the flat state machine style of OpenGL and is
4446designed to make it easy to write orthogonal components that can render
4447without stepping on each others toes.")
4448 (license (list license:expat ; most of the code
4449 license:bsd-3 ; cogl/cogl-point-in-poly.c
4450 license:sgifreeb2.0 ; cogl-path/tesselator/
4451 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4452
4453(define-public clutter
4454 (package
4455 (name "clutter")
6a88e4ee 4456 (version "1.26.2")
fb182b8a
MW
4457 (source
4458 (origin
4459 (method url-fetch)
4460 (uri (string-append "mirror://gnome/sources/" name "/"
4461 (version-major+minor version) "/"
4462 name "-" version ".tar.xz"))
4463 (sha256
4464 (base32
6a88e4ee 4465 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4466 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4467 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4468 (build-system gnu-build-system)
600233bd
LC
4469 (outputs '("out"
4470 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4471 (native-inputs
4472 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4473 ("gobject-introspection" ,gobject-introspection)
4474 ("pkg-config" ,pkg-config)
4475 ("xsltproc" ,libxslt)))
4476 (propagated-inputs
4477 `(("cogl" ,cogl)
4478 ("cairo" ,cairo)
4479 ("atk" ,atk)
4480 ("gtk+" ,gtk+)
4481 ("json-glib" ,json-glib)
4482 ("glib" ,glib)
4483 ("libxcomposite" ,libxcomposite)
4484 ("libxdamage" ,libxdamage)
4485 ("libxext" ,libxext)
4486 ("xinput" ,xinput)))
4487 (inputs
4488 `(("libxkbcommon" ,libxkbcommon)
4489 ("udev" ,eudev)))
4490 (arguments
600233bd
LC
4491 `(#:configure-flags (list "--enable-x11-backend=yes"
4492
4493 ;; This produces share/doc/{clutter,cally}.
4494 (string-append "--with-html-dir="
4495 (assoc-ref %outputs "doc")
4496 "/share/doc"))
fb182b8a
MW
4497 ;; XXX FIXME: Get test suite working. It would probably fail in the
4498 ;; same way the cogl tests fail, since clutter is based on cogl.
4499 #:tests? #f))
4500 (home-page "http://www.clutter-project.org")
476af713 4501 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4502 (description
476af713 4503 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4504creating fast, mainly 2D single window applications such as media box UIs,
4505presentations, kiosk style applications and so on.")
4506 (license license:lgpl2.0+)))
bf7f17ba
MW
4507
4508(define-public clutter-gtk
4509 (package
4510 (name "clutter-gtk")
5d1a3219 4511 (version "1.8.4")
bf7f17ba
MW
4512 (source
4513 (origin
4514 (method url-fetch)
4515 (uri (string-append "mirror://gnome/sources/" name "/"
4516 (version-major+minor version) "/"
4517 name "-" version ".tar.xz"))
4518 (sha256
4519 (base32
5d1a3219 4520 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4521 (build-system gnu-build-system)
4522 (native-inputs
4523 `(("pkg-config" ,pkg-config)
4524 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4525 (propagated-inputs
4526 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4527 `(("clutter" ,clutter)
4528 ("gtk+" ,gtk+)))
4529 (home-page "http://www.clutter-project.org")
476af713 4530 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4531 (description
476af713 4532 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4533creating fast, mainly 2D single window applications such as media box UIs,
4534presentations, kiosk style applications and so on.")
4535 (license license:lgpl2.0+)))
86d6a893
MW
4536
4537(define-public clutter-gst
4538 (package
4539 (name "clutter-gst")
ba07ac19 4540 (version "3.0.27")
86d6a893
MW
4541 (source
4542 (origin
4543 (method url-fetch)
f010f89b 4544 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4545 (version-major+minor version) "/"
f010f89b 4546 "clutter-gst-" version ".tar.xz"))
86d6a893 4547 (sha256
ba07ac19 4548 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4549 (build-system gnu-build-system)
4550 (native-inputs
ba07ac19 4551 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4552 ("pkg-config" ,pkg-config)
4553 ("gobject-introspection" ,gobject-introspection)))
4554 (inputs
4555 `(("clutter" ,clutter)
4556 ("gstreamer" ,gstreamer)
4557 ("gst-plugins-base" ,gst-plugins-base)))
4558 (home-page "http://www.clutter-project.org")
4559 (synopsis "Integration library for using GStreamer with Clutter")
4560 (description
4561 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4562It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4563implements the ClutterGstPlayer interface using playbin. Clutter is an
4564OpenGL-based interactive canvas library.")
86d6a893 4565 (license license:lgpl2.0+)))
607a04ae 4566
30dc88d9
LC
4567(define-public libchamplain
4568 (package
4569 (name "libchamplain")
5564b2c5 4570 (version "0.12.16")
30dc88d9
LC
4571 (source (origin
4572 (method url-fetch)
4573 (uri (string-append
4574 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4575 version ".tar.xz"))
4576 (sha256
4577 (base32
5564b2c5 4578 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4579 (build-system gnu-build-system)
f7c6833f
LF
4580 (arguments '(#:configure-flags '("--enable-vala")))
4581 (native-inputs
4582 `(("gobject-introspection" ,gobject-introspection)
4583 ("pkg-config" ,pkg-config)
4584 ("vala" ,vala)))
30dc88d9
LC
4585 (propagated-inputs
4586 `(("libsoup" ,libsoup)
4587 ("sqlite" ,sqlite)
4588 ("clutter" ,clutter)
4589 ("clutter-gtk" ,clutter-gtk)
4590 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4591 ("cairo" ,cairo)
4592 ("gtk+3" ,gtk+)
4593 ("glib" ,glib)))
f032d0be 4594 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4595 (synopsis "C library providing a ClutterActor to display maps")
4596 (description
4597 "libchamplain is a C library providing a ClutterActor to display maps.
4598It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4599and Perl bindings are also available. It supports numerous free map sources
4600such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4601 (license license:lgpl2.1+)))
4602
607a04ae
MW
4603(define-public gom
4604 (package
4605 (name "gom")
0510440b 4606 (version "0.3.2")
607a04ae
MW
4607 (source
4608 (origin
4609 (method url-fetch)
6c8a0b6f 4610 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4611 (version-major+minor version) "/"
6c8a0b6f 4612 "gom-" version ".tar.xz"))
607a04ae
MW
4613 (sha256
4614 (base32
0510440b 4615 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4616 (build-system gnu-build-system)
4617 (native-inputs
4618 `(("intltool" ,intltool)
4619 ("pkg-config" ,pkg-config)
4620 ("gobject-introspection" ,gobject-introspection)))
4621 (inputs
4622 `(("glib" ,glib)
4623 ("gdk-pixbuf" ,gdk-pixbuf)
4624 ("sqlite" ,sqlite)))
4625 ;; XXX TODO: Figure out how to run the test suite.
4626 (arguments `(#:tests? #f))
4627 (home-page "https://wiki.gnome.org/Projects/Gom")
4628 (synopsis "Object mapper from GObjects to SQLite")
4629 (description
4630 "Gom provides an object mapper from GObjects to SQLite. It helps you
4631write applications that need to store structured data as well as make complex
4632queries upon that data.")
4633 (license license:lgpl2.1+)))
b7a3cf11 4634
865aacc9 4635(define-public libgnome-games-support
f09520db 4636 (package
865aacc9 4637 (name "libgnome-games-support")
4c6d15cf 4638 (version "1.4.4")
f09520db
SB
4639 (source (origin
4640 (method url-fetch)
2d8dca9d 4641 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4642 (version-major+minor version) "/"
2d8dca9d 4643 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4644 (sha256
4645 (base32
4c6d15cf 4646 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4647 (build-system gnu-build-system)
4648 (arguments
4649 '(#:phases
4650 (modify-phases %standard-phases
4651 (add-before 'check 'pre-check
4652 (lambda _
865aacc9 4653 ;; Tests require a writable HOME.
f09520db
SB
4654 (setenv "HOME" (getcwd))
4655 #t)))))
4656 (native-inputs
4657 `(("intltool" ,intltool)
4658 ("pkg-config" ,pkg-config)
4659 ("vala" ,vala)))
4660 (propagated-inputs
865aacc9 4661 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4662 `(("gtk+" ,gtk+)
4663 ("libgee" ,libgee)))
4664 (home-page "https://www.gnome.org/")
4665 (synopsis "Useful functionality shared among GNOME games")
4666 (description
865aacc9 4667 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4668GNOME Games, but it may be used by others.")
4669 (license license:lgpl3+)))
4670
b7a3cf11
SB
4671(define-public gnome-klotski
4672 (package
4673 (name "gnome-klotski")
c1e419c4 4674 (version "3.32.0")
b7a3cf11
SB
4675 (source (origin
4676 (method url-fetch)
4677 (uri (string-append "mirror://gnome/sources/" name "/"
4678 (version-major+minor version) "/"
4679 name "-" version ".tar.xz"))
4680 (sha256
4681 (base32
c1e419c4
KK
4682 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4683 (build-system meson-build-system)
4684 (arguments
4685 '(#:glib-or-gtk? #t
4686 #:phases
4687 (modify-phases %standard-phases
4688 (add-after 'unpack 'skip-gtk-update-icon-cache
4689 ;; Don't create 'icon-theme.cache'.
4690 (lambda _
4691 (substitute* "build-aux/meson_post_install.py"
4692 (("gtk-update-icon-cache") (which "true")))
4693 #t)))))
b7a3cf11
SB
4694 (native-inputs
4695 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4696 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4697 ("intltool" ,intltool)
4698 ("itstool" ,itstool)
bcb354ad 4699 ("pkg-config" ,pkg-config)
c1e419c4 4700 ("vala" ,vala)
bcb354ad 4701 ("xmllint" ,libxml2)))
b7a3cf11
SB
4702 (inputs
4703 `(("gtk+" ,gtk+)
f4eae76f 4704 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4705 ("librsvg" ,librsvg)))
4706 (home-page "https://wiki.gnome.org/Apps/Klotski")
4707 (synopsis "Sliding block puzzles")
4708 (description
4709 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4710the patterned block to the area bordered by green markers. To do so, you will
4711need to slide other blocks out of the way. Complete each puzzle in as few moves
4712as possible!")
4713 (license license:gpl2+)))
8d4791bf
MW
4714
4715(define-public grilo
4716 (package
4717 (name "grilo")
a865e938 4718 (version "0.3.10")
8d4791bf
MW
4719 (source
4720 (origin
4721 (method url-fetch)
4722 (uri (string-append "mirror://gnome/sources/" name "/"
4723 (version-major+minor version) "/"
4724 name "-" version ".tar.xz"))
4725 (sha256
4726 (base32
a865e938 4727 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4728 (build-system meson-build-system)
8d4791bf
MW
4729 (native-inputs
4730 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4731 ("intltool" ,intltool)
4732 ("pkg-config" ,pkg-config)
d48d4c98
KK
4733 ("gobject-introspection" ,gobject-introspection)
4734 ("gtk-doc" ,gtk-doc)
4735 ("vala" ,vala)))
8d4791bf 4736 (inputs
6d7273a0
KK
4737 `(("cyrus-sasl" ,cyrus-sasl)
4738 ("glib" ,glib)
8d4791bf
MW
4739 ("gtk+" ,gtk+)
4740 ("libxml2" ,libxml2)
6d7273a0 4741 ("liboauth" ,liboauth)
8d4791bf
MW
4742 ("libsoup" ,libsoup)
4743 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4744 (native-search-paths
4745 (list (search-path-specification
4746 (variable "GRL_PLUGIN_PATH")
4747 (files (list (string-append "lib/grilo-"
4748 (version-major+minor version)))))))
d48d4c98 4749 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4750 (synopsis "Framework for discovering and browsing media")
4751 (description
4752 "Grilo is a framework focused on making media discovery and browsing easy
4753for application developers.")
4754 (license license:lgpl2.1+)))
7b212526
MW
4755
4756(define-public grilo-plugins
4757 (package
4758 (name "grilo-plugins")
281f6b3a 4759 (version "0.3.10")
7b212526
MW
4760 (source
4761 (origin
4762 (method url-fetch)
4763 (uri (string-append "mirror://gnome/sources/" name "/"
4764 (version-major+minor version) "/"
4765 name "-" version ".tar.xz"))
4766 (sha256
4767 (base32
281f6b3a
RG
4768 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4769 (build-system meson-build-system)
7b212526 4770 (native-inputs
281f6b3a
RG
4771 `(("gettext" ,gettext-minimal)
4772 ("glib:bin" ,glib "bin")
4773 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4774 ("itstool" ,itstool)
4775 ("pkg-config" ,pkg-config)))
281f6b3a 4776 ;; TODO: ahavi, gstreamer
7b212526
MW
4777 (inputs
4778 `(("grilo" ,grilo)
281f6b3a
RG
4779 ;("gmime" ,gmime) ; unused
4780 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4781 ("gom" ,gom)
281f6b3a
RG
4782 ;("gssdp" ,gssdp) ; unused
4783 ;("gupnp" ,gupnp) ; unused
4784 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4785 ("json-glib" ,json-glib)
4786 ("avahi" ,avahi)
281f6b3a
RG
4787 ("libgdata" ,libgdata)
4788 ("libmediaart" ,libmediaart)
4789 ;("librest" ,rest) ; unused
7b212526 4790 ("libsoup" ,libsoup)
281f6b3a
RG
4791 ("totam-pl-parser" ,totem-pl-parser)
4792 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4793 (arguments
281f6b3a
RG
4794 `(#:glib-or-gtk? #t
4795 ;;Disable lua-factory as it needs missing dependencies
4796 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4797 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4798 (synopsis "Plugins for the Grilo media discovery library")
4799 (description
4800 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4801for application developers. This package provides plugins for common media
4802discovery protocols.")
7b212526 4803 (license license:lgpl2.1+)))
4e3fc547
MW
4804
4805(define-public totem
4806 (package
4807 (name "totem")
995ef5ea 4808 (version "3.32.1")
4e3fc547
MW
4809 (source
4810 (origin
4811 (method url-fetch)
4812 (uri (string-append "mirror://gnome/sources/" name "/"
4813 (version-major+minor version) "/"
4814 name "-" version ".tar.xz"))
4815 (sha256
4816 (base32
995ef5ea 4817 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4818 (build-system meson-build-system)
4e3fc547
MW
4819 (native-inputs
4820 `(("pkg-config" ,pkg-config)
4821 ("desktop-file-utils" ,desktop-file-utils)
4822 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4823 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4824 ("intltool" ,intltool)
bcb354ad 4825 ("itstool" ,itstool)
995ef5ea
KK
4826 ("xmllint" ,libxml2)
4827 ("python-pylint" ,python-pylint)
4828 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4829 (propagated-inputs
4830 `(("dconf" ,dconf)))
4831 (inputs
4832 `(("gtk+" ,gtk+)
4833 ("gdk-pixbuf" ,gdk-pixbuf)
4834 ("atk" ,atk)
4835 ("cairo" ,cairo)
4836 ("dbus-glib" ,dbus-glib)
4837 ("clutter" ,clutter)
4838 ("clutter-gtk" ,clutter-gtk)
4839 ("clutter-gst" ,clutter-gst)
6a6db57f 4840 ("xorgproto" ,xorgproto)
4e3fc547
MW
4841 ("libxxf86vm" ,libxxf86vm)
4842 ("libxtst" ,libxtst)
4843 ("libxrandr" ,libxrandr)
4844 ("libxml2" ,libxml2)
4845 ("libsoup" ,libsoup)
4846 ("libpeas" ,libpeas)
4847 ("librsvg" ,librsvg)
4848 ("lirc" ,lirc)
4849 ("gnome-desktop" ,gnome-desktop)
4850 ("gstreamer" ,gstreamer)
4851 ("gst-plugins-base" ,gst-plugins-base)
4852 ("gst-plugins-good" ,gst-plugins-good)
4853 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4854 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4855 ("python" ,python)
995ef5ea 4856 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4857 ("totem-pl-parser" ,totem-pl-parser)
4858 ("grilo" ,grilo)
4859 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4860 ("vala" ,vala)))
4861 (arguments
7ad81b8b
LC
4862 `(#:glib-or-gtk? #t
4863
4864 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4865 ;; all that.
7ad81b8b 4866 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4867
4868 ;; Do not build .a files for the plugins, it's
4869 ;; completely useless. This saves 2 MiB.
7ad81b8b 4870 "--default-library" "shared")
ec5c24f9 4871 #:phases
4e3fc547 4872 (modify-phases %standard-phases
d51b19ad
EF
4873 (add-after 'unpack 'skip-gtk-update-icon-cache
4874 ;; Don't create 'icon-theme.cache'.
4875 (lambda _
4876 (substitute* "meson_post_install.py"
4877 (("gtk-update-icon-cache") "true"))
4878 #t))
6368eb39
DM
4879 (add-before
4880 'install 'disable-cache-generation
4881 (lambda _
4882 (setenv "DESTDIR" "/")
4883 #t))
995ef5ea
KK
4884 (add-before
4885 'check 'pre-check
4886 (lambda _
4887 ;; Tests require a running X server.
4888 (system "Xvfb :1 &")
4889 (setenv "DISPLAY" ":1")
4890 #t))
4e3fc547
MW
4891 (add-after
4892 'install 'wrap-totem
4893 (lambda* (#:key inputs outputs #:allow-other-keys)
4894 (let ((out (assoc-ref outputs "out"))
4895 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4896 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4897 (wrap-program (string-append out "/bin/totem")
4898 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4899 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4900 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4901 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4902 #t)))))
4903 (home-page "https://wiki.gnome.org/Apps/Videos")
4904 (synopsis "Simple media player for GNOME based on GStreamer")
4905 (description "Totem is a simple yet featureful media player for GNOME
4906which can read a large number of file formats.")
4907 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4908 ;; to be used and distributed together with GStreamer and Totem. See
4909 ;; file://COPYING in the source distribution for details.
4910 (license license:gpl2+)))
f0afb0c8
DH
4911
4912(define-public rhythmbox
4913 (package
4914 (name "rhythmbox")
eda580c0 4915 (version "3.4.4")
f0afb0c8
DH
4916 (source (origin
4917 (method url-fetch)
2588693d 4918 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 4919 (version-major+minor version) "/"
2588693d 4920 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
4921 (sha256
4922 (base32
eda580c0 4923 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
4924 (build-system glib-or-gtk-build-system)
4925 (arguments
4926 `(#:configure-flags
4927 (list "--enable-lirc"
4928 "--enable-python"
4929 "--enable-vala"
4930 "--with-brasero"
4931 "--with-gudev"
4932 "--with-libsecret")
4933 #:phases
4934 (modify-phases %standard-phases
4935 (add-after
4936 'install 'wrap-rhythmbox
4937 (lambda* (#:key inputs outputs #:allow-other-keys)
4938 (let ((out (assoc-ref outputs "out"))
4939 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4940 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4941 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4942 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4943 (wrap-program (string-append out "/bin/rhythmbox")
4944 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4945 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4946 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4947 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4948 #t)))))
4949 (propagated-inputs
4950 `(("dconf" ,dconf)))
4951 (native-inputs
bcb354ad
SB
4952 `(("itstool" ,itstool)
4953 ("intltool" ,intltool)
f0afb0c8
DH
4954 ("glib" ,glib "bin")
4955 ("gobject-introspection" ,gobject-introspection)
4956 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4957 ("pkg-config" ,pkg-config)
4958 ("xmllint" ,libxml2)))
f0afb0c8
DH
4959 (inputs
4960 `(("json-glib" ,json-glib)
4961 ("tdb" ,tdb)
4962 ("gnome-desktop" ,gnome-desktop)
4963 ("python" ,python)
4964 ("python-pygobject" ,python2-pygobject)
4965 ("vala" ,vala)
4966 ("gmime" ,gmime)
f0afb0c8
DH
4967 ("adwaita-icon-theme" ,adwaita-icon-theme)
4968 ("grilo" ,grilo)
4969 ("grilo-plugins" ,grilo-plugins)
4970 ("gstreamer" ,gstreamer)
4971 ("gst-plugins-base" ,gst-plugins-base)
4972 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4973 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4974 ("libgudev" ,libgudev)
f0afb0c8
DH
4975 ;;("libmtp" ,libmtp) FIXME: Not detected
4976 ("libsecret" ,libsecret)
4977 ("libsoup" ,libsoup)
4978 ("libnotify" ,libnotify)
4979 ("libpeas" ,libpeas)
4980 ("lirc" ,lirc)
4981 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4982 ;;("clutter" ,clutter)
4983 ;;("clutter-gtk" ,clutter-gtk)
4984 ;;("clutter-gst" ,clutter-gst)
4985 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4986 ("atk" ,atk)
4987 ("pango" ,pango)
4988 ("gtk+" ,gtk+)
4989 ;; TODO:
4990 ;; * libgpod
4991 ;; * mx
f0afb0c8
DH
4992 ("brasero" ,brasero)))
4993 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4994 (synopsis "Music player for GNOME")
4995 (description "Rhythmbox is a music playing application for GNOME. It
4996supports playlists, song ratings, and any codecs installed through gstreamer.")
4997 (license license:gpl2+)))
f70d8383
DH
4998
4999(define-public eog
5000 (package
5001 (name "eog")
b0f24a82 5002 (version "3.32.2")
f70d8383
DH
5003 (source (origin
5004 (method url-fetch)
5005 (uri (string-append "mirror://gnome/sources/" name "/"
5006 (version-major+minor version) "/"
5007 name "-" version ".tar.xz"))
5008 (sha256
5009 (base32
b0f24a82 5010 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 5011 (build-system meson-build-system)
f70d8383 5012 (arguments
34c44a34
RW
5013 `(#:configure-flags
5014 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5015 (list (string-append "-Dc_link_args=-Wl,-rpath="
5016 (assoc-ref %outputs "out") "/lib/eog"))
5017 #:phases
f70d8383 5018 (modify-phases %standard-phases
7a034665
EF
5019 (add-after 'unpack 'skip-gtk-update-icon-cache
5020 ;; Don't create 'icon-theme.cache'.
5021 (lambda _
5022 (substitute* "meson_post_install.py"
5023 (("gtk-update-icon-cache") "true"))
5024 #t))
61fb581f
RW
5025 (add-after 'install 'wrap-eog
5026 (lambda* (#:key outputs #:allow-other-keys)
5027 (let ((out (assoc-ref outputs "out"))
5028 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5029 (wrap-program (string-append out "/bin/eog")
5030 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5031 #t)))))
f70d8383
DH
5032 (propagated-inputs
5033 `(("dconf" ,dconf)))
5034 (native-inputs
5035 `(("intltool" ,intltool)
b3546174 5036 ("itstool" ,itstool)
f70d8383
DH
5037 ("glib" ,glib "bin")
5038 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5039 ("pkg-config" ,pkg-config)
5040 ("xmllint" ,libxml2)))
f70d8383
DH
5041 (inputs
5042 `(("gnome-desktop" ,gnome-desktop)
5043 ("shared-mime-info" ,shared-mime-info)
5044 ("adwaita-icon-theme" ,adwaita-icon-theme)
5045 ("exempi" ,exempi)
5046 ("lcms" ,lcms)
5047 ("libexif" ,libexif)
5048 ("libpeas" ,libpeas)
5049 ("libjpeg" ,libjpeg)
5050 ("librsvg" ,librsvg)
5051 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5052 ("gtk+" ,gtk+)))
5053 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5054 (synopsis "GNOME image viewer")
5055 (description "Eye of GNOME is the GNOME image viewer. It
5056supports image conversion, rotation, and slideshows.")
5057 (license license:gpl2+)))
41af5e7b 5058
0c3f8cb8
LC
5059(define-public eog-plugins
5060 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5061 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5062 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5063 ;; 'XDG_DATA_DIRS' appropriately set.
5064 (package
5065 (name "eog-plugins")
54b74cc6 5066 (version "3.26.4")
0c3f8cb8
LC
5067 (source (origin
5068 (method url-fetch)
f3b88ed2 5069 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5070 (version-major+minor version) "/"
f3b88ed2 5071 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5072 (sha256
5073 (base32
54b74cc6 5074 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5075 (build-system gnu-build-system)
5076 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5077 (synopsis "Extensions for the Eye of GNOME image viewer")
5078 (native-inputs
5079 `(("pkg-config" ,pkg-config)
5080 ("gettext" ,gnu-gettext)))
5081 (inputs
5082 `(("eog" ,eog)
5083 ("glib" ,glib)
5084 ("gtk+" ,gtk+)
5085 ("libpeas" ,libpeas)
5086 ("libexif" ,libexif)
5087 ("libchamplain" ,libchamplain)))
5088 (description
5089 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5090notably:
5091
5092@itemize
5093@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5094@item @dfn{Map}, which displays a map of where the picture was taken on the
5095side panel;
5096@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5097@end itemize\n")
5098
5099 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5100 ;; long suspicious byte stream that goes to a
5101 ;; ".gresource.eog_postasa_plugin" ELF section.
5102 (license license:gpl2+)))
5103
41af5e7b
SB
5104(define-public libgudev
5105 (package
5106 (name "libgudev")
b78f5118 5107 (version "232")
41af5e7b
SB
5108 (source (origin
5109 (method url-fetch)
5110 (uri (string-append "mirror://gnome/sources/" name "/"
5111 version "/" name "-" version ".tar.xz"))
5112 (sha256
5113 (base32
b78f5118 5114 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5115 (build-system gnu-build-system)
b78f5118
RW
5116 (arguments
5117 '(#:configure-flags
5118 ;; umockdev depends on libgudev.
5119 (list "--disable-umockdev")))
41af5e7b
SB
5120 (native-inputs
5121 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5122 ("gobject-introspection" ,gobject-introspection)
5123 ("pkg-config" ,pkg-config)))
5124 (propagated-inputs
5125 `(("glib" ,glib))) ; required by gudev-1.0.pc
5126 (inputs
5127 `(("udev" ,eudev)))
5128 (home-page "https://wiki.gnome.org/Projects/libgudev")
5129 (synopsis "GObject bindings for libudev")
5130 (description
5131 "This library provides GObject bindings for libudev. It was originally
5132part of udev-extras, then udev, then systemd. It's now a project on its own.")
5133 (license license:lgpl2.1+)))
3dc8828f
SB
5134
5135(define-public gvfs
5136 (package
5137 (name "gvfs")
12fe4846 5138 (version "1.40.1")
3dc8828f
SB
5139 (source (origin
5140 (method url-fetch)
1d68eb32 5141 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5142 (version-major+minor version) "/"
1d68eb32 5143 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5144 (sha256
5145 (base32
12fe4846 5146 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5147 (build-system meson-build-system)
3dc8828f 5148 (arguments
e762d943
RW
5149 '(#:glib-or-gtk? #t
5150 #:configure-flags
5151 (list "-Dsystemduserunitdir=no"
5152 "-Dtmpfilesdir=no"
5153 ;; Otherwise, the RUNPATH will lack the final path component.
5154 (string-append "-Dc_link_args=-Wl,-rpath="
5155 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5156 (native-inputs
5157 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5158 ("gettext" ,gettext-minimal)
5159 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5160 ("pkg-config" ,pkg-config)
5161 ("xsltproc" ,libxslt)))
5162 (inputs
5163 `(("avahi" ,avahi)
5164 ("docbook-xml" ,docbook-xml-4.2)
5165 ("docbook-xsl" ,docbook-xsl)
5166 ("dbus" ,dbus)
e762d943 5167 ("elogind" ,elogind)
3dc8828f 5168 ("fuse" ,fuse)
24a78aa6 5169 ("gcr" ,gcr)
3dc8828f 5170 ("glib" ,glib)
e762d943 5171 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5172 ("libarchive" ,libarchive)
5173 ("libbluray" ,libbluray)
8852ca24 5174 ("libcap" ,libcap)
3dc8828f
SB
5175 ("libcdio-paranoia" ,libcdio-paranoia)
5176 ("libgcrypt" ,libgcrypt)
e762d943 5177 ("libgdata" ,libgdata)
3dc8828f
SB
5178 ("libgphoto2" ,libgphoto2)
5179 ("libgudev" ,libgudev)
0ab9f949 5180 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5181 ("libmtp" ,libmtp)
e762d943 5182 ("libnfs" ,libnfs)
3dc8828f
SB
5183 ("libsecret" ,libsecret)
5184 ("libsmbclient" ,samba)
5185 ("libsoup" ,libsoup)
5186 ("libxml2" ,libxml2)
e762d943 5187 ("openssh" ,openssh)
8852ca24 5188 ("polkit" ,polkit)
3dc8828f
SB
5189 ("udisks" ,udisks)))
5190 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5191 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5192 (description
8f65585b 5193 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5194abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5195to all applications using the GIO API. It also supports exposing the GVFS
5196mounts to non-GIO applications using FUSE.
5197
5198GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5199DAV, and others.")
5200 (license license:lgpl2.0+)))
7c88b6bd
AW
5201
5202(define-public gusb
5203 (package
5204 (name "gusb")
536b3274 5205 (version "0.3.0")
7c88b6bd 5206 (source (origin
bbfb36f9
EF
5207 (method git-fetch)
5208 (uri (git-reference
5209 (url "https://github.com/hughsie/libgusb.git")
5210 (commit version)))
5211 (file-name (git-file-name name version))
7c88b6bd
AW
5212 (sha256
5213 (base32
bbfb36f9 5214 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5215 (build-system meson-build-system)
7c88b6bd 5216 (native-inputs
536b3274 5217 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5218 ("pkg-config" ,pkg-config)
5219 ("vala" ,vala)
7c88b6bd
AW
5220 ("gtk-doc" ,gtk-doc)))
5221 (propagated-inputs
5222 ;; Both of these are required by gusb.pc.
5223 `(("glib" ,glib)
5224 ("libusb" ,libusb)))
5225 (arguments
536b3274 5226 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5227 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5228 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5229 (description
5230 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5231asynchronous control, bulk and interrupt transfers with proper cancellation
5232and integration into a mainloop. This makes it easy to integrate low level
5233USB transfers with your high-level application or system daemon.")
5234 (license license:lgpl2.1+)))
0abe1d86
AW
5235
5236(define-public simple-scan
5237 (package
5238 (name "simple-scan")
fe6cfa99 5239 (version "3.36.0")
d9f6d587
TGR
5240 (source
5241 (origin
5242 (method url-fetch)
5243 (uri (string-append "mirror://gnome/sources/simple-scan/"
5244 (version-major+minor version) "/"
5245 "simple-scan-" version ".tar.xz"))
5246 (sha256
fe6cfa99 5247 (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
d9f6d587
TGR
5248 (build-system meson-build-system)
5249 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5250 (arguments
5251 '(#:glib-or-gtk? #t))
0abe1d86
AW
5252 (inputs
5253 `(("gtk" ,gtk+)
5254 ("zlib" ,zlib)
5255 ("cairo" ,cairo)
c501f592 5256 ("colord" ,colord)
0abe1d86
AW
5257 ("gdk-pixbuf" ,gdk-pixbuf)
5258 ("gusb" ,gusb)
4c928743 5259 ("libsane" ,sane-backends)))
0abe1d86 5260 (native-inputs
b94a6ca0 5261 `(("gettext" ,gettext-minimal)
0abe1d86 5262 ("itstool" ,itstool)
c501f592 5263 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5264 ("pkg-config" ,pkg-config)
bcb354ad
SB
5265 ("vala" ,vala)
5266 ("xmllint" ,libxml2)))
dff0eedb 5267 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5268 (synopsis "Document and image scanner")
d9f6d587
TGR
5269 (description
5270 "Document Scanner is an easy-to-use application that lets you connect your
5271scanner and quickly capture images and documents in an appropriate format. It
5272supports any scanner for which a suitable SANE driver is available, which is
5273almost all of them.")
0abe1d86 5274 (license license:gpl3+)))
7549f984 5275
ab466d79
RW
5276(define-public eolie
5277 (package
5278 (name "eolie")
ed783404 5279 (version "0.9.98.1")
ab466d79
RW
5280 (source (origin
5281 (method url-fetch)
ed783404
RW
5282 (uri (string-append "https://adishatz.org/eolie/eolie-"
5283 version ".tar.xz"))
ab466d79
RW
5284 (sha256
5285 (base32
ed783404 5286 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5287 (build-system meson-build-system)
ab466d79 5288 (arguments
00014781
RW
5289 `(#:glib-or-gtk? #t
5290 #:phases
ab466d79 5291 (modify-phases %standard-phases
f0c68100
EF
5292 (add-after 'unpack 'skip-gtk-update-icon-cache
5293 ;; Don't create 'icon-theme.cache'.
5294 (lambda _
5295 (substitute* "meson_post_install.py"
5296 (("gtk-update-icon-cache") "true"))
5297 #t))
ab466d79
RW
5298 (add-after 'wrap 'wrap-more
5299 (lambda* (#:key inputs outputs #:allow-other-keys)
5300 (let* ((out (assoc-ref outputs "out"))
5301 ;; These libraries must be on LD_LIBRARY_PATH.
5302 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5303 "atk" "gtk+" "gsettings-desktop-schemas"
5304 "gobject-introspection"))
5305 (path (string-join
5306 (map (lambda (lib)
5307 (string-append (assoc-ref inputs lib) "/lib"))
5308 libs)
5309 ":")))
5310 (wrap-program (string-append out "/bin/eolie")
5311 `("LD_LIBRARY_PATH" ":" prefix (,path))
5312 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5313 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5314 #t)))))
5315 (native-inputs
f85ca6ed 5316 `(("intltool" ,intltool)
ab466d79 5317 ("itstool" ,itstool)
d95f1041 5318 ("pkg-config" ,pkg-config)
d95f1041 5319 ("python" ,python)
f0c68100 5320 ("glib:bin" ,glib "bin")))
ab466d79
RW
5321 (inputs
5322 `(("gobject-introspection" ,gobject-introspection)
5323 ("glib-networking" ,glib-networking)
5324 ("cairo" ,cairo)
5325 ("gtk+" ,gtk+)
5326 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5327 ("python" ,python-wrapper)
d72f76df 5328 ("python-dateutil" ,python-dateutil)
00014781 5329 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5330 ("python-pygobject" ,python-pygobject)
5331 ("python-pycairo" ,python-pycairo)
00014781 5332 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5333 ("libsecret" ,libsecret)
5334 ("gtkspell3" ,gtkspell3)
5335 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5336 ("webkitgtk" ,webkitgtk)))
166b2c97 5337 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5338 (synopsis "Web browser for GNOME")
5339 (description
5340 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5341a secret password store, an adblocker, and a modern UI.")
5342 (license license:gpl3+)))
5343
7549f984
SB
5344(define-public epiphany
5345 (package
5346 (name "epiphany")
60680365 5347 (version "3.32.5")
7549f984
SB
5348 (source (origin
5349 (method url-fetch)
dd3266ec 5350 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5351 (version-major+minor version) "/"
dd3266ec 5352 "epiphany-" version ".tar.xz"))
7549f984
SB
5353 (sha256
5354 (base32
60680365 5355 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5356
5357 (build-system meson-build-system)
7549f984
SB
5358 (arguments
5359 ;; FIXME: tests run under Xvfb, but fail with:
5360 ;; /src/bookmarks/ephy-bookmarks/create:
5361 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5362 ;; subsystem
5363 ;; FAIL
6f48d9db 5364 '(#:tests? #f
e19f9c24 5365 #:glib-or-gtk? #t
bb7ff88f
EF
5366 #:phases
5367 (modify-phases %standard-phases
5368 (add-after 'unpack 'skip-gtk-update-icon-cache
5369 ;; Don't create 'icon-theme.cache'.
5370 (lambda _
5371 (substitute* "post_install.py"
5372 (("gtk-update-icon-cache") "true"))
5373 #t)))
e19f9c24
LF
5374 #:configure-flags
5375 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5376 (list (string-append "-Dc_link_args=-Wl,-rpath="
5377 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5378 (propagated-inputs
5379 `(("dconf" ,dconf)))
7549f984 5380 (native-inputs
fc5c5b92
R
5381 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5382 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5383 ("intltool" ,intltool)
7549f984 5384 ("itstool" ,itstool)
bcb354ad
SB
5385 ("pkg-config" ,pkg-config)
5386 ("xmllint" ,libxml2)))
7549f984
SB
5387 (inputs
5388 `(("avahi" ,avahi)
5389 ("gcr" ,gcr)
fc5c5b92 5390 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5391 ("glib-networking" ,glib-networking)
5392 ("gnome-desktop" ,gnome-desktop)
5393 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5394 ("json-glib" ,json-glib)
7549f984 5395 ("iso-codes" ,iso-codes)
8748e29c 5396 ("libdazzle" ,libdazzle)
7549f984
SB
5397 ("libnotify" ,libnotify)
5398 ("libsecret" ,libsecret)
7549f984 5399 ("libxslt" ,libxslt)
fc5c5b92 5400 ("nettle" ,nettle) ; for hogweed
7549f984 5401 ("sqlite" ,sqlite)
f85ca6ed 5402 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5403 (home-page "https://wiki.gnome.org/Apps/Web")
5404 (synopsis "GNOME web browser")
5405 (description
5406 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5407principles are simplicity and standards compliance.")
5408 (license license:gpl2+)))
a3856b2c
SB
5409
5410(define-public d-feet
5411 (package
5412 (name "d-feet")
458e9221 5413 (version "0.3.14")
a3856b2c
SB
5414 (source (origin
5415 (method url-fetch)
5416 (uri (string-append "mirror://gnome/sources/" name "/"
5417 (version-major+minor version) "/"
5418 name "-" version ".tar.xz"))
5419 (sha256
5420 (base32
458e9221 5421 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5422 (build-system glib-or-gtk-build-system)
5423 (arguments
5424 '(#:out-of-source? #f ; tests need to run in the source directory.
5425 #:phases
5426 (modify-phases %standard-phases
5427 (add-before
5428 'check 'pre-check
86aff791 5429 (lambda _
a3856b2c
SB
5430 ;; The test suite requires a running X server.
5431 (system "Xvfb :1 &")
5432 (setenv "DISPLAY" ":1")
5433 ;; Don't fail on missing '/etc/machine-id'.
5434 (setenv "DBUS_FATAL_WARNINGS" "0")
5435 ;; tests.py and window.py don't meet E402:
5436 ;; E402 module level import not at top of file
5437 (substitute* "src/tests/Makefile"
86aff791
MW
5438 (("--ignore=E123") "--ignore=E123,E402"))
5439 #t))
a3856b2c
SB
5440 (add-after
5441 'install 'wrap-program
5442 (lambda* (#:key outputs #:allow-other-keys)
5443 (let ((prog (string-append (assoc-ref outputs "out")
5444 "/bin/d-feet")))
5445 (wrap-program prog
5446 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5447 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5448 #t))))))
a3856b2c
SB
5449 (native-inputs
5450 `(("intltool" ,intltool)
5451 ("itstool" ,itstool)
5452 ("pkg-config" ,pkg-config)
5453 ("python-pep8" ,python-pep8)
5454 ("xmllint" ,libxml2)
ff337525 5455 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5456 (inputs
5457 `(("gobject-introspection" ,gobject-introspection)
5458 ("gtk+" ,gtk+)
5459 ("python" ,python-wrapper)
458e9221 5460 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5461 ("python-pygobject" ,python-pygobject)))
5462 (home-page "https://wiki.gnome.org/Apps/DFeet")
5463 (synopsis "D-Bus debugger")
5464 (description
5465 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5466of running programs and invoke methods on those interfaces.")
5467 (license license:gpl2+)))
c3b97bd9
SB
5468
5469(define-public yelp-xsl
5470 (package
5471 (name "yelp-xsl")
b3640e79 5472 (version "3.32.1")
c3b97bd9
SB
5473 (source (origin
5474 (method url-fetch)
5475 (uri (string-append "mirror://gnome/sources/" name "/"
5476 (version-major+minor version) "/"
5477 name "-" version ".tar.xz"))
5478 (sha256
5479 (base32
b3640e79 5480 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5481 (build-system gnu-build-system)
5482 (native-inputs
5483 `(("intltool" ,intltool)
5484 ("itstool" ,itstool)
5485 ("xmllint" ,libxml2)))
5486 (home-page "https://wiki.gnome.org/Apps/Yelp")
5487 (synopsis "XSL stylesheets for Yelp")
5488 (description
5489 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5490to format Docbook and Mallard documents.")
5491 (license license:gpl2+)))
de3d612a
SB
5492
5493(define-public yelp
5494 (package
5495 (name "yelp")
1f1b6d60 5496 (version "3.32.2")
de3d612a
SB
5497 (source (origin
5498 (method url-fetch)
5499 (uri (string-append "mirror://gnome/sources/" name "/"
5500 (version-major+minor version) "/"
5501 name "-" version ".tar.xz"))
5502 (sha256
5503 (base32
1f1b6d60 5504 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5505 (build-system glib-or-gtk-build-system)
5506 (native-inputs
5507 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5508 ("intltool" ,intltool)
5509 ("itstool" ,itstool)
5510 ("pkg-config" ,pkg-config)))
5511 (propagated-inputs
5512 `(("dconf" ,dconf)))
5513 (inputs
ad1b7d8b
SB
5514 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5515 ("libxslt" ,libxslt)
de3d612a 5516 ("sqlite" ,sqlite)
4c28ca1d
SB
5517 ("webkitgtk" ,webkitgtk)
5518 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5519 (home-page "https://wiki.gnome.org/Apps/Yelp")
5520 (synopsis "GNOME help browser")
5521 (description
5522 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5523man, info, and HTML documents. It can locate documents according to the
5524freedesktop.org help system specification.")
5525 (license license:gpl2+)))
122d0d10
SB
5526
5527(define-public yelp-tools
5528 (package
5529 (name "yelp-tools")
2089bca5 5530 (version "3.28.0")
122d0d10
SB
5531 (source (origin
5532 (method url-fetch)
5533 (uri (string-append "mirror://gnome/sources/" name "/"
5534 (version-major+minor version) "/"
5535 name "-" version ".tar.xz"))
5536 (sha256
5537 (base32
2089bca5 5538 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5539 (build-system gnu-build-system)
5540 (native-inputs
5541 `(("pkg-config" ,pkg-config)))
5542 (propagated-inputs
5543 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5544 `(("itstool" ,itstool)
5545 ("xmllint" ,libxml2)
5546 ("xsltproc" ,libxslt)))
5547 (inputs
5548 `(("yelp-xsl" ,yelp-xsl)))
5549 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5550 (synopsis "Yelp documentation tools")
5551 (description
5552 "Yelp-tools is a collection of scripts and build utilities to help create,
5553manage, and publish documentation for Yelp and the web. Most of the heavy
5554lifting is done by packages like yelp-xsl and itstool. This package just
5555wraps things up in a developer-friendly way.")
5556 (license license:gpl2+)))
af8f9f23 5557
4ed041d9
MB
5558(define-public yelp-tools/fixed
5559 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5560 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5561 ;; the next rebuild cycle.
5562 (hidden-package
5563 (package/inherit
5564 yelp-tools
5565 (propagated-inputs
5566 `(("itstool" ,itstool/fixed)
5567 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5568
af8f9f23
RW
5569(define-public libgee
5570 (package
5571 (name "libgee")
9cedae2a 5572 (version "0.20.3")
af8f9f23
RW
5573 (source (origin
5574 (method url-fetch)
84a1b007 5575 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5576 (version-major+minor version) "/"
84a1b007 5577 "libgee-" version ".tar.xz"))
af8f9f23
RW
5578 (sha256
5579 (base32
9cedae2a 5580 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5581 (build-system gnu-build-system)
5582 (arguments
5583 `(#:phases
5584 (modify-phases %standard-phases
5585 (add-after 'unpack 'fix-introspection-install-dir
5586 (lambda* (#:key outputs #:allow-other-keys)
5587 (let ((out (assoc-ref outputs "out")))
5588 (substitute* "gee/Makefile.in"
5589 (("@INTROSPECTION_GIRDIR@")
5590 (string-append out "/share/gir-1.0/"))
5591 (("@INTROSPECTION_TYPELIBDIR@")
5592 (string-append out "/lib/girepository-1.0/")))))))))
5593 (native-inputs
5594 `(("glib" ,glib "bin")
5595 ("pkg-config" ,pkg-config)))
5596 (inputs
5597 `(("glib" ,glib)
5598 ("gobject-introspection" ,gobject-introspection)))
5599 (home-page "https://wiki.gnome.org/Projects/Libgee")
5600 (synopsis "GObject collection library")
5601 (description
5602 "Libgee is a utility library providing GObject-based interfaces and
5603classes for commonly used data structures.")
5604 (license license:lgpl2.1+)))
b0f9c4b8
RW
5605
5606(define-public gexiv2
5607 (package
5608 (name "gexiv2")
b1a8b408 5609 (version "0.12.0")
b0f9c4b8
RW
5610 (source (origin
5611 (method url-fetch)
5612 (uri (string-append "mirror://gnome/sources/" name "/"
5613 (version-major+minor version) "/"
5614 name "-" version ".tar.xz"))
5615 (sha256
5616 (base32
b1a8b408 5617 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5618 (build-system meson-build-system)
b0f9c4b8 5619 (native-inputs
b1a8b408
KK
5620 `(("gcr" ,gcr)
5621 ("glib" ,glib "bin")
5622 ("pkg-config" ,pkg-config)
5623 ("vala" ,vala)))
b0f9c4b8
RW
5624 (propagated-inputs
5625 ;; Listed in "Requires" section of gexiv2.pc
5626 `(("exiv2" ,exiv2)))
5627 (inputs
5628 `(("glib" ,glib)
5629 ("gobject-introspection" ,gobject-introspection)))
5630 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5631 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5632 (description
5633 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5634allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5635metadata in photo and video files of various formats.")
5636 (license license:gpl2+)))
fed5a689
RW
5637
5638(define-public shotwell
5639 (package
5640 (name "shotwell")
bcea20cc 5641 (version "0.30.8")
fed5a689
RW
5642 (source (origin
5643 (method url-fetch)
5497d682 5644 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5645 (version-major+minor version) "/"
5497d682 5646 "shotwell-" version ".tar.xz"))
fed5a689
RW
5647 (sha256
5648 (base32
bcea20cc 5649 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5650 (build-system meson-build-system)
5651 (arguments
5a0beca3
EF
5652 '(#:glib-or-gtk? #t
5653 #:phases
5654 (modify-phases %standard-phases
5655 (add-after 'unpack 'skip-gtk-update-icon-cache
5656 (lambda _
5657 (substitute* "build-aux/meson/postinstall.py"
5658 (("gtk-update-icon-cache") (which "true"))
5659 (("update-desktop-database") (which "true")))
5660 #t)))))
735b8db6
TGR
5661 (propagated-inputs
5662 `(("dconf" ,dconf)))
fed5a689 5663 (native-inputs
5a0beca3
EF
5664 `(("gettext" ,gettext-minimal)
5665 ("glib:bin" ,glib "bin")
735b8db6 5666 ("itstool" ,itstool)
3b79afa6 5667 ("pkg-config" ,pkg-config)
735b8db6 5668 ("vala" ,vala)))
fed5a689 5669 (inputs
5a0beca3
EF
5670 `(("gcr" ,gcr)
5671 ("gexiv2" ,gexiv2)
fed5a689 5672 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5673 ("gstreamer" ,gstreamer)
5674 ("json-glib" ,json-glib)
dfb0323d 5675 ("libgdata" ,libgdata)
fed5a689 5676 ("libgee" ,libgee)
5a0beca3
EF
5677 ("libgphoto2" ,libgphoto2)
5678 ("libgudev" ,libgudev)
fed5a689 5679 ("libraw" ,libraw)
fed5a689
RW
5680 ("libsoup" ,libsoup)
5681 ("libxml2" ,libxml2)
5a0beca3
EF
5682 ("sqlite" ,sqlite)
5683 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5684 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5685 (synopsis "Photo manager for GNOME 3")
5686 (description
5687 "Shotwell is a digital photo manager designed for the GNOME desktop
5688environment. It allows you to import photos from disk or camera, organize
5689them by keywords and events, view them in full-window or fullscreen mode, and
5690share them with others via social networking and more.")
5691 (license license:lgpl2.1+)))
293ff8b2
DT
5692
5693(define-public file-roller
5694 (package
5695 (name "file-roller")
dcae4270 5696 (version "3.32.3")
293ff8b2
DT
5697 (source (origin
5698 (method url-fetch)
f89a27c6 5699 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5700 (version-major+minor version) "/"
f89a27c6 5701 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5702 (sha256
5703 (base32
dcae4270 5704 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5705 (build-system meson-build-system)
293ff8b2 5706 (native-inputs
0a500745
RW
5707 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5708 ("intltool" ,intltool)
4c96e5d1 5709 ("itstool" ,itstool)
0a500745
RW
5710 ("pkg-config" ,pkg-config)
5711 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5712 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5713 ;; TODO: Add libnautilus.
5714 (inputs
5715 `(("gtk+" ,gtk+)
5716 ("gdk-pixbuf" ,gdk-pixbuf)
5717 ("json-glib" ,json-glib)
5718 ("libarchive" ,libarchive)
5719 ("libnotify" ,libnotify)
4c96e5d1 5720 ("nettle" ,nettle)
293ff8b2
DT
5721 ("libxml2" ,libxml2)))
5722 (synopsis "Graphical archive manager for GNOME")
5723 (description "File Roller is an archive manager for the GNOME desktop
5724environment that allows users to view, unpack, and create compressed archives
5725such as gzip tarballs.")
5726 (home-page "http://fileroller.sourceforge.net/")
5727 (license license:gpl2+)))
7ce49365
SB
5728
5729(define-public gnome-session
5730 (package
5731 (name "gnome-session")
1fc2ec79 5732 (version "3.32.0")
7ce49365
SB
5733 (source (origin
5734 (method url-fetch)
5735 (uri (string-append "mirror://gnome/sources/" name "/"
5736 (version-major+minor version) "/"
5737 name "-" version ".tar.xz"))
5738 (sha256
5739 (base32
1fc2ec79 5740 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5741 (arguments
df278071
RW
5742 '(#:glib-or-gtk? #t
5743 #:phases
2914af3c
AW
5744 (modify-phases %standard-phases
5745 (add-before 'configure 'pre-configure
5746 (lambda* (#:key outputs #:allow-other-keys)
5747 ;; Use elogind instead of systemd.
df278071
RW
5748 (substitute* "meson.build"
5749 (("libsystemd-login") "libelogind")
5750 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5751 (substitute* "gnome-session/gsm-systemd.c"
5752 (("#include <systemd/sd-login.h>")
5753 "#include <elogind/sd-login.h>"))
df278071 5754 ;; Remove uses of the systemd daemon.
803ab416
SB
5755 (substitute* "gnome-session/gsm-autostart-app.c"
5756 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5757 #t))
5758 (add-after 'install 'wrap-gnome-session
5759 (lambda* (#:key inputs outputs #:allow-other-keys)
5760 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5761 (let ((glib (assoc-ref inputs "glib:bin"))
5762 (out (assoc-ref outputs "out")))
5763 (wrap-program (string-append out "/bin/gnome-session")
5764 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5765 #t))))
6cbc8d57 5766
2914af3c 5767 #:configure-flags
df278071
RW
5768 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5769 "-Dman=false" ; FIXME: disabled because of docbook validation error
5770 "-Dsystemd_journal=false")))
5771 (build-system meson-build-system)
7ce49365
SB
5772 (native-inputs
5773 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5774 ("pkg-config" ,pkg-config)
5775 ("intltool" ,intltool)
df278071
RW
5776 ("xsltproc" ,libxslt)
5777 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5778 ("docbook-xsl" ,docbook-xsl)
5779 ("docbook-xml" ,docbook-xml)
5780 ("xmlto" ,xmlto)))
7ce49365 5781 (inputs
2914af3c
AW
5782 `(("elogind" ,elogind)
5783 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5784 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5785 ("gtk+" ,gtk+)
5786 ("json-glib" ,json-glib)
5787 ("libsm" ,libsm)
5788 ("libxcomposite" ,libxcomposite)
5789 ("libxtst" ,libxtst)
5790 ("mesa" ,mesa)
5791 ("upower" ,upower)
5792 ("xtrans" ,xtrans)))
5793 (synopsis "Session manager for GNOME")
5794 (description
5795 "This package contains the GNOME session manager, as well as a
5796configuration program to choose applications starting on login.")
5797 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5798 (license license:gpl2+)))
f47ba77e
SB
5799
5800(define-public gjs
5801 (package
5802 (name "gjs")
d054fbf5 5803 (version "1.56.2")
f47ba77e
SB
5804 (source (origin
5805 (method url-fetch)
5806 (uri (string-append "mirror://gnome/sources/" name "/"
5807 (version-major+minor version) "/"
5808 name "-" version ".tar.xz"))
5809 (sha256
5810 (base32
d054fbf5 5811 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5812 (build-system gnu-build-system)
5813 (arguments
5814 '(#:phases
5815 (modify-phases %standard-phases
5816 (add-before
5817 'check 'pre-check
5818 (lambda _
fc119619
MW
5819 ;; The test suite requires a running X server.
5820 (system "Xvfb :1 &")
5821 (setenv "DISPLAY" ":1")
5822
f47ba77e
SB
5823 ;; For the missing /etc/machine-id.
5824 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5825
144f94d0
KK
5826 ;; Our mozjs-38 package does not compile the required Intl API
5827 ;; support for these failing tests.
5828 (substitute* "installed-tests/js/testLocale.js"
5829 ((".*toBeDefined.*") "")
5830 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5831 (substitute* "installed-tests/scripts/testCommandLine.sh"
5832 (("Valentín") "")
5833 (("☭") ""))
f47ba77e
SB
5834 #t)))))
5835 (native-inputs
8a831c6f 5836 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5837 ("pkg-config" ,pkg-config)
5838 ("xmllint" ,libxml2)
5839 ;; For testing
5840 ("dbus-launch" ,dbus)
5841 ("uuidgen" ,util-linux)
ebebee94 5842 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5843 (propagated-inputs
5844 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5845 `(("cairo" ,cairo)
5846 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5847 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5848 (inputs
5849 `(("gtk+" ,gtk+)
5850 ("readline" ,readline)))
5851 (synopsis "Javascript bindings for GNOME")
f032d0be 5852 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5853 (description
5854 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5855javascript engine and the GObject introspection framework.")
5856 (license license:gpl2+)))
329d731b
DH
5857
5858(define-public gedit
5859 (package
5860 (name "gedit")
480c9226 5861 (version "3.32.2")
329d731b
DH
5862 (source (origin
5863 (method url-fetch)
5864 (uri (string-append "mirror://gnome/sources/" name "/"
5865 (version-major+minor version) "/"
5866 name "-" version ".tar.xz"))
5867 (sha256
5868 (base32
480c9226
KK
5869 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5870 (build-system meson-build-system)
329d731b 5871 (arguments
480c9226
KK
5872 `(#:glib-or-gtk? #t
5873 #:configure-flags
5874 ;; Otherwise, the RUNPATH will lack the final path component.
5875 (list (string-append "-Dc_link_args=-Wl,-rpath="
5876 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5877
5878 ;; XXX: Generated .h files are sometimes used before being built.
5879 #:parallel-build? #f
5880
480c9226 5881 #:phases
329d731b 5882 (modify-phases %standard-phases
480c9226
KK
5883 (add-after 'unpack 'skip-gtk-update-icon-cache
5884 ;; Don't create 'icon-theme.cache'.
5885 (lambda _
5886 (substitute* "build-aux/meson/post_install.py"
5887 (("gtk-update-icon-cache") (which "true")))
5888 #t))
5889 (add-after 'unpack 'patch-libgd-fetch
5890 (lambda* (#:key inputs #:allow-other-keys)
5891 (let ((libgd (assoc-ref inputs "libgd")))
5892 ;; Calling git is unnecessary because libgd is fetched as a
5893 ;; native input to this package.
5894 (substitute* "meson.build"
5895 ((".*git.*") ""))
5896 (copy-recursively libgd "subprojects/libgd")
5897 #t)))
5898 (add-after 'install 'wrap-gedit
5899 (lambda* (#:key inputs outputs #:allow-other-keys)
5900 (let ((out (assoc-ref outputs "out"))
5901 (gtksourceview (assoc-ref inputs "gtksourceview"))
5902 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5903 (python-path (getenv "PYTHONPATH")))
5904 (wrap-program (string-append out "/bin/gedit")
5905 ;; For plugins.
5906 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5907 `("PYTHONPATH" ":" prefix (,python-path))
5908 ;; For language-specs.
5909 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5910 "/share")))))
5911 #t)))))
329d731b
DH
5912 (propagated-inputs
5913 `(("dconf" ,dconf)))
5914 (native-inputs
480c9226
KK
5915 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5916 ("intltool" ,intltool)
b3546174 5917 ("itstool" ,itstool)
480c9226 5918 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5919 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5920 ("libgd"
5921 ,(origin
5922 (method git-fetch)
5923 (uri (git-reference
5924 (url "https://gitlab.gnome.org/GNOME/libgd")
5925 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5926 (file-name (git-file-name "libgd" version))
5927 (sha256
5928 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5929 ("pkg-config" ,pkg-config)))
5930 (inputs
5931 `(("glib" ,glib)
0d2df50c 5932 ("gspell" ,gspell)
329d731b 5933 ("gtk+" ,gtk+)
480c9226 5934 ("gtksourceview" ,gtksourceview)
329d731b
DH
5935 ("libpeas" ,libpeas)
5936 ("libxml2" ,libxml2)
329d731b
DH
5937 ("iso-codes" ,iso-codes)
5938 ("python-pygobject" ,python-pygobject)
5939 ("python" ,python)
5940 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5941 ("libx11" ,libx11)
5942 ("vala" ,vala)
5943 ("adwaita-icon-theme" ,adwaita-icon-theme)
5944 ("libsoup" ,libsoup)
5945 ("gnome-desktop" ,gnome-desktop)))
5946 (home-page "https://wiki.gnome.org/Apps/Gedit")
5947 (synopsis "GNOME text editor")
5948 (description "While aiming at simplicity and ease of use, gedit is a
5949powerful general purpose text editor.")
5950 (license license:gpl2+)))
b7179363
SB
5951
5952(define-public zenity
5953 (package
5954 (name "zenity")
4f581bd0 5955 (version "3.32.0")
b7179363
SB
5956 (source (origin
5957 (method url-fetch)
5958df04 5958 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5959 (version-major+minor version) "/"
5958df04 5960 "zenity-" version ".tar.xz"))
b7179363
SB
5961 (sha256
5962 (base32
4f581bd0 5963 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5964 (build-system gnu-build-system)
5965 (native-inputs
b94a6ca0 5966 `(("gettext" ,gettext-minimal)
b7179363
SB
5967 ("itstool" ,itstool)
5968 ("pkg-config" ,pkg-config)))
5969 (inputs
5970 `(("libnotify" ,libnotify)
5971 ("webkitgtk" ,webkitgtk)))
5972 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5973 (home-page "https://www.gnome.org")
b7179363
SB
5974 (description
5975 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5976to display dialog boxes from the commandline and shell scripts.")
5977 (license license:lgpl2.0+)))
60c3627c
SB
5978
5979(define-public mutter
5980 (package
5981 (name "mutter")
edf43f68 5982 (version "3.32.2")
60c3627c 5983 (source (origin
86c44e72
KK
5984 (method url-fetch)
5985 (uri (string-append "mirror://gnome/sources/" name "/"
5986 (version-major+minor version) "/"
5987 name "-" version ".tar.xz"))
60c3627c
SB
5988 (sha256
5989 (base32
edf43f68 5990 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5991 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5992 ;; versions of cogl and clutter. As a result, many of the inputs,
5993 ;; propagated-inputs, and configure flags used in cogl and clutter are
5994 ;; needed here as well.
edf43f68 5995 (build-system meson-build-system)
60c3627c 5996 (arguments
edf43f68
KK
5997 '(;; XXX: All mutter tests fail with the following error:
5998 ;; Settings schema 'org.gnome.mutter' is not installed
5999 #:tests? #f
6000 #:glib-or-gtk? #t
6001 #:configure-flags
6002 ;; Otherwise, the RUNPATH will lack the final path component.
6003 (list (string-append "-Dc_link_args=-Wl,-rpath="
6004 (assoc-ref %outputs "out") "/lib:"
6005 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
6006
6007 ;; The following flags are needed for the bundled clutter
edf43f68 6008 (string-append "-Dxwayland_path="
d633f2f6
RH
6009 (assoc-ref %build-inputs "xorg-server-xwayland")
6010 "/bin/Xwayland")
6011
a88d5a0c 6012 ;; the remaining flags are needed for the bundled cogl
edf43f68 6013 (string-append "-Dopengl_libname="
a88d5a0c 6014 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6015 "/lib/libGL.so"))
6016 #:phases
6017 (modify-phases %standard-phases
edf43f68
KK
6018 (add-after 'unpack 'disable-werror
6019 (lambda _
6020 ;; XXX: build fails with [-Werror]:
6021 ;; backends/meta-cursor-renderer.c:112:5: error:
6022 ;; implicit declaration of function ?roundf?
6023 (substitute* "meson.build"
6024 (("'-Werror=.*',") ""))
6025 #t))
86c44e72
KK
6026 ;; Replace references to systemd libraries to elogind references.
6027 (add-before 'configure 'use-elogind
6028 (lambda _
edf43f68 6029 (substitute* (list "meson.build"
86c44e72
KK
6030 "src/backends/native/meta-launcher.c"
6031 "src/core/main.c")
6032 (("systemd") "elogind"))
6033 #t)))))
60c3627c
SB
6034 (native-inputs
6035 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6036 ("gobject-introspection" ,gobject-introspection)
6037 ("intltool" ,intltool)
f23052a6 6038 ("pkg-config" ,pkg-config)
edf43f68 6039 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6040 ;; For git build
6041 ("autoconf" ,autoconf)
6042 ("automake" ,automake)
6043 ("libtool" ,libtool)))
60c3627c 6044 (propagated-inputs
a88d5a0c
MW
6045 `(;; libmutter.pc refers to these:
6046 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6047 ("gtk+" ,gtk+)
6048 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6049 ("atk" ,atk)
6050 ("cairo" ,cairo)
6051 ("gdk-pixbuf" ,gdk-pixbuf)
6052 ("glib" ,glib)
a88d5a0c
MW
6053 ("json-glib" ,json-glib)
6054 ("libinput" ,libinput)
6055 ("libx11" ,libx11)
6056 ("libxcomposite" ,libxcomposite)
6057 ("libxdamage" ,libxdamage)
6058 ("libxext" ,libxext)
6059 ("libxfixes" ,libxfixes)
6060 ("libxkbcommon" ,libxkbcommon)
6061 ("libxrandr" ,libxrandr)
6062 ("mesa" ,mesa)
6063 ("pango" ,pango)
6064 ("udev" ,eudev)
a88d5a0c 6065 ("xinput" ,xinput)))
60c3627c 6066 (inputs
86c44e72
KK
6067 `(("elogind" ,elogind)
6068 ("gnome-desktop" ,gnome-desktop)
edf43f68 6069 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6070 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6071 ("libgudev" ,libgudev)
60c3627c
SB
6072 ("libice" ,libice)
6073 ("libsm" ,libsm)
edf43f68 6074 ("libwacom" ,libwacom)
60c3627c 6075 ("libxkbfile" ,libxkbfile)
a88d5a0c 6076 ("libxrandr" ,libxrandr)
86c44e72 6077 ("libxtst" ,libxtst)
edf43f68 6078 ("pipewire" ,pipewire)
60c3627c
SB
6079 ("startup-notification" ,startup-notification)
6080 ("upower-glib" ,upower)
6081 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6082 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6083 ("zenity" ,zenity)))
6084 (synopsis "Window and compositing manager")
f032d0be 6085 (home-page "https://www.gnome.org")
60c3627c
SB
6086 (description
6087 "Mutter is a window and compositing manager that displays and manages your
6088desktop via OpenGL. Mutter combines a sophisticated display engine using the
6089Clutter toolkit with solid window-management logic inherited from the Metacity
6090window manager.")
86c44e72 6091 (license license:gpl2+)))
685cee87
SB
6092
6093(define-public gnome-online-accounts
6094 (package
6095 (name "gnome-online-accounts")
aa200347 6096 (version "3.32.1")
685cee87
SB
6097 (source (origin
6098 (method url-fetch)
6099 (uri (string-append "mirror://gnome/sources/" name "/"
6100 (version-major+minor version) "/"
6101 name "-" version ".tar.xz"))
6102 (sha256
6103 (base32
aa200347 6104 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6105 (outputs '("out" "lib"))
685cee87 6106 (build-system glib-or-gtk-build-system)
14c297fd
TS
6107 (arguments
6108 `(#:configure-flags
6109 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6110 #:phases
6111 (modify-phases %standard-phases
6112 (add-before 'configure 'patch-libgoa-output
6113 (lambda* (#:key outputs #:allow-other-keys)
6114 (let ((lib (assoc-ref outputs "lib")))
6115 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6116 (("@prefix@") lib)
6117 (("@exec_prefix@") lib)
6118 (("@libdir@") (string-append lib "/lib"))
6119 (("@includedir@") (string-append lib "/include"))
6120 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6121 ;; Make sure gobject-introspection knows about the output
6122 ;; too (see <https://bugs.gnu.org/36535>).
6123 (setenv "outputs" "out lib")
14c297fd 6124 #t))))))
685cee87
SB
6125 (native-inputs
6126 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6127 ("gobject-introspection" ,gobject-introspection)
6128 ("intltool" ,intltool)
6129 ("pkg-config" ,pkg-config)
ebb2873d 6130 ("vala" ,vala)
685cee87
SB
6131 ("xsltproc" ,libxslt)))
6132 (propagated-inputs
6133 `(("glib" ,glib) ; required by goa-1.0.pc
6134 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6135 (inputs
6136 `(("docbook-xsl" ,docbook-xsl)
6137 ("json-glib" ,json-glib)
6138 ("libsecret" ,libsecret)
6139 ("rest" ,rest)
685cee87
SB
6140 ("webkitgtk" ,webkitgtk)))
6141 (synopsis "Single sign-on framework for GNOME")
6142 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6143 (description
6144 "GNOME Online Accounts provides interfaces so that applications and
6145libraries in GNOME can access the user's online accounts. It has providers for
6146Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6147Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6148 (license license:lgpl2.0+)))
df217748
SB
6149
6150(define-public evolution-data-server
6151 (package
6152 (name "evolution-data-server")
2196a8d4 6153 (version "3.32.4")
df217748
SB
6154 (source (origin
6155 (method url-fetch)
6156 (uri (string-append "mirror://gnome/sources/" name "/"
6157 (version-major+minor version) "/"
6158 name "-" version ".tar.xz"))
43190ac6
MB
6159 (patches (search-patches "evolution-data-server-locales.patch"
6160 "evolution-data-server-libical-compat.patch"))
df217748
SB
6161 (sha256
6162 (base32
2196a8d4 6163 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6164 (build-system cmake-build-system)
df217748 6165 (arguments
b468eedc
RW
6166 '(#:configure-flags
6167 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6168 (runpaths (map (lambda (s)
6169 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6170 '("addressbook-backends" "calendar-backends"
6171 "camel-providers" "credential-modules"
6172 "registry-modules"))))
6173 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6174 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6175 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6176 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6177 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6178 (string-append lib "/evolution-data-server;")
6179 (string-join runpaths ";"))
6180 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6181 #:phases
6182 (modify-phases %standard-phases
b468eedc
RW
6183 (add-after 'unpack 'disable-failing-tests
6184 (lambda _
6185 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6186 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6187 (delete-file-recursively "tests/book-migration")
6188 (substitute* "tests/CMakeLists.txt"
6189 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6190 ;; tests/libebook/client/test-book-client-view-operations:8077):
6191 ;; e-data-server-WARNING **:
6192 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6193 ;; runtime check failed:
6194 ;; (!g_main_context_pending (closure->main_context))
6195 (substitute* "tests/libebook/client/CMakeLists.txt"
6196 (("test-book-client-view-operations") ""))
b468eedc 6197 #t))
743aebd7 6198 (add-after 'unpack 'patch-paths
df217748 6199 (lambda _
b468eedc
RW
6200 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6201 "tests/libedata-book/data-test-utils.c"
6202 "tests/libedata-book/test-book-cache-utils.c"
6203 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6204 (("/bin/rm") (which "rm")))
ac033c7b
MB
6205 #t))
6206 (add-before 'configure 'dont-override-rpath
6207 (lambda _
6208 (substitute* "CMakeLists.txt"
6209 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6210 ;; Remove it so the configure flag is respected.
6211 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6212 #t)))))
df217748
SB
6213 (native-inputs
6214 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6215 ("gobject-introspection" ,gobject-introspection)
6216 ("gperf" ,gperf)
6217 ("intltool" ,intltool)
6218 ("pkg-config" ,pkg-config)
a73c1cf8 6219 ("vala" ,vala)
743aebd7 6220 ("python" ,python-wrapper)))
df217748
SB
6221 (propagated-inputs
6222 ;; These are all in the Requires field of .pc files.
6223 `(("gtk+" ,gtk+)
6224 ("libical" ,libical)
6225 ("libsecret" ,libsecret)
6226 ("libsoup" ,libsoup)
6227 ("nss" ,nss)
6228 ("sqlite" ,sqlite)))
6229 (inputs
6230 `(("bdb" ,bdb)
6231 ("gcr" ,gcr)
14c297fd 6232 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6233 ("json-glib" ,json-glib)
b468eedc 6234 ("libcanberra" ,libcanberra)
743aebd7
MB
6235 ("libgweather" ,libgweather)
6236 ("mit-krb5" ,mit-krb5)
891199c6
MW
6237 ("openldap" ,openldap)
6238 ("webkitgtk" ,webkitgtk)))
df217748
SB
6239 (synopsis "Store address books and calendars")
6240 (home-page "https://wiki.gnome.org/Apps/Evolution")
6241 (description
6242 "This package provides a unified backend for programs that work with
6243contacts, tasks, and calendar information. It was originally developed for
6244Evolution (hence the name), but is now used by other packages as well.")
6245 (license license:lgpl2.0)))
bd7dfafa
SB
6246
6247(define-public caribou
6248 (package
6249 (name "caribou")
fe964bb5 6250 (version "0.4.21")
bd7dfafa
SB
6251 (source (origin
6252 (method url-fetch)
6253 (uri (string-append "mirror://gnome/sources/" name "/"
6254 (version-major+minor version) "/"
6255 name "-" version ".tar.xz"))
6256 (sha256
6257 (base32
fe964bb5 6258 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6259 (build-system glib-or-gtk-build-system)
6260 (arguments
6261 '(#:phases
6262 (modify-phases %standard-phases
6263 (add-before
6264 'build 'pre-build
6265 (lambda* (#:key outputs #:allow-other-keys)
6266 (let ((out (assoc-ref outputs "out")))
6267 ;; Use absolute shared library path in Caribou-1.0.typelib.
6268 (substitute* "libcaribou/Makefile"
6269 (("--shared-library=libcaribou.so")
6270 (string-append "--shared-library="
6271 out "/lib/libcaribou.so")))
6272 #t)))
6273 (add-after 'install 'wrap-programs
6274 (lambda* (#:key outputs #:allow-other-keys)
6275 (let* ((out (assoc-ref outputs "out"))
6276 (python-path (getenv "PYTHONPATH"))
6277 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6278 (for-each
6279 (lambda (prog)
6280 (wrap-program prog
6281 `("PYTHONPATH" ":" prefix (,python-path))
6282 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6283 (list (string-append out "/bin/caribou-preferences")
6284 (string-append out "/libexec/antler-keyboard"))))
6285 #t)))))
6286 (native-inputs
6287 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6288 ("gobject-introspection" ,gobject-introspection)
6289 ("intltool" ,intltool)
6290 ("pkg-config" ,pkg-config)
9f7f5ba2 6291 ("python" ,python)
bd7dfafa
SB
6292 ("vala" ,vala)
6293 ("xsltproc" ,libxslt)))
6294 (propagated-inputs
6295 ;; caribou-1.0.pc refers to all these.
6296 `(("libgee" ,libgee)
6297 ("libxklavier" ,libxklavier)
6298 ("libxtst" ,libxtst)
6299 ("gtk+" ,gtk+)))
6300 (inputs
6301 `(("clutter" ,clutter)
6302 ("dconf" ,dconf)
6303 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6304 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6305 (synopsis "Text entry and UI navigation application")
6306 (home-page "https://wiki.gnome.org/Projects/Caribou")
6307 (description
6308 "Caribou is an input assistive technology intended for switch and pointer
6309users.")
6310 (license license:lgpl2.1)))
ba5dd105 6311
ba5dd105
SB
6312(define-public network-manager
6313 (package
6314 (name "network-manager")
6425d87a 6315 (version "1.18.4")
ba5dd105
SB
6316 (source (origin
6317 (method url-fetch)
6318 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6319 (version-major+minor version) "/"
6320 "NetworkManager-" version ".tar.xz"))
7d1861e2 6321 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6322 (sha256
6323 (base32
6425d87a 6324 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6325 (modules '((guix build utils)))
fd070f35 6326 (snippet
02710a9b
RW
6327 '(begin
6328 (substitute* "src/devices/wwan/nm-modem-manager.c"
6329 (("systemd") "elogind"))
6330 #t))))
ba5dd105
SB
6331 (build-system gnu-build-system)
6332 (outputs '("out"
6333 "doc")) ; 8 MiB of gtk-doc HTML
6334 (arguments
6335 '(#:configure-flags
6336 (let ((out (assoc-ref %outputs "out"))
6337 (doc (assoc-ref %outputs "doc"))
6338 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6339 "/sbin/dhclient")))
02710a9b
RW
6340 (list "--with-libnm-glib" ; needed by network-manager-applet
6341 "--with-systemd-journal=no"
6342 "--with-session-tracking=elogind"
6343 "--with-suspend-resume=elogind"
fd070f35
CM
6344 "--with-consolekit=no"
6345 "--with-crypto=gnutls"
ba5dd105
SB
6346 "--disable-config-plugin-ibft"
6347 "--sysconfdir=/etc"
6348 "--localstatedir=/var"
6349 (string-append "--with-udev-dir="
6350 out "/lib/udev")
6351 (string-append "--with-dbus-sys-dir="
6352 out "/etc/dbus-1/system.d")
6353 (string-append "--with-html-dir="
6354 doc "/share/gtk-doc/html")
6355 (string-append "--with-dhclient=" dhclient)))
6356 #:phases
6357 (modify-phases %standard-phases
02710a9b
RW
6358 ;; This bare "ls" invocation breaks some tests.
6359 (add-after 'unpack 'patch-ls-invocation
6360 (lambda _
6361 (substitute* "build-aux/ltmain.sh"
6362 (("`ls -")
6363 (string-append "`" (which "ls") " -")))
6364 #t))
b4f59d87
AW
6365 (add-before 'configure 'pre-configure
6366 (lambda _
6367 ;; These tests try to test aspects of network-manager's
6368 ;; functionality within restricted containers, but they don't
6369 ;; cope with being already in the Guix build jail as that jail
6370 ;; lacks some features that they would like to proxy over (like
6371 ;; a /sys mount).
d04687dc
HG
6372 (substitute* '("Makefile.in")
6373 (("src/platform/tests/test-address-linux") " ")
6374 (("src/platform/tests/test-cleanup-linux") " ")
6375 (("src/platform/tests/test-link-linux") " ")
6376 (("src/platform/tests/test-route-linux") " ")
02710a9b 6377 (("src/devices/tests/test-acd") "")
d04687dc
HG
6378 (("src/devices/tests/test-arping") " ")
6379 (("src/devices/tests/test-lldp") " ")
6380 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6381 #t))
45f80fce
RW
6382 (add-after 'unpack 'delete-failing-tests
6383 (lambda _
02710a9b 6384 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6385 ;; ERROR:libnm-core/tests/test-general.c:5842:
6386 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6387 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6388 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6389 ;; ERROR:libnm-core/tests/test-setting.c:907:
6390 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6391 (substitute* "Makefile.in"
6392 (("libnm-core/tests/test-general") " ")
6393 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6394 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6395 #t))
ba5dd105
SB
6396 (add-before 'check 'pre-check
6397 (lambda _
6398 ;; For the missing /etc/machine-id.
6399 (setenv "DBUS_FATAL_WARNINGS" "0")
6400 #t))
6401 (replace 'install
6402 (lambda _
45f80fce
RW
6403 (invoke "make"
6404 "sysconfdir=/tmp"
6405 "rundir=/tmp"
6406 "statedir=/tmp"
6407 "nmstatedir=/tmp/nm"
6408 "install")
6409 #t)))))
b93502d6
DC
6410 (propagated-inputs
6411 `(("glib" ,glib)))
ba5dd105
SB
6412 (native-inputs
6413 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6414 ("gobject-introspection" ,gobject-introspection)
d04687dc 6415 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6416 ("intltool" ,intltool)
d04687dc
HG
6417 ("libxslt" ,libxslt)
6418 ("libxml2" ,libxml2)
ba5dd105
SB
6419 ("pkg-config" ,pkg-config)
6420 ;; For testing.
6421 ("python" ,python-wrapper)
6422 ("python-dbus" ,python-dbus)
6423 ("python-pygobject" ,python-pygobject)))
6424 (inputs
02710a9b
RW
6425 `(("coreutils" ,coreutils) ; for ls
6426 ("curl" ,curl)
856ca567
KK
6427 ("cyrus-sasl" ,cyrus-sasl)
6428 ("dbus-glib" ,dbus-glib)
ba5dd105 6429 ("dnsmasq" ,dnsmasq)
856ca567 6430 ("eudev" ,eudev)
ba5dd105
SB
6431 ("gnutls" ,gnutls)
6432 ("iptables" ,iptables)
6433 ("isc-dhcp" ,isc-dhcp)
d04687dc 6434 ("jansson" ,jansson)
ba5dd105
SB
6435 ("libgcrypt" ,libgcrypt)
6436 ("libgudev" ,libgudev)
6437 ("libndp" ,libndp)
6438 ("libnl" ,libnl)
6439 ("libsoup" ,libsoup)
142bdcbc 6440 ("modem-manager" ,modem-manager)
c27e02bf 6441 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6442 ("polkit" ,polkit)
6443 ("ppp" ,ppp)
6444 ("readline" ,readline)
fd070f35
CM
6445 ("util-linux" ,util-linux)
6446 ("elogind" ,elogind)))
ba5dd105 6447 (synopsis "Network connection manager")
f032d0be 6448 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6449 (description
6450 "NetworkManager is a system network service that manages your network
6451devices and connections, attempting to keep active network connectivity when
6452available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6453devices, and provides VPN integration with a variety of different VPN
6454services.")
29d2f451
LC
6455 (license license:gpl2+)
6456 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6457
f2b96b3a
LC
6458(define-public network-manager-openvpn
6459 (package
6460 (name "network-manager-openvpn")
be1c4b07 6461 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6462 (version "1.8.10")
f2b96b3a
LC
6463 (source (origin
6464 (method url-fetch)
6465 (uri (string-append
6466 "mirror://gnome/sources/NetworkManager-openvpn/"
6467 (version-major+minor version)
6468 "/NetworkManager-openvpn-" version ".tar.xz"))
6469 (sha256
6470 (base32
7d87eede 6471 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6472 (build-system gnu-build-system)
6473 (arguments
633422b0
JL
6474 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6475 #:phases
6476 (modify-phases %standard-phases
6477 (add-after 'configure 'patch-path
6478 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6479 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6480 "/sbin/openvpn"))
6481 (modprobe (string-append (assoc-ref inputs "kmod")
6482 "/bin/modprobe"))
6483 (pretty-ovpn (string-append "\"" ovpn "\"")))
6484 (for-each
6485 (lambda (file)
6486 (substitute* file
6487 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6488 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6489 (("\"/sbin/openvpn\"") pretty-ovpn)
6490 (("/sbin/modprobe") modprobe)))
6491 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6492 #t)))))
f2b96b3a
LC
6493 (native-inputs
6494 `(("pkg-config" ,pkg-config)
6495 ("intltool" ,intltool)))
6496 (inputs
6497 `(("gtk+" ,gtk+)
633422b0 6498 ("kmod" ,kmod)
f2b96b3a
LC
6499 ("openvpn" ,openvpn)
6500 ("network-manager" ,network-manager)
6501 ("network-manager-applet" ,network-manager-applet) ;for libnma
6502 ("libsecret" ,libsecret)))
6503 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6504 (synopsis "OpenVPN plug-in for NetworkManager")
6505 (description
6506 "This extension of NetworkManager allows it to take care of connections
6507to virtual private networks (VPNs) via OpenVPN.")
6508 (license license:gpl2+)
6509 (properties `((upstream-name . "NetworkManager-openvpn")))))
6510
d376129f
JL
6511(define-public network-manager-vpnc
6512 (package
6513 (name "network-manager-vpnc")
6514 (version "1.2.6")
6515 (source (origin
6516 (method url-fetch)
6517 (uri (string-append
6518 "mirror://gnome/sources/NetworkManager-vpnc/"
6519 (version-major+minor version)
6520 "/NetworkManager-vpnc-" version ".tar.xz"))
6521 (sha256
6522 (base32
6523 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6524 (build-system gnu-build-system)
6525 (arguments
6526 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6527 #:phases
6528 (modify-phases %standard-phases
6529 (add-after 'configure 'patch-path
6530 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6531 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6532 "/sbin/vpnc"))
6533 (modprobe (string-append (assoc-ref inputs "kmod")
6534 "/bin/modprobe"))
6535 (pretty-ovpn (string-append "\"" vpnc "\"")))
6536 (substitute* "src/nm-vpnc-service.c"
6537 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6538 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6539 (("\"/sbin/vpnc\"") pretty-ovpn)
6540 (("/sbin/modprobe") modprobe)))
6541 #t)))))
6542 (native-inputs
6543 `(("pkg-config" ,pkg-config)
6544 ("intltool" ,intltool)))
6545 (inputs
6546 `(("gtk+" ,gtk+)
6547 ("kmod" ,kmod)
6548 ("vpnc" ,vpnc)
6549 ("network-manager" ,network-manager)
6550 ("network-manager-applet" ,network-manager-applet) ;for libnma
6551 ("libsecret" ,libsecret)))
6552 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6553 (synopsis "VPNC plug-in for NetworkManager")
6554 (description
6555 "Support for configuring virtual private networks based on VPNC.
6556Compatible with Cisco VPN concentrators configured to use IPsec.")
6557 (license license:gpl2+)
6558 (properties `((upstream-name . "NetworkManager-vpnc")))))
6559
8378c87a
EF
6560(define-public network-manager-openconnect
6561 (package
6562 (name "network-manager-openconnect")
6563 (version "1.2.6")
6564 (source (origin
6565 (method url-fetch)
6566 (uri (string-append
6567 "mirror://gnome/sources/NetworkManager-openconnect/"
6568 (version-major+minor version)
6569 "/NetworkManager-openconnect-" version ".tar.xz"))
6570 (sha256
6571 (base32
6572 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6573 (build-system gnu-build-system)
6574 (arguments
6575 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6576 #:phases
6577 (modify-phases %standard-phases
6578 (add-after 'configure 'patch-path
6579 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6580 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6581 "/sbin/openconnect"))
6582 (modprobe (string-append (assoc-ref inputs "kmod")
6583 "/bin/modprobe"))
6584 (pretty-ovpn (string-append "\"" openconnect "\"")))
6585 (substitute* "src/nm-openconnect-service.c"
6586 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6587 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6588 (("/sbin/modprobe") modprobe)))
6589 #t)))))
6590 (native-inputs
6591 `(("intltool" ,intltool)
6592 ("network-manager-applet" ,network-manager-applet) ;for libnma
6593 ("pkg-config" ,pkg-config)))
6594 (inputs
6595 `(("gcr" ,gcr)
6596 ("gtk+" ,gtk+)
6597 ("kmod" ,kmod)
6598 ("libsecret" ,libsecret)
6599 ("libxml2" ,libxml2)
6600 ("network-manager" ,network-manager)
6601 ("openconnect" ,openconnect)))
6602 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6603 (synopsis "OpenConnect plug-in for NetworkManager")
6604 (description
6605 "This extension of NetworkManager allows it to take care of connections
6606to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6607Cisco's AnyConnect SSL VPN.")
6608 (license license:gpl2+)
e52b9534
LC
6609 (properties `((upstream-name . "NetworkManager-openconnect")
6610
6611 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6612 ;; file refers to account "nm-openconnect". Specify it here
6613 ;; so that 'network-manager-service-type' creates it.
6614 (user-accounts . ("nm-openconnect"))))))
8378c87a 6615
e5e1df4d
DC
6616(define-public mobile-broadband-provider-info
6617 (package
6618 (name "mobile-broadband-provider-info")
310c89e3 6619 (version "20190116")
e5e1df4d
DC
6620 (source (origin
6621 (method url-fetch)
6622 (uri (string-append
6623 "mirror://gnome/sources/"
6624 "mobile-broadband-provider-info/" version "/"
6625 "mobile-broadband-provider-info-" version ".tar.xz"))
6626 (sha256
6627 (base32
310c89e3 6628 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6629 (build-system gnu-build-system)
6630 (arguments
310c89e3 6631 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6632 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6633 (synopsis "Database of broadband connection configuration")
6634 (description "Database of broadband connection configuration.")
6635 (license license:public-domain)))
6636
4d62a9d3
SB
6637(define-public network-manager-applet
6638 (package
6639 (name "network-manager-applet")
8fc3a337 6640 (version "1.8.24")
4d62a9d3
SB
6641 (source (origin
6642 (method url-fetch)
3df63444 6643 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6644 (version-major+minor version) "/"
3df63444 6645 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6646 (sha256
6647 (base32
8fc3a337 6648 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6649 (build-system meson-build-system)
6650 (arguments
be1c4b07
TGR
6651 '(#:configure-flags
6652 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6653 (list "-Dlibnm_gtk=true")
6654 #:glib-or-gtk? #t))
4d62a9d3
SB
6655 (native-inputs
6656 `(("intltool" ,intltool)
cd7f718e 6657 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6658 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6659 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6660 ("pkg-config" ,pkg-config)))
6661 (propagated-inputs
6662 ;; libnm-gtk.pc refers to all these.
6663 `(("dbus-glib" ,dbus-glib)
6664 ("gtk+" ,gtk+)
6665 ("network-manager" ,network-manager)))
6666 (inputs
cd7f718e
RW
6667 `(("gcr" ,gcr)
6668 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6669 ("libgudev" ,libgudev)
6670 ("libnotify" ,libnotify)
2116bfb3 6671 ("libsecret" ,libsecret)
240cee8a
KK
6672 ("libselinux" ,libselinux)
6673 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6674 ("modem-manager" ,modem-manager)
6675 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6676 (synopsis "Applet for managing network connections")
f032d0be 6677 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6678 (description
6679 "This package contains a systray applet for NetworkManager. It displays
6680the available networks and allows users to easily switch between them.")
6681 (license license:gpl2+)))
56196594
RW
6682
6683(define-public libxml++
6684 (package
6685 (name "libxml++")
8344a85e 6686 (version "3.0.1")
56196594
RW
6687 (source (origin
6688 (method url-fetch)
6689 (uri (string-append "mirror://gnome/sources/" name "/"
6690 (version-major+minor version) "/"
6691 name "-" version ".tar.xz"))
6692 (sha256
6693 (base32
8344a85e 6694 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6695 (build-system gnu-build-system)
6696 ;; libxml++-3.0.pc refers to all these.
6697 (propagated-inputs
6698 `(("libxml2" ,libxml2)
6699 ("glibmm" ,glibmm)))
6700 (native-inputs
6701 `(("perl" ,perl)
6702 ("pkg-config" ,pkg-config)))
6703 (home-page "http://libxmlplusplus.sourceforge.net/")
6704 (synopsis "C++ wrapper for XML parser library libxml2")
6705 (description
6706 "This package provides a C++ wrapper for the XML parser library
6707libxml2.")
6708 (license license:lgpl2.1+)))
df12f04a 6709
b61d9627
AW
6710(define-public libxml++-2
6711 (package
6712 (inherit libxml++)
6713 (name "libxml++")
6714 (version "2.40.1")
6715 (source (origin
6716 (method url-fetch)
6717 (uri (string-append "mirror://gnome/sources/" name "/"
6718 (version-major+minor version) "/"
6719 name "-" version ".tar.xz"))
6720 (sha256
6721 (base32
6722 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6723
df12f04a
SB
6724(define-public gdm
6725 (package
6726 (name "gdm")
bcca95dc 6727 (version "3.32.0")
df12f04a
SB
6728 (source (origin
6729 (method url-fetch)
6730 (uri (string-append "mirror://gnome/sources/" name "/"
6731 (version-major+minor version) "/"
6732 name "-" version ".tar.xz"))
6733 (sha256
6734 (base32
bcca95dc 6735 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6736 (build-system glib-or-gtk-build-system)
df12f04a
SB
6737 (arguments
6738 '(#:configure-flags
af37e6bb 6739 `("--without-plymouth"
957dbc0a 6740 "--disable-systemd-journal"
51bc8357
TS
6741
6742 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6743 ;; instead of having to replace it (i.e., stopping the mingetty
6744 ;; service for TTY 1 before starting GDM).
6745 "--with-initial-vt=7"
6746
89c86562
TS
6747 ;; Use '/etc/environment' for locale settings instead of the
6748 ;; systemd-specific '/etc/locale.conf'.
6749 "--with-lang-file=/etc/environment"
6750
b74ef0ba
RW
6751 ,(string-append "--with-udevdir="
6752 (assoc-ref %outputs "out") "/lib/udev")
6753
af37e6bb
AW
6754 "--localstatedir=/var"
6755 ,(string-append "--with-default-path="
6756 (string-join '("/run/setuid-programs"
6757 "/run/current-system/profile/bin"
6758 "/run/current-system/profile/sbin")
957dbc0a
AW
6759 ":"))
6760 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6761 ;; XDG_DATA_DIRS so that it finds its schemas.
6762 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6763 #:phases
6764 (modify-phases %standard-phases
6765 (add-before
6766 'configure 'pre-configure
e8c6e771 6767 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6768 ;; We don't have <systemd/sd-daemon.h>.
6769 (substitute* '("common/gdm-log.c"
6770 "daemon/gdm-server.c"
6771 "daemon/gdm-session-worker.c"
6772 "daemon/gdm-session-worker-job.c")
6773 (("#include <systemd/sd-daemon\\.h>") ""))
6774 ;; Use elogind for sd-login.
6775 (substitute* '("common/gdm-common.c"
6776 "daemon/gdm-manager.c"
6777 "libgdm/gdm-user-switching.c")
6778 (("#include <systemd/sd-login\\.h>")
6779 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6780 ;; Check for elogind.
6781 (substitute* '("configure")
6782 (("libsystemd")
6783 "libelogind"))
af37e6bb
AW
6784 ;; Look for system-installed sessions in
6785 ;; /run/current-system/profile/share.
6786 (substitute* '("libgdm/gdm-sessions.c"
6787 "daemon/gdm-session.c"
6788 "daemon/gdm-display.c"
6789 "daemon/gdm-launch-environment.c")
6790 (("DATADIR \"/x")
6791 "\"/run/current-system/profile/share/x")
6792 (("DATADIR \"/wayland")
6793 "\"/run/current-system/profile/share/wayland")
6794 (("DATADIR \"/gnome")
6795 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6796 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6797 "GDM_DBUS_DAEMON"
c9ff92b5 6798 "GDM_X_SERVER"
41fa9f18 6799 "GDM_X_SESSION"
c9ff92b5
TS
6800 ;; XXX: Remove this once GNOME Shell is
6801 ;; a dependency of GDM.
6802 "XDG_DATA_DIRS")))
6803 (substitute* "daemon/gdm-session.c"
6804 (("set_up_session_environment \\(self\\);")
6805 (apply string-append
6806 "set_up_session_environment (self);\n"
6807 (map (lambda (name)
6808 (string-append
6809 "gdm_session_set_environment_variable "
6810 "(self, \"" name "\","
6811 "g_getenv (\"" name "\"));\n"))
6812 propagate)))))
a430a350
TS
6813 ;; Find the configuration file using an environment variable.
6814 (substitute* '("common/gdm-settings.c")
e0e6756f 6815 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6816 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6817 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6818 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6819 ;; Use service-supplied path to X.
6820 (substitute* '("daemon/gdm-server.c")
6821 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6822 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6823 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6824 (("\"dbus-daemon\"")
6825 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6826 (("X_SERVER")
41fa9f18
TS
6827 "g_getenv (\"GDM_X_SERVER\")")
6828 (("GDMCONFDIR \"/Xsession\"")
6829 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6830 ;; Use an absolute path for GNOME Session.
6831 (substitute* "daemon/gdm-launch-environment.c"
6832 (("\"gnome-session\"")
6833 (string-append "\"" (assoc-ref inputs "gnome-session")
6834 "/bin/gnome-session\"")))
e8c6e771
TS
6835 ;; Do not automatically select the placeholder session.
6836 (substitute* "daemon/gdm-session.c"
6837 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6838 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6839 "(g_strcmp0(search_dirs[i], \""
6840 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6841 "\") == 0 && "
6842 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6843 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6844 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6845 #t))
8caa4589
TS
6846 ;; GDM requires that there be at least one desktop entry
6847 ;; file. This phase installs a hidden one that simply
6848 ;; fails. This enables users to use GDM with a
6849 ;; '~/.xsession' script with no other desktop entry files.
6850 ;; See <https://bugs.gnu.org/35068>.
6851 (add-after 'install 'install-placeholder-desktop-entry
6852 (lambda* (#:key inputs outputs #:allow-other-keys)
6853 (let* ((out (assoc-ref outputs "out"))
6854 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6855 (fail (string-append sessions "/fail.desktop")))
6856 (mkdir-p sessions)
6857 (with-output-to-file fail
6858 (lambda ()
6859 (for-each
6860 display
6861 '("[Desktop Entry]\n"
6862 "Encoding=UTF-8\n"
6863 "Type=Application\n"
6864 "Name=Fail\n"
6865 "Comment=This session fails immediately.\n"
6866 "NoDisplay=true\n"
6867 "Exec=false\n"))))
6868 #t)))
69544798
TS
6869 ;; GDM needs GNOME Session to run these applications. We link
6870 ;; their autostart files in `share/gdm/greeter/autostart'
6871 ;; because GDM explicitly tells GNOME Session to look there.
6872 ;;
6873 ;; XXX: GNOME Shell should be linked here too, but currently
6874 ;; GNOME Shell depends on GDM.
6875 (add-after 'install 'link-autostart-files
6876 (lambda* (#:key inputs outputs #:allow-other-keys)
6877 (let* ((out (assoc-ref outputs "out"))
6878 (autostart (string-append out "/share/gdm/"
6879 "greeter/autostart"))
6880 (settings (assoc-ref inputs "gnome-settings-daemon")))
6881 (mkdir-p autostart)
6882 (with-directory-excursion autostart
6883 (for-each (lambda (desktop)
6884 (symlink desktop (basename desktop)))
6885 (find-files (string-append settings "/etc/xdg"))))
6886 #t))))))
df12f04a
SB
6887 (native-inputs
6888 `(("dconf" ,dconf)
6889 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6890 ("gobject-introspection" ,gobject-introspection)
6891 ("intltool" ,intltool)
6892 ("itstool" ,itstool)
6893 ("pkg-config" ,pkg-config)
6894 ("xmllint" ,libxml2)))
6895 (inputs
6896 `(("accountsservice" ,accountsservice)
6897 ("check" ,check) ; for testing
6898 ("elogind" ,elogind)
def6d6b6 6899 ("gnome-session" ,gnome-session)
69544798 6900 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6901 ("gtk+" ,gtk+)
6902 ("iso-codes" ,iso-codes)
6903 ("libcanberra" ,libcanberra)
6904 ("linux-pam" ,linux-pam)))
6905 (synopsis "Display manager for GNOME")
f032d0be 6906 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6907 (description
6908 "GNOME Display Manager is a system service that is responsible for
6909providing graphical log-ins and managing local and remote displays.")
6910 (license license:gpl2+)))
8e1dd04f
SB
6911
6912(define-public libgtop
6913 (package
6914 (name "libgtop")
015fc036 6915 (version "2.40.0")
8e1dd04f
SB
6916 (source (origin
6917 (method url-fetch)
59487fc2 6918 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6919 (version-major+minor version) "/"
59487fc2 6920 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6921 (sha256
6922 (base32
015fc036 6923 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6924 (build-system gnu-build-system)
6925 (native-inputs
6926 `(("gobject-introspection" ,gobject-introspection)
6927 ("intltool" ,intltool)
6928 ("perl" ,perl)
6929 ("pkg-config" ,pkg-config)))
6930 (propagated-inputs
6931 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6932 (synopsis "Portable system access library")
6933 (home-page "https://www.gnome.org/")
6934 (description
6935 "LibGTop is a library to get system specific data such as CPU and memory
6936usage and information about running processes.")
6937 (license license:gpl2+)))
b96c4260
SB
6938
6939(define-public gnome-bluetooth
6940 (package
6941 (name "gnome-bluetooth")
723afae6 6942 (version "3.32.1")
b96c4260
SB
6943 (source (origin
6944 (method url-fetch)
6945 (uri (string-append "mirror://gnome/sources/" name "/"
6946 (version-major+minor version) "/"
6947 name "-" version ".tar.xz"))
6948 (sha256
6949 (base32
723afae6 6950 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6951 (build-system meson-build-system)
b96c4260
SB
6952 (native-inputs
6953 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6954 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6955 ("gobject-introspection" ,gobject-introspection)
6956 ("intltool" ,intltool)
6957 ("pkg-config" ,pkg-config)
6958 ("xmllint" ,libxml2)))
6959 (propagated-inputs
6960 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6961 `(("glib" ,glib)
6962 ("gtk+" ,gtk+)))
b96c4260 6963 (inputs
723afae6
KK
6964 `(("eudev" ,eudev)
6965 ("libcanberra" ,libcanberra)
b96c4260
SB
6966 ("libnotify" ,libnotify)))
6967 (synopsis "GNOME Bluetooth subsystem")
6968 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6969 (description
6970 "This package contains tools for managing and manipulating Bluetooth
6971devices using the GNOME desktop.")
6972 (license license:lgpl2.1+)))
b645146f
SB
6973
6974(define-public gnome-control-center
6975 (package
6976 (name "gnome-control-center")
a6938bac 6977 (version "3.32.2")
b645146f
SB
6978 (source (origin
6979 (method url-fetch)
6980 (uri (string-append "mirror://gnome/sources/" name "/"
6981 (version-major+minor version) "/"
6982 name "-" version ".tar.xz"))
6983 (sha256
6984 (base32
a6938bac 6985 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6986 (build-system meson-build-system)
b645146f 6987 (arguments
59dac026
RW
6988 '(#:glib-or-gtk? #t
6989 #:configure-flags
64c70430
KK
6990 (list "-Dcheese=false"
6991 (string-append "-Dgnome_session_libexecdir="
6992 (assoc-ref %build-inputs "gnome-session")
6993 "/libexec"))
59dac026 6994 #:phases
b645146f
SB
6995 (modify-phases %standard-phases
6996 (add-before 'configure 'patch-paths
6997 (lambda* (#:key inputs #:allow-other-keys)
6998 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6999 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7000 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7001 (nm-applet (assoc-ref inputs "network-manager-applet"))
7002 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7003 (substitute* "panels/datetime/tz.h"
7004 (("/usr/share/zoneinfo/zone.tab")
7005 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7006 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7007 (("/usr/share/locale")
7008 (string-append libc "/share/locale")))
1df38cfc
LC
7009 (substitute* "panels/region/cc-region-panel.c"
7010 (("\"gkbd-keyboard-display")
7011 (string-append "\"" libgnomekbd
7012 "/bin/gkbd-keyboard-display")))
341225ac
LC
7013 (substitute* '("panels/network/net-device-wifi.c"
7014 "panels/network/net-device.c"
7015 "panels/network/connection-editor/net-connection-editor.c")
7016 (("\"nm-connection-editor")
7017 (string-append "\"" nm-applet
7018 "/bin/nm-connection-editor")))
1acd107c
FP
7019 (substitute* '("panels/user-accounts/run-passwd.c")
7020 (("/usr/bin/passwd")
7021 "/run/setuid-programs/passwd"))
64c70430
KK
7022 (substitute* "panels/info/cc-info-overview-panel.c"
7023 (("DATADIR \"/gnome/gnome-version.xml\"")
7024 (string-append "\"" gnome-desktop
7025 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7026 #t))))))
7027 (native-inputs
7028 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7029 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7030 ("intltool" ,intltool)
7031 ("pkg-config" ,pkg-config)
a6938bac
KK
7032 ("xsltproc" ,libxslt)
7033 ;; For tests
7034 ("hicolor-icon-theme" ,hicolor-icon-theme)
7035 ("python-dbusmock" ,python-dbusmock)
7036 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7037 (inputs
7038 `(("accountsservice" ,accountsservice)
7039 ("clutter-gtk" ,clutter-gtk)
7040 ("colord-gtk" ,colord-gtk)
7041 ("cups" ,cups)
7042 ("dconf" ,dconf)
7043 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7044 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7045 ("gnome-bluetooth" ,gnome-bluetooth)
7046 ("gnome-desktop" ,gnome-desktop)
7047 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7048 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7049 ("gnome-session" ,gnome-session)
b645146f
SB
7050 ("gnome-settings-daemon" ,gnome-settings-daemon)
7051 ("grilo" ,grilo)
a6938bac 7052 ("gsound" ,gsound)
b645146f
SB
7053 ("ibus" ,ibus)
7054 ("libcanberra" ,libcanberra)
1df38cfc 7055 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7056 ("libgudev" ,libgudev)
7057 ("libgtop" ,libgtop)
7058 ("libpwquality" ,libpwquality)
982c0b36 7059 ("libsecret" ,libsecret)
b645146f
SB
7060 ("libsoup" ,libsoup)
7061 ("libxml2" ,libxml2)
7062 ("libwacom" ,libwacom)
7063 ("mesa" ,mesa)
7064 ("mit-krb5" ,mit-krb5)
7065 ("modem-manager" ,modem-manager)
7066 ("network-manager-applet" ,network-manager-applet)
7067 ("polkit" ,polkit)
7068 ("pulseaudio" ,pulseaudio)
7069 ("smbclient" ,samba)
7070 ("tzdata" ,tzdata)
982c0b36 7071 ("udisks" ,udisks)
b645146f
SB
7072 ("upower" ,upower)))
7073 (synopsis "Utilities to configure the GNOME desktop")
7074 (home-page "https://www.gnome.org/")
7075 (description
7076 "This package contains configuration applets for the GNOME desktop,
7077allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7078properties, sound setup, desktop theme and background, user interface
7079properties, screen resolution, and other GNOME parameters.")
7080 (license license:gpl2+)))
a4df5756
SB
7081
7082(define-public gnome-shell
7083 (package
7084 (name "gnome-shell")
d5e615ca 7085 (version "3.32.2")
a4df5756
SB
7086 (source (origin
7087 (method url-fetch)
7088 (uri (string-append "mirror://gnome/sources/" name "/"
7089 (version-major+minor version) "/"
7090 name "-" version ".tar.xz"))
7091 (sha256
7092 (base32
d5e615ca 7093 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7094 (patches (search-patches "gnome-shell-theme.patch"))
7095 (modules '((guix build utils)))
7096 (snippet
7097 #~(begin
a76d0f03
LC
7098 ;; Copy images for use on the GDM log-in screen.
7099 (copy-file #$(file-append %artwork-repository
7100 "/slim/0.x/background.png")
7101 "data/theme/guix-background.png")
45fef894
LC
7102 (copy-file #$(file-append %artwork-repository
7103 "/logo/Guix-horizontal-white.svg")
7104 "data/theme/guix-logo.svg")
a76d0f03 7105 #t))))
2b0c755d 7106 (build-system meson-build-system)
a4df5756 7107 (arguments
08185081
MB
7108 `(#:glib-or-gtk? #t
7109 #:disallowed-references ((,glib "bin")
11e1df56
LC
7110 ,inkscape ,libxslt
7111 ,ruby-sass)
2b0c755d
RW
7112 #:configure-flags
7113 (list "-Dsystemd=false"
7114 ;; Otherwise, the RUNPATH will lack the final path component.
7115 (string-append "-Dc_link_args=-Wl,-rpath="
7116 (assoc-ref %outputs "out")
7117 "/lib/gnome-shell"))
11e1df56 7118
08185081 7119 #:modules ((guix build meson-build-system)
11e1df56
LC
7120 (guix build utils)
7121 (srfi srfi-1))
7122
2b0c755d 7123 #:phases
a4df5756 7124 (modify-phases %standard-phases
2b0c755d 7125 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7126 (lambda* (#:key outputs #:allow-other-keys)
7127 (let* ((out (assoc-ref outputs "out"))
7128 (keysdir (string-append
7129 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7130 (substitute* "meson.build"
7131 (("keysdir =.*")
7132 (string-append "keysdir = '" keysdir "'\n")))
7133 #t)))
ebfe259f
MB
7134 (add-before 'configure 'convert-logo-to-png
7135 (lambda* (#:key inputs #:allow-other-keys)
7136 ;; Convert the logo from SVG to PNG.
7137 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7138 "data/theme/guix-logo.svg")))
ba00235a 7139 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7140 (lambda* (#:key inputs #:allow-other-keys)
7141 (substitute* "js/misc/ibusManager.js"
7142 (("'ibus-daemon'")
7143 (string-append "'" (assoc-ref inputs "ibus")
7144 "/bin/ibus-daemon'")))
d6fda4d3
LC
7145 (substitute* "js/ui/status/keyboard.js"
7146 (("'gkbd-keyboard-display'")
7147 (string-append "'" (assoc-ref inputs "libgnomekbd")
7148 "/bin/gkbd-keyboard-display'")))
2472cdec 7149 #t))
2b0c755d
RW
7150 (add-before 'check 'pre-check
7151 (lambda* (#:key inputs #:allow-other-keys)
7152 ;; Tests require a running X server.
7153 (system "Xvfb :1 &")
7154 (setenv "DISPLAY" ":1")
7155 #t))
7156 (add-after 'install 'wrap-programs
7157 (lambda* (#:key inputs outputs #:allow-other-keys)
7158 (let ((out (assoc-ref outputs "out"))
7159 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7160 (python-path (getenv "PYTHONPATH")))
7161 (wrap-program (string-append out "/bin/gnome-shell")
7162 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7163 ;; FIXME: gnome-shell loads these libraries with unqualified
7164 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7165 ;; alternative might be to patch gnome-shell.
7166 `("LD_LIBRARY_PATH" ":" prefix
7167 ,(map (lambda (pkg)
7168 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7169 '("gdk-pixbuf"
7170 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7171 (for-each
7172 (lambda (prog)
7173 (wrap-program (string-append out "/bin/" prog)
7174 `("PYTHONPATH" ":" prefix (,python-path))
7175 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7176 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7177 #t)))
11e1df56
LC
7178 (replace 'glib-or-gtk-wrap
7179 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7180 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7181 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7182 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7183 ;; phase. Fix that since we don't need these.
7184 (wrap #:inputs (fold alist-delete inputs
7185 '("inkscape" "intltool" "glib:bin"))
7186 #:outputs outputs)))))))
a4df5756
SB
7187 (native-inputs
7188 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7189 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7190 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7191 ("inkscape" ,inkscape)
a4df5756
SB
7192 ("intltool" ,intltool)
7193 ("pkg-config" ,pkg-config)
7194 ("python" ,python)
2b0c755d
RW
7195 ("ruby-sass" ,ruby-sass)
7196 ("sassc" ,sassc)
a76d0f03 7197 ("xsltproc" ,libxslt)
2b0c755d 7198 ;; For tests
0b4504f6 7199 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7200 (inputs
7201 `(("accountsservice" ,accountsservice)
7202 ("caribou" ,caribou)
7203 ("docbook-xsl" ,docbook-xsl)
7204 ("evolution-data-server" ,evolution-data-server)
7205 ("gcr" ,gcr)
7206 ("gdm" ,gdm)
c5db31d4 7207 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7208 ("gjs" ,gjs)
7209 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7210 ("gnome-desktop" ,gnome-desktop)
7211 ("gnome-settings-daemon" ,gnome-settings-daemon)
7212 ("gst-plugins-base" ,gst-plugins-base)
7213 ("ibus" ,ibus)
7214 ("libcanberra" ,libcanberra)
7215 ("libcroco" ,libcroco)
d6fda4d3 7216 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7217 ("libgweather" ,libgweather)
7218 ("libsoup" ,libsoup)
7219 ("mesa-headers" ,mesa-headers)
7220 ("mutter" ,mutter)
7221 ("network-manager-applet" ,network-manager-applet)
7222 ("polkit" ,polkit)
7223 ("pulseaudio" ,pulseaudio)
7224 ("python-pygobject" ,python-pygobject)
7225 ("startup-notification" ,startup-notification)
7226 ("telepathy-logger" ,telepathy-logger)
7227 ("upower" ,upower)
30e760f0
MB
7228 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7229 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7230 ("librsvg" ,librsvg)
2b0c755d 7231 ("geoclue" ,geoclue)))
a4df5756
SB
7232 (synopsis "Desktop shell for GNOME")
7233 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7234 (description
7235 "GNOME Shell provides core user interface functions for the GNOME desktop,
7236like switching to windows and launching applications.")
7237 (license license:gpl2+)))
c3f29bc9
RS
7238
7239(define-public gtk-vnc
7240 (package
7241 (name "gtk-vnc")
965ff023 7242 (version "0.9.0")
c3f29bc9
RS
7243 (source
7244 (origin
7245 (method url-fetch)
7246 (uri (string-append "mirror://gnome/sources/" name "/"
7247 (version-major+minor version) "/"
7248 name "-" version ".tar.xz"))
7249 (sha256
7250 (base32
965ff023 7251 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7252 (build-system gnu-build-system)
7253 (arguments
7254 '(#:configure-flags '("--with-gtk=3.0")))
7255 (propagated-inputs
7256 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7257 (inputs
7258 `(("cyrus-sasl" ,cyrus-sasl)
7259 ("gnutls" ,gnutls)
7260 ("libgcrypt" ,libgcrypt)
7261 ("pulseaudio" ,pulseaudio)))
7262 (native-inputs
7263 `(("glib:bin" ,glib "bin")
7264 ("gobject-introspection" ,gobject-introspection)
7265 ("intltool" ,intltool)
7266 ("pkg-config" ,pkg-config)
2f17e939 7267 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7268 ("vala" ,vala)))
7269 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7270 (synopsis "VNC viewer widget for GTK+")
7271 (description
7272 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7273applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7274GTK-VNC implements client side RFB protocol and authentication extensions such
7275as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7276 (license license:lgpl2.1+)))
8b877545 7277
dc69fe18
MW
7278(define-public gnome-autoar
7279 (package
7280 (name "gnome-autoar")
c7da8510 7281 (version "0.2.3")
dc69fe18
MW
7282 (source (origin
7283 (method url-fetch)
7284 (uri (string-append "mirror://gnome/sources/" name "/"
7285 (version-major+minor version) "/"
7286 name "-" version ".tar.xz"))
7287 (sha256
7288 (base32
c7da8510 7289 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7290 (build-system glib-or-gtk-build-system)
7291 (native-inputs
7292 `(("gnome-common" ,gnome-common)
7293 ("gobject-introspection" ,gobject-introspection)
7294 ("pkg-config" ,pkg-config)))
7295 (propagated-inputs
7296 `(("libarchive" ,libarchive))) ; XXX document why
7297 (inputs
0a6e9e13 7298 `(("gtk+" ,gtk+)))
dc69fe18
MW
7299 (synopsis "Archives integration support for GNOME")
7300 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7301 (description
7302 "GNOME Autoar is a library which makes creating and extracting archives
7303easy, safe, and automatic.")
7304 (license license:lgpl2.1+)))
7305
b64e217f
MW
7306(define-public tracker
7307 (package
7308 (name "tracker")
caaefa40 7309 (version "2.3.4")
b64e217f
MW
7310 (source (origin
7311 (method url-fetch)
b5b0fd23 7312 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7313 (version-major+minor version) "/"
b5b0fd23 7314 "tracker-" version ".tar.xz"))
b64e217f
MW
7315 (sha256
7316 (base32
caaefa40 7317 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7318 (build-system meson-build-system)
c8bdf589 7319 (arguments
5ada561c
KK
7320 `(#:glib-or-gtk? #t
7321 #:configure-flags
7322 ;; Otherwise, the RUNPATH will lack the final path component.
7323 (list (string-append "-Dc_link_args=-Wl,-rpath="
7324 (assoc-ref %outputs "out") "/lib:"
7325 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7326 #:phases
c8bdf589 7327 (modify-phases %standard-phases
c8bdf589
RW
7328 (add-before 'check 'pre-check
7329 (lambda _
63db190a
PN
7330 ;; Some tests expect to write to $HOME.
7331 (setenv "HOME" "/tmp")
c8bdf589 7332 #t)))))
b64e217f 7333 (native-inputs
5ada561c 7334 `(("glib:bin" ,glib "bin")
b64e217f 7335 ("gobject-introspection" ,gobject-introspection)
5ada561c 7336 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7337 ("intltool" ,intltool)
7338 ("pkg-config" ,pkg-config)
7339 ("vala" ,vala)))
7340 (inputs
63db190a 7341 `(("dbus" ,dbus)
44ed6284 7342 ("sqlite" ,sqlite)
b64e217f 7343 ("libxml2" ,libxml2)
63db190a 7344 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7345 ("json-glib" ,json-glib)
63db190a 7346 ("libsoup" ,libsoup)))
b64e217f
MW
7347 (synopsis "Metadata database, indexer and search tool")
7348 (home-page "https://wiki.gnome.org/Projects/Tracker")
7349 (description
63db190a
PN
7350 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7351
7352It is a middleware component aimed at desktop application developers who want
7353their apps to browse and search user content. It's not designed to be used
7354directly by desktop users, but it provides a commandline tool named
7355@command{tracker} for the adventurous.
7356
7357Tracker allows your application to instantly perform full-text searches across
7358all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7359example. This is achieved by indexing the user's home directory in the
7360background.
7361
7362Tracker also allows your application to query and list content that the user
7363has stored. For example, GNOME Music displays all the music files that are
7364found by Tracker. This means that GNOME Music doesn't need to maintain a
7365database of its own.
7366
7367If you need to go beyond simple searches, Tracker is also a linked data
7368endpoint and it understands SPARQL. ")
7369 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7370 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7371 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7372 (license (list license:gpl2+
63db190a
PN
7373 license:bsd-3
7374 license:lgpl2.1+))))
b64e217f 7375
03be9874
KK
7376(define-public tracker-miners
7377 (package
7378 (name "tracker-miners")
de60ac2f 7379 (version "2.3.3")
03be9874
KK
7380 (source (origin
7381 (method url-fetch)
7382 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7383 (version-major+minor version)
7384 "/tracker-miners-" version ".tar.xz"))
7385 (sha256
7386 (base32
de60ac2f 7387 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7388 (build-system meson-build-system)
7389 (arguments
7390 `(#:glib-or-gtk? #t
7391 #:configure-flags
7392 (list "-Dminer_rss=false" ; libgrss is required.
7393 ;; Ensure the RUNPATH contains all installed library locations.
7394 (string-append "-Dc_link_args=-Wl,-rpath="
7395 (assoc-ref %outputs "out")
7396 "/lib/tracker-miners-2.0")
7397 ;; TODO: Enable functional tests. Currently, the following error
7398 ;; appears:
7399 ;; Exception: The functional tests require DConf to be the default
7400 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7401 "-Dfunctional_tests=false")))
7402 (native-inputs
7403 `(("dbus" ,dbus)
7404 ("intltool" ,intltool)
7405 ("glib:bin" ,glib "bin")
7406 ("gobject-introspection" ,gobject-introspection)
7407 ("pkg-config" ,pkg-config)
7408 ("python-pygobject" ,python-pygobject)))
7409 (inputs
7410 `(("exempi" ,exempi)
7411 ("ffmpeg" ,ffmpeg)
7412 ("flac" ,flac)
7413 ("giflib" ,giflib)
7414 ("glib" ,glib)
7415 ("gstreamer" ,gstreamer)
7416 ("icu4c" ,icu4c)
7417 ("libcue" ,libcue)
7418 ("libexif" ,libexif)
7419 ("libgsf" ,libgsf)
7420 ("libgxps" ,libgxps)
7421 ("libiptcdata" ,libiptcdata)
7422 ("libjpeg" ,libjpeg)
7423 ("libosinfo" ,libosinfo)
7424 ("libpng" ,libpng)
7425 ("libseccomp" ,libseccomp)
7426 ("libtiff" ,libtiff)
7427 ("libvorbis" ,libvorbis)
7428 ("libxml2" ,libxml2)
7429 ("poppler" ,poppler)
7430 ("taglib" ,taglib)
7431 ("totem-pl-parser" ,totem-pl-parser)
7432 ("tracker" ,tracker)
7433 ("upower" ,upower)
7434 ("zlib" ,zlib)))
7435 (synopsis "Metadata database, indexer and search tool")
7436 (home-page "https://wiki.gnome.org/Projects/Tracker")
7437 (description
7438 "Tracker is an advanced framework for first class objects with associated
7439metadata and tags. It provides a one stop solution for all metadata, tags,
7440shared object databases, search tools and indexing.")
7441 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7442 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7443 (license (list license:gpl2+
7444 license:lgpl2.1+
7445 license:lgpl2.0+))))
7446
8b877545
RS
7447(define-public nautilus
7448 (package
7449 (name "nautilus")
d682c599 7450 (version "3.32.3")
8b877545
RS
7451 (source (origin
7452 (method url-fetch)
7453 (uri (string-append "mirror://gnome/sources/" name "/"
7454 (version-major+minor version) "/"
7455 name "-" version ".tar.xz"))
7456 (sha256
7457 (base32
d682c599 7458 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7459 (build-system meson-build-system)
8b877545 7460 (arguments
35e2d0cf 7461 '(#:glib-or-gtk? #t
8b877545
RS
7462 ;; XXX: FAIL: check-nautilus
7463 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7464 #:tests? #f))
7465 (native-inputs
35e2d0cf
R
7466 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7467 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7468 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7469 ("gobject-introspection" ,gobject-introspection)
7470 ("intltool" ,intltool)
7471 ("pkg-config" ,pkg-config)))
8b877545 7472 (inputs
8b877545 7473 `(("dconf" ,dconf)
caf6c363 7474 ("gexiv2" ,gexiv2)
dd05e731 7475 ("gvfs" ,gvfs)
8b877545
RS
7476 ("exempi" ,exempi)
7477 ("gnome-desktop" ,gnome-desktop)
09d88905 7478 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7479 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7480 ("libseccomp" ,libseccomp)
35e2d0cf 7481 ("libselinux" ,libselinux)
09d88905 7482 ("tracker" ,tracker)
3cafb9d4 7483 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7484 ;; XXX: gtk+ is required by libnautilus-extension.pc
7485 ;;
7486 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7487 ;; package. See:
7488 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7489 ("gtk+" ,gtk+)
8b877545
RS
7490 ("libexif" ,libexif)
7491 ("libxml2" ,libxml2)))
7492 (synopsis "File manager for GNOME")
7493 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7494 (description
7495 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7496design and behaviour, giving the user a simple way to navigate and manage its
7497files.")
7498 (license license:gpl2+)))
3c697ffd
JR
7499
7500(define-public baobab
7501 (package
7502 (name "baobab")
e0c5f20c 7503 (version "3.32.0")
3c697ffd
JR
7504 (source (origin
7505 (method url-fetch)
7506 (uri (string-append
7507 "mirror://gnome/sources/" name "/"
7508 (version-major+minor version) "/"
7509 name "-" version ".tar.xz"))
7510 (sha256
7511 (base32
e0c5f20c 7512 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7513 (build-system meson-build-system)
7514 (arguments
7515 '(#:glib-or-gtk? #t))
3c697ffd
JR
7516 (native-inputs
7517 `(("intltool" ,intltool)
7518 ("pkg-config" ,pkg-config)
d233d373
RJ
7519 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7520 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7521 ("itstool" ,itstool)
7522 ("xmllint" ,libxml2)
7523 ("glib" ,glib "bin")
7524 ("vala" ,vala)))
7525 (inputs
7526 `(("gtk+" ,gtk+)))
7527 (synopsis "Disk usage analyzer for GNOME")
7528 (description
7529 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7530usage in the GNOME desktop environment. It can easily scan device volumes or
7531a specific user-requested directory branch (local or remote). Once the scan
7532is complete it provides a graphical representation of each selected folder.")
7533 (home-page "https://wiki.gnome.org/Apps/Baobab")
7534 (license license:gpl2+)))
dc050251 7535
fdba447c
RS
7536(define-public gnome-backgrounds
7537 (package
7538 (name "gnome-backgrounds")
e04e8a8c 7539 (version "3.32.0")
fdba447c
RS
7540 (source
7541 (origin
7542 (method url-fetch)
7543 (uri (string-append "mirror://gnome/sources/" name "/"
7544 (version-major+minor version) "/"
7545 name "-" version ".tar.xz"))
7546 (sha256
7547 (base32
e04e8a8c 7548 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7549 (build-system meson-build-system)
fdba447c
RS
7550 (native-inputs
7551 `(("intltool" ,intltool)))
e04e8a8c 7552 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7553 (synopsis "Background images for the GNOME desktop")
7554 (description
7555 "GNOME backgrounds package contains a collection of graphics files which
7556can be used as backgrounds in the GNOME Desktop environment. Additionally,
7557the package creates the proper framework and directory structure so that you
7558can add your own files to the collection.")
7559 (license (list license:gpl2+
7560 license:cc-by2.0
7561 license:cc-by-sa2.0
7562 license:cc-by-sa3.0))))
7563
b784b1a9
RS
7564(define-public gnome-screenshot
7565 (package
7566 (name "gnome-screenshot")
6acf4033 7567 (version "3.32.0")
b784b1a9
RS
7568 (source
7569 (origin
7570 (method url-fetch)
7571 (uri (string-append "mirror://gnome/sources/" name "/"
7572 (version-major+minor version) "/"
7573 name "-" version ".tar.xz"))
7574 (sha256
7575 (base32
6acf4033 7576 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7577 (build-system meson-build-system)
b784b1a9
RS
7578 (native-inputs
7579 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7580 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7581 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7582 ("intltool" ,intltool)
8356aefa 7583 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7584 ("pkg-config" ,pkg-config)))
7585 (inputs
7586 `(("gtk+" ,gtk+)
7587 ("libcanberra" ,libcanberra)
7588 ("libx11" ,libx11)
7589 ("libxext" ,libxext)))
676e7cb4 7590 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7591 (synopsis "Take pictures of your screen")
7592 (description
7593 "GNOME Screenshot is a utility used for taking screenshots of the entire
7594screen, a window or a user defined area of the screen, with optional
7595beautifying border effects.")
7596 (license license:gpl2+)))
7597
66d59111
RS
7598(define-public dconf-editor
7599 (package
7600 (name "dconf-editor")
66261451 7601 (version "3.32.0")
66d59111
RS
7602 (source
7603 (origin
7604 (method url-fetch)
7605 (uri (string-append "mirror://gnome/sources/" name "/"
7606 (version-major+minor version) "/"
7607 name "-" version ".tar.xz"))
7608 (sha256
7609 (base32
66261451 7610 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7611 (build-system meson-build-system)
86f2124b
LC
7612 (arguments
7613 '(#:phases (modify-phases %standard-phases
7614 (add-before 'configure 'set-glib-minimum-version
7615 (lambda _
7616 ;; Change the minimum required GLib version so that
7617 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7618 ;; do that, it complains that "55" is not an even
7619 ;; number. See <https://bugs.gnu.org/37503>.
7620 (substitute* "editor/meson.build"
7621 (("2\\.55\\.1") "2.60.0"))
7622 #t)))))
66d59111
RS
7623 (native-inputs
7624 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7625 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7626 ("intltool" ,intltool)
294ff39d
RW
7627 ("pkg-config" ,pkg-config)
7628 ("vala" ,vala)))
66d59111
RS
7629 (inputs
7630 `(("dconf" ,dconf)
7631 ("gtk+" ,gtk+)
7632 ("libxml2" ,libxml2)))
7633 (home-page "https://git.gnome.org/browse/dconf-editor")
7634 (synopsis "Graphical editor for GNOME's dconf configuration system")
7635 (description
7636 "Dconf-editor is a graphical tool for browsing and editing the dconf
7637configuration system for GNOME. It allows users to configure desktop
7638software that do not provide their own configuration interface.")
7639 (license license:lgpl2.1+)))
7640
96d36f38
AW
7641(define-public gnome-default-applications
7642 (package
7643 (name "gnome-default-applications")
7644 (version "0")
7645 (build-system trivial-build-system)
7646 (source #f)
7647 (propagated-inputs
8ad4f0aa
LC
7648 `(("nautilus" ,nautilus)
7649 ("evince" ,evince)))
96d36f38
AW
7650 (arguments
7651 `(#:modules ((guix build utils))
7652 #:builder
7653 (begin
7654 (use-modules (guix build utils))
7655 (let* ((out (assoc-ref %outputs "out"))
7656 (apps (string-append out "/share/applications")))
7657 (mkdir-p apps)
a6ac679f 7658 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7659 (lambda (port)
7660 (format port "[Default Applications]\n")
8ad4f0aa
LC
7661 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7662 (format port "application/pdf=evince.desktop\n")
7663 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7664 #t))))
7665 (synopsis "Default MIME type associations for the GNOME desktop")
7666 (description
7667 "Given many installed packages which might handle a given MIME type, a
7668user running the GNOME desktop probably has some preferences: for example,
7669that folders be opened by default by the Nautilus file manager, not the Baobab
7670disk usage analyzer. This package establishes that set of default MIME type
7671associations for GNOME.")
7672 (license license:gpl3+)
7673 (home-page #f)))
7674
3f1ed953
RG
7675(define-public libgovirt
7676 (package
7677 (name "libgovirt")
7678 (version "0.3.6")
7679 (source (origin
7680 (method url-fetch)
7681 (uri (string-append "mirror://gnome/sources/" name "/"
7682 (version-major+minor version) "/"
7683 name "-" version ".tar.xz"))
7684 (sha256
7685 (base32
7686 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7687 (build-system glib-or-gtk-build-system)
7688 (native-inputs
7689 `(("gettext" ,gettext-minimal)
7690 ("glib:bin" ,glib "bin")
7691 ("gobject-introspection" ,gobject-introspection)
7692 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7693 ("gtk+:bin" ,gtk+ "bin")
7694 ("pkg-config" ,pkg-config)))
7695 (inputs
7696 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7697 ("librest" ,rest)))
7698 (synopsis "GoVirt Library")
7699 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7700 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7701 (license license:gpl2+)))
7702
8672e5e9
RG
7703(define-public gnome-weather
7704 (package
7705 (name "gnome-weather")
7706 (version "3.34.0")
7707 (source (origin
7708 (method url-fetch)
7709 (uri (string-append "mirror://gnome/sources/" name "/"
7710 (version-major+minor version) "/"
7711 name "-" version ".tar.xz"))
7712 (sha256
7713 (base32
7714 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7715 (build-system meson-build-system)
7716 (native-inputs
7717 `(("gettext" ,gettext-minimal)
7718 ("glib:bin" ,glib "bin")
7719 ("gobject-introspection" ,gobject-introspection)
7720 ("gtk+:bin" ,gtk+ "bin")
7721 ("pkg-config" ,pkg-config)))
7722 (inputs
7723 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7724 ("appstream-glib" ,appstream-glib)
7725 ("geoclue" ,geoclue)
7726 ("gdk-pixbuf" ,gdk-pixbuf)
7727 ("gjs" ,gjs)
7728 ("gnome-desktop" ,gnome-desktop)
7729 ("libgweather" ,libgweather)))
7730 (synopsis "Weather monitoring for GNOME desktop")
7731 (description "GNOME Weather is a small application that allows you to
7732monitor the current weather conditions for your city, or anywhere in the
7733world.")
7734 (home-page "https://wiki.gnome.org/Apps/Weather")
7735 (license license:gpl2+)))
7736
dc050251
SB
7737(define-public gnome
7738 (package
7739 (name "gnome")
7740 (version (package-version gnome-shell))
7741 (source #f)
7742 (build-system trivial-build-system)
e3cfef22 7743 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7744 (propagated-inputs
8d8c6bff 7745 ;; TODO: Add or remove packages according to:
a8cda7f5 7746 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7747 `(
8d8c6bff 7748 ;; GNOME-Core-OS-Services
7922b6f7 7749 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7750 ("network-manager" ,network-manager)
7751 ("packagekit" ,packagekit)
7752 ("upower" ,upower)
7753 ;; GNOME-Core-Shell
7754 ("adwaita-icon-theme" ,adwaita-icon-theme)
7755 ("gdm" ,gdm)
7756 ("glib-networking" ,glib-networking)
7757 ("gnome-backgrounds" ,gnome-backgrounds)
7758 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7759 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7760 ("gnome-control-center" ,gnome-control-center)
7761 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7762 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7763 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7764 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7765 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7766 ("gnome-session" ,gnome-session)
7767 ("gnome-settings-daemon" ,gnome-settings-daemon)
7768 ("gnome-shell-extensions" ,gnome-shell-extensions)
7769 ("gnome-shell" ,gnome-shell)
7770 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7771 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7772 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7773 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7774 ("gvfs" ,gvfs)
7775 ("mutter" ,mutter)
7776 ("orca" ,orca)
d36fa50f
RG
7777 ("rygel" ,rygel)
7778 ("sushi" ,sushi)
8d8c6bff
RG
7779 ;; GNOME-Core-Utilities
7780 ("baobab" ,baobab)
7781 ("cheese" ,cheese)
7782 ("eog" ,eog)
7783 ("epiphany" ,epiphany)
7784 ("evince" ,evince)
7785 ("file-roller" ,file-roller)
7786 ("gedit" ,gedit)
d36fa50f 7787 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7788 ("gnome-calculator" ,gnome-calculator)
7789 ("gnome-calendar" ,gnome-calendar)
7790 ("gnome-characters" ,gnome-characters)
7791 ("gnome-clocks" ,gnome-clocks)
7792 ("gnome-contacts" ,gnome-contacts)
7793 ("gnome-disk-utility" ,gnome-disk-utility)
7794 ("gnome-font-viewer" ,gnome-font-viewer)
7795 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7796 ; TODO: ("gnome-music" ,gnome-music)
7797 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7798 ("gnome-screenshot" ,gnome-screenshot)
7799 ("gnome-system-monitor" ,gnome-system-monitor)
7800 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7801 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7802 ("nautilus" ,nautilus)
7803 ("simple-scan" ,simple-scan)
7804 ("totem" ,totem)
7922b6f7
RG
7805 ("yelp" ,yelp)
7806 ;; Others
7807 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7808 ("gnome-online-accounts" ,gnome-online-accounts)
7809
7810 ;; Packages not part of GNOME proper but that are needed for a good
7811 ;; experience. See <https://bugs.gnu.org/39646>.
7812 ;; XXX: Find out exactly which ones are needed and why.
7813 ("font-cantarell" ,font-cantarell)
7814 ("font-dejavu" ,font-dejavu)
7815 ("at-spi2-core" ,at-spi2-core)
7816 ("dbus" ,dbus)
7817 ("dconf" ,dconf)
7818 ("desktop-file-utils" ,desktop-file-utils)
7819 ("gnome-default-applications" ,gnome-default-applications)
7820 ("gnome-themes-standard" ,gnome-themes-standard)
7821 ("gst-plugins-base" ,gst-plugins-base)
7822 ("gst-plugins-good" ,gst-plugins-good)
7823 ("gucharmap" ,gucharmap)
7824 ("pinentry-gnome3" ,pinentry-gnome3)
7825 ("pulseaudio" ,pulseaudio)
7826 ("shared-mime-info" ,shared-mime-info)
7827 ("system-config-printer" ,system-config-printer)
7828 ("xdg-user-dirs" ,xdg-user-dirs)
7829 ("yelp" ,yelp)
7830 ("zenity" ,zenity)))
fe4e698d 7831 (synopsis "The GNU desktop environment")
dc050251
SB
7832 (home-page "https://www.gnome.org/")
7833 (description
fe4e698d
LC
7834 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7835applications for browsing the web, editing text and images, creating
7836documents and diagrams, playing media, scanning, and much more.")
dc050251 7837 (license license:gpl2+)))
4a526711
DT
7838
7839(define-public byzanz
7840 ;; The last stable release of Byzanz was in 2011, but there have been many
7841 ;; useful commits made to the Byzanz repository since then that it would be
7842 ;; silly to use such an old release.
7843 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7844 (package
7845 (name "byzanz")
7846 (version (string-append "0.2-1." (string-take commit 7)))
7847 (source (origin
7848 (method git-fetch)
7849 (uri (git-reference
5f13bf09 7850 (url "https://git.gnome.org/browse/byzanz")
4a526711 7851 (commit commit)))
5a6527e4 7852 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7853 (sha256
7854 (base32
7855 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7856 (build-system glib-or-gtk-build-system)
7857 (arguments
7858 '(#:phases
7859 (modify-phases %standard-phases
189be331 7860 (replace 'bootstrap
4a526711
DT
7861 (lambda _
7862 ;; The build system cleverly detects that we're not building from
7863 ;; a release tarball and turns on -Werror for GCC.
7864 ;; Unsurprisingly, there is a warning during compilation that
7865 ;; causes the build to fail unnecessarily, so we remove the flag.
7866 (substitute* '("configure.ac")
7867 (("-Werror") ""))
7868 ;; The autogen.sh script in gnome-common will run ./configure
7869 ;; by default, which is problematic because source shebangs
7870 ;; have not yet been patched.
7871 (setenv "NOCONFIGURE" "t")
7872 (zero? (system* "sh" "autogen.sh")))))))
7873 (native-inputs
7874 `(("autoconf" ,autoconf)
7875 ("automake" ,automake)
7876 ("gnome-common" ,gnome-common)
7877 ("intltool" ,intltool)
7878 ("libtool" ,libtool)
7879 ("pkg-config" ,pkg-config)
7880 ("which" ,which)))
7881 (inputs
7882 `(("glib" ,glib)
7883 ("gstreamer" ,gstreamer)
7884 ("gst-plugins-base" ,gst-plugins-base)
7885 ("gtk+" ,gtk+)))
7886 (synopsis "Desktop recording program")
7887 (description "Byzanz is a simple desktop recording program with a
7888command-line interface. It can record part or all of an X display for a
7889specified duration and save it as a GIF encoded animated image file.")
7890 (home-page "https://git.gnome.org/browse/byzanz")
7891 (license license:gpl2+))))
3a9a4c51 7892
0ec171ec
MS
7893(define-public gsound
7894 (package
7895 (name "gsound")
7896 (version "1.0.2")
7897 (source (origin
7898 (method url-fetch)
7899 (uri (string-append "mirror://gnome/sources/" name "/"
7900 (version-major+minor version) "/"
7901 name "-" version ".tar.xz"))
7902 (sha256
7903 (base32
7904 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7905 (build-system glib-or-gtk-build-system)
7906 (native-inputs
7907 `(("pkg-config" ,pkg-config)
7908 ("gobject-introspection" ,gobject-introspection)
7909 ("vala" ,vala)))
7910 (inputs
7911 `(("glib" ,glib)
7912 ("libcanberra" ,libcanberra)))
7913 (home-page "https://wiki.gnome.org/Projects/GSound")
7914 (synopsis "GObject wrapper for libcanberra")
7915 (description
7916 "GSound is a small library for playing system sounds. It's designed to be
7917used via GObject Introspection, and is a thin wrapper around the libcanberra C
7918library.")
7919 (license license:lgpl2.1+)))
7920
3a9a4c51
RS
7921(define-public libzapojit
7922 (package
7923 (name "libzapojit")
7924 (version "0.0.3")
7925 (source (origin
7926 (method url-fetch)
7927 (uri (string-append "mirror://gnome/sources/" name "/"
7928 (version-major+minor version) "/"
7929 name "-" version ".tar.xz"))
7930 (sha256
7931 (base32
7932 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7933 (build-system gnu-build-system)
7934 (native-inputs
7935 `(("gobject-introspection" ,gobject-introspection)
7936 ("intltool" ,intltool)
7937 ("pkg-config" ,pkg-config)))
7938 (inputs
14c297fd 7939 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7940 ("json-glib" ,json-glib)
7941 ("rest" ,rest)))
7942 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7943 (synopsis "Library for accessing SkyDrive and Hotmail")
7944 (description
7945 "Libzapojit is a GLib-based library for accessing online service APIs of
7946Microsoft SkyDrive and Hotmail, using their REST protocols.")
7947 (license license:lgpl2.1+)))
9365ee1c 7948
60e2a9ae
MS
7949(define-public gnome-clocks
7950 (package
7951 (name "gnome-clocks")
c76d0dbc 7952 (version "3.32.0")
60e2a9ae
MS
7953 (source (origin
7954 (method url-fetch)
7955 (uri (string-append "mirror://gnome/sources/" name "/"
7956 (version-major+minor version) "/"
7957 name "-" version ".tar.xz"))
7958 (sha256
7959 (base32
c76d0dbc 7960 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7961 (build-system meson-build-system)
7962 (arguments
7963 '(#:glib-or-gtk? #t))
7964 (native-inputs
7965 `(("vala" ,vala)
7966 ("pkg-config" ,pkg-config)
7967 ("glib" ,glib "bin") ; for glib-compile-resources
7968 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7969 ("desktop-file-utils" ,desktop-file-utils)
7970 ("gettext" ,gettext-minimal)
7971 ("itstool" ,itstool)))
7972 (inputs
7973 `(("glib" ,glib)
7974 ("gtk+" ,gtk+)
7975 ("gsound" ,gsound)
7976 ("geoclue" ,geoclue)
7977 ("geocode-glib" ,geocode-glib)
7978 ("libgweather" ,libgweather)
7979 ("gnome-desktop" ,gnome-desktop)))
7980 (home-page "https://wiki.gnome.org/Apps/Clocks")
7981 (synopsis "GNOME's clock application")
7982 (description
7983 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7984desktop. It supports world clock, stop watch, alarms, and count down timer.")
7985 (license license:gpl3+)))
7986
3c474897
KY
7987(define-public gnome-calendar
7988 (package
7989 (name "gnome-calendar")
339b59bf 7990 (version "3.32.2")
3c474897
KY
7991 (source (origin
7992 (method url-fetch)
7993 (uri (string-append "mirror://gnome/sources/" name "/"
7994 (version-major+minor version) "/"
7995 name "-" version ".tar.xz"))
7996 (sha256
7997 (base32
339b59bf 7998 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7999 (build-system meson-build-system)
8000 (arguments
8001 '(#:glib-or-gtk? #t
8002 ;; gnome-calendar has to be installed before the tests can be run
8003 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
8004 #:tests? #f))
3c474897 8005 (native-inputs
a49d3e37
MS
8006 `(("gettext" ,gettext-minimal)
8007 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
8008 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
8009 ("pkg-config" ,pkg-config)))
8010 (inputs
a49d3e37 8011 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8012 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8013 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8014 ("libdazzle" ,libdazzle)
b63c06f1 8015 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8016 ("libgweather" ,libgweather)
8017 ("geoclue" ,geoclue)))
3c474897
KY
8018 (home-page "https://wiki.gnome.org/Apps/Calendar")
8019 (synopsis "GNOME's calendar application")
8020 (description
8021 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8022desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8023 (license license:gpl3+)))
8024
57b14665
MS
8025(define-public gnome-todo
8026 (package
8027 (name "gnome-todo")
9f3c6c88 8028 (version "3.28.1")
57b14665
MS
8029 (source (origin
8030 (method url-fetch)
8031 (uri (string-append "mirror://gnome/sources/" name "/"
8032 (version-major+minor version) "/"
8033 name "-" version ".tar.xz"))
8034 (sha256
8035 (base32
9f3c6c88 8036 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8037 (build-system meson-build-system)
8038 (arguments
8039 '(#:glib-or-gtk? #t
8040 #:phases (modify-phases %standard-phases
8041 (add-after
8042 'install 'wrap-gnome-todo
8043 (lambda* (#:key inputs outputs #:allow-other-keys)
8044 (let ((out (assoc-ref outputs "out"))
8045 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8046 (python-path (getenv "PYTHONPATH")))
8047 (wrap-program (string-append out "/bin/gnome-todo")
8048 ;; XXX: gi plugins are broken.
8049 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8050 ;; For plugins.
8051 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8052 `("PYTHONPATH" ":" prefix (,python-path))))
8053 #t)))))
8054 (native-inputs
8055 `(("gettext" ,gettext-minimal)
8056 ("gobject-introspection" ,gobject-introspection)
8057 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8058 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8059 ("pkg-config" ,pkg-config)))
8060 (inputs
8061 `(("rest" ,rest) ; For Todoist plugin
8062 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8063 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8064 ("libical" ,libical)
8065 ("libpeas" ,libpeas)
8066 ("python-pygobject" ,python-pygobject)
8067 ("evolution-data-server" ,evolution-data-server)
14c297fd 8068 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8069 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8070 (home-page "https://wiki.gnome.org/Apps/Todo")
8071 (synopsis "GNOME's ToDo Application")
8072 (description
8073 "GNOME To Do is a simplistic personal task manager designed to perfectly
8074fit the GNOME desktop.")
8075 (license license:gpl3+)))
8076
ab179eaf
SB
8077(define-public gnome-dictionary
8078 (package
8079 (name "gnome-dictionary")
cf81ddef 8080 (version "3.26.1")
ab179eaf
SB
8081 (source (origin
8082 (method url-fetch)
8083 (uri (string-append "mirror://gnome/sources/" name "/"
8084 (version-major+minor version) "/"
8085 name "-" version ".tar.xz"))
8086 (sha256
8087 (base32
cf81ddef
LC
8088 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8089 (build-system meson-build-system)
2776b5d5
MB
8090 (arguments '(#:glib-or-gtk? #t
8091 #:phases (modify-phases %standard-phases
8092 (add-after 'unpack 'patch-install-script
8093 (lambda _
8094 ;; This script attempts to compile glib schemas
8095 ;; and create an empty MIME database. We do
8096 ;; that elsewhere, so prevent it from running.
8097 (substitute* "build-aux/post-install.sh"
8098 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8099 #t)))))
ab179eaf
SB
8100 (native-inputs
8101 `(("glib:bin" ,glib "bin")
8102 ("gobject-introspection" ,gobject-introspection)
8103 ("intltool" ,intltool)
8104 ("itstool" ,itstool)
8105 ("pkg-config" ,pkg-config)
8106 ("xmllint" ,libxml2)))
8107 (inputs
8108 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8109 ("gtk+" ,gtk+)))
8110 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8111 (synopsis "Look up words in dictionary sources")
8112 (description
8113 "GNOME Dictionary can look for the definition or translation of a word in
8114existing databases over the internet.")
8115 (license license:gpl3+)))
8116
d13f3a03 8117(define-public gnome-tweaks
9365ee1c 8118 (package
d13f3a03 8119 (name "gnome-tweaks")
652af676 8120 (version "3.32.0")
9365ee1c
JN
8121 (source (origin
8122 (method url-fetch)
d13f3a03 8123 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8124 (version-major+minor version) "/"
d13f3a03
RW
8125 "gnome-tweaks-" version ".tar.xz"))
8126 (patches
8127 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8128 (sha256
8129 (base32
652af676 8130 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8131 (build-system meson-build-system)
9365ee1c 8132 (arguments
d13f3a03
RW
8133 `(#:glib-or-gtk? #t
8134 #:configure-flags '("-Dlocalstatedir=/tmp"
8135 "-Dsysconfdir=/tmp")
9365ee1c 8136 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8137 ,@%meson-build-system-modules)
8138 #:phases
8139 (modify-phases %standard-phases
8140 (add-after 'install 'wrap
8141 (@@ (guix build python-build-system) wrap))
8142 (add-after 'wrap 'wrap-gi-typelib
8143 (lambda* (#:key inputs outputs #:allow-other-keys)
8144 (let ((out (assoc-ref outputs "out"))
8145 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8146 (wrap-program (string-append out "/bin/gnome-tweaks")
8147 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8148 #t)))))
9365ee1c 8149 (native-inputs
c7fc414e
RH
8150 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8151 ("intltool" ,intltool)
9365ee1c
JN
8152 ("pkg-config" ,pkg-config)))
8153 (inputs
c7fc414e
RH
8154 `(("gnome-desktop" ,gnome-desktop)
8155 ("gtk+" ,gtk+)
9365ee1c
JN
8156 ("gobject-introspection" ,gobject-introspection)
8157 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8158 ("libnotify" ,libnotify)
8159 ("libsoup" ,libsoup)
8160 ("nautilus" ,nautilus)
8161 ("python" ,python)
8162 ("python-pygobject" ,python-pygobject)))
9365ee1c 8163 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8164 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8165 (description
d13f3a03 8166 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8167GNOME 3. This includes things like the fonts used in user interface elements,
8168alternative user interface themes, changes in window management behavior,
8169GNOME Shell appearance and extension, etc.")
8170 (license license:gpl3+)))
813f814a 8171
32ac717c
DT
8172(define-public gnome-shell-extensions
8173 (package
8174 (name "gnome-shell-extensions")
ae4c05e0 8175 (version "3.32.1")
32ac717c
DT
8176 (source (origin
8177 (method url-fetch)
8178 (uri (string-append "mirror://gnome/sources/" name "/"
8179 (version-major+minor version) "/"
8180 name "-" version ".tar.xz"))
8181 (sha256
8182 (base32
ae4c05e0 8183 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8184 (build-system meson-build-system)
32ac717c 8185 (arguments
100f625b 8186 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8187 (native-inputs
c9ea8873
LP
8188 `(("glib:bin" ,glib "bin")
8189 ("intltool" ,intltool)
32ac717c
DT
8190 ("pkg-config" ,pkg-config)))
8191 (propagated-inputs
c9ea8873 8192 `(("glib" ,glib)))
32ac717c
DT
8193 (synopsis "Extensions for GNOME Shell")
8194 (description "GNOME Shell extensions modify and extend GNOME Shell
8195functionality and behavior.")
8196 (home-page "https://extensions.gnome.org/")
8197 (license license:gpl3+)))
8198
813f814a
DT
8199(define-public arc-theme
8200 (package
8201 (name "arc-theme")
37781323 8202 (version "20190917")
813f814a 8203 (source (origin
a18f8eaf
BH
8204 (method git-fetch)
8205 (uri (git-reference
8206 (url "https://github.com/NicoHood/arc-theme.git")
8207 (commit version)))
8208 (file-name (git-file-name name version))
813f814a
DT
8209 (sha256
8210 (base32
37781323 8211 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8212 (build-system gnu-build-system)
d88884fa
EF
8213 (arguments
8214 '(#:phases
8215 (modify-phases %standard-phases
8216 ;; autogen.sh calls configure at the end of the script.
8217 (replace 'bootstrap
4690e3a4
MC
8218 (lambda _ (invoke "autoreconf" "-vfi")))
8219 (add-before 'build 'set-home ;placate Inkscape
8220 (lambda _
8221 (setenv "HOME" (getcwd))
8222 #t)))))
813f814a
DT
8223 (native-inputs
8224 `(("autoconf" ,autoconf)
8225 ("automake" ,automake)
a18f8eaf
BH
8226 ("glib" ,glib "bin") ; for glib-compile-resources
8227 ("gnome-shell" ,gnome-shell)
8228 ("gtk+" ,gtk+)
8229 ("inkscape" ,inkscape)
8230 ("optipng" ,optipng)
8231 ("pkg-config" ,pkg-config)
bed24ecf 8232 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8233 (synopsis "A flat GTK+ theme with transparent elements")
8234 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
82352, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8236like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8237 (home-page "https://github.com/horst3180/arc-theme")
8238 ;; No "or later" language found.
a18f8eaf 8239 (license license:gpl3+)))
9987c57c 8240
d935e6a1 8241(define-public faba-icon-theme
9987c57c 8242 (package
d935e6a1 8243 (name "faba-icon-theme")
2eee7ee3 8244 (version "4.3")
d935e6a1
BT
8245 (source
8246 (origin
757e4027
TGR
8247 (method git-fetch)
8248 (uri (git-reference
8249 (url "https://github.com/snwh/faba-icon-theme.git")
8250 (commit (string-append "v" version))))
8251 (file-name (git-file-name name version))
d935e6a1 8252 (sha256
757e4027 8253 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8254 (build-system meson-build-system)
9987c57c 8255 (arguments
82da291a 8256 `(#:phases
9987c57c 8257 (modify-phases %standard-phases
82da291a 8258 (add-before 'configure 'disable-post-install
9987c57c 8259 (lambda _
82da291a
JL
8260 (substitute* "meson.build"
8261 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8262 (native-inputs
8263 `(("autoconf" ,autoconf)
8264 ("automake" ,automake)))
d935e6a1
BT
8265 (synopsis "Faba icon theme")
8266 (description
8267 "Faba is a minimal icon set used as a basis for other themes such as
8268Moka")
8269 (home-page "https://snwh.org/moka")
8270 (license (list license:lgpl3+
8271 license:cc-by-sa4.0))))
8272
9987c57c
DT
8273(define-public moka-icon-theme
8274 (package
8b0e4177 8275 (inherit faba-icon-theme)
9987c57c 8276 (name "moka-icon-theme")
105a3625 8277 (version "5.4.0")
8c3f2170
TGR
8278 (source
8279 (origin
8280 (method git-fetch)
8281 (uri (git-reference
8282 (url "https://github.com/snwh/moka-icon-theme.git")
8283 (commit (string-append "v" version))))
8284 (file-name (git-file-name name version))
8285 (sha256
8286 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8287 (propagated-inputs
8288 ;; Moka is based on Faba by using it as a fallback icon set instead of
8289 ;; bundling it, so we need to add it as a propagated input.
8290 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8291 (synopsis "Moka icon theme")
8292 (description "Moka is a stylized desktop icon set, designed to be clear,
8293simple and consistent.")
fedde43b
BT
8294 (license (list license:gpl3+
8295 license:cc-by-sa4.0))))
6fd8f8d6
DT
8296
8297(define-public arc-icon-theme
8298 (package
8299 (name "arc-icon-theme")
c4180240 8300 (version "20161122")
bbf66cbf
TGR
8301 (source
8302 (origin
8303 (method git-fetch)
8304 (uri (git-reference
8305 (url "https://github.com/horst3180/arc-icon-theme.git")
8306 (commit version)))
8307 (file-name (git-file-name name version))
8308 (sha256
8309 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8310 (build-system gnu-build-system)
9e1ede95
JL
8311 (arguments
8312 `(#:phases
8313 (modify-phases %standard-phases
8314 (add-after 'unpack 'disable-configure-during-bootstrap
8315 (lambda _
8316 (substitute* "autogen.sh"
8317 (("^\"\\$srcdir/configure\".*") ""))
8318 #t)))))
6fd8f8d6
DT
8319 (native-inputs
8320 `(("autoconf" ,autoconf)
8321 ("automake" ,automake)))
8322 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8323 (propagated-inputs
8324 `(("moka-icon-theme" ,moka-icon-theme)))
8325 (synopsis "Arc icon theme")
8326 (description "The Arc icon theme provides a set of icons matching the
8327style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8328the Moka icon theme.")
8329 (home-page "https://github.com/horst3180/arc-icon-theme")
8330 (license license:gpl3+)))
6064a4e8
LF
8331
8332(define-public folks
8333 (package
8334 (name "folks")
d23495fa 8335 (version "0.11.4")
6064a4e8
LF
8336 (source (origin
8337 (method url-fetch)
8338 (uri (string-append
e5f4796e 8339 "mirror://gnome/sources/folks/"
6064a4e8 8340 (version-major+minor version) "/"
e5f4796e 8341 "folks-" version ".tar.xz"))
6064a4e8
LF
8342 (sha256
8343 (base32
d23495fa 8344 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8345 (build-system glib-or-gtk-build-system)
8346 (inputs
8347 `(("bdb" ,bdb)
8348 ("dbus-glib" ,dbus-glib)
8349 ("evolution-data-server" ,evolution-data-server)
8350 ("glib" ,glib)
8351 ("libgee" ,libgee)
8352 ("telepathy-glib" ,telepathy-glib)))
8353 (native-inputs
8354 `(("gobject-introspection" ,gobject-introspection)
8355 ("intltool" ,intltool)
8356 ("pkg-config" ,pkg-config)
8357 ("vala" ,vala)))
8358 (synopsis "Library to aggregate data about people")
8359 (description "Libfolks is a library that aggregates information about people
8360from multiple sources (e.g., Telepathy connection managers for IM contacts,
8361Evolution Data Server for local contacts, libsocialweb for web service contacts,
8362etc.) to create metacontacts. It's written in Vala, which generates C code when
8363compiled.")
8364 (home-page "https://wiki.gnome.org/Projects/Folks")
8365 (license license:lgpl2.1+)))
01ea778f
LF
8366
8367(define-public gfbgraph
8368 (package
8369 (name "gfbgraph")
8370 (version "0.2.3")
8371 (source (origin
8372 (method url-fetch)
8373 (uri (string-append
237d4cf7 8374 "mirror://gnome/sources/gfbgraph/"
01ea778f 8375 (version-major+minor version) "/"
237d4cf7 8376 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8377 (sha256
8378 (base32
8379 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8380 (build-system glib-or-gtk-build-system)
8381 (arguments
8382 `(#:tests? #f ; Tests appear to require the network.
8383 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8384 #:configure-flags '("--disable-gtk-doc"
8385 "--disable-static"
8386 "--enable-introspection")))
8387 (native-inputs
8388 `(("pkg-config" ,pkg-config)
8389 ("gobject-introspection" ,gobject-introspection)))
8390 (inputs
8391 `(("json-glib" ,json-glib)
14c297fd 8392 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8393 ("rest" ,rest)))
8394 (synopsis "GLib/GObject wrapper for the Facebook API")
8395 (description "This library allows you to use the Facebook API from
8396GLib/GObject code.")
8397 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8398 (license license:lgpl2.1+)))
3920868c 8399
8400(define-public libgnomekbd
8401 (package
8402 (name "libgnomekbd")
70f2b0f9 8403 (version "3.26.1")
3920868c 8404 (source (origin
8405 (method url-fetch)
d47fa82d 8406 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8407 (version-major+minor version) "/"
d47fa82d 8408 "libgnomekbd-" version ".tar.xz"))
3920868c 8409 (sha256
8410 (base32
70f2b0f9 8411 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8412 (build-system gnu-build-system)
8413 (native-inputs
8414 `(("pkg-config" ,pkg-config)
8415 ("glib" ,glib "bin")
8416 ("intltool" ,intltool)))
8417 (propagated-inputs
8418 ;; Referred to in .h files and .pc.
8419 `(("glib" ,glib)
8420 ("gtk+" ,gtk+)
8421 ("libxklavier" ,libxklavier)))
8422 (home-page "https://www.gnome.org")
8423 (synopsis "GNOME keyboard configuration library")
8424 (description
8425 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8426environment, which can notably display keyboard layouts.")
8427 (license license:lgpl2.0+)))
85327d0d 8428
8429;;; This package is no longer maintained:
8430;;; https://wiki.gnome.org/Attic/LibUnique
8431;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8432;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8433(define-public libunique
8434 (package
8435 (name "libunique")
8436 (version "3.0.2")
8437 (source (origin
8438 (method url-fetch)
8439 (uri (string-append "mirror://gnome/sources/" name "/"
8440 (version-major+minor version) "/"
8441 name "-" version ".tar.xz"))
8442 (sha256
8443 (base32
8444 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8445 (build-system glib-or-gtk-build-system)
8446 (arguments
8447 `(#:configure-flags '("--disable-static"
8448 "--disable-dbus" ; use gdbus
8449 "--enable-introspection")))
8450 (native-inputs
8451 `(("pkg-config" ,pkg-config)
8452 ("gobject-introspection" ,gobject-introspection)
8453 ("glib:bin" ,glib "bin")
8454 ("gtk-doc" ,gtk-doc)))
8455 (propagated-inputs
8456 ;; Referred to in .h files and .pc.
8457 `(("gtk+" ,gtk+)))
8458 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8459 (synopsis "Library for writing single instance applications")
8460 (description
8461 "Libunique is a library for writing single instance applications. If you
8462launch a single instance application twice, the second instance will either just
8463quit or will send a message to the running instance. Libunique makes it easy to
8464write this kind of application, by providing a base class, taking care of all
8465the IPC machinery needed to send messages to a running instance, and also
8466handling the startup notification side.")
8467 (license license:lgpl2.1+)))
54021cd8
RS
8468
8469(define-public gnome-calculator
8470 (package
8471 (name "gnome-calculator")
07ace641 8472 (version "3.32.2")
54021cd8
RS
8473 (source
8474 (origin
8475 (method url-fetch)
8476 (uri (string-append "mirror://gnome/sources/" name "/"
8477 (version-major+minor version) "/"
8478 name "-" version ".tar.xz"))
8479 (sha256
8480 (base32
07ace641 8481 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8482 (build-system meson-build-system)
8483 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8484 (native-inputs
8485 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8486 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8487 ("intltool" ,intltool)
8488 ("itstool" ,itstool)
2d475910 8489 ("vala" ,vala)
54021cd8
RS
8490 ("pkg-config" ,pkg-config)))
8491 (inputs
112e9083 8492 `(("glib" ,glib)
07ace641 8493 ("gtksourceview" ,gtksourceview)
54021cd8 8494 ("libsoup" ,libsoup)
112e9083 8495 ("libxml2" ,libxml2)
2c2da7ec 8496 ("mpc" ,mpc)
54021cd8
RS
8497 ("mpfr" ,mpfr)))
8498 (home-page "https://wiki.gnome.org/Apps/Calculator")
8499 (synopsis "Desktop calculator")
8500 (description
8501 "Calculator is an application that solves mathematical equations and
8502is suitable as a default application in a Desktop environment.")
8503 (license license:gpl3)))
0bd69759
RS
8504
8505(define-public xpad
8506 (package
8507 (name "xpad")
c85626bb 8508 (version "5.1.0")
0bd69759
RS
8509 (source
8510 (origin
8511 (method url-fetch)
08fda9c6
R
8512 (uri (string-append "https://launchpad.net/xpad/trunk/"
8513 version "/+download/"
0bd69759
RS
8514 name "-" version ".tar.bz2"))
8515 (sha256
8516 (base32
c85626bb 8517 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8518 (build-system gnu-build-system)
8519 (native-inputs
08fda9c6
R
8520 `(("autoconf" ,autoconf)
8521 ("automake" ,automake)
8522 ("gtk+:bin" ,gtk+ "bin")
8523 ("intltool" ,intltool)
0bd69759
RS
8524 ("pkg-config" ,pkg-config)))
8525 (inputs
c72647fb 8526 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8527 ("libsm" ,libsm)))
8528 (home-page "https://wiki.gnome.org/Apps/Xpad")
8529 (synopsis "Virtual sticky note")
8530 (description
8531 "Xpad is a sticky note that strives to be simple, fault tolerant,
8532and customizable. Xpad consists of independent pad windows, each is
8533basically a text box in which notes can be written.")
8534 (license license:gpl3+)))
3ad7dce1
RS
8535
8536(define-public gucharmap
c60063ea
RW
8537 (let ((unicode-files
8538 '(("Blocks.txt"
1f8b5515 8539 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8540 ("DerivedAge.txt"
1f8b5515 8541 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8542 ("NamesList.txt"
1f8b5515 8543 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8544 ("Scripts.txt"
1f8b5515 8545 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8546 ("UnicodeData.txt"
1f8b5515 8547 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8548 ("Unihan.zip"
1f8b5515 8549 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8550 (package
8551 (name "gucharmap")
1f8b5515 8552 (version "12.0.1")
c60063ea
RW
8553 (source
8554 (origin
8555 (method url-fetch)
8556 (uri (string-append "mirror://gnome/sources/" name "/"
8557 (version-major+minor version) "/"
8558 name "-" version ".tar.xz"))
8559 (sha256
8560 (base32
1f8b5515 8561 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8562 (build-system glib-or-gtk-build-system)
8563 (arguments
8564 `(#:modules ((ice-9 match)
8565 (guix build glib-or-gtk-build-system)
8566 (guix build utils))
8567 #:configure-flags
8568 (list "--with-unicode-data=../unicode-data")
8569 #:phases
8570 (modify-phases %standard-phases
8571 (add-after 'unpack 'prepare-unicode-data
8572 (lambda* (#:key inputs #:allow-other-keys)
8573 (mkdir-p "../unicode-data")
8574 (with-directory-excursion "../unicode-data"
8575 (for-each (match-lambda
8576 ((file _)
8577 (install-file (assoc-ref inputs file) ".")))
8578 ',unicode-files))
8579 #t)))))
8580 (native-inputs
8581 `(("desktop-file-utils" ,desktop-file-utils)
8582 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8583 ("gobject-introspection" ,gobject-introspection)
8584 ("intltool" ,intltool)
8585 ("itstool" ,itstool)
8586 ("pkg-config" ,pkg-config)
8587 ,@(map (match-lambda
8588 ((file hash)
8589 `(,file
8590 ,(origin
8591 (method url-fetch)
8592 (uri (string-append
1f8b5515 8593 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8594 file))
8595 (sha256 (base32 hash))))))
8596 unicode-files)
8597 ("unzip" ,unzip)))
8598 (inputs
8599 `(("gtk+" ,gtk+)
8600 ("xmllint" ,libxml2)))
8601 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8602 (synopsis "Unicode character picker and font browser")
8603 (description
8604 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8605characters and categories for the installed fonts, and to examine their
8606detailed properties. It is an easy way to find the character you might
8607only know by its Unicode name or code point.")
c60063ea 8608 (license license:gpl3+))))
04ce840a
RS
8609
8610(define-public bluefish
8611 (package
8612 (name "bluefish")
290fe81d 8613 (version "2.2.11")
04ce840a
RS
8614 (source
8615 (origin
8616 (method url-fetch)
8617 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8618 "bluefish-" version ".tar.gz"))
04ce840a 8619 (sha256
290fe81d 8620 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8621 (build-system gnu-build-system)
8622 (native-inputs
8623 `(("desktop-file-utils" ,desktop-file-utils)
8624 ("intltool" ,intltool)
8625 ("pkg-config" ,pkg-config)))
8626 (inputs
8627 `(("enchant" ,enchant)
8628 ("gtk+" ,gtk+)
290fe81d 8629 ("python" ,python-wrapper)
04ce840a
RS
8630 ("xmllint" ,libxml2)
8631 ("gucharmap" ,gucharmap)))
8632 (home-page "http://bluefish.openoffice.nl")
8633 (synopsis "Web development studio")
8634 (description
8635 "Bluefish is an editor targeted towards programmers and web developers,
8636with many options to write web sites, scripts and other code.
8637Bluefish supports many programming and markup languages.")
8638 (license license:gpl3+)))
1f6a73ee
RS
8639
8640(define-public gnome-system-monitor
8641 (package
8642 (name "gnome-system-monitor")
083cffaf 8643 (version "3.32.1")
1f6a73ee
RS
8644 (source
8645 (origin
8646 (method url-fetch)
8647 (uri (string-append "mirror://gnome/sources/" name "/"
8648 (version-major+minor version) "/"
8649 name "-" version ".tar.xz"))
8650 (sha256
8651 (base32
083cffaf 8652 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8653 (build-system meson-build-system)
8654 (arguments
8655 '(#:glib-or-gtk? #t
8656 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8657 (native-inputs
8658 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8659 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8660 ("intltool" ,intltool)
8661 ("itstool" ,itstool)
8662 ("libgtop" ,libgtop)
4985d9aa 8663 ("polkit" ,polkit)
1f6a73ee
RS
8664 ("pkg-config" ,pkg-config)))
8665 (inputs
8666 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8667 ("gtk+" ,gtk+)
8668 ("gtkmm" ,gtkmm)
8669 ("librsvg" ,librsvg)
4985d9aa
RW
8670 ("libxml2" ,libxml2)
8671 ("libwnck" ,libwnck)))
1f6a73ee
RS
8672 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8673 (synopsis "Process viewer and system resource monitor for GNOME")
8674 (description
8675 "GNOME System Monitor is a GNOME process viewer and system monitor with
8676an attractive, easy-to-use interface. It has features, such as a tree view
8677for process dependencies, icons for processes, the ability to hide processes,
8678graphical time histories of CPU/memory/swap usage and the ability to
8679kill/reinice processes.")
8680 (license license:gpl2+)))
3e00ac47
SB
8681
8682(define-public python-pyatspi
8683 (package
8684 (name "python-pyatspi")
4f937a32 8685 (version "2.34.0")
3e00ac47
SB
8686 (source (origin
8687 (method url-fetch)
8688 (uri (string-append
8689 "mirror://gnome/sources/pyatspi/"
8690 (version-major+minor version)
8691 "/pyatspi-" version ".tar.xz"))
8692 (sha256
8693 (base32
4f937a32 8694 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8695 (build-system gnu-build-system)
b95af3f6
JL
8696 (arguments
8697 `(#:phases
8698 (modify-phases %standard-phases
8699 (add-before 'build 'fix-atk-load
8700 (lambda _
8701 (substitute* "pyatspi/__init__.py"
8702 (("from gi.repository import Atspi")
8703 "gi.require_version('Gtk', '3.0')
8704from gi.repository import Gtk
8705from gi.repository import Atspi"))
8706 #t)))))
3e00ac47
SB
8707 (native-inputs
8708 `(("pkg-config" ,pkg-config)))
8709 (inputs
8710 `(("python" ,python)
8711 ("python-pygobject" ,python-pygobject)))
8712 (synopsis "Python client bindings for D-Bus AT-SPI")
8713 (home-page "https://wiki.linuxfoundation.org/accessibility\
8714/atk/at-spi/at-spi_on_d-bus")
8715 (description
8716 "This package includes a python client library for the AT-SPI D-Bus
8717accessibility infrastructure.")
8718 (license license:lgpl2.0)
8719 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8720
8721(define-public orca
8722 (package
8723 (name "orca")
089e8585 8724 (version "3.32.0")
53201c0d
SB
8725 (source (origin
8726 (method url-fetch)
8727 (uri (string-append
8728 "mirror://gnome/sources/" name "/"
8729 (version-major+minor version) "/"
8730 name "-" version ".tar.xz"))
8731 (sha256
8732 (base32
089e8585 8733 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8734 (build-system glib-or-gtk-build-system)
8735 (arguments
8736 '(#:phases
8737 (modify-phases %standard-phases
8738 (add-before 'configure 'qualify-xkbcomp
8739 (lambda* (#:key inputs #:allow-other-keys)
8740 (let ((xkbcomp (string-append
8741 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8742 (substitute* "src/orca/orca.py"
8743 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8744 #t))
8745 (add-after 'install 'wrap-orca
8746 (lambda* (#:key outputs #:allow-other-keys)
8747 (let* ((out (assoc-ref outputs "out"))
8748 (prog (string-append out "/bin/orca")))
8749 (wrap-program prog
8750 `("GI_TYPELIB_PATH" ":" prefix
8751 (,(getenv "GI_TYPELIB_PATH")))
8752 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8753 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8754 `("PYTHONPATH" ":" prefix
8755 (,(getenv "PYTHONPATH")))))
8756 #t)))))
8757 (native-inputs
8758 `(("intltool" ,intltool)
8759 ("itstool" ,itstool)
8760 ("pkg-config" ,pkg-config)
8761 ("xmllint" ,libxml2)))
8762 (inputs
8763 `(("at-spi2-atk" ,at-spi2-atk)
8764 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8765 ("gstreamer" ,gstreamer)
8766 ("gst-plugins-base" ,gst-plugins-base)
8767 ("gst-plugins-good" ,gst-plugins-good)
8768 ("gtk+" ,gtk+)
8769 ("python" ,python)
8770 ("python-pygobject" ,python-pygobject)
8771 ("python-pyatspi" ,python-pyatspi)
8772 ("python-speechd" ,speech-dispatcher)
8773 ("xkbcomp" ,xkbcomp)))
8774 (synopsis
8775 "Screen reader for individuals who are blind or visually impaired")
8776 (home-page "https://wiki.gnome.org/Projects/Orca")
8777 (description
8778 "Orca is a screen reader that provides access to the graphical desktop
8779via speech and refreshable braille. Orca works with applications and toolkits
8780that support the Assistive Technology Service Provider Interface (AT-SPI).")
8781 (license license:lgpl2.1+)))
411ba511
LC
8782
8783(define-public gspell
8784 (package
8785 (name "gspell")
7a6bbe9b 8786 (version "1.8.2")
411ba511
LC
8787 (source (origin
8788 (method url-fetch)
8789 (uri (string-append "mirror://gnome/sources/" name "/"
8790 (version-major+minor version) "/"
8791 name "-" version ".tar.xz"))
8792 (sha256
8793 (base32
7a6bbe9b 8794 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8795 (patches (search-patches "gspell-dash-test.patch"))))
8796 (build-system glib-or-gtk-build-system)
8797 (arguments
d0f50164 8798 '(#:configure-flags (list "--enable-vala")
8799 #:phases
411ba511
LC
8800 (modify-phases %standard-phases
8801 (add-before 'check 'pre-check
8802 (lambda* (#:key inputs #:allow-other-keys)
8803 ;; Tests require a running X server.
8804 (system "Xvfb :1 &")
8805 (setenv "DISPLAY" ":1")
8806
8807 ;; For the missing /etc/machine-id.
8808 (setenv "DBUS_FATAL_WARNINGS" "0")
8809
8810 ;; Allow Enchant and its Aspell backend to find the en_US
8811 ;; dictionary.
8812 (setenv "ASPELL_DICT_DIR"
8813 (string-append (assoc-ref inputs "aspell-dict-en")
8814 "/lib/aspell"))
8815 #t)))))
8816 (inputs
eccd35be 8817 `(("gtk+" ,gtk+)
a801ae4c
TGR
8818 ("glib" ,glib)
8819 ("iso-codes" ,iso-codes)))
411ba511
LC
8820 (native-inputs
8821 `(("glib" ,glib "bin")
26ba3f07 8822 ("gobject-introspection" ,gobject-introspection)
411ba511 8823 ("pkg-config" ,pkg-config)
d0f50164 8824 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
8825 ("xmllint" ,libxml2)
8826
8827 ;; For tests.
a801ae4c 8828 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8829 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8830 (propagated-inputs
9b1bb757 8831 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8832 (home-page "https://wiki.gnome.org/Projects/gspell")
8833 (synopsis "GNOME's alternative spell checker")
8834 (description
8835 "gspell provides a flexible API to add spell-checking to a GTK+
8836application. It provides a GObject API, spell-checking to text entries and
8837text views, and buttons to choose the language.")
8838 (license license:gpl2+)))
d1d739fa
CM
8839
8840(define-public gnome-planner
8841 (package
8842 (name "gnome-planner")
8843 (version "0.14.6")
8844 (source (origin
8845 (method url-fetch)
8846 (uri (string-append "mirror://gnome/sources/planner/"
8847 (version-major+minor version) "/planner-"
8848 version ".tar.xz"))
8849 (sha256
8850 (base32
8851 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8852 (build-system glib-or-gtk-build-system)
8853 (arguments
8854 ;; Disable the Python bindings because the Planner program functions
8855 ;; without them, and (as of 2017-06-13) we have not packaged all of
8856 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8857 `(#:configure-flags
8858 (list "--disable-python"
8859 ,@(if (string=? "aarch64-linux" (%current-system))
8860 '("--build=aarch64-unknown-linux-gnu")
8861 '()))))
d1d739fa
CM
8862 (inputs
8863 `(("libgnomecanvas" ,libgnomecanvas)
8864 ("libgnomeui" ,libgnomeui)
8865 ("libglade" ,libglade)
8866 ("gnome-vfs" ,gnome-vfs)
8867 ("gconf" ,gconf)
8868 ("libxml2" ,libxml2)
8869 ("libxslt" ,libxslt)
8870 ("gtk+" ,gtk+)
8871 ("glib" ,glib)))
8872 (native-inputs
8873 `(("intltool" ,intltool)
8874 ("scrollkeeper" ,scrollkeeper)
8875 ("pkg-config" ,pkg-config)))
8876 (home-page "https://wiki.gnome.org/Apps/Planner")
8877 (synopsis "Project management software for the GNOME desktop")
8878 (description
8879 "GNOME Planner is a project management tool based on the Work Breakdown
8880Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8881the resources, tasks, and constraints that you define, Planner generates
8882various views into a project. For example, Planner can show a Gantt chart of
8883the project. It can show a detailed summary of tasks including their
8884duration, cost, and current progress. It can also show a report of resource
8885utilization that highlights under-utilized and over-utilized resources. These
8886views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8887 (license license:gpl2+)))
64fce637
RS
8888
8889(define-public lollypop
8890 (package
8891 (name "lollypop")
24b5d8f7 8892 (version "1.2.32")
64fce637
RS
8893 (source
8894 (origin
8895 (method url-fetch)
24b5d8f7 8896 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 8897 "lollypop-" version ".tar.xz"))
64fce637 8898 (sha256
24b5d8f7 8899 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 8900 (build-system meson-build-system)
64fce637 8901 (arguments
7a9543d7
TGR
8902 `(#:imported-modules
8903 (,@%meson-build-system-modules
8904 (guix build python-build-system))
8905 #:modules
8906 ((guix build meson-build-system)
8907 ((guix build python-build-system) #:prefix python:)
8908 (guix build utils))
aa498fc0 8909 #:glib-or-gtk? #t
7a9543d7 8910 #:tests? #f ; no test suite
5fc9b6c1
EF
8911 #:phases
8912 (modify-phases %standard-phases
5fc9b6c1
EF
8913 (add-after 'install 'wrap-program
8914 (lambda* (#:key outputs #:allow-other-keys)
8915 (let ((out (assoc-ref outputs "out"))
8916 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8917 (wrap-program (string-append out "/bin/lollypop")
8918 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8919 #t))
8ac8b3b3 8920 (add-after 'install 'wrap-python
7a9543d7 8921 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
8922 (native-inputs
8923 `(("intltool" ,intltool)
8924 ("itstool" ,itstool)
aa498fc0
TD
8925 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8926 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8927 ("pkg-config" ,pkg-config)))
8928 (inputs
8929 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8930 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8931 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8932 ("libnotify" ,libnotify)
8933 ("libsecret" ,libsecret)
8934 ("libsoup" ,libsoup)
8935 ("python" ,python)
8936 ("python-beautifulsoup4" ,python-beautifulsoup4)
8937 ("python-gst" ,python-gst)
d029afdd 8938 ("python-pil" ,python-pillow)
64fce637 8939 ("python-pycairo" ,python-pycairo)
7460f346 8940 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8941 ("python-pylast" ,python-pylast)
8942 ("totem-pl-parser" ,totem-pl-parser)
8943 ("webkitgtk" ,webkitgtk)))
8944 (propagated-inputs
8945 `(;; gst-plugins-base is required to start Lollypop,
8946 ;; the others are required to play streaming.
64fce637
RS
8947 ("gst-plugins-good" ,gst-plugins-good)
8948 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8949 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8950 (synopsis "GNOME music playing application")
8951 (description
8952 "Lollypop is a music player designed to play well with GNOME desktop.
8953Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8954from artists and tracks from the web. It also fetches cover artworks
8955automatically and it can stream songs from online music services and charts.")
8956 (license license:gpl3+)))
d831d49d
AW
8957
8958(define-public gnome-video-effects
8959 (package
8960 (name "gnome-video-effects")
8961 (version "0.4.3")
8962 (source (origin
8963 (method url-fetch)
8964 (uri (string-append "mirror://gnome/sources/" name "/"
8965 (version-major+minor version) "/" name "-"
8966 version ".tar.xz"))
8967 (sha256
8968 (base32
8969 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8970 (build-system glib-or-gtk-build-system)
8971 (arguments
8972 `(#:out-of-source? #f))
8973 (native-inputs
8974 `(("glib:bin" ,glib "bin")
8975 ("intltool" ,intltool)
8976 ("gettext" ,gettext-minimal)
8977 ("pkg-config" ,pkg-config)))
8978 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8979 (synopsis "Video effects for Cheese and other GNOME applications")
8980 (description
8981 "A collection of GStreamer video filters and effects to be used in
8982photo-booth-like software, such as Cheese.")
8983 (license license:gpl2+)))
3511c780
AW
8984
8985(define-public cheese
8986 (package
8987 (name "cheese")
dd33b337 8988 (version "3.32.1")
3511c780
AW
8989 (source (origin
8990 (method url-fetch)
8991 (uri (string-append "mirror://gnome/sources/" name "/"
8992 (version-major+minor version) "/" name "-"
8993 version ".tar.xz"))
8994 (sha256
8995 (base32
dd33b337 8996 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8997 (arguments
8998 ;; Tests require GDK.
8999 `(#:tests? #f
9000 #:phases
9001 (modify-phases %standard-phases
9002 (add-before 'install 'skip-gtk-update-icon-cache
9003 (lambda _
9004 ;; Don't create 'icon-theme.cache'
9005 (substitute* "Makefile"
9006 (("gtk-update-icon-cache") (which "true")))
9007 #t))
9008 (add-after 'install 'wrap-cheese
9009 (lambda* (#:key inputs outputs #:allow-other-keys)
9010 (let ((out (assoc-ref outputs "out"))
9011 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9012 (wrap-program (string-append out "/bin/cheese")
9013 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9014 #t)))))
9015 (build-system glib-or-gtk-build-system)
9016 (native-inputs
9017 `(("glib:bin" ,glib "bin")
9018 ("intltool" ,intltool)
9019 ("itstool" ,itstool)
9020 ("libxml2" ,libxml2)
9021 ("pkg-config" ,pkg-config)
9022 ("vala" ,vala)))
9023 (propagated-inputs
6a19f03e
RW
9024 `(("gnome-video-effects" ,gnome-video-effects)
9025 ("clutter" ,clutter)
3511c780
AW
9026 ("clutter-gst" ,clutter-gst)
9027 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9028 ("libcanberra" ,libcanberra)
3511c780
AW
9029 ("gdk-pixbuf" ,gdk-pixbuf)
9030 ("glib" ,glib)
6a19f03e
RW
9031 ("gstreamer" ,gstreamer)))
9032 (inputs
9033 `(("gnome-desktop" ,gnome-desktop)
3511c780 9034 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9035 ("gst-plugins-base" ,gst-plugins-base)
9036 ("gst-plugins-bad" ,gst-plugins-bad)
9037 ("gtk+" ,gtk+)
3511c780
AW
9038 ("libx11" ,libx11)
9039 ("libxtst" ,libxtst)))
9040 (home-page "https://wiki.gnome.org/Apps/Cheese")
9041 (synopsis "Webcam photo booth software for GNOME")
9042 (description
9043 "Cheese uses your webcam to take photos and videos. Cheese can also
9044apply fancy special effects and lets you share the fun with others.")
9045 (license license:gpl2+)))
3c5dbd2b 9046
9047(define-public sound-juicer
9048 (package
9049 (name "sound-juicer")
9050 (version "3.24.0")
9051 (source
9052 (origin
9053 (method url-fetch)
9054 (uri (string-append "mirror://gnome/sources/" name "/"
9055 (version-major+minor version) "/"
9056 name "-" version ".tar.xz"))
9057 (sha256
9058 (base32
9059 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9060 (build-system glib-or-gtk-build-system)
9061 (native-inputs
9062 `(("desktop-file-utils" ,desktop-file-utils)
9063 ("intltool" ,intltool)
9064 ("itstool" ,itstool)
9065 ("pkg-config" ,pkg-config)
9066 ("xmllint" ,libxml2)))
9067 (inputs
9068 `(("gtk+" ,gtk+)
9069 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9070 ("gstreamer" ,gstreamer)
9071 ("gst-plugins-base" ,gst-plugins-base)
9072 ("gst-plugins-good" ,gst-plugins-good)
9073 ("iso-codes" ,iso-codes)
9074 ("libbrasero-media3" ,brasero)
9075 ("libcanberra" ,libcanberra)
9076 ("libdiscid" ,libdiscid)
9077 ("libmusicbrainz" ,libmusicbrainz)
9078 ("neon" ,neon)))
9079 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9080 (synopsis "Audio music cd ripper")
9081 (description "Sound Juicer extracts audio from compact discs and convert it
9082into audio files that a personal computer or digital audio player can play.
9083It supports ripping to any audio codec supported by a GStreamer plugin, such as
9084mp3, Ogg Vorbis and FLAC")
9085 (license license:gpl2+)))
4e3fdeb7 9086
0d3f1708
CB
9087(define-public soundconverter
9088 (package
9089 (name "soundconverter")
fa75a213 9090 (version "3.0.1")
0d3f1708
CB
9091 (source
9092 (origin
9093 (method url-fetch)
9094 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9095 version "/+download/"
9096 "soundconverter-" version ".tar.xz"))
9097
9098 (sha256
fa75a213 9099 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9100 (patches
9101 (search-patches
9102 "soundconverter-remove-gconf-dependency.patch"))))
9103 (build-system glib-or-gtk-build-system)
9104 (arguments
9105 `(#:imported-modules ((guix build python-build-system)
9106 (guix build glib-or-gtk-build-system)
9107 ,@%gnu-build-system-modules)
9108
9109 #:modules ((guix build glib-or-gtk-build-system)
9110 (guix build utils)
9111 ((guix build gnu-build-system) #:prefix gnu:)
9112 ((guix build python-build-system) #:prefix python:))
9113
9114 #:phases
9115 (modify-phases %standard-phases
0d3f1708
CB
9116 (add-after 'install 'wrap-soundconverter-for-python
9117 (assoc-ref python:%standard-phases 'wrap))
9118 (add-after 'install 'wrap-soundconverter
9119 (lambda* (#:key inputs outputs #:allow-other-keys)
9120 (let ((out (assoc-ref outputs "out"))
9121 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9122 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9123 (wrap-program (string-append out "/bin/soundconverter")
9124 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9125 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9126 #t)))))
9127 (native-inputs
9128 `(("intltool" ,intltool)
9129 ("pkg-config" ,pkg-config)
9130 ("glib:bin" ,glib "bin")))
9131 (inputs
9132 `(("gtk+" ,gtk+)
9133 ("python" ,python)
9134 ("python-pygobject" ,python-pygobject)
9135 ("gstreamer" ,gstreamer)
9136 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9137 (home-page "https://soundconverter.org/")
0d3f1708
CB
9138 (synopsis "Convert between audio formats with a graphical interface")
9139 (description
9140 "SoundConverter supports converting between many audio formats including
9141Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9142configurable file renaming. ")
9143 (license license:gpl3)))
9144
4e3fdeb7 9145(define-public workrave
89f2d736
TGR
9146 (package
9147 (name "workrave")
1b9e1648 9148 (version "1.10.37")
89f2d736
TGR
9149 (source
9150 (origin
9151 (method git-fetch)
9152 (uri (git-reference
9153 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9154 (commit (string-append "v" (string-map
9155 (match-lambda (#\. #\_) (chr chr))
9156 version)))))
89f2d736
TGR
9157 (file-name (git-file-name name version))
9158 (sha256
1b9e1648 9159 (base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13"))))
89f2d736 9160 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9161 (arguments
9162 ;; The only tests are maintainer tests (in po/), which fail.
9163 `(#:tests? #f))
d1c96847
MC
9164 (inputs `(("glib" ,glib)
9165 ("gtk+" ,gtk+)
9166 ("gdk-pixbuf" ,gdk-pixbuf)
9167 ("gtkmm" ,gtkmm)
9168 ("glibmm" ,glibmm)
9169 ("libx11" ,libx11)
9170 ("libxtst" ,libxtst)
9171 ("dconf" ,dconf)
9172 ("libice" ,libice)
9173 ("libsm" ,libsm)
9174 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9175 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9176 ("pkg-config" ,pkg-config)
9177 ("gettext" ,gnu-gettext)
9178 ("autoconf" ,autoconf)
9179 ("autoconf-archive" , autoconf-archive)
9180 ("automake" ,automake)
9181 ("libtool" ,libtool)
9182 ("intltool" ,intltool)
89f2d736 9183 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9184 ("python3" ,python-3)
9185 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9186 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9187 (description
9188 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9189repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9190micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9191 (home-page "http://www.workrave.org")
9192 (license license:gpl3+)))
312afa7d
LC
9193
9194(define-public ghex
9195 (package
9196 (name "ghex")
3748992a 9197 (version "3.18.4")
312afa7d
LC
9198 (source (origin
9199 (method url-fetch)
2fbab848 9200 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9201 (version-major+minor version) "/"
2fbab848 9202 "ghex-" version ".tar.xz"))
312afa7d
LC
9203 (sha256
9204 (base32
3748992a
KK
9205 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9206 (build-system meson-build-system)
9207 (arguments
9208 '(#:glib-or-gtk? #t
9209 #:phases
9210 (modify-phases %standard-phases
9211 (add-after 'unpack 'skip-gtk-update-icon-cache
9212 ;; Don't create 'icon-theme.cache'.
9213 (lambda _
9214 (substitute* "meson_post_install.py"
9215 (("gtk-update-icon-cache") (which "true")))
9216 #t)))))
312afa7d
LC
9217 (native-inputs
9218 `(("pkg-config" ,pkg-config)
3748992a 9219 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9220 ("gnome-common" ,gnome-common)
9221 ("which" ,which)
9222 ("intltool" ,intltool)
9223 ("yelp-tools" ,yelp-tools)
2fbab848 9224 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9225 (inputs
9226 `(("atk" ,atk)
9227 ("gtk" ,gtk+)))
9228 (synopsis "GNOME hexadecimal editor")
9229 (description "The GHex program can view and edit files in two ways:
9230hexadecimal or ASCII. It is useful for editing binary files in general.")
9231 (home-page "https://wiki.gnome.org/Apps/Ghex")
9232 (license license:gpl2)))
4b2ed6c2
RW
9233
9234(define-public libdazzle
9235 (package
9236 (name "libdazzle")
64fa66ba 9237 (version "3.33.90")
4b2ed6c2
RW
9238 (source (origin
9239 (method url-fetch)
687b4909 9240 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9241 (version-major+minor version) "/"
687b4909 9242 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9243 (sha256
9244 (base32
64fa66ba 9245 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9246 (build-system meson-build-system)
9247 (arguments
9248 `(#:phases
9249 (modify-phases %standard-phases
4b2ed6c2
RW
9250 (add-before 'check 'pre-check
9251 (lambda _
9252 ;; Tests require a running X server.
9253 (system "Xvfb :1 &")
9254 (setenv "DISPLAY" ":1")
9255 #t)))))
9256 (native-inputs
687b4909 9257 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9258 ("pkg-config" ,pkg-config)
687b4909 9259 ;; For tests.
ff337525 9260 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9261 (inputs
9262 `(("glib" ,glib)
9263 ("gobject-introspection" ,gobject-introspection)
9264 ("gtk+" ,gtk+)
9265 ("vala" ,vala)))
9266 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9267 (synopsis "Companion library to GObject and Gtk+")
9268 (description "The libdazzle library is a companion library to GObject and
9269Gtk+. It provides various features that the authors wish were in the
9270underlying library but cannot for various reasons. In most cases, they are
9271wildly out of scope for those libraries. In other cases, they are not quite
9272generic enough to work for everyone.")
9273 (license license:gpl3+)))
7d3bb433
RW
9274
9275(define-public evolution
9276 (package
9277 (name "evolution")
06141f83 9278 (version "3.32.4")
7d3bb433
RW
9279 (source (origin
9280 (method url-fetch)
9281 (uri (string-append "mirror://gnome/sources/evolution/"
9282 (version-major+minor version) "/"
9283 "evolution-" version ".tar.xz"))
9284 (sha256
9285 (base32
06141f83 9286 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9287 (build-system cmake-build-system)
9288 (arguments
5229bea1
KK
9289 `(#:imported-modules (,@%cmake-build-system-modules
9290 (guix build glib-or-gtk-build-system))
9291 #:modules ((guix build cmake-build-system)
9292 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9293 (guix build utils))
9294 #:configure-flags
7d3bb433 9295 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9296 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9297 ; in four years and cannot be built.
5229bea1
KK
9298 #:phases
9299 (modify-phases %standard-phases
9300 ;; The build system attempts to install user interface modules to the
9301 ;; output directory of the "evolution-data-server" package. This
9302 ;; change redirects that change.
9303 (add-after 'unpack 'patch-ui-module-dir
9304 (lambda* (#:key outputs #:allow-other-keys)
9305 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9306 (("\\$\\{edsuimoduledir\\}")
9307 (string-append (assoc-ref outputs "out")
9308 "/lib/evolution-data-server/ui-modules")))
9309 #t))
9310 (add-after 'install 'glib-or-gtk-compile-schemas
9311 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9312 (add-after 'install 'glib-or-gtk-wrap
9313 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9314 (native-inputs
ad6e168b 9315 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9316 ("pkg-config" ,pkg-config)
9317 ("intltool" ,intltool)
9318 ("itstool" ,itstool)))
9319 (inputs
9320 `(("enchant" ,enchant)
9321 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9322 ("gcr" ,gcr)
ad6e168b 9323 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9324 ("gnome-autoar" ,gnome-autoar)
9325 ("gnome-desktop" ,gnome-desktop)
9326 ("gtkspell3" ,gtkspell3)
9327 ("highlight" ,highlight)
9328 ("libcanberra" ,libcanberra)
b63c06f1 9329 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9330 ("libgweather" ,libgweather)
9331 ("libnotify" ,libnotify)
9332 ("libsoup" ,libsoup)
9333 ("nss" ,nss)
9334 ("openldap" ,openldap)
9335 ("webkitgtk" ,webkitgtk)
9336 ("ytnef" ,ytnef)))
9337 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9338 (synopsis "Manage your email, contacts and schedule")
9339 (description "Evolution is a personal information management application
9340that provides integrated mail, calendaring and address book
9341functionality.")
9342 ;; See COPYING for details.
23dbe621 9343 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9344 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9345 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9346
9347(define-public gthumb
9348 (package
9349 (name "gthumb")
8280676b 9350 (version "3.8.2")
169d63f5
AT
9351 (source (origin
9352 (method url-fetch)
9353 (uri (string-append "mirror://gnome/sources/gthumb/"
9354 (version-major+minor version) "/"
9355 "gthumb-" version ".tar.xz"))
9356 (sha256
9357 (base32
8280676b 9358 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9359 (build-system meson-build-system)
9360 (arguments
9361 `(#:glib-or-gtk? #t
9362 #:configure-flags
9363 ;; Ensure the RUNPATH contains all installed library locations.
9364 (list (string-append "-Dc_link_args=-Wl,-rpath="
9365 (assoc-ref %outputs "out")
9366 "/lib/gthumb/extensions")
9367 (string-append "-Dcpp_link_args=-Wl,-rpath="
9368 (assoc-ref %outputs "out")
9369 "/lib/gthumb/extensions"))))
9370 (native-inputs
9371 `(("pkg-config" ,pkg-config)
9372 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9373 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9374 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9375 ("intltool" ,intltool)
9376 ("itstool" ,itstool)))
9377 (inputs
9378 `(("exiv2" ,exiv2)
9379 ("gtk" ,gtk+)
9380 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9381 ("gstreamer" ,gstreamer)
9382 ("clutter" ,clutter)
9383 ("clutter-gst" ,clutter-gst)
9384 ("clutter-gtk" ,clutter-gtk)
9385 ("libjpeg" ,libjpeg)
9386 ("libtiff" ,libtiff)
9387 ("libraw" ,libraw)))
9388 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9389 (synopsis "GNOME image viewer and browser")
9390 (description "GThumb is an image viewer, browser, organizer, editor and
9391advanced image management tool")
9392 (license license:gpl2+)))
08be02be
AT
9393
9394(define-public terminator
9395 (package
9396 (name "terminator")
9397 (version "1.91")
9398 (source (origin
9399 (method url-fetch)
9400 (uri (string-append "https://launchpad.net/" name "/"
9401 "gtk3/" version "/" "+download/"
9402 name "-" version ".tar.gz"))
9403 (sha256
9404 (base32
9405 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9406 (build-system python-build-system)
9407 (native-inputs
9408 `(("intltool" ,intltool)
9409 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9410 ("gettext" ,gettext-minimal)
9411 ("pkg-config" ,pkg-config)))
9412 (inputs
9413 `(("cairo" ,cairo)
9414 ("gobject-introspection" ,gobject-introspection)
96681d4b 9415 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9416 ("python2-pycairo" ,python2-pycairo)
9417 ("python2-pygobject" ,python2-pygobject)
9418 ("python2-psutil" ,python2-psutil)
9419 ("vte" ,vte)))
9420 (arguments
96681d4b
TGR
9421 `(#:python ,python-2 ; Python 3 isn't supported
9422 #:imported-modules ((guix build glib-or-gtk-build-system)
9423 ,@%python-build-system-modules)
9424 #:modules ((guix build python-build-system)
9425 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9426 (guix build utils))
08be02be
AT
9427 #:phases
9428 (modify-phases %standard-phases
9429 (add-after
9430 'install 'wrap-program
9431 (lambda* (#:key outputs #:allow-other-keys)
9432 (let ((prog (string-append (assoc-ref outputs "out")
9433 "/bin/terminator")))
9434 (wrap-program prog
9435 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9436 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9437 #t)))
9438 (add-after 'wrap-program 'glib-or-gtk-wrap
9439 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9440 (home-page "https://gnometerminator.blogspot.com/")
9441 (synopsis "Store and run multiple GNOME terminals in one window")
9442 (description
9443 "Terminator allows you to run multiple GNOME terminals in a grid and
9444+tabs, and it supports drag and drop re-ordering of terminals.")
9445 (license license:gpl2)))
213315d4
JF
9446
9447(define-public libhandy
9448 (package
9449 (name "libhandy")
f6501b9f 9450 (version "0.0.12")
213315d4
JF
9451 (source
9452 (origin
9453 (method git-fetch)
9454 (uri (git-reference
9455 (url "https://source.puri.sm/Librem5/libhandy")
9456 (commit (string-append "v" version))))
9457 (file-name (git-file-name name version))
9458 (sha256
f6501b9f 9459 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9460 (build-system meson-build-system)
9461 (arguments
9462 `(#:configure-flags
9463 '("-Dglade_catalog=disabled"
9464 "-Dgtk_doc=true")
9465 #:phases
9466 (modify-phases %standard-phases
213315d4
JF
9467 (add-before 'check 'pre-check
9468 (lambda _
9469 ;; Tests require a running X server.
9470 (system "Xvfb :1 &")
9471 (setenv "DISPLAY" ":1")
9472 #t)))))
9473 (inputs
9474 `(("gtk+" ,gtk+)))
9475 (native-inputs
9476 `(("glib:bin" ,glib "bin")
9477 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9478 ("vala" ,vala)
9479 ("gtk-doc" ,gtk-doc)
9480 ("pkg-config" ,pkg-config)
9481 ("gettext" ,gettext-minimal)
d41ee146
TGR
9482
9483 ;; Test suite dependencies.
ff337525 9484 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9485 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9486 (home-page "https://source.puri.sm/Librem5/libhandy")
9487 (synopsis "Library full of GTK+ widgets for mobile phones")
9488 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9489interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9490for usage on small and big screens.")
213315d4 9491 (license license:lgpl2.1+)))
a830d14d
GL
9492
9493(define-public libgit2-glib
9494 (package
9495 (name "libgit2-glib")
6448c2e1 9496 (version "0.99.0.1")
a830d14d
GL
9497 (source (origin
9498 (method url-fetch)
9499 (uri (string-append "mirror://gnome/sources/" name "/"
9500 (version-major+minor version) "/"
9501 name "-" version ".tar.xz"))
9502 (sha256
9503 (base32
6448c2e1 9504 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9505 (build-system meson-build-system)
9506 (native-inputs
9507 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9508 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9509 ("pkg-config" ,pkg-config)
9510 ("python-pygobject" ,python-pygobject)
9511 ("python-wrapper" ,python-wrapper)
9512 ("vala" ,vala)))
9513 (inputs
9514 `(("glib" ,glib)
8c6aae46
MB
9515 ("libssh2" ,libssh2)))
9516 (propagated-inputs
9517 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9518 ("libgit2" ,libgit2)))
9519 (synopsis "GLib wrapper around the libgit2 Git access library")
9520 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9521access library. It only implements the core plumbing functions, not really the
9522higher level porcelain stuff.")
9523 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9524 (license license:gpl2+)))
93beace0 9525
08db81c9
LP
9526(define-public gitg
9527 (package
9528 (name "gitg")
9529 (version "3.32.1")
9530 (source (origin
9531 (method url-fetch)
9532 (uri (string-append "mirror://gnome/sources/" name "/"
9533 (version-major+minor version) "/"
9534 name "-" version ".tar.xz"))
9535 (sha256
9536 (base32
9537 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9538 (build-system meson-build-system)
9539 (arguments
9540 `(#:glib-or-gtk? #t
9541 #:phases
9542 (modify-phases %standard-phases
9543 (add-after 'unpack 'disable-post-install-partially
9544 (lambda _
9545 (substitute* "meson_post_install.py"
9546 (("'python'") ; there are no python sources to compile
9547 (string-append "'" (which "true") "'"))
9548 (("gtk-update-icon-cache") (which "true")))
9549 #t))
9550 (add-after 'unpack 'fix-test-sources
9551 (lambda _
9552 (substitute* "tests/libgitg/test-commit.vala"
9553 (("/bin/bash") (which "bash")))
9554 #t))
9555 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9556 (lambda* (#:key outputs #:allow-other-keys)
9557 (let ((prog (string-append (assoc-ref outputs "out")
9558 "/bin/gitg")))
9559 (wrap-program prog
9560 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9561 #t))))))
9562 (inputs
9563 `(("glib" ,glib)
9564 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9565 ("gtk+" ,gtk+)
9566 ("gtkspell3" ,gtkspell3)
9567 ("gtksourceview" ,gtksourceview-3)
9568 ("json-glib" ,json-glib)
9569 ("libdazzle" ,libdazzle)
9570 ("libgee" ,libgee)
08db81c9
LP
9571 ("libgit2-glib" ,libgit2-glib)
9572 ("libpeas" ,libpeas)
9573 ("libsecret" ,libsecret)
9574 ("libsoup" ,libsoup)
9575 ("libxml2" ,libxml2)))
9576 (native-inputs
9577 `(("glib:bin" ,glib "bin")
9578 ("gtk+:bin" ,gtk+ "bin")
9579 ("gobject-introspection" ,gobject-introspection)
9580 ("intltool" ,intltool)
9581 ("pkg-config" ,pkg-config)
9582 ("vala" ,vala)))
9583 (synopsis "Graphical user interface for git")
9584 (description
9585 "gitg is a graphical user interface for git. It aims at being a small,
9586fast and convenient tool to visualize the history of git repositories.
9587Besides visualization, gitg also provides several utilities to manage your
9588repository and commit your work.")
9589 (home-page "https://wiki.gnome.org/Apps/Gitg")
9590 (license license:gpl2+)))
9591
1e600ed0
RW
9592(define-public gamin
9593 (package
9594 (name "gamin")
9595 (version "0.1.10")
9596 (source (origin
9597 (method url-fetch)
9598 (uri (string-append "mirror://gnome/sources/" name "/"
9599 (version-major+minor version) "/"
9600 name "-" version ".tar.bz2"))
9601 (sha256
9602 (base32
9603 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9604 (build-system gnu-build-system)
9605 (arguments
9606 `(#:phases
9607 (modify-phases %standard-phases
9608 (add-after 'unpack 'remove-deprecated-macro
9609 (lambda _
9610 (substitute* '("server/gam_node.c"
9611 "server/gam_subscription.h"
9612 "server/gam_node.h"
9613 "server/gam_subscription.c")
9614 (("G_CONST_RETURN") "const"))
9615 #t)))))
9616 (inputs
9617 `(("glib" ,glib)))
9618 (native-inputs
9619 `(("intltool" ,intltool)
9620 ("pkg-config" ,pkg-config)))
9621 (home-page "https://people.gnome.org/~veillard/gamin/")
9622 (synopsis "File alteration monitor")
9623 (description
9624 "Gamin is a file and directory monitoring system defined to be a subset
9625of the FAM (File Alteration Monitor) system. This is a service provided by a
9626library which allows to detect when a file or a directory has been modified.")
9627 (license license:gpl2+)))
9628
93beace0
DW
9629(define-public gnome-mahjongg
9630 (package
9631 (name "gnome-mahjongg")
9632 (version "3.35.1")
9633 (source (origin
9634 (method git-fetch)
9635 (uri (git-reference
9636 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9637 (commit version)))
9638 (file-name (git-file-name name version))
9639 (sha256
9640 (base32
9641 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9642 (build-system meson-build-system)
9643 (arguments
9644 `(#:glib-or-gtk? #t))
9645 (native-inputs
9646 `(("appstream-glib" ,appstream-glib)
9647 ("gettext" ,gettext-minimal)
9648 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9649 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9650 ("itstool" ,itstool)
9651 ("pkg-config" ,pkg-config)
9652 ("vala" ,vala)))
9653 (propagated-inputs
9654 `(("dconf" ,dconf)))
9655 (inputs
9656 `(("glib" ,glib)
9657 ("gtk+" ,gtk+)
9658 ("librsvg" ,librsvg)))
9659 (synopsis "Mahjongg tile-matching game")
9660 (description "GNOME Mahjongg is a game based on the classic Chinese
9661tile-matching game Mahjong. It features multiple board layouts, tile themes,
9662and a high score table.")
9663 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9664 (license license:gpl2+)))
f825476c 9665
76ea7632
RG
9666(define-public gnome-themes-extra
9667 (package
9668 (name "gnome-themes-extra")
9669 (version "3.28")
9670 (source
9671 (origin
9672 (method url-fetch)
9673 (uri (string-append "mirror://gnome/sources/" name "/"
9674 (version-major+minor version) "/" name "-"
9675 version ".tar.xz"))
9676 (sha256
9677 (base32
9678 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9679 (build-system gnu-build-system)
885424bf
RG
9680 (arguments
9681 '(#:configure-flags
9682 ;; Don't create 'icon-theme.cache'.
9683 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9684 (true (string-append coreutils "/bin/true")))
9685 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9686 (native-inputs
9687 `(("glib:bin" ,glib "bin")
9688 ("intltool" ,intltool)
9689 ("pkg-config" ,pkg-config)))
9690 (inputs
9691 `(("glib" ,glib)
9692 ("gtk+" ,gtk+)
9693 ("gtk+-2" ,gtk+-2)
9694 ("librsvg" ,librsvg)
9695 ("libxml2" ,libxml2)))
9696 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9697 (synopsis "GNOME Extra Themes")
9698 (description "This package provides themes and related elements that don't
9699really fit in other upstream packages. It offers legacy support for GTK+ 2
9700versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9701index files needed for Adwaita to be used outside of GNOME.")
9702 (license license:lgpl2.1+)))
9703
f825476c
LP
9704(define-public polari
9705 (package
9706 (name "polari")
9707 (version "3.32.2")
9708 (source (origin
9709 (method url-fetch)
9710 (uri (string-append "mirror://gnome/sources/polari/"
9711 (version-major+minor version)
9712 "/polari-" version ".tar.xz"))
9713 (sha256
9714 (base32
9715 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9716 (build-system meson-build-system)
9717 (arguments
9718 `(#:glib-or-gtk? #t
9719 #:phases
9720 (modify-phases %standard-phases
9721 (add-after 'unpack 'skip-gtk-update-icon-cache
9722 (lambda _
9723 (substitute* "meson/meson-postinstall.sh"
9724 (("gtk-update-icon-cache") (which "true")))
9725 #t))
9726 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9727 (lambda* (#:key outputs #:allow-other-keys)
9728 (let ((prog (string-append (assoc-ref outputs "out")
9729 "/bin/polari")))
9730 (wrap-program prog
9731 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9732 #t))))))
9733 (inputs
9734 `(("glib" ,glib)
9735 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9736 ("gspell" ,gspell)
9737 ("gtk+" ,gtk+)
9738 ("gjs" ,gjs)
9739 ("libsecret" ,libsecret)
9740 ("libsoup" ,libsoup)
9741 ("telepathy-glib" ,telepathy-glib)
9742 ("telepathy-logger" ,telepathy-logger)))
9743 (native-inputs
9744 `(("glib:bin" ,glib "bin")
9745 ("gobject-introspection" ,gobject-introspection)
9746 ("intltool" ,intltool)
9747 ("pkg-config" ,pkg-config)
9748 ("yelp-tools" ,yelp-tools)))
9749 (propagated-inputs
9750 `(("telepathy-idle" ,telepathy-idle)
9751 ("telepathy-mission-control" ,telepathy-mission-control)))
9752 (synopsis "Simple IRC Client")
9753 (description
9754 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9755integrate seamlessly with the GNOME desktop.")
9756 (home-page "https://wiki.gnome.org/Apps/Polari")
9757 (license license:gpl2+)))
59d4c8c2
PN
9758
9759(define-public gnome-boxes
9760 (package
9761 (name "gnome-boxes")
9762 (version "3.35.91")
9763 (source
9764 (origin
9765 (method url-fetch)
9766 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9767 (version-major+minor version) "/"
9768 "gnome-boxes-" version ".tar.xz"))
9769 (sha256
9770 (base32
9771 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9772 (build-system meson-build-system)
9773 (arguments
9774 '(#:glib-or-gtk? #t
9775 #:configure-flags (list "-Drdp=false"
9776 (string-append "-Dc_link_args=-Wl,-rpath="
9777 (assoc-ref %outputs "out")
9778 "/lib/gnome-boxes"))))
9779 (native-inputs
9780 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9781 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9782 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9783 ("itstool" ,itstool)
9784 ("intltool" ,intltool)
9785 ("vala" ,vala)
9786 ("pkg-config" ,pkg-config)))
9787 (inputs
9788 `(("libarchive" ,libarchive)
9789 ("gtk" ,gtk+)
9790 ("gtk-vnc" ,gtk-vnc)
9791 ("libosinfo" ,libosinfo)
9792 ("libsecret" ,libsecret)
9793 ("libsoup" ,libsoup)
9794 ("libusb" ,libusb)
9795 ("libvirt" ,libvirt)
9796 ("libvirt-glib" ,libvirt-glib)
9797 ("libxml" ,libxml2)
9798 ("spice-gtk" ,spice-gtk)
9799 ("sparql-query" ,sparql-query)
9800 ("vte" ,vte)
9801 ("webkitgtk" ,webkitgtk)
9802 ("tracker" ,tracker)
9803 ("libgudev" ,libgudev)))
9804 (home-page "https://wiki.gnome.org/Apps/Boxes")
9805 (synopsis "View, access, and manage remote and virtual systems")
9806 (description "GNOME Boxes is a simple application to view, access, and
9807manage remote and virtual systems.")
9808 (license (list
9809 ;; For data/icons/empty-boxes.png.
9810 license:cc-by2.0
9811 ;; For all others.
9812 license:lgpl2.0+))))
0e26c3cf 9813
9814(define-public geary
9815 (package
9816 (name "geary")
9817 (version "3.34.1")
9818 (source (origin
9819 (method git-fetch)
9820 (uri (git-reference
9821 (url "https://gitlab.gnome.org/GNOME/geary")
9822 (commit version)))
9823 (file-name (git-file-name name version))
9824 (sha256
9825 (base32
9826 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
9827 (build-system meson-build-system)
9828 (arguments
9829 `(#:glib-or-gtk? #t
9830 #:phases (modify-phases %standard-phases
9831 (add-after 'unpack 'disable-failing-tests
9832 (lambda _
9833 (substitute* "test/meson.build"
9834 (("test\\('client-tests', geary_test_client_bin\\)")
9835 ""))
9836 #t))
9837 (add-after 'unpack 'disable-postinstall-script
9838 (lambda _
9839 (substitute* "meson.build"
9840 (("meson.add_install_script\\(\
9841join_paths\\('build-aux', 'post_install.py'\\)\\)")
9842 ""))
9843 #t))
9844 (add-before 'check 'setup-xvfb
9845 (lambda _
9846 (system "Xvfb :1 &")
9847 (setenv "DISPLAY" ":1")
9848 #t)))))
9849 (inputs
9850 `(("enchant" ,enchant)
9851 ("folks" ,folks)
9852 ("gcr" ,gcr)
9853 ("glib" ,glib)
9854 ("gmime" ,gmime-2.6)
9855 ("gnome-online-accounts:lib"
9856 ,gnome-online-accounts "lib")
9857 ("gspell" ,gspell)
9858 ("gtk+" ,gtk+)
9859 ("iso-codes" ,iso-codes)
9860 ("json-glib" ,json-glib)
9861 ("libcanberra" ,libcanberra)
9862 ("libgee" ,libgee)
9863 ("libhandy" ,libhandy)
9864 ("libpeas" ,libpeas)
9865 ("libsecret" ,libsecret)
9866 ("libunwind" ,libunwind)
9867 ("sqlite" ,sqlite)
9868 ("webkitgtk" ,webkitgtk)
9869 ("ytnef" ,ytnef)))
9870 (native-inputs
9871 `(("appstream-glib" ,appstream-glib)
9872 ("cmake-minimal" ,cmake-minimal)
9873 ("desktop-file-utils" ,desktop-file-utils)
9874 ("gettext" ,gnu-gettext)
9875 ("glib:bin" ,glib "bin")
9876 ("gobject-introspection" ,gobject-introspection)
9877 ("itstool" ,itstool)
9878 ("libarchive" ,libarchive)
9879 ("libxml2" ,libxml2)
9880 ("pkg-config" ,pkg-config)
9881 ("vala" ,vala)
9882 ("xvfb" ,xorg-server-for-tests)))
9883 (synopsis "GNOME email application built around conversations")
9884 (description
9885 "Geary collects related messages together into conversations,
9886making it easy to find and follow your discussions. Full-text and keyword
9887search makes it easy to find the email you are looking for. Geary's
9888full-featured composer lets you send rich, styled text with images, links, and
9889lists, but also send lightweight, easy to read text messages. Geary
9890automatically picks up your existing GNOME Online Accounts, and adding more is
9891easy. Geary has a clean, fast, modern interface that works like you want it
9892to.")
9893 (home-page "https://wiki.gnome.org/Apps/Geary")
9894 (license (list
9895 ;; geary
9896 license:lgpl2.1+
9897 ;; icons
9898 license:cc-by3.0
9899 license:cc-by-sa3.0
9900 license:public-domain
9901 ;; snowball
9902 license:bsd-2))))
1a17d21b
NG
9903
9904(define-public parlatype
9905 ;; This is one commit away from 2.0, because the latter introduced
9906 ;; a regression in ASR.
9907 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
9908 (revision "0"))
9909 (package
9910 (name "parlatype")
9911 (version (git-version "2.0" revision commit))
9912 (source
9913 (origin
9914 (method git-fetch)
9915 (uri (git-reference
9916 (url "https://github.com/gkarsay/parlatype.git")
9917 (commit commit)))
9918 (file-name (git-file-name name version))
9919 (sha256
9920 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
9921 (build-system meson-build-system)
9922 (arguments
9923 `(#:glib-or-gtk? #t
9924 #:tests? #f ;require internet access
9925 #:phases
9926 (modify-phases %standard-phases
9927 (add-after 'install 'wrap-parlatype
9928 ;; Add gstreamer plugin provided in this package to system's
9929 ;; plugins.
9930 (lambda* (#:key outputs #:allow-other-keys)
9931 (let* ((out (assoc-ref outputs "out"))
9932 (gst-plugin-path (string-append
9933 out "/lib/gstreamer-1.0/"
9934 ":"
9935 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
9936 (wrap-program (string-append out "/bin/parlatype")
9937 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
9938 #t)))))
9939 (native-inputs
9940 `(("appstream-glib" ,appstream-glib)
9941 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
9942 ("gettext" ,gettext-minimal)
9943 ("glib" ,glib "bin") ;for glib-compile-resources
9944 ("pkg-config" ,pkg-config)
9945 ("yelp-tools" ,yelp-tools)))
9946 (inputs
9947 `(("gst-plugins-base" ,gst-plugins-base)
9948 ("gst-plugins-good" ,gst-plugins-good)
9949 ("gstreamer" ,gstreamer)
9950 ("gtk+" ,gtk+)
9951 ("pocketsphinx" ,pocketsphinx)
9952 ("pulseaudio" ,pulseaudio)
9953 ("sphinxbase" ,sphinxbase)))
9954 (home-page "http://gkarsay.github.io/parlatype/")
9955 (synopsis "GNOME audio player for transcription")
9956 (description "Parlatype is an audio player for the GNOME desktop
9957environment. Its main purpose is the manual transcription of spoken
9958audio files.")
9959 (license license:gpl3+))))