gnu: Add grilo-plugins.
[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>
44a06c94 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
7d3bb433 11;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
ec47c07d 37;;; Copyright © 2019 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>
aa51d92c 42;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
ad6e168b 43;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
4e868d22 45;;; Copyright © 2019 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
995b7261
AE
49;;;
50;;; This file is part of GNU Guix.
51;;;
52;;; GNU Guix is free software; you can redistribute it and/or modify it
53;;; under the terms of the GNU General Public License as published by
54;;; the Free Software Foundation; either version 3 of the License, or (at
55;;; your option) any later version.
56;;;
57;;; GNU Guix is distributed in the hope that it will be useful, but
58;;; WITHOUT ANY WARRANTY; without even the implied warranty of
59;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60;;; GNU General Public License for more details.
61;;;
62;;; You should have received a copy of the GNU General Public License
63;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
64
65(define-module (gnu packages gnome)
ed19903d 66 #:use-module (gnu packages)
ba5dd105 67 #:use-module (gnu packages admin)
411ba511 68 #:use-module (gnu packages aspell)
75016d07 69 #:use-module (gnu packages autotools)
7b212526 70 #:use-module (gnu packages avahi)
b29909b4 71 #:use-module (gnu packages backup)
6a180f6f 72 #:use-module (gnu packages base)
1e33331c 73 #:use-module (gnu packages bash)
5698b8b8 74 #:use-module (gnu packages bison)
aa51d92c 75 #:use-module (gnu packages boost)
5fc9b6c1 76 #:use-module (gnu packages build-tools)
df217748 77 #:use-module (gnu packages calendar)
b29909b4 78 #:use-module (gnu packages cdrom)
df12f04a 79 #:use-module (gnu packages check)
d61a894b 80 #:use-module (gnu packages cmake)
b29909b4 81 #:use-module (gnu packages compression)
8f523eb9 82 #:use-module (gnu packages crates-io)
23a22af6 83 #:use-module (gnu packages cups)
6e1bb642 84 #:use-module (gnu packages curl)
c3f29bc9 85 #:use-module (gnu packages cyrus-sasl)
6e1bb642 86 #:use-module (gnu packages databases)
255d1bbe 87 #:use-module (gnu packages dbm)
c769cf9f 88 #:use-module (gnu packages djvu)
ba5dd105 89 #:use-module (gnu packages dns)
b4ce6300 90 #:use-module (gnu packages docbook)
b29909b4 91 #:use-module (gnu packages documentation)
329d731b 92 #:use-module (gnu packages enchant)
b29909b4
TGR
93 #:use-module (gnu packages flex)
94 #:use-module (gnu packages fonts)
e762d943 95 #:use-module (gnu packages file-systems)
a56be436 96 #:use-module (gnu packages fontutils)
b29909b4 97 #:use-module (gnu packages freedesktop)
dfc407f3 98 #:use-module (gnu packages game-development)
fed5a689 99 #:use-module (gnu packages gettext)
b29909b4
TGR
100 #:use-module (gnu packages ghostscript)
101 #:use-module (gnu packages gl)
995b7261 102 #:use-module (gnu packages glib)
c1354b90 103 #:use-module (gnu packages gnupg)
23a22af6 104 #:use-module (gnu packages gnuzilla)
8d8c6bff 105 #:use-module (gnu packages geo)
b29909b4
TGR
106 #:use-module (gnu packages gperf)
107 #:use-module (gnu packages graphviz)
85f5dc19 108 #:use-module (gnu packages gstreamer)
d9c1a22b 109 #:use-module (gnu packages gtk)
6b888eff 110 #:use-module (gnu packages guile)
b645146f 111 #:use-module (gnu packages ibus)
03be9874 112 #:use-module (gnu packages icu4c)
b29909b4
TGR
113 #:use-module (gnu packages image)
114 #:use-module (gnu packages imagemagick)
115 #:use-module (gnu packages inkscape)
9cc98f8a 116 #:use-module (gnu packages iso-codes)
b29909b4 117 #:use-module (gnu packages kerberos)
85f5dc19 118 #:use-module (gnu packages libcanberra)
b64e217f 119 #:use-module (gnu packages libunistring)
75016d07 120 #:use-module (gnu packages libusb)
b29909b4 121 #:use-module (gnu packages linux)
4e3fc547 122 #:use-module (gnu packages lirc)
7b212526 123 #:use-module (gnu packages lua)
b29909b4 124 #:use-module (gnu packages mail)
03be9874 125 #:use-module (gnu packages mp3)
b29909b4 126 #:use-module (gnu packages multiprecision)
64fce637 127 #:use-module (gnu packages music)
b29909b4
TGR
128 #:use-module (gnu packages ncurses)
129 #:use-module (gnu packages nettle)
ba5dd105 130 #:use-module (gnu packages networking)
5fc9b6c1 131 #:use-module (gnu packages ninja)
aff0cce9 132 #:use-module (gnu packages nss)
b29909b4 133 #:use-module (gnu packages openldap)
b645146f 134 #:use-module (gnu packages password-utils)
de1215e2 135 #:use-module (gnu packages pcre)
b29909b4 136 #:use-module (gnu packages pdf)
27477d2d 137 #:use-module (gnu packages perl)
f70d8383 138 #:use-module (gnu packages photo)
995b7261 139 #:use-module (gnu packages pkg-config)
b29909b4
TGR
140 #:use-module (gnu packages polkit)
141 #:use-module (gnu packages popt)
7d3bb433 142 #:use-module (gnu packages pretty-print)
23a22af6 143 #:use-module (gnu packages pulseaudio)
995b7261 144 #:use-module (gnu packages python)
00014781
RW
145 #:use-module (gnu packages python-crypto)
146 #:use-module (gnu packages python-web)
44d10b1f 147 #:use-module (gnu packages python-xyz)
cce0da5e 148 #:use-module (gnu packages rdesktop)
b29909b4 149 #:use-module (gnu packages readline)
a76d0f03 150 #:use-module (gnu packages ruby)
ec47c07d 151 #:use-module (gnu packages rust)
b29909b4 152 #:use-module (gnu packages samba)
75016d07 153 #:use-module (gnu packages scanner)
240cee8a 154 #:use-module (gnu packages selinux)
c27e02bf 155 #:use-module (gnu packages slang)
b29909b4
TGR
156 #:use-module (gnu packages speech)
157 #:use-module (gnu packages spice)
cd0322a3 158 #:use-module (gnu packages sqlite)
4a1bf090 159 #:use-module (gnu packages ssh)
8f9ac901 160 #:use-module (gnu packages tex)
33dc54b0 161 #:use-module (gnu packages time)
a7fd7b68 162 #:use-module (gnu packages tls)
3c5dbd2b 163 #:use-module (gnu packages version-control)
b29909b4 164 #:use-module (gnu packages video)
59132b80 165 #:use-module (gnu packages virtualization)
f2b96b3a 166 #:use-module (gnu packages vpn)
a18f8eaf 167 #:use-module (gnu packages web)
b29909b4
TGR
168 #:use-module (gnu packages web)
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
b29909b4 174 #:use-module (gnu packages xorg)
a76d0f03 175 #:use-module (gnu artwork)
8f523eb9 176 #:use-module (guix build-system cargo)
b29909b4
TGR
177 #:use-module (guix build-system cmake)
178 #:use-module (guix build-system glib-or-gtk)
179 #:use-module (guix build-system gnu)
180 #:use-module (guix build-system meson)
08be02be 181 #:use-module (guix build-system python)
b29909b4
TGR
182 #:use-module (guix build-system trivial)
183 #:use-module (guix download)
184 #:use-module (guix git-download)
185 #:use-module ((guix licenses) #:prefix license:)
186 #:use-module (guix packages)
187 #:use-module (guix utils)
a76d0f03 188 #:use-module (guix gexp)
8f523eb9
EF
189 #:use-module (guix monads)
190 #:use-module (guix store)
4e3fdeb7 191 #:use-module (ice-9 match)
c024ae36 192 #:use-module (srfi srfi-1))
85f5dc19
AE
193
194(define-public brasero
195 (package
196 (name "brasero")
e2bf423a 197 (version "3.12.2")
85f5dc19
AE
198 (source (origin
199 (method url-fetch)
d1df7554 200 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 201 (version-major+minor version) "/"
d1df7554 202 "brasero-" version ".tar.xz"))
85f5dc19
AE
203 (sha256
204 (base32
e2bf423a 205 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 206 (build-system glib-or-gtk-build-system)
e8627cd9
DH
207 (arguments
208 `(#:configure-flags (list
209 (string-append "--with-girdir="
210 (assoc-ref %outputs "out")
211 "/share/gir-1.0")
212 (string-append "--with-typelibdir="
213 (assoc-ref %outputs "out")
ce426deb
TD
214 "/lib/girepository-1.0"))
215 #:phases
216 (modify-phases %standard-phases
217 (add-before 'configure 'embed-growisofs
218 (lambda* (#:key inputs #:allow-other-keys)
219 (substitute* "plugins/growisofs/burn-growisofs.c"
220 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 221 #t)))))
85f5dc19
AE
222 (propagated-inputs
223 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
224 (native-inputs
225 `(("intltool" ,intltool)
ba549e17 226 ("itstool" ,itstool)
426adbe8 227 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 228 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 229 ("pkg-config" ,pkg-config)))
85f5dc19 230 (inputs
ce426deb
TD
231 `(("dvd+rw-tools" ,dvd+rw-tools)
232 ("glib" ,glib)
85f5dc19
AE
233 ("gnome-doc-utils" ,gnome-doc-utils)
234 ("gstreamer" ,gstreamer)
235 ("gst-plugins-base" ,gst-plugins-base)
236 ("gtk+" ,gtk+)
85f5dc19
AE
237 ("libcanberra" ,libcanberra)
238 ("libice" ,libice)
239 ("libnotify" ,libnotify)
240 ("libsm" ,libsm)
e8627cd9 241 ("libxml2" ,libxml2)
e8627cd9 242 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 243 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
244 (synopsis "CD/DVD burning tool for Gnome")
245 (description "Brasero is an application to burn CD/DVD for the Gnome
246Desktop. It is designed to be as simple as possible and has some unique
247features to enable users to create their discs easily and quickly.")
1dd26275 248 (license license:gpl2+)))
995b7261 249
29ae18db
RG
250(define-public gnome-color-manager
251 (package
252 (name "gnome-color-manager")
253 (version "3.32.0")
254 (source (origin
255 (method url-fetch)
256 (uri (string-append "mirror://gnome/sources/" name "/"
257 (version-major+minor version) "/"
258 name "-" version ".tar.xz"))
259 (sha256
260 (base32
261 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
262 (build-system meson-build-system)
263 (arguments
264 `(#:glib-or-gtk? #t
265 #:phases
266 (modify-phases %standard-phases
267 (add-before
268 'check 'pre-check
269 (lambda _
270 ;; Tests require a running X server.
271 (system "Xvfb :1 &")
272 (setenv "DISPLAY" ":1")
273 #t)))))
274 (native-inputs
275 `(("desktop-file-utils" ,desktop-file-utils)
276 ("gettext" ,gettext-minimal)
277 ("glib:bin" ,glib "bin")
278 ("gtk+:bin" ,gtk+ "bin")
279 ("itstool" ,itstool)
280 ("pkg-config" ,pkg-config)
281 ("xorg-server" ,xorg-server-for-tests)))
282 (inputs
283 `(("adwaita-icon-theme" ,adwaita-icon-theme)
284 ("appstream-glib" ,appstream-glib)
285 ("colord-gtk" ,colord-gtk)
286 ("exiv2" ,exiv2)
287 ("gnome-desktop" ,gnome-desktop)
288 ("libcanberra" ,libcanberra)
289 ("libexif" ,libexif)
290 ("libtiff" ,libtiff)
291 ("libxrandr" ,libxrandr)
292 ("libxtst" ,libxtst)
293 ("libxxf86vm" ,libxxf86vm)
294 ("vte" ,vte)
295 ("xorgproto" ,xorgproto)))
296 (synopsis "Color profile manager for the GNOME desktop")
297 (description "GNOME Color Manager is a session framework that makes
298it easy to manage, install and generate color profiles
299in the GNOME desktop.")
300 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 301 (license license:gpl2+)))
29ae18db 302
e05471a1
RG
303(define-public gnome-online-miners
304 (package
305 (name "gnome-online-miners")
306 (version "3.30.0")
307 (source (origin
308 (method url-fetch)
309 (uri (string-append "mirror://gnome/sources/" name "/"
310 (version-major+minor version) "/"
311 name "-" version ".tar.xz"))
312 (sha256
313 (base32
314 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
315 (build-system glib-or-gtk-build-system)
316 (native-inputs
317 `(("gettext" ,gettext-minimal)
318 ("glib:bin" ,glib "bin")
29ae18db 319 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
320 ("gtk+:bin" ,gtk+ "bin")
321 ("pkg-config" ,pkg-config)))
322 (inputs
323 `(("gnome-online-accounts" ,gnome-online-accounts)
324 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
325 ("grilo" ,grilo)
326 ("libgdata" ,libgdata)
327 ("libgfbgraph" ,gfbgraph)
328 ("libzapojit" ,libzapojit)
329 ("rest" ,rest)
330 ("tracker" ,tracker)))
331 (synopsis "Web Crawlers for GNOME")
332 (description "GNOME Online Miners provides a set of crawlers that
333go through your online content and index them locally in Tracker.
334It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
335 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 336 (license license:gpl2+)))
e05471a1 337
e2aed29c
RG
338(define-public gssdp
339 (package
340 (name "gssdp")
341 (version "1.2.2")
342 (source (origin
343 (method url-fetch)
344 (uri (string-append "mirror://gnome/sources/" name "/"
345 (version-major+minor version) "/"
346 name "-" version ".tar.xz"))
347 (sha256
348 (base32
349 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
350 (build-system meson-build-system)
351 (native-inputs
352 `(("gettext" ,gettext-minimal)
353 ("glib:bin" ,glib "bin")
354 ("gobject-introspection" ,gobject-introspection)
355 ("gtk-doc" ,gtk-doc)
356 ("pkg-config" ,pkg-config)
357 ("vala" ,vala)))
358 (inputs
359 `(("gtk+" ,gtk+)
360 ("libsoup" ,libsoup)))
361 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
362Protocol} for GNOME")
363 (description "This package provides a library to handle resource discovery
364and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
365a debugging tool, @command{gssdp-device-sniffer}.")
366 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
367 (license license:lgpl2.0+)))
368
291a85b2
RG
369(define-public gupnp
370 (package
371 (name "gupnp")
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 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
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 `(("gssdp" ,gssdp)
391 ("gtk+" ,gtk+)
392 ("libsoup" ,libsoup)))
393 (synopsis "PnP API for GNOME")
394 (description "This package provides GUPnP, an object-oriented framework
395for creating UPnP devices and control points, written in C using
396@code{GObject} and @code{libsoup}.")
397 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
398 (license license:lgpl2.0+)))
399
747d7fe4
RG
400(define-public gupnp-dlna
401 (package
402 (name "gupnp-dlna")
403 (version "0.10.5")
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 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
412 (build-system gnu-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 ("libxml" ,libxml2)
419 ("pkg-config" ,pkg-config)
420 ("vala" ,vala)))
421 (inputs
422 `(("gstreamer" ,gstreamer)
423 ("gupnp" ,gupnp)))
424 (propagated-inputs
425 `(("gst-plugins-base" ,gst-plugins-base)
426 ("gst-plugins-good" ,gst-plugins-good)))
427 (synopsis "GUPnP DLNA for GNOME")
428 (description "This package provides a small utility library to
429support DLNA-related tasks such as media profile guessing, transcoding to a
430given profile, etc. DLNA is a subset of UPnP A/V.")
431 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
432 (license license:lgpl2.0+)))
433
1b4cb628
RG
434(define-public gupnp-av
435 (package
436 (name "gupnp-av")
437 (version "0.12.11")
438 (source (origin
439 (method url-fetch)
440 (uri (string-append "mirror://gnome/sources/" name "/"
441 (version-major+minor version) "/"
442 name "-" version ".tar.xz"))
443 (sha256
444 (base32
445 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
446 (build-system gnu-build-system)
447 (native-inputs
448 `(("gettext" ,gettext-minimal)
449 ("glib:bin" ,glib "bin")
450 ("gobject-introspection" ,gobject-introspection)
451 ("gtk-doc" ,gtk-doc)
452 ("libxml" ,libxml2)
453 ("pkg-config" ,pkg-config)))
454 (inputs
455 `(("gtk+" ,gtk+)
456 ("gupnp" ,gupnp)))
457 (synopsis "GUPnP A/V for GNOME")
458 (description "This package provides a small library for handling
459and implementation of UPnP A/V profiles.")
460 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
461 (license license:lgpl2.0+)))
462
02ebbca8
RG
463(define-public libmediaart
464 (package
465 (name "libmediaart")
466 (version "1.9.4")
467 (source (origin
468 (method url-fetch)
469 (uri (string-append "mirror://gnome/sources/" name "/"
470 (version-major+minor version) "/"
471 name "-" version ".tar.xz"))
472 (sha256
473 (base32
474 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
475 (build-system gnu-build-system)
476 (native-inputs
477 `(("glib:bin" ,glib "bin")
478 ("pkg-config" ,pkg-config)))
479 (inputs
480 `(("gdk-pixbuf" ,gdk-pixbuf)
481 ("gettext" ,gettext-minimal)
482 ("gobject-introspection" ,gobject-introspection)
483 ("gtk+:doc", gtk+ "doc")
484 ("vala" ,vala)))
485 (synopsis "Media art library for the GNOME desktop")
486 (description
487 "The libmediaart library is the foundation for media art caching,
488extraction, and lookup for applications on the desktop.")
489 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
490 (license license:lgpl2.1+)))
491
a26680eb
RG
492(define-public gnome-initial-setup
493 (package
494 (name "gnome-initial-setup")
495 (version "3.32.1")
496 (source (origin
497 (method url-fetch)
498 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
499 (version-major+minor version)
500 "/gnome-initial-setup-" version ".tar.xz"))
501 (sha256
502 (base32
503 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
504 (build-system meson-build-system)
505 (arguments
a65cc579
DM
506 '(#:configure-flags '(;; Enable camera support for user selfie.
507 "-Dcheese=auto"
508 "-Dsystemd=false")))
a26680eb
RG
509 (native-inputs
510 `(("gettext" ,gettext-minimal)
511 ("glib:bin" ,glib "bin")
512 ("gobject-introspection" ,gobject-introspection)
513 ("gtk+:bin" ,gtk+ "bin")
514 ("pkg-config" ,pkg-config)))
515 (inputs
516 `(("accountsservice" ,accountsservice)
517 ;("adwaita-icon-theme" ,adwaita-icon-theme)
518 ("gdm" ,gdm)
519 ("geoclue" ,geoclue)
520 ("gnome-desktop" ,gnome-desktop)
521 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
522 ("gnome-online-accounts" ,gnome-online-accounts)
523 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
524 ("gstreamer" ,gstreamer)
525 ("ibus" ,ibus)
526 ("json-glib" ,json-glib)
527 ("krb5" ,mit-krb5)
528 ("libgweather" ,libgweather)
529 ("libsecret" ,libsecret)
530 ("network-manager" ,network-manager)
531 ("network-manager-applet" ,network-manager-applet)
532 ("packagekit" ,packagekit)
533 ("polkit" ,polkit)
534 ("pwquality" ,libpwquality)
535 ("rest" ,rest)
536 ("upower" ,upower)
537 ("webkitgtk" ,webkitgtk)))
538 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
539 (description "This package provides a set-up wizard when a
540user logs into GNOME for the first time. It typically provides a
541tour of all gnome components and allows the user to set them up.")
a26680eb
RG
542 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
543 (license license:gpl2)))
544
b5f01392
RG
545(define-public gnome-user-share
546 (package
547 (name "gnome-user-share")
548 (version "3.33.1")
549 (source (origin
550 (method url-fetch)
551 (uri (string-append "mirror://gnome/sources/" name "/"
552 (version-major+minor version) "/"
553 name "-" version ".tar.xz"))
554 (sha256
555 (base32
556 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
557 (build-system meson-build-system)
558 (arguments
559 `(#:glib-or-gtk? #t
560 #:configure-flags
561 `("-Dsystemd=false"
562 ;; Enable nautilus extension for file sharing.
563 "-Dnautilus_extension=true")))
564 (native-inputs
565 `(("gettext" ,gettext-minimal)
566 ("glib:bin" ,glib "bin")
567 ("gobject-introspection" ,gobject-introspection)
568 ("gtk+:bin" ,gtk+ "bin")
569 ("pkg-config" ,pkg-config)
570 ("yelp-tools" ,yelp-tools)))
571 (inputs
572 `(("glib" ,glib)
573 ("gnome-bluetooth" ,gnome-bluetooth)
574 ("gtk+" ,gtk+)
575 ("libcanberra" ,libcanberra)
576 ("libnotify" ,libnotify)
577 ("nautilus" ,nautilus))) ; For nautilus extension.
578 (synopsis "File sharing for GNOME desktop")
579 (description "GNOME User Share is a small package that binds together
580various free software projects to bring easy to use user-level file
581sharing to the masses.")
582 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 583 (license license:gpl2+)))
b5f01392 584
30416265
RG
585(define-public gnome-menus
586 (package
587 (name "gnome-menus")
588 (version "3.32.0")
589 (source (origin
590 (method url-fetch)
591 (uri (string-append "mirror://gnome/sources/gnome-menus/"
592 (version-major+minor version) "/"
593 name "-" version ".tar.xz"))
594 (sha256
595 (base32
596 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
597 (build-system gnu-build-system)
598 (native-inputs
599 `(("gettext" ,gettext-minimal)
600 ("glib" ,glib)
601 ("pkg-config" ,pkg-config)))
602 (synopsis "Menu support for GNOME desktop")
603 (description "GNOME Menus contains the libgnome-menu library, the layout
604configuration files for the GNOME menu, as well as a simple menu editor.")
605 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 606 (license license:lgpl2.0+)))
30416265 607
d61a894b
CB
608(define-public deja-dup
609 (package
610 (name "deja-dup")
611 (version "34.3")
612 (source (origin
613 (method url-fetch)
614 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
615 (sha256
616 (base32
617 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
618 (patches
619 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
620 (build-system glib-or-gtk-build-system)
621 (arguments
622 `(#:modules ((guix build gnu-build-system)
623 ((guix build cmake-build-system) #:prefix cmake:)
624 (guix build glib-or-gtk-build-system)
625 (guix build utils))
626 #:imported-modules (,@%glib-or-gtk-build-system-modules
627 (guix build cmake-build-system))
628 #:test-target "test"
629 #:configure-flags (list (string-append
630 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
631 (string-append
632 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
633 #:phases
634 (modify-phases %standard-phases
635 (add-after 'unpack 'patch-lockfile-deletion
636 (lambda rest
637 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
638 (("/bin/rm")
639 (which "rm")))))
640 (replace 'configure
641 (assoc-ref cmake:%standard-phases 'configure))
642 (delete 'check) ;; Fails due to issues with DBus
643 (add-after 'install 'wrap-deja-dup
644 (lambda* (#:key inputs outputs #:allow-other-keys)
645 (let ((python (assoc-ref inputs "python"))
646 (python-path (getenv "PYTHONPATH"))
647 (duplicity (assoc-ref inputs "duplicity"))
648 (out (assoc-ref outputs "out")))
649 (for-each
650 (lambda (program)
651 (wrap-program program
652 `("PATH" ":" prefix (,(string-append python "/bin")
653 ,(string-append duplicity "/bin"))))
654 (wrap-program program
655 `("PYTHONPATH" ":" prefix (,python-path))))
656
657 (find-files (string-append out "/bin")))
658 #t))))))
659 (inputs
660 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
661 ("gobject-introspection" ,gobject-introspection)
662 ("duplicity" ,duplicity)
61506fe5 663 ("python" ,python-2)
d61a894b
CB
664 ("python-pygobject" ,python2-pygobject)
665 ("gtk+" ,gtk+)
666 ("libnotify" ,libnotify)
667 ("libpeas" ,libpeas)
668 ("libsecret" ,libsecret)
669 ("packagekit" ,packagekit)))
670 (native-inputs
671 `(("pkg-config" ,pkg-config)
672 ("vala" ,vala)
673 ("gettext" ,gettext-minimal)
674 ("itstool" ,itstool)
675 ("intltool" ,intltool)
c69959f0 676 ("cmake" ,cmake-minimal)))
d61a894b
CB
677 (home-page "https://launchpad.net/deja-dup")
678 (synopsis "Simple backup tool, for regular encrypted backups")
679 (description
680 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
681uses duplicity as the backend, which supports incremental backups and storage
682either on a local, or remote machine via a number of methods.")
683 (license license:gpl3+)))
684
823b77fb
RG
685(define-public gnome-user-docs
686 (package
687 (name "gnome-user-docs")
688 (version "3.32.3")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
693 (version-major+minor version)
694 "/gnome-user-docs-" version ".tar.xz"))
695 (sha256
696 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
697 (build-system gnu-build-system)
698 (native-inputs
699 `(("gettext" ,gettext-minimal)
700 ("itstool" ,itstool)
701 ("pkg-config" ,pkg-config)
702 ("xmllint" ,libxml2)))
703 (synopsis "User documentation for the GNOME desktop")
704 (description
705 "The GNOME User Documentation explains how to use the GNOME desktop and its
706components. It covers usage and setup of the core GNOME programs by end-users
707and system administrators.")
708 (home-page "https://live.gnome.org/DocumentationProject")
709 (license license:cc-by3.0)))
710
be93299d
RG
711(define-public gnome-getting-started-docs
712 (package
713 (name "gnome-getting-started-docs")
714 (version "3.32.2")
715 (source
716 (origin
717 (method url-fetch)
718 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
719 (version-major+minor version)
720 "/gnome-getting-started-docs-" version ".tar.xz"))
721 (sha256
722 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
723 (build-system gnu-build-system)
724 (native-inputs
725 `(("gettext" ,gettext-minimal)
726 ("itstool" ,itstool)
727 ("pkg-config" ,pkg-config)
728 ("xmllint" ,libxml2)))
729 (synopsis "Help to get new users started with the GNOME desktop")
730 (description
731 "The GNOME Getting Started Documentation contains GNOME's intuitive
732\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
733
734It is normally used together with @command{gnome-initial-setup}, but is also
735useful as a tutorial and users' guide for new or less experienced users.")
736 (home-page "https://live.gnome.org/DocumentationProject")
737 (license license:cc-by-sa3.0)))
738
a56be436
RJ
739(define-public dia
740 ;; This version from GNOME's repository includes fixes for compiling with
741 ;; recent versions of the build tools. The latest activity on the
742 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
743 ;; fixes in 2016.
744 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
745 (package
746 (name "dia")
914c8cdf 747 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
748 (source (origin
749 (method git-fetch)
750 (uri (git-reference
914c8cdf 751 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 752 (commit commit)))
914c8cdf 753 (file-name (git-file-name name version))
a56be436
RJ
754 (sha256
755 (base32
756 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
757 (build-system gnu-build-system)
758 (inputs
a315afa3 759 `(("freetype" ,freetype)
a56be436
RJ
760 ("gdk-pixbuf" ,gdk-pixbuf)
761 ("gtk+" ,gtk+-2)
a315afa3 762 ("libart-lgpl" ,libart-lgpl)
a56be436 763 ("libxml2" ,libxml2)
a315afa3 764 ("pango" ,pango)))
a56be436 765 (native-inputs
a315afa3 766 `(("autoconf" ,autoconf)
a56be436 767 ("automake" ,automake)
a315afa3
EF
768 ("intltool" ,intltool)
769 ("glib" ,glib "bin")
a56be436
RJ
770 ("libtool" ,libtool)
771 ("perl" ,perl)
a315afa3 772 ("pkg-config" ,pkg-config)
a56be436
RJ
773 ("python-wrapper" ,python-wrapper)))
774 (arguments
775 `(#:phases
776 (modify-phases %standard-phases
4b3e91de 777 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 778 (lambda _
4b3e91de
EF
779 (setenv "NOCONFIGURE" "true")
780 #t)))))
a56be436
RJ
781 (home-page "https://wiki.gnome.org/Apps/Dia")
782 (synopsis "Diagram creation for GNOME")
783 (description "Dia can be used to draw different types of diagrams, and
784includes support for UML static structure diagrams (class diagrams), entity
785relationship modeling, and network diagrams. The program supports various file
786formats like PNG, SVG, PDF and EPS.")
787 (license license:gpl2+))))
788
d0b19e44
RW
789;; This is the unstable release, but it is required for the current stable
790;; release of gvfs (1.38.1).
adc5cb1b
KK
791(define-public libgdata
792 (package
793 (name "libgdata")
d0b19e44 794 (version "0.17.9")
adc5cb1b
KK
795 (source (origin
796 (method url-fetch)
797 (uri (string-append "mirror://gnome/sources/" name "/"
798 (version-major+minor version) "/"
799 name "-" version ".tar.xz"))
800 (sha256
801 (base32
d0b19e44 802 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
803 (build-system gnu-build-system)
804 (arguments
805 '(#:phases
806 (modify-phases %standard-phases
448052b7
TGR
807 (add-before 'check 'disable-failing-tests
808 (lambda _
809 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
810 ;; They have been removed in libgdata 0.17.6, so just do the same.
811 (substitute* "gdata/tests/Makefile"
812 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
813 #t)))))
814 (native-inputs
815 `(("glib:bin" ,glib "bin")
816 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
817 ("intltool" ,intltool)
818 ("pkg-config" ,pkg-config)
819 ("uhttpmock" ,uhttpmock)))
820 (inputs
821 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 822 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
823 (propagated-inputs
824 `(("gcr" ,gcr)
d0b19e44 825 ("glib" ,glib)
14c297fd 826 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 827 ("json-glib" ,json-glib)
adc5cb1b 828 ("liboauth" ,liboauth)
d0b19e44 829 ("libsoup" ,libsoup)
adc5cb1b
KK
830 ("libxml2" ,libxml2)))
831 (home-page "https://wiki.gnome.org/Projects/libgdata")
832 (synopsis "Library for accessing online service APIs")
833 (description
834 "libgdata is a GLib-based library for accessing online service APIs using
835the GData protocol — most notably, Google's services. It provides APIs to
836access the common Google services, and has full asynchronous support.")
837 (license license:lgpl2.1+)))
838
94e10cf4
KK
839(define-public libgxps
840 (package
841 (name "libgxps")
66470a5a 842 (version "0.3.1")
94e10cf4
KK
843 (source (origin
844 (method url-fetch)
7f10628c 845 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
846 (version-major+minor version) "/"
847 name "-" version ".tar.xz"))
848 (sha256
849 (base32
66470a5a 850 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 851 (build-system meson-build-system)
94e10cf4
KK
852 (native-inputs
853 `(("gobject-introspection" ,gobject-introspection)
854 ("pkg-config" ,pkg-config)))
855 (inputs
c8d62d93 856 `(("gtk+" ,gtk+)
b6b3e512 857 ("libjpeg" ,libjpeg-turbo)
94e10cf4 858 ("lcms" ,lcms)
0a6e9e13 859 ("libtiff" ,libtiff)))
c8d62d93
MB
860 (propagated-inputs
861 ;; In Requires of libgxps.pc.
862 `(("cairo" ,cairo)
863 ("glib" ,glib)
864 ("libarchive" ,libarchive)))
94e10cf4
KK
865 (home-page "https://wiki.gnome.org/Projects/libgxps")
866 (synopsis "GObject-based library for handling and rendering XPS documents")
867 (description
868 "libgxps is a GObject-based library for handling and rendering XPS
869documents. This package also contains binaries that can convert XPS documents
870to other formats.")
871 (license license:lgpl2.1+)))
872
4e09f57a
RG
873(define-public gnome-characters
874 (package
875 (name "gnome-characters")
876 (version "3.30.0")
877 (source
878 (origin
879 (method url-fetch)
880 (uri (string-append "mirror://gnome/sources/"
881 "gnome-characters/" (version-major+minor version)
882 "/gnome-characters-" version ".tar.xz"))
883 (sha256
884 (base32
885 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
886 (build-system meson-build-system)
5757c641 887 (arguments
888 `(#:glib-or-gtk? #t
889 #:phases (modify-phases %standard-phases
890 (add-after 'install 'wrap
891 (lambda* (#:key outputs #:allow-other-keys)
892 ;; GNOME Characters needs Typelib files from GTK and
893 ;; gnome-desktop.
894 (wrap-program (string-append (assoc-ref outputs "out")
895 "/bin/gnome-characters")
896 `("GI_TYPELIB_PATH" ":" prefix
897 (,(getenv "GI_TYPELIB_PATH"))))
898 #t)))))
4e09f57a
RG
899 (native-inputs
900 `(("gettext" ,gettext-minimal)
901 ("glib:bin" ,glib "bin")
902 ("gtk+:bin" ,gtk+ "bin")
903 ("pkg-config" ,pkg-config)
904 ("python" ,python-minimal)))
905 (inputs
906 `(("gjs" ,gjs)
907 ("gtk+" ,gtk+)
5757c641 908 ("libunistring" ,libunistring)
909 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
910 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
911 (synopsis "Find and insert unusual characters")
912 (description "Characters is a simple utility application to find
913and insert unusual characters. It allows you to quickly find the
914character you are looking for by searching for keywords.")
915 (license license:bsd-3)))
916
7aab13f1
ML
917(define-public gnome-common
918 (package
919 (name "gnome-common")
af83490d 920 (version "3.18.0")
7aab13f1
ML
921 (source
922 (origin
923 (method url-fetch)
924 (uri (string-append "mirror://gnome/sources/" name "/"
925 (version-major+minor version) "/"
926 name "-" version ".tar.xz"))
927 (sha256
928 (base32
af83490d 929 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
930 (build-system gnu-build-system)
931 (home-page "https://www.gnome.org/")
932 (synopsis "Bootstrap GNOME modules built from Git")
933 (description "gnome-common contains various files needed to bootstrap
934GNOME modules built from Git. It contains a common \"autogen.sh\" script that
935can be used to configure a source directory checked out from Git and some
936commonly used macros.")
937 (license license:gpl2+)))
938
4e868d22
RG
939(define-public gnome-contacts
940 (package
941 (name "gnome-contacts")
6a6138b2 942 (version "3.32.1")
4e868d22
RG
943 (source (origin
944 (method url-fetch)
945 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
946 (version-major+minor version) "/"
947 name "-" version ".tar.xz"))
948 (sha256
949 (base32
6a6138b2 950 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
951 (build-system meson-build-system)
952 (arguments
953 `(#:phases
954 (modify-phases %standard-phases
955 (add-after 'unpack 'generate-vapis
956 (lambda* (#:key inputs #:allow-other-keys)
957 ;; To generate goa's missing .vapi file
958 (define goa
959 (assoc-ref inputs "gnome-online-accounts:lib"))
960
961 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
962 "--library=goa-1.0"
963 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
964 #t)))))
965 (native-inputs
966 `(("glib:bin" ,glib "bin")
967 ("gtk+:bin" ,gtk+ "bin")
968 ("pkg-config" ,pkg-config)))
969 (inputs
970 `(("cheese" ,cheese)
971 ("docbook-xml" ,docbook-xml)
972 ("dockbook-xsl" ,docbook-xsl)
973 ("evolution-data-server" ,evolution-data-server)
974 ("gettext" ,gettext-minimal)
975 ("gnome-desktop" ,gnome-desktop)
976 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
977 ("gobject-introspection" ,gobject-introspection)
978 ("gst-plugins-base" ,gst-plugins-base)
979 ("gtk+" ,gtk+)
980 ("libgee" ,libgee)
981 ("libxslt" ,libxslt)
982 ("telepathy-glib" ,telepathy-glib)
983 ("vala" ,vala)))
984 (propagated-inputs
985 `(("folks", folks)
986 ("telepathy-mission-control" ,telepathy-mission-control)))
987 (synopsis "GNOME's integrated address book")
988 (description
989 "GNOME Contacts organizes your contact information from online and
990offline sources, providing a centralized place for managing your contacts.")
991 (home-page "https://wiki.gnome.org/Apps/Contacts")
992 (license license:gpl2+)))
993
9cc98f8a
CR
994(define-public gnome-desktop
995 (package
996 (name "gnome-desktop")
e8a26caa 997 (version "3.32.2")
9cc98f8a
CR
998 (source
999 (origin
1000 (method url-fetch)
b38e45d8
EB
1001 (uri (string-append "mirror://gnome/sources/" name "/"
1002 (version-major+minor version) "/"
9cc98f8a
CR
1003 name "-" version ".tar.xz"))
1004 (sha256
1005 (base32
e8a26caa
KK
1006 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1007 (build-system meson-build-system)
a0fe7c06
CB
1008 (arguments
1009 '(#:phases
1010 (modify-phases %standard-phases
1011 (add-before 'configure 'patch-path
1012 (lambda* (#:key inputs #:allow-other-keys)
1013 (let ((libc (assoc-ref inputs "libc")))
1014 (substitute* "libgnome-desktop/gnome-languages.c"
1015 (("\"locale\"")
1016 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1017 #t)))
1018 (add-before 'check 'pre-check
1019 (lambda* (#:key inputs #:allow-other-keys)
1020 ;; Tests require a running X server and locales.
1021 (system "Xvfb :1 &")
1022 (setenv "DISPLAY" ":1")
1023 (setenv "GUIX_LOCPATH"
1024 (string-append (assoc-ref inputs "glibc-locales")
1025 "/lib/locale"))
1026 #t)))))
9cc98f8a 1027 (native-inputs
e8a26caa
KK
1028 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1029 ("glibc-locales" ,glibc-locales) ; for tests
1030 ("gobject-introspection" ,gobject-introspection)
a8340482 1031 ("itstool" ,itstool)
bcb354ad
SB
1032 ("intltool" ,intltool)
1033 ("pkg-config" ,pkg-config)
e8a26caa
KK
1034 ("xmllint" ,libxml2)
1035 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1036 (propagated-inputs
1037 ;; Required by gnome-desktop-3.0.pc.
1038 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1039 ("gtk+" ,gtk+)
9cc98f8a 1040 ("iso-codes" ,iso-codes)
9863ce20 1041 ("libseccomp" ,libseccomp)
9cc98f8a 1042 ("libx11" ,libx11)
e8a26caa
KK
1043 ("xkeyboard-config" ,xkeyboard-config)))
1044 (inputs
1045 `(("gdk-pixbuf" ,gdk-pixbuf)
1046 ("glib" ,glib)
9cc98f8a
CR
1047 ("libxext" ,libxext)
1048 ("libxkbfile" ,libxkbfile)
e8a26caa 1049 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1050 (home-page "https://www.gnome.org/")
1051 (synopsis
35b9e423 1052 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1053 (description
1054 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1055on the desktop, but that cannot live in the platform for various reasons.
1056There is no API or ABI guarantee, although we are doing our best to provide
1057stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1058
1059The gnome-about program helps find which version of GNOME is installed.")
1060 ; Some bits under the LGPL.
1dd26275 1061 (license license:gpl2+)))
9cc98f8a 1062
995b7261
AE
1063(define-public gnome-doc-utils
1064 (package
1065 (name "gnome-doc-utils")
1066 (version "0.20.10")
1067 (source
1068 (origin
1069 (method url-fetch)
b38e45d8
EB
1070 (uri (string-append "mirror://gnome/sources/" name "/"
1071 (version-major+minor version) "/"
995b7261
AE
1072 name "-" version ".tar.xz"))
1073 (sha256
1074 (base32
1075 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1076 (build-system gnu-build-system)
c4c4cc05 1077 (native-inputs
995b7261 1078 `(("intltool" ,intltool)
b4ce6300 1079 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1080 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1081 ("libxml2" ,libxml2)
1082 ("libxslt" ,libxslt)
1083 ("pkg-config" ,pkg-config)
1084 ("python-2" ,python-2)))
995b7261
AE
1085 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1086 (synopsis
1087 "Documentation utilities for the Gnome project")
1088 (description
1089 "Gnome-doc-utils is a collection of documentation utilities for the
1090Gnome project. It includes xml2po tool which makes it easier to translate
1091and keep up to date translations of documentation.")
1dd26275 1092 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1093
6c4f7022
DC
1094(define-public gnome-disk-utility
1095 (package
1096 (name "gnome-disk-utility")
e106d0a6 1097 (version "3.32.1")
6c4f7022
DC
1098 (source (origin
1099 (method url-fetch)
1100 (uri (string-append "mirror://gnome/sources/" name "/"
1101 (version-major+minor version) "/"
1102 name "-" version ".tar.xz"))
1103 (sha256
1104 (base32
e106d0a6 1105 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1106 (build-system meson-build-system)
321c73c3
EF
1107 (arguments
1108 '(#:phases
1109 (modify-phases %standard-phases
1110 (add-after 'unpack 'skip-gtk-update-icon-cache
1111 ;; Don't create 'icon-theme.cache'.
1112 (lambda _
1113 (substitute* "meson_post_install.py"
1114 (("gtk-update-icon-cache") "true"))
1115 #t)))))
6c4f7022
DC
1116 (native-inputs
1117 `(("glib:bin" ,glib "bin")
1118 ("intltool" ,intltool)
1119 ("pkg-config" ,pkg-config)
1120 ("docbook-xml" ,docbook-xml)
1121 ("docbook-xsl" ,docbook-xsl)
1122 ("libxml2" ,libxml2)
1123 ("libxslt" ,libxslt)))
1124 (inputs
1125 `(("glib" ,glib)
1126 ("appstream-glib" ,appstream-glib)
1127 ("gnome-settings-daemon" ,gnome-settings-daemon)
1128 ("gtk+" ,gtk+)
1129 ("libcanberra" ,libcanberra)
1130 ("libdvdread" ,libdvdread)
1131 ("libnotify" ,libnotify)
1132 ("libpwquality" ,libpwquality)
1133 ("libsecret" ,libsecret)
1134 ("udisks" ,udisks)))
1135 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1136 (synopsis "Disk management utility for GNOME")
1137 (description "Disk management utility for GNOME.")
1138 (license license:gpl2+)))
1139
3d217317
RG
1140(define-public gnome-font-viewer
1141 (package
1142 (name "gnome-font-viewer")
1143 (version "3.30.0")
1144 (source (origin
1145 (method url-fetch)
1146 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1147 (version-major+minor version)
1148 "/gnome-font-viewer-" version ".tar.xz"))
1149 (sha256
1150 (base32
1151 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1152 (build-system meson-build-system)
1153 (arguments
1154 '(#:phases
1155 (modify-phases %standard-phases
1156 (add-after 'unpack 'patch-post-install-script
1157 (lambda _
1158 (substitute* "meson-postinstall.sh"
1159 (("update-desktop-database") (which "true")))
1160 #t)))))
1161 (native-inputs
1162 `(("gettext" ,gettext-minimal)
1163 ("glib:bin" ,glib "bin")
1164 ("pkg-config" ,pkg-config)))
1165 (inputs
1166 `(("glib" ,glib)
1167 ("gnome-desktop" ,gnome-desktop)
1168 ("gtk+" ,gtk+)))
1169 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1170 (synopsis "GNOME Fonts")
1171 (description "Application to show you the fonts installed on your computer
1172for your use as thumbnails. Selecting any thumbnails shows the full view of how
1173the font would look under various sizes.")
1174 (license license:gpl2+)))
1175
8ff49011
RW
1176(define-public gcr
1177 (package
1178 (name "gcr")
bea6b829 1179 (version "3.28.1")
8ff49011 1180 (source (origin
0daf0efb
RW
1181 (method url-fetch)
1182 (uri (string-append "mirror://gnome/sources/" name "/"
1183 (version-major+minor version) "/"
1184 name "-" version ".tar.xz"))
1185 (sha256
1186 (base32
bea6b829 1187 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1188 (patches
1189 (list
1190 ;; This patch solves an ordering issue that showed up when
1191 ;; running the test suite against newer Glib 2.60. See
1192 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1193 (origin
1194 (method url-fetch)
1195 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1196 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1197 (file-name "gcr-hashtable-ordering.patch")
1198 (sha256
1199 (base32
1200 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1201 (build-system gnu-build-system)
1202 (arguments
0daf0efb
RW
1203 '(#:phases
1204 (modify-phases %standard-phases
1205 ;; These fail because /var/lib/dbus/machine-id is not present in the
1206 ;; build environment.
1207 (add-after 'unpack 'disable-failing-tests
1208 (lambda _
1209 (substitute* "gcr/test-system-prompt.c"
1210 (("g_test_add") "//")
1211 (("return.*") "return 0;"))
1212 #t))
1213 (add-before 'check 'pre-check
1214 (lambda _
1215 ;; Some tests expect to write to $HOME.
1216 (setenv "HOME" "/tmp")
1217 #t)))))
8ff49011
RW
1218 (inputs
1219 `(("dbus" ,dbus)
0daf0efb 1220 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1221 ("libgcrypt" ,libgcrypt)))
1222 (native-inputs
0daf0efb 1223 `(("python" ,python-2) ;for tests
8ff49011
RW
1224 ("pkg-config" ,pkg-config)
1225 ("glib" ,glib "bin")
2af4f5b0
SB
1226 ("gobject-introspection" ,gobject-introspection)
1227 ("intltool" ,intltool)
0daf0efb 1228 ("libxml2" ,libxml2)
bea6b829 1229 ("vala" ,vala)
2af4f5b0 1230 ("xsltproc" ,libxslt)))
8ff49011
RW
1231 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1232 (propagated-inputs
1233 `(("p11-kit" ,p11-kit)
1234 ("glib" ,glib)
1235 ("gtk+" ,gtk+)))
f032d0be 1236 (home-page "https://www.gnome.org")
8ff49011
RW
1237 (synopsis "Libraries for displaying certificates and accessing key stores")
1238 (description
1239 "The GCR package contains libraries used for displaying certificates and
1240accessing key stores. It also provides the viewer for crypto files on the
1241GNOME Desktop.")
1242 (license license:lgpl2.1+)))
1243
c1354b90
LC
1244(define-public libgnome-keyring
1245 (package
1246 (name "libgnome-keyring")
5e8aec2c 1247 (version "3.12.0")
c1354b90
LC
1248 (source (origin
1249 (method url-fetch)
b38e45d8
EB
1250 (uri (string-append "mirror://gnome/sources/" name "/"
1251 (version-major+minor version) "/"
1252 name "-" version ".tar.xz"))
c1354b90
LC
1253 (sha256
1254 (base32
5e8aec2c 1255 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1256 (build-system gnu-build-system)
c1354b90 1257 (inputs
c4c4cc05 1258 `(("libgcrypt" ,libgcrypt)
c1354b90 1259 ("dbus" ,dbus)))
c4c4cc05
JD
1260 (native-inputs
1261 `(("pkg-config" ,pkg-config)
426adbe8 1262 ("glib" ,glib "bin")
c4c4cc05 1263 ("intltool" ,intltool)))
c1354b90
LC
1264 (propagated-inputs
1265 ;; Referred to in .h files and .pc.
1266 `(("glib" ,glib)))
f032d0be 1267 (home-page "https://www.gnome.org")
c1354b90
LC
1268 (synopsis "Accessing passwords from the GNOME keyring")
1269 (description
1270 "Client library to access passwords from the GNOME keyring.")
1271
1272 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1273 (license license:lgpl2.0+)))
c1354b90 1274
e99a3d6f
RW
1275(define-public gnome-keyring
1276 (package
1277 (name "gnome-keyring")
ab35cc6e 1278 (version "3.28.2")
e99a3d6f
RW
1279 (source (origin
1280 (method url-fetch)
1281 (uri (string-append "mirror://gnome/sources/" name "/"
1282 (version-major+minor version) "/"
1283 name "-" version ".tar.xz"))
1284 (sha256
1285 (base32
ab35cc6e 1286 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1287 (build-system gnu-build-system)
1288 (arguments
1289 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1290 ;not exist
1291 #:configure-flags
1292 (list
1293 (string-append "--with-pkcs11-config="
1294 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1295 (string-append "--with-pkcs11-modules="
1296 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1297 #:phases
1298 (modify-phases %standard-phases
ab35cc6e
RW
1299 (add-after 'unpack 'fix-/bin/sh-reference
1300 (lambda _
1301 (substitute* "po/Makefile.in.in"
1302 (("/bin/sh") (which "sh")))
1303 #t))
5120f24f
RW
1304 (add-after 'unpack 'fix-docbook
1305 (lambda* (#:key inputs #:allow-other-keys)
1306 (substitute* "docs/Makefile.am"
1307 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1308 (string-append (assoc-ref inputs "docbook-xsl")
1309 "/xml/xsl/docbook-xsl-"
1310 ,(package-version docbook-xsl)
1311 "/manpages/docbook.xsl")))
1312 (setenv "XML_CATALOG_FILES"
1313 (string-append (assoc-ref inputs "docbook-xml")
1314 "/xml/dtd/docbook/catalog.xml"))
1315 ;; Rerun the whole thing to avoid version mismatch ("This is
1316 ;; Automake 1.15.1, but the definition used by this
1317 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1318 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1319 (invoke "autoconf")
1320 (invoke "aclocal")
1321 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1322 (inputs
1323 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1324 ("linux-pam" ,linux-pam)
ab35cc6e 1325 ("openssh" ,openssh)
e99a3d6f
RW
1326 ("dbus" ,dbus)
1327 ("gcr" ,gcr)))
1328 (native-inputs
1329 `(("pkg-config" ,pkg-config)
1330 ("glib" ,glib "bin")
5120f24f 1331 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1332 ("python" ,python-2) ;for tests
1333 ("intltool" ,intltool)
1334 ("autoconf" ,autoconf)
1335 ("automake" ,automake)
1336 ("libxslt" ,libxslt) ;for documentation
1337 ("docbook-xml" ,docbook-xml-4.2)
1338 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1339 (home-page "https://www.gnome.org")
e99a3d6f
RW
1340 (synopsis "Daemon to store passwords and encryption keys")
1341 (description
1342 "gnome-keyring is a program that keeps passwords and other secrets for
1343users. It is run as a daemon in the session, similar to ssh-agent, and other
1344applications locate it via an environment variable or D-Bus.
1345
1346The program can manage several keyrings, each with its own master password,
1347and there is also a session keyring which is never stored to disk, but
1348forgotten when the session ends.")
1349 (license license:lgpl2.1+)))
1350
c1354b90
LC
1351(define-public evince
1352 (package
1353 (name "evince")
936d5642 1354 (version "3.34.2")
c1354b90
LC
1355 (source (origin
1356 (method url-fetch)
ac631328 1357 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1358 (version-major+minor version) "/"
ac631328 1359 "evince-" version ".tar.xz"))
c1354b90
LC
1360 (sha256
1361 (base32
936d5642 1362 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1363 (build-system glib-or-gtk-build-system)
c1354b90 1364 (arguments
169b8f77 1365 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1366 #:phases
1367 (modify-phases %standard-phases
1368 (add-before 'install 'skip-gtk-update-icon-cache
1369 ;; Don't create 'icon-theme.cache'.
1370 (lambda _
1371 (substitute* "data/Makefile"
1372 (("gtk-update-icon-cache") "true"))
1373 #t)))))
c1354b90 1374 (inputs
9a096881
KK
1375 `(("libarchive" ,libarchive)
1376 ("libgxps" ,libgxps)
1377 ("libspectre" ,libspectre)
c769cf9f 1378 ("djvulibre" ,djvulibre)
c1354b90
LC
1379 ("ghostscript" ,ghostscript)
1380 ("poppler" ,poppler)
c769cf9f
SB
1381 ("libtiff" ,libtiff)
1382 ;; TODO:
c769cf9f
SB
1383 ;; Build libkpathsea as a shared library for DVI support.
1384 ;; ("libkpathsea" ,texlive-bin)
1385 ("gnome-desktop" ,gnome-desktop)
c1354b90 1386 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1387 ("gspell" ,gspell)
c1354b90 1388 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1389 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1390 ("gdk-pixbuf" ,gdk-pixbuf)
1391 ("atk" ,atk)
1392 ("pango" ,pango)
1393 ("gtk+" ,gtk+)
1394 ("glib" ,glib)
1395 ("libxml2" ,libxml2)
c1354b90
LC
1396 ("libsm" ,libsm)
1397 ("libice" ,libice)
96e42467 1398 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1399 ("dconf" ,dconf)
1400 ("libcanberra" ,libcanberra)
c769cf9f 1401 ("libsecret" ,libsecret)
a271096b 1402
c1354b90
LC
1403 ;; For tests.
1404 ("dogtail" ,python2-dogtail)))
96e42467 1405 (native-inputs
bcb354ad
SB
1406 `(("itstool" ,itstool)
1407 ("intltool" ,intltool)
426adbe8 1408 ("glib" ,glib "bin")
169b8f77 1409 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1410 ("pkg-config" ,pkg-config)
1411 ("xmllint" ,libxml2)))
c1354b90 1412 (home-page
f032d0be 1413 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1414 (synopsis "GNOME's document viewer")
1415 (description
1416 "Evince is a document viewer for multiple document formats. It
1417currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1418of Evince is to replace the multiple document viewers that exist
96e42467 1419on the GNOME Desktop with a single simple application.")
1dd26275 1420 (license license:gpl2+)))
c1354b90 1421
22e32e69
AE
1422(define-public gsettings-desktop-schemas
1423 (package
1424 (name "gsettings-desktop-schemas")
c900dabd 1425 (version "3.32.0")
22e32e69
AE
1426 (source
1427 (origin
1428 (method url-fetch)
1429 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1430 (version-major+minor version) "/"
22e32e69
AE
1431 name "-" version ".tar.xz"))
1432 (sha256
1433 (base32
c900dabd
KK
1434 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1435 (build-system meson-build-system)
65209ffa
LC
1436 (arguments
1437 '(#:phases (modify-phases %standard-phases
1438 (add-after 'unpack 'set-adwaita-theme-file-name
1439 (lambda* (#:key inputs #:allow-other-keys)
1440 ;; Provide the correct file name of the default GNOME
1441 ;; background, 'adwaita-timed.xml'.
1442 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1443 (substitute* (find-files "schemas"
1444 "\\.gschema\\.xml\\.in$")
1445 (("@datadir@/backgrounds/gnome")
1446 (string-append theme "/share/backgrounds/gnome")))
1447 #t))))))
22e32e69 1448 (inputs
65209ffa
LC
1449 `(("glib" ,glib)
1450 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1451 (native-inputs
1452 `(("intltool" ,intltool)
426adbe8 1453 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1454 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1455 ("pkg-config" ,pkg-config)))
1456 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1457 (synopsis
1458 "GNOME settings for various desktop components")
1459 (description
1460 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1461for settings shared by various components of the GNOME desktop.")
1dd26275 1462 (license license:lgpl2.1+)))
22e32e69 1463
27477d2d
AE
1464(define-public icon-naming-utils
1465 (package
1466 (name "icon-naming-utils")
1467 (version "0.8.90")
1468 (source
1469 (origin
1470 (method url-fetch)
5cc3096c 1471 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1472 version ".tar.bz2"))
1473 (sha256
1474 (base32
1475 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1476 (build-system gnu-build-system)
1477 (inputs
1478 `(("perl" ,perl)
1479 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1480 (arguments
1481 '(#:phases
dc1d3cde
KK
1482 (modify-phases %standard-phases
1483 (add-after 'install 'set-load-paths
1484 ;; Tell 'icon-name-mapping' where XML::Simple is.
1485 (lambda* (#:key outputs #:allow-other-keys)
1486 (let* ((out (assoc-ref outputs "out"))
1487 (prog (string-append out "/libexec/icon-name-mapping")))
1488 (wrap-program
1489 prog
1490 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1491 #t)))))
27477d2d
AE
1492 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1493 (synopsis
1494 "Utility to implement the Freedesktop Icon Naming Specification")
1495 (description
1496 "To help with the transition to the Freedesktop Icon Naming
1497Specification, the icon naming utility maps the icon names used by the
1498GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1499 (license license:lgpl2.1+)))
27477d2d 1500
7d3f3651
AE
1501(define-public gnome-icon-theme
1502 (package
1503 (name "gnome-icon-theme")
b32f58dd 1504 (version "3.12.0")
7d3f3651
AE
1505 (source
1506 (origin
1507 (method url-fetch)
1508 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1509 (version-major+minor version) "/"
7d3f3651
AE
1510 name "-" version ".tar.xz"))
1511 (sha256
1512 (base32
b32f58dd 1513 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1514 (build-system gnu-build-system)
5613c27d
SB
1515 (arguments
1516 '(#:configure-flags
1517 ;; Don't create 'icon-theme.cache'.
1518 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1519 (true (string-append coreutils "/bin/true")))
1520 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1521 (native-inputs
5613c27d 1522 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1523 ("intltool" ,intltool)
1524 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1525 (home-page "https://wiki.gnome.org/Personalization")
1526 (synopsis "GNOME icon theme")
1527 (description "Icons for the GNOME desktop.")
1dd26275 1528 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1529
14eeefa2
SB
1530;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1531(define-public adwaita-icon-theme
1532 (package (inherit gnome-icon-theme)
1533 (name "adwaita-icon-theme")
9be59d7f 1534 (version "3.32.0")
14eeefa2
SB
1535 (source (origin
1536 (method url-fetch)
1537 (uri (string-append "mirror://gnome/sources/" name "/"
1538 (version-major+minor version) "/"
1539 name "-" version ".tar.xz"))
1540 (sha256
1541 (base32
9be59d7f 1542 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1543 (native-inputs
1544 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1545
ae792dba
RW
1546(define-public tango-icon-theme
1547 (package
1548 (name "tango-icon-theme")
1549 (version "0.8.90")
1550 (source (origin
1551 (method url-fetch)
1552 (uri (string-append "http://tango.freedesktop.org/releases/"
1553 "tango-icon-theme-" version ".tar.bz2"))
1554 (sha256
1555 (base32
1556 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1557 (build-system gnu-build-system)
1558 (native-inputs
1559 `(("icon-naming-utils" ,icon-naming-utils)
1560 ("intltool" ,intltool)
1561 ("imagemagick" ,imagemagick)
1562 ("pkg-config" ,pkg-config)))
1563 (home-page "http://tango-project.org/")
1564 (synopsis "Tango icon theme")
1565 (description "This is an icon theme that follows the Tango visual
1566guidelines.")
1567 (license license:public-domain)))
1568
9167f8e6
LC
1569(define-public shared-mime-info
1570 (package
1571 (name "shared-mime-info")
18138ab9 1572 (version "1.10")
9167f8e6
LC
1573 (source (origin
1574 (method url-fetch)
5cc3096c 1575 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1576 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1577 (sha256
1578 (base32
18138ab9 1579 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1580 (build-system gnu-build-system)
1581 (arguments
1582 ;; The build system appears not to be parallel-safe.
1583 '(#:parallel-build? #f))
1584 (inputs
1585 `(("glib" ,glib)
c4c4cc05 1586 ("libxml2" ,libxml2)))
9167f8e6 1587 (native-inputs
c4c4cc05
JD
1588 `(("intltool" ,intltool)
1589 ("pkg-config" ,pkg-config)))
57e7d748 1590 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1591 (synopsis "Database of common MIME types")
1592 (description
1593 "The shared-mime-info package contains the core database of common types
1594and the update-mime-database command used to extend it. It requires glib2 to
1595be installed for building the update command. Additionally, it uses intltool
1596for translations, though this is only a dependency for the maintainers. This
1597database is translated at Transifex.")
1dd26275 1598 (license license:gpl2+)))
9167f8e6 1599
dd1fcddc
CB
1600(define-public system-config-printer
1601 (package
1602 (name "system-config-printer")
fa01e10d 1603 (version "1.5.12")
a5643044
TGR
1604 (source
1605 (origin
1606 (method url-fetch)
1607 (uri (string-append
1608 "https://github.com/OpenPrinting/system-config-printer/releases/"
1609 "download/" version
1610 "/system-config-printer-" version ".tar.xz"))
1611 (sha256
fa01e10d 1612 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1613 (build-system glib-or-gtk-build-system)
1614 (arguments
1615 `(#:imported-modules ((guix build python-build-system)
1616 ,@%glib-or-gtk-build-system-modules)
1617 #:phases
1618 (modify-phases %standard-phases
1619 (add-after 'unpack 'patch-Makefile.am
1620 (lambda _
1621 ;; The Makefile generates some scripts, so set a valid shebang
1622 (substitute* "Makefile.am"
1623 (("/bin/bash") (which "bash")))
1624 (delete-file "configure")
1625 #t))
1626 (add-after 'unpack 'patch-docbook-xml
1627 (lambda* (#:key inputs #:allow-other-keys)
1628 ;; Modify the man XML otherwise xmlto tries to access the network
1629 (substitute* "man/system-config-printer.xml"
1630 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1631 (string-append (assoc-ref inputs "docbook-xml")
1632 "/xml/dtd/docbook/")))
1633 #t))
1634 (add-after 'install 'wrap-for-python
1635 (@@ (guix build python-build-system) wrap))
1636 (add-after 'install 'wrap
1637 (lambda* (#:key outputs #:allow-other-keys)
1638 (let ((out (assoc-ref outputs "out"))
1639 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1640 (for-each
1641 (lambda (program)
1642 (wrap-program program
1643 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1644 (map (lambda (name)
1645 (string-append out "/bin/" name))
1646 '("system-config-printer"
1647 "system-config-printer-applet"
1648 "install-printerdriver"
1649 "scp-dbus-service"))))
1650 #t)))))
1651 (inputs
1652 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1653 ("gobject-introspection" ,gobject-introspection)
1654 ("python" ,python)
1655 ("cups" ,cups)
1656 ("python-dbus" ,python-dbus)
1657 ("python-pygobject" ,python-pygobject)
1658 ("python-pycups" ,python-pycups)
1659 ("python-requests" ,python-requests)
1660 ("python-pycairo" ,python-pycairo)
1661 ("libnotify" ,libnotify)
1662 ("packagekit" ,packagekit)))
1663 (native-inputs
1664 `(("pkg-config" ,pkg-config)
1665 ("desktop-file-utils" ,desktop-file-utils)
1666 ("glib" ,glib)
1667 ("autoconf" ,autoconf)
1668 ("automake" ,automake)
1669 ("intltool" ,intltool)
1670 ("xmlto" ,xmlto)
1671 ("docbook-xml" ,docbook-xml-4.1.2)
1672 ("docbook-xsl" ,docbook-xsl)
1673 ("libxml2" ,libxml2)))
1674 (home-page "https://github.com/zdohnal/system-config-printer")
1675 (synopsis "CUPS administration tool")
1676 (description
1677 "system-config-printer is a CUPS administration tool. It's written in
1678Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1679configuring CUPS.")
1680 (license license:gpl2+)))
1681
bef4dd92
AE
1682(define-public hicolor-icon-theme
1683 (package
1684 (name "hicolor-icon-theme")
851cb6dd 1685 (version "0.17")
bef4dd92
AE
1686 (source
1687 (origin
1688 (method url-fetch)
5cc3096c 1689 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1690 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1691 (sha256
1692 (base32
851cb6dd 1693 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1694 (build-system gnu-build-system)
1695 (arguments
1696 `(#:tests? #f)) ; no check target
57e7d748 1697 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1698 (synopsis
1699 "Freedesktop icon theme")
1700 (description
1701 "Freedesktop icon theme.")
1dd26275 1702 (license license:gpl2)))
bef4dd92 1703
d9c1a22b
AE
1704(define-public libnotify
1705 (package
1706 (name "libnotify")
195bfa68 1707 (version "0.7.7")
d9c1a22b
AE
1708 (source
1709 (origin
1710 (method url-fetch)
1711 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1712 (version-major+minor version) "/"
d9c1a22b
AE
1713 name "-" version ".tar.xz"))
1714 (sha256
1715 (base32
195bfa68 1716 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1717 (build-system gnu-build-system)
6acf6cec
MB
1718 (arguments
1719 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1720 (propagated-inputs
1721 `(;; In Requires of libnotify.pc.
1722 ("gdk-pixbuf" ,gdk-pixbuf)
1723 ("glib" ,glib)))
d9c1a22b 1724 (inputs
7ef08efa 1725 `(("gtk+" ,gtk+)
c4c4cc05
JD
1726 ("libpng" ,libpng)))
1727 (native-inputs
426adbe8 1728 `(("pkg-config" ,pkg-config)
277a7d82
JN
1729 ("glib" ,glib "bin")
1730 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1731 (home-page "https://developer-next.gnome.org/libnotify/")
1732 (synopsis
1733 "GNOME desktop notification library")
1734 (description
1735 "Libnotify is a library that sends desktop notifications to a
35b9e423 1736notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1737notifications can be used to inform the user about an event or display
1738some form of information without getting in the user's way.")
1dd26275 1739 (license license:lgpl2.1+)))
7a8605ce
CR
1740
1741(define-public libpeas
1742 (package
1743 (name "libpeas")
db122a9b 1744 (version "1.22.0")
7a8605ce
CR
1745 (source
1746 (origin
1747 (method url-fetch)
1748 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1749 (version-major+minor version) "/"
7a8605ce
CR
1750 name "-" version ".tar.xz"))
1751 (sha256
1752 (base32
db122a9b 1753 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
7a8605ce 1754 (build-system gnu-build-system)
7a8605ce 1755 (inputs
2ed6522a
SB
1756 `(("gtk+" ,gtk+)
1757 ("glade" ,glade3)
2ed6522a
SB
1758 ("python" ,python)
1759 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1760 (native-inputs
1761 `(("pkg-config" ,pkg-config)
93622993 1762 ("glib:bin" ,glib "bin")
141aed80
LC
1763 ("gobject-introspection" ,gobject-introspection)
1764 ("intltool" ,intltool)))
55b7bbd8
LC
1765 (propagated-inputs
1766 ;; The .pc file "Requires" gobject-introspection.
1767 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1768 (home-page "https://wiki.gnome.org/Libpeas")
1769 (synopsis "GObject plugin system")
1770 (description
d1e4ad1b
TGR
1771 "Libpeas is a gobject-based plugin engine, targeted at giving every
1772application the chance to assume its own extensibility. It also has a set of
1773features including, but not limited to: multiple extension points; on-demand
1774(lazy) programming language support for C, Python and JS; simplicity of the
1775API.")
1dd26275 1776 (license license:lgpl2.0+)))
ed19903d
JD
1777
1778(define-public gtkglext
1779 (package
1780 (name "gtkglext")
1781 (version "1.2.0")
1782 (source (origin
1783 (method url-fetch)
0f971a04 1784 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1785 version "/gtkglext-" version ".tar.gz"))
1786 (sha256
1787 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1788 (patches (search-patches
1789 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1790 (build-system gnu-build-system)
14e2f61a
RW
1791 (arguments
1792 `(#:phases
1793 (modify-phases %standard-phases
1794 ;; Fix a collision between a local variable and a definition from
1795 ;; glibc's string.h.
1796 (add-after 'unpack 'fix-collision
1797 (lambda _
1798 (substitute* "gdk/gdkglshapes.c"
1799 ((" index") " triangle_index"))
1800 #t)))))
ed19903d
JD
1801 (inputs `(("gtk+" ,gtk+-2)
1802 ("mesa" ,mesa)
cc8b02f4 1803 ("glu" ,glu)
ed19903d
JD
1804 ("libx11" ,libx11)
1805 ("libxt" ,libxt)))
426adbe8
LC
1806 (native-inputs `(("pkg-config" ,pkg-config)
1807 ("glib" ,glib "bin")))
a83b6a06 1808 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1809 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1810 (synopsis "OpenGL extension to GTK+")
35b9e423 1811 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1812additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1813API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1814 (license license:lgpl2.1+)))
3600420e
JD
1815
1816(define-public glade3
1817 (package
1818 (name "glade")
c6571adb 1819 (version "3.22.1")
b38e45d8
EB
1820 (source (origin
1821 (method url-fetch)
1822 (uri (string-append "mirror://gnome/sources/" name "/"
1823 (version-major+minor version) "/"
f5ca44b8 1824 name "-" version ".tar.xz"))
3600420e 1825 (sha256
f714d9fe 1826 (base32
c6571adb 1827 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1828 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1829 (arguments
1830 `(#:tests? #f ; needs X, GL, and software rendering
1831 #:phases
1832 (modify-phases %standard-phases
1833 (add-before 'configure 'fix-docbook
1834 (lambda* (#:key inputs #:allow-other-keys)
1835 (substitute* "man/Makefile.in"
1836 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1837 (string-append (assoc-ref inputs "docbook-xsl")
1838 "/xml/xsl/docbook-xsl-"
1839 ,(package-version docbook-xsl)
1840 "/manpages/docbook.xsl")))
1841 #t)))))
3600420e 1842 (inputs
f5ca44b8 1843 `(("gtk+" ,gtk+)
3600420e
JD
1844 ("libxml2" ,libxml2)))
1845 (native-inputs
1846 `(("intltool" ,intltool)
f5ca44b8
RW
1847 ("itstool" ,itstool)
1848 ("libxslt" ,libxslt) ;for xsltproc
1849 ("docbook-xml" ,docbook-xml-4.2)
1850 ("docbook-xsl" ,docbook-xsl)
1851 ("python" ,python-2)
3600420e
JD
1852 ("pkg-config" ,pkg-config)))
1853 (home-page "https://glade.gnome.org")
1854 (synopsis "GTK+ rapid application development tool")
1855 (description "Glade is a rapid application development (RAD) tool to
1856enable quick & easy development of user interfaces for the GTK+ toolkit and
1857the GNOME desktop environment.")
1dd26275
LC
1858 (license license:lgpl2.0+)))
1859
1860(define-public libcroco
1861 (package
1862 (name "libcroco")
8bdacad2 1863 (version "0.6.13")
1dd26275
LC
1864 (source (origin
1865 (method url-fetch)
b38e45d8
EB
1866 (uri (string-append "mirror://gnome/sources/" name "/"
1867 (version-major+minor version) "/"
1868 name "-" version ".tar.xz"))
1dd26275
LC
1869 (sha256
1870 (base32
8bdacad2 1871 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
1872 (build-system gnu-build-system)
1873 (native-inputs
1874 `(("pkg-config" ,pkg-config)))
1875 (inputs
1876 `(("glib" ,glib)
1877 ("libxml2" ,libxml2)
1878 ("zlib" ,zlib)))
1879 (home-page "https://github.com/GNOME/libcroco")
1880 (synopsis "CSS2 parsing and manipulation library")
1881 (description
1882 "Libcroco is a standalone CSS2 parsing and manipulation library.
1883The parser provides a low level event driven SAC-like API and a CSS object
1884model like API. Libcroco provides a CSS2 selection engine and an experimental
1885XML/CSS rendering engine.")
1886
1887 ;; LGPLv2.1-only.
1888 (license license:lgpl2.1)))
25178594
LC
1889
1890(define-public libgsf
1891 (package
1892 (name "libgsf")
8d1644a1 1893 (version "1.14.46")
25178594
LC
1894 (source (origin
1895 (method url-fetch)
b38e45d8
EB
1896 (uri (string-append "mirror://gnome/sources/" name "/"
1897 (version-major+minor version) "/"
1898 name "-" version ".tar.xz"))
25178594
LC
1899 (sha256
1900 (base32
8d1644a1 1901 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
1902 (build-system gnu-build-system)
1903 (native-inputs
1904 `(("intltool" ,intltool)
1905 ("pkg-config" ,pkg-config)))
1906 (inputs
1907 `(("python" ,python)
1908 ("zlib" ,zlib)
1909 ("bzip2" ,bzip2)))
1910 (propagated-inputs
1911 `(("gdk-pixbuf" ,gdk-pixbuf)
1912 ("glib" ,glib)
1913 ("libxml2" ,libxml2)))
f032d0be 1914 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
1915 (synopsis "GNOME's Structured File Library")
1916 (description
1917 "Libgsf aims to provide an efficient extensible I/O abstraction for
1918dealing with different structured file formats.")
1919
1920 ;; LGPLv2.1-only.
1921 (license license:lgpl2.1)))
63016e7c
LC
1922
1923(define-public librsvg
f67417a1
MB
1924 (package
1925 (name "librsvg")
1926 (version "2.40.20")
1927 (source (origin
1928 (method url-fetch)
1929 (uri (string-append "mirror://gnome/sources/" name "/"
1930 (version-major+minor version) "/"
1931 name "-" version ".tar.xz"))
1932 (sha256
1933 (base32
1934 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
1935 (build-system gnu-build-system)
1936 (arguments
1937 `(#:configure-flags
1938 (list "--disable-static"
1939 "--enable-vala") ; needed for e.g. gnome-mines
1940 #:phases
1941 (modify-phases %standard-phases
1942 (add-before 'configure 'pre-configure
1943 (lambda* (#:key inputs #:allow-other-keys)
1944 (substitute* "gdk-pixbuf-loader/Makefile.in"
1945 ;; By default the gdk-pixbuf loader is installed under
1946 ;; gdk-pixbuf's prefix. Work around that.
1947 (("gdk_pixbuf_moduledir = .*$")
1948 (string-append "gdk_pixbuf_moduledir = "
1949 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1950 "loaders\n"))
1951 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1952 (("gdk_pixbuf_cache_file = .*$")
1953 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1954 #t))
1955 (add-before 'check 'remove-failing-tests
1956 (lambda _
1957 (with-directory-excursion "tests/fixtures/reftests"
1958 (for-each delete-file
1959 '(;; This test fails on i686:
1960 "svg1.1/masking-path-04-b.svg"
1961 ;; This test fails on armhf:
1962 "svg1.1/masking-mask-01-b.svg"
1963 ;; This test fails on aarch64:
1964 "bugs/777834-empty-text-children.svg")))
1965 #t)))))
1966 (native-inputs
1967 `(("pkg-config" ,pkg-config)
1968 ("vala" ,vala)
1969 ("glib" ,glib "bin") ; glib-mkenums, etc.
1970 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1971 (inputs
1972 `(("pango" ,pango)
1973 ("libcroco" ,libcroco)
1974 ("bzip2" ,bzip2)
1975 ("libgsf" ,libgsf)
1976 ("libxml2" ,libxml2)))
1977 (propagated-inputs
1978 ;; librsvg-2.0.pc refers to all of that.
1979 `(("cairo" ,cairo)
1980 ("gdk-pixbuf" ,gdk-pixbuf)
1981 ("glib" ,glib)))
1982 (home-page "https://wiki.gnome.org/LibRsvg")
1983 (synopsis "Render SVG files using Cairo")
1984 (description
1985 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
1986library.")
1987 (license license:lgpl2.0+)))
1988
8f523eb9
EF
1989(define* (computed-origin-method gexp-promise hash-algo hash
1990 #:optional (name "source")
1991 #:key (system (%current-system))
1992 (guile (default-guile)))
1993 "Return a derivation that executes the G-expression that results
1994from forcing GEXP-PROMISE."
1995 (mlet %store-monad ((guile (package->derivation guile system)))
1996 (gexp->derivation (or name "computed-origin")
1997 (force gexp-promise)
1998 #:graft? #f ;nothing to graft
1999 #:system system
2000 #:guile-for-build guile)))
2001
2002(define librsvg-next-source
2003 (let* ((version "2.46.3")
2004 (upstream-source (origin
2005 (method url-fetch)
2006 (uri (string-append "mirror://gnome/sources/librsvg/"
2007 (version-major+minor version) "/"
2008 "librsvg-" version ".tar.xz"))
2009 (sha256
2010 (base32
2011 "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))))
2012 (origin
2013 (method computed-origin-method)
2014 (file-name (string-append "librsvg-" version ".tar.xz"))
2015 (sha256 #f)
2016 (uri
2017 (delay
2018 (with-imported-modules '((guix build utils))
2019 #~(begin
2020 (use-modules (guix build utils))
2021 (set-path-environment-variable
2022 "PATH" '("bin")
2023 (list "/tmp"
2024 #+(canonical-package xz)
2025 #+(canonical-package gzip)
2026 #+(canonical-package tar)))
2027 (invoke "tar" "xvf" #+upstream-source)
2028 (with-directory-excursion (string-append "librsvg-" #$version)
2029 (for-each
2030 (lambda (crate)
2031 (delete-file-recursively (string-append "vendor/" (car crate)))
2032 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
e19cb895 2033 '(;("aho-corasick" . #+(package-source rust-aho-corasick-0.7))
8f523eb9 2034;; alga 0.9
e19cb895
EF
2035 ("approx" . #+(package-source rust-approx-0.3))
2036 ("arrayvec" . #+(package-source rust-arrayvec-0.4))
8f523eb9
EF
2037 ("atty" . #+(package-source rust-atty-0.2))
2038 ("autocfg" . #+(package-source rust-autocfg-0.1))
2039 ("bitflags" . #+(package-source rust-bitflags-1))
2040;; block 0.1
e19cb895
EF
2041 ("bstr" . #+(package-source rust-bstr-0.2))
2042 ("byteorder" . #+(package-source rust-byteorder-1.3))
8f523eb9
EF
2043;; cairo-rs 0.7
2044;; cairo-sys-rs 0.9
e19cb895 2045 ("cast" . #+(package-source rust-cast-0.2))
8f523eb9
EF
2046 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
2047 ("clap" . #+(package-source rust-clap-2))
e19cb895
EF
2048 ("cloudabi" . #+(package-source rust-cloudabi-0.0))
2049 ("criterion" . #+(package-source rust-criterion-0.2))
2050 ("criterion-plot" . #+(package-source rust-criterion-plot-0.3))
2051 ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7))
2052 ;("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.7))
2053 ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.1))
2054 ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.6))
8f523eb9
EF
2055;; cssparser 0.25
2056;; cssparser-macros 0.3
e19cb895
EF
2057 ("csv" . #+(package-source rust-csv-1.1))
2058 ("csv-core" . #+(package-source rust-csv-core-0.1))
8f523eb9
EF
2059;; data-url 0.1
2060;; downcast-rs 1.0
2061 ("dtoa" . #+(package-source rust-dtoa-0.4))
2062;; dtoa-short 0.3
e19cb895
EF
2063 ("either" . #+(package-source rust-either-1.5))
2064 ("encoding" . #+(package-source rust-encoding-0.2))
2065 ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219))
2066 ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219))
2067 ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219))
2068 ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219))
2069 ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219))
2070 ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1))
8f523eb9
EF
2071;; float-cmp 0.5
2072;; fragile 0.3
e19cb895
EF
2073 ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2074 ("futf" . #+(package-source rust-futf-0.1))
8f523eb9
EF
2075;; gdk-pixbuf 0.7
2076;; gdk-pixbuf-sys 0.9
e19cb895 2077 ("generic-array" . #+(package-source rust-generic-array-0.12))
8f523eb9
EF
2078;; gio 0.7
2079;; gio-sys 0.9
2080;; glib 0.8
2081;; glib-sys 0.9
2082;; gobject-sys 0.9
2083;; idna 0.2
e19cb895 2084 ("itertools" . #+(package-source rust-itertools-0.8))
8f523eb9 2085 ("itoa" . #+(package-source rust-itoa-0.4))
e19cb895 2086 ("language-tags" . #+(package-source rust-language-tags-0.2))
8f523eb9
EF
2087 ("lazy_static" . #+(package-source rust-lazy-static-1.3))
2088 ("libc" . #+(package-source rust-libc-0.2))
2089;; libm 0.1
2090;; locale_config 0.3
2091 ("log" . #+(package-source rust-log-0.4))
e19cb895 2092 ("mac" . #+(package-source rust-mac-0.1))
8f523eb9
EF
2093;; malloc_buf 0.0
2094;; markup5ever 0.9
e19cb895 2095 ("matches" . #+(package-source rust-matches-0.1))
8f523eb9 2096;; matrixmultiply 0.2
e19cb895 2097 ;("memchr" . #+(package-source rust-memchr-2.2))
8f523eb9
EF
2098;; memoffset 0.5
2099;; nalgebra 0.18
e19cb895 2100 ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0))
8f523eb9 2101 ("nodrop" . #+(package-source rust-nodrop-0.1))
e19cb895 2102 ("num-complex" . #+(package-source rust-num-complex-0.2))
8f523eb9
EF
2103 ("num-integer" . #+(package-source rust-num-integer-0.1))
2104;; num-rational 0.2
2105 ("num-traits" . #+(package-source rust-num-traits-0.2))
2106 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
2107;; objc 0.2
2108;; objc-foundation 0.1
2109;; objc_id 0.1
2110;; pango 0.7
2111;; pango-sys 0.9
2112;; pangocairo 0.8
2113;; pangocairo-sys 0.10
2114 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
e19cb895
EF
2115 ("phf" . #+(package-source rust-phf-0.7))
2116 ("phf_codegen" . #+(package-source rust-phf-codegen-0.7))
2117 ("phf_generator" . #+(package-source rust-phf-generator-0.7))
2118 ("phf_shared" . #+(package-source rust-phf-shared-0.7))
2119 ("pkg-config" . #+(package-source rust-pkg-config-0.3))
2120 ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1))
8f523eb9
EF
2121 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2122;; procedural-masquerade 0.1
2123 ("quote" . #+(package-source rust-quote-1.0))
e19cb895 2124 ("rand" . #+(package-source rust-rand-0.6))
8f523eb9
EF
2125 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2126 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2127 ("rand_core" . #+(package-source rust-rand-core-0.4))
2128 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2129 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2130 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2131 ("rand_os" . #+(package-source rust-rand-os-0.1))
2132 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2133 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
2134;; rand_xoshiro 0.1
e19cb895 2135;; rawpointer 0.2
8f523eb9
EF
2136;; rayon 1.2
2137;; rayon-core 1.6
2138;; rctree 0.3
2139 ("rdrand" . #+(package-source rust-rdrand-0.4))
2140;; regex 1.3
e19cb895 2141 ("regex-automata" . #+(package-source rust-regex-automata-0.1))
8f523eb9 2142 ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
e19cb895 2143 ("rustc_version" . #+(package-source rust-rustc-version-0.2))
8f523eb9
EF
2144 ("ryu" . #+(package-source rust-ryu-1.0))
2145 ("same-file" . #+(package-source rust-same-file-1.0))
2146 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
e19cb895
EF
2147 ("semver" . #+(package-source rust-semver-0.9))
2148 ("semver-parser" . #+(package-source rust-semver-parser-0.7))
8f523eb9
EF
2149 ("serde" . #+(package-source rust-serde-1.0))
2150 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2151 ("serde_json" . #+(package-source rust-serde-json-1.0))
e19cb895
EF
2152 ("siphasher" . #+(package-source rust-siphasher-0.2))
2153 ("smallvec" . #+(package-source rust-smallvec-0.6))
2154 ("string_cache" . #+(package-source rust-string-cache-0.7))
2155 ;("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4))
2156 ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3))
8f523eb9 2157 ("syn" . #+(package-source rust-syn-1.0))
e19cb895 2158 ("tendril" . #+(package-source rust-tendril-0.4))
8f523eb9 2159 ("textwrap" . #+(package-source rust-textwrap-0.11))
e19cb895
EF
2160 ("thread_local" . #+(package-source rust-thread-local-0.3))
2161 ("tinytemplate" . #+(package-source rust-tinytemplate-1.0))
2162 ("typenum" . #+(package-source rust-typenum-1.10))
2163 ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3))
2164 ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1))
8f523eb9
EF
2165 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2166 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
2167;; url 2.1
e19cb895 2168 ("utf-8" . #+(package-source rust-utf-8-0.7))
8f523eb9
EF
2169 ("walkdir" . #+(package-source rust-walkdir-2.2))
2170 ("winapi" . #+(package-source rust-winapi-0.3))
e19cb895 2171 ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
8f523eb9 2172 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
e19cb895 2173 ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
8f523eb9
EF
2174;; xml-rs 0.8
2175 )))
2176 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2177 (force-output)
2178 (invoke "tar" "cfa" #$output
2179 ;; Avoid non-determinism in the archive. We set the
2180 ;; mtime of files in the archive to early 1980 because
2181 ;; the build process fails if the mtime of source
2182 ;; files is pre-1980, due to the creation of zip
2183 ;; archives.
2184 "--mtime=@315619200" ; 1980-01-02 UTC
2185 "--owner=root:0"
2186 "--group=root:0"
2187 "--sort=name"
2188 (string-append "librsvg-" #$version))
2189 #t)))))))
2190
f67417a1 2191(define-public librsvg-next
63016e7c
LC
2192 (package
2193 (name "librsvg")
cf9dad6c 2194 (version "2.46.3")
8f523eb9 2195 (source librsvg-next-source)
63016e7c
LC
2196 (build-system gnu-build-system)
2197 (arguments
d953418a
RW
2198 `(#:configure-flags
2199 (list "--disable-static"
2200 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2201 #:make-flags '("CC=gcc")
8f523eb9 2202 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2203 #:phases
b6239e45 2204 (modify-phases %standard-phases
8f523eb9 2205 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2206 (lambda _
8f523eb9
EF
2207 (use-modules (guix build cargo-utils))
2208 (substitute* "librsvg/Cargo.toml"
2209 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
b665a246 2210 (generate-all-checksums "vendor")
8f523eb9
EF
2211 (delete-file "Cargo.lock")
2212 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2213 (add-before 'configure 'pre-configure
2214 (lambda* (#:key inputs #:allow-other-keys)
2215 (substitute* "gdk-pixbuf-loader/Makefile.in"
2216 ;; By default the gdk-pixbuf loader is installed under
2217 ;; gdk-pixbuf's prefix. Work around that.
2218 (("gdk_pixbuf_moduledir = .*$")
2219 (string-append "gdk_pixbuf_moduledir = "
2220 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2221 "loaders\n"))
2222 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2223 (("gdk_pixbuf_cache_file = .*$")
2224 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2225 #t))
ec47c07d 2226 (add-before 'check 'remove-failing-tests
b6239e45 2227 (lambda _
64a153bd
MW
2228 (with-directory-excursion "tests/fixtures/reftests"
2229 (for-each delete-file
ec47c07d
MB
2230 '(;; The images produced by these tests differ slightly
2231 ;; from their reference counterparts due to differences
2232 ;; in the build environment (missing fonts, etc). See
2233 ;; <tests/README.md> for details.
2234 ;; These fail on x86_64.
2235 "svg1.1/coords-viewattr-02-b.svg"
2236 "svg1.1/filters-composite-04-f.svg"
2237 "svg1.1/filters-image-01-b.svg"
2238 "svg1.1/filters-conv-02-f.svg"
2239 "svg1.1/filters-conv-04-f.svg"
2240 ;; This test fails on i686:
64a153bd 2241 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2242 ;; This test fails on armhf:
2243 "svg1.1/masking-mask-01-b.svg"
64a153bd 2244 ;; This test fails on aarch64:
ec47c07d 2245 "bugs/777834-empty-text-children.svg")))
b6239e45 2246 #t)))))
63016e7c
LC
2247 (native-inputs
2248 `(("pkg-config" ,pkg-config)
64855281
MB
2249 ;; This is the minimum supported Rust version in Librsvg 2.46.
2250 ("rust" ,rust-1.34)
2251 ("cargo" ,rust-1.34 "cargo")
d953418a 2252 ("vala" ,vala)
44add1ce 2253 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2254 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2255 (inputs
2256 `(("pango" ,pango)
2257 ("libcroco" ,libcroco)
2258 ("bzip2" ,bzip2)
2259 ("libgsf" ,libgsf)
2260 ("libxml2" ,libxml2)))
2261 (propagated-inputs
2262 ;; librsvg-2.0.pc refers to all of that.
2263 `(("cairo" ,cairo)
2264 ("gdk-pixbuf" ,gdk-pixbuf)
2265 ("glib" ,glib)))
2266 (home-page "https://wiki.gnome.org/LibRsvg")
2267 (synopsis "Render SVG files using Cairo")
2268 (description
35b9e423 2269 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2270library.")
cf9dad6c 2271 (license license:lgpl2.1+)))
5698b8b8
JD
2272
2273(define-public libidl
2274 (package
2275 (name "libidl")
2276 (version "0.8.14")
2277 (source (origin
2278 (method url-fetch)
80a06e62
EF
2279 (uri (string-append "mirror://gnome/sources/libIDL/"
2280 (version-major+minor version) "/"
2281 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2282 (sha256
2283 (base32
2284 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2285 (build-system gnu-build-system)
2286 (inputs `(("glib" ,glib)))
2287 (native-inputs
2288 `(("pkg-config" ,pkg-config)
b3546174 2289 ("flex" ,flex)
5698b8b8
JD
2290 ("bison" ,bison)))
2291 (home-page "http://freecode.com/projects/libidl")
2292 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2293 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2294Definition Language (idl) files, which is a specification for defining
2295portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2296GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2297functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2298 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2299 (license license:lgpl2.0+)))
2300
2301
2302(define-public orbit2
2303 (package
2304 (name "orbit2")
2305 (version "2.14.19")
2306 (source (origin
2307 (method url-fetch)
2e6ecc5c 2308 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2309 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2310 (version-major+minor version) "/"
2311 upstream-name "-" version ".tar.bz2")))
5698b8b8 2312 (sha256
a124bbd2
SB
2313 (base32
2314 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2315 (build-system gnu-build-system)
2316 (arguments
a124bbd2 2317 `(#:configure-flags
8aad2e32
LC
2318 '(;; We don't need static libraries, plus they don't build reproducibly
2319 ;; (non-deterministic ordering of .o files in the archive.)
2320 "--disable-static"
2321
2322 ;; The programmer kindly gives us a hook to turn off deprecation
2323 ;; warnings ...
2324 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2325 ;; ... which they then completly ignore !!
2326 #:phases
dc1d3cde
KK
2327 (modify-phases %standard-phases
2328 (add-before 'configure 'ignore-deprecations
2329 (lambda _
2330 (substitute* "linc2/src/Makefile.in"
2331 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2332 #t)))))
5698b8b8
JD
2333 (inputs `(("glib" ,glib)
2334 ("libidl" ,libidl)))
2335 (native-inputs
2336 `(("pkg-config" ,pkg-config)))
2337 (home-page "https://projects.gnome.org/orbit2/")
2338 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2339 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2340featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2341 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2342 ;; a version. SOME of the code files have licence notices for GPLv2+.
2343 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2344 (license license:gpl2+)
2345 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2346
2347
2348(define-public libbonobo
2349 (package
2350 (name "libbonobo")
2351 (version "2.32.1")
2352 (source (origin
2353 (method url-fetch)
5becd025 2354 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2355 (version-major+minor version)
5becd025 2356 "/" name "-" version ".tar.bz2"))
5698b8b8 2357 (sha256
f1fc45a9 2358 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2359 (patches (search-patches
2360 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2361 (build-system gnu-build-system)
2362 (arguments
2363 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2364 `(#:configure-flags
2365 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2366 ;; ... which they then completly ignore !!
2367 #:phases
dc1d3cde
KK
2368 (modify-phases %standard-phases
2369 (add-before 'configure 'ignore-deprecations
2370 (lambda _
2371 (substitute* "activation-server/Makefile.in"
2372 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2373 #t)))
2374
2375 ;; There's apparently a race condition between the server stub
2376 ;; generation and linking of the example under 'samples/echo' that can
2377 ;; lead do undefined references when building in parallel, as reported
2378 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2379 ;; Thus, disable parallel builds.
2380 #:parallel-build? #f))
5698b8b8
JD
2381 (inputs `(("popt" ,popt)
2382 ("libxml2" ,libxml2)))
2383 ;; The following are Required by the .pc file
44add1ce 2384 (propagated-inputs
5698b8b8
JD
2385 `(("glib" ,glib)
2386 ("orbit2" ,orbit2)))
2387 (native-inputs
2388 `(("intltool" ,intltool)
2389 ("pkg-config" ,pkg-config)
221ed17a 2390 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2391 ("flex" ,flex)
2392 ("bison" ,bison)))
2393 (home-page "https://developer.gnome.org/libbonobo/")
2394 (synopsis "Framework for creating reusable components for use in GNOME applications")
2395 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2396use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2397 ;; Licence not explicitly stated. Source files contain no licence notices.
2398 ;; Tarball contains text of both GPLv2 and LGPLv2
2399 ;; GPLv2 covers both conditions
2400 (license license:gpl2+)))
2401
2402
2403(define-public gconf
2404 (package
2405 (name "gconf")
2406 (version "3.2.6")
2407 (source (origin
2408 (method url-fetch)
a124bbd2
SB
2409 (uri
2410 (let ((upstream-name "GConf"))
2411 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2412 (version-major+minor version) "/"
2413 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2414 (sha256
2415 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2416 (build-system gnu-build-system)
2e88d113 2417 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2418 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2419 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2420 ("orbit2" ,orbit2)))
5698b8b8
JD
2421 (native-inputs
2422 `(("intltool" ,intltool)
221ed17a 2423 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2424 ("pkg-config" ,pkg-config)))
2425 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2426 (synopsis "Store application preferences")
2427 (description "Gconf is a system for storing application preferences. It
2428is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2429 (license license:lgpl2.0+)
2430 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2431
2432
2433(define-public gnome-mime-data
2434 (package
2435 (name "gnome-mime-data")
2436 (version "2.18.0")
2437 (source (origin
2438 (method url-fetch)
b38e45d8
EB
2439 (uri (string-append "mirror://gnome/sources/" name "/"
2440 (version-major+minor version) "/"
2441 name "-" version ".tar.bz2"))
5698b8b8
JD
2442 (sha256
2443 (base32
2444 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2445 (build-system gnu-build-system)
2446 (native-inputs
2447 `(("perl" ,perl)
2448 ("intltool" ,intltool)))
3e6add96
LC
2449 (arguments
2450 '(#:phases (modify-phases %standard-phases
2451 (add-after 'configure 'use-our-intltool
2452 (lambda _
2453 ;; Do not use the bundled intltool commands, which lack
2454 ;; the "dotless @INC" fixes of our 'intltool' package.
2455 (substitute* (find-files "." "^Makefile$")
2456 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2457 (string-append "INTLTOOL_" tool " = intltool-"
2458 (string-downcase tool) "\n")))
2459 #t)))))
f032d0be 2460 (home-page "https://www.gnome.org")
35b9e423 2461 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2462 (description "GNOME Mime Data is a module which contains the base MIME
2463and Application database for GNOME. The data stored by this module is
2464designed to be accessed through the MIME functions in GnomeVFS.")
2465 (license license:gpl2+)))
2466
2467
2468(define-public gnome-vfs
2469 (package
2470 (name "gnome-vfs")
2471 (version "2.24.4")
2472 (source (origin
2473 (method url-fetch)
b38e45d8
EB
2474 (uri (string-append "mirror://gnome/sources/" name "/"
2475 (version-major+minor version) "/"
2476 name "-" version ".tar.bz2"))
5698b8b8 2477 (sha256
9e12bc34
MW
2478 (base32
2479 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2480 (build-system gnu-build-system)
2481 (arguments
db5127d8 2482 `(#:phases
dc1d3cde
KK
2483 (modify-phases %standard-phases
2484 (add-before 'configure 'ignore-deprecations
2485 (lambda _
2486 (substitute* '("libgnomevfs/Makefile.in"
2487 "daemon/Makefile.in")
2488 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2489 #t))
2490 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2491 (lambda _
2492 (substitute* "test/test-async-cancel.c"
2493 (("EXIT_FAILURE") "77"))
2494 #t)))))
2e6ecc5c 2495 (inputs `(("libxml2" ,libxml2)
5698b8b8 2496 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2497 ("gconf" ,gconf)
2498 ("gnome-mime-data" ,gnome-mime-data)
2499 ("zlib" ,zlib)))
2500 (native-inputs
221ed17a
EB
2501 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2502 ("intltool" ,intltool)
5698b8b8
JD
2503 ("pkg-config" ,pkg-config)))
2504 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2505 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2506 (description
2507 "GnomeVFS is the core library used to access files and folders in GNOME
2508applications. It provides a file system abstraction which allows applications
2509to access local and remote files with a single consistent API.")
5698b8b8
JD
2510 (license license:lgpl2.0+)))
2511
2512
2513
2514(define-public libgnome
2515 (package
2516 (name "libgnome")
2517 (version "2.32.1")
2518 (source (origin
2519 (method url-fetch)
b38e45d8
EB
2520 (uri (string-append "mirror://gnome/sources/" name "/"
2521 (version-major+minor version) "/"
2522 name "-" version ".tar.bz2"))
5698b8b8
JD
2523 (sha256
2524 (base32
17c3eea7
LC
2525 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2526 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2527 (build-system gnu-build-system)
2528 (arguments
2529 `(#:phases
dc1d3cde
KK
2530 (modify-phases %standard-phases
2531 (add-before 'configure 'enable-deprecated
2532 (lambda _
2533 (substitute* "libgnome/Makefile.in"
2534 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2535 #t)))))
25338e9f 2536 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2537 (native-inputs
221ed17a
EB
2538 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2539 ("intltool" ,intltool)
5698b8b8
JD
2540 ("pkg-config" ,pkg-config)))
2541 ;; The following are listed as Required in the .pc file
2542 ;; (except for libcanberra -- which seems to be oversight on the part
2543 ;; of the upstream developers -- anything that links against libgnome,
2544 ;; must also link against libcanberra
2545 (propagated-inputs
2546 `(("libcanberra" ,libcanberra)
2547 ("libbonobo" ,libbonobo)
2548 ("gconf" ,gconf)
a640d3d5
LC
2549 ("gnome-vfs" ,gnome-vfs)
2550 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2551 (home-page "https://developer.gnome.org/libgnome/")
2552 (synopsis "Useful routines for building applications")
2553 (description "The libgnome library provides a number of useful routines
2554for building modern applications, including session management, activation of
2555files and URIs, and displaying help.")
2556 (license license:lgpl2.0+)))
2557
2558
2559(define-public libart-lgpl
2560 (package
2561 (name "libart-lgpl")
76c9b6aa 2562 (version "2.3.21")
5698b8b8
JD
2563 (source (origin
2564 (method url-fetch)
2565 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2566 (string-append "mirror://gnome/sources/" upstream-name "/"
2567 (version-major+minor version) "/"
2568 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2569 (sha256
2570 (base32
76c9b6aa 2571 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2572 (build-system gnu-build-system)
2573 (native-inputs
2574 `(("pkg-config" ,pkg-config)))
2575 (home-page "https://people.gnome.org/~mathieu/libart")
2576 (synopsis "2D drawing library")
2e6ecc5c 2577 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2578high-quality vector-based 2D library with antialiasing and alpha composition.")
2579 (license license:lgpl2.0+)))
2580
2581
2582
2583(define-public libgnomecanvas
2584 (package
2585 (name "libgnomecanvas")
2586 (version "2.30.3")
2587 (source (origin
2588 (method url-fetch)
b38e45d8
EB
2589 (uri (string-append "mirror://gnome/sources/" name "/"
2590 (version-major+minor version) "/"
2591 name "-" version ".tar.gz"))
5698b8b8
JD
2592 (sha256
2593 (base32
2594 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2595 (build-system gnu-build-system)
2596 ;; Mentioned as Required in the .pc file
2597 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2598 ("gtk+" ,gtk+-2)))
2599 (native-inputs
2600 `(("intltool" ,intltool)
221ed17a 2601 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2602 ("pkg-config" ,pkg-config)))
2603 (home-page "https://developer.gnome.org/libgnomecanvas/")
2604 (synopsis "Flexible widget for creating interactive structured graphics")
2605 (description "The GnomeCanvas widget provides a flexible widget for
2606creating interactive structured graphics.")
2607 (license license:lgpl2.0+)))
2608
eadc734e
RW
2609(define-public libgnomecanvasmm
2610 (package
2611 (name "libgnomecanvasmm")
2612 (version "2.26.0")
2613 (source (origin
2614 (method url-fetch)
2615 (uri (string-append "mirror://gnome/sources/" name "/"
2616 (version-major+minor version) "/"
2617 name "-" version ".tar.bz2"))
2618 (sha256
2619 (base32
2620 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2621 (build-system gnu-build-system)
2622 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2623 (native-inputs
2624 `(("gtkmm-2" ,gtkmm-2)
2625 ("pkg-config" ,pkg-config)))
8e933cb3 2626 (home-page "https://gtkmm.org")
eadc734e
RW
2627 (synopsis "C++ bindings to the GNOME Canvas library")
2628 (description "C++ bindings to the GNOME Canvas library.")
2629 (license license:lgpl2.0+)))
2630
5698b8b8
JD
2631(define-public libgnomeui
2632 (package
2633 (name "libgnomeui")
2634 (version "2.24.5")
2635 (source (origin
2636 (method url-fetch)
b38e45d8
EB
2637 (uri (string-append "mirror://gnome/sources/" name "/"
2638 (version-major+minor version) "/"
2639 name "-" version ".tar.bz2"))
8fa1872a 2640 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2641 (sha256
2642 (base32
2643 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2644 (build-system gnu-build-system)
2645 ;; Mentioned as Required in the .pc file
0a38a497
AE
2646 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2647 ("libgnome" ,libgnome)
2648 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2649 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2650 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2651 ("popt" ,popt)
2652 ("libbonobo" ,libbonobo)
2653 ("libxml2" ,libxml2)
2654 ("libglade" ,libglade)))
2655 (native-inputs
221ed17a
EB
2656 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2657 ("intltool" ,intltool)
5698b8b8
JD
2658 ("pkg-config" ,pkg-config)))
2659 (home-page "https://developer.gnome.org/libgnomeui/")
2660 (synopsis "Additional widgets for applications")
35b9e423 2661 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2662applications. Many of the widgets from libgnomeui have already been
2663ported to GTK+.")
5698b8b8
JD
2664 (license license:lgpl2.0+)))
2665
2666(define-public libglade
2667 (package
2668 (name "libglade")
2669 (version "2.6.4")
2670 (source (origin
2671 (method url-fetch)
b38e45d8
EB
2672 (uri (string-append "mirror://gnome/sources/" name "/"
2673 (version-major+minor version) "/"
2674 name "-" version ".tar.bz2"))
5698b8b8
JD
2675 (sha256
2676 (base32
2677 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2678 (build-system gnu-build-system)
2679 (inputs
92dcc23d
AE
2680 `(("python" ,python))) ;; needed for the optional libglade-convert program
2681 (propagated-inputs
5698b8b8 2682 `(("gtk+-2" ,gtk+-2)
92dcc23d 2683 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2684 (native-inputs
2685 `(("pkg-config" ,pkg-config)))
2686 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2687 (synopsis "Load glade interfaces and access the glade built widgets")
2688 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2689graphical interfaces described in glade files and for accessing the
2690widgets built in the loading process.")
2691 (license license:gpl2+))) ; This is correct. GPL not LGPL
2692
2693(define-public libgnomeprint
eb497b66
LC
2694 ;; This library has been deprecated since 2006; see
2695 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2696 (package
2697 (name "libgnomeprint")
d19db454 2698 (version "2.18.8")
5698b8b8
JD
2699 (source (origin
2700 (method url-fetch)
b38e45d8
EB
2701 (uri (string-append "mirror://gnome/sources/" name "/"
2702 (version-major+minor version) "/"
2703 name "-" version ".tar.bz2"))
5698b8b8
JD
2704 (sha256
2705 (base32
d19db454 2706 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2707 (build-system gnu-build-system)
2708 (inputs
2709 `(("popt" ,popt)
2710 ("libart-lgpl" ,libart-lgpl)
2711 ("gtk+" ,gtk+-2)
44add1ce 2712 ("libxml2" ,libxml2)))
5698b8b8
JD
2713 (native-inputs
2714 `(("intltool" ,intltool)
221ed17a 2715 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2716 ("pkg-config" ,pkg-config)))
2717 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2718 (synopsis "Printing framework for GNOME")
eb497b66
LC
2719 (description
2720 "GNOME-print was a printing framework for GNOME. It has been deprecated
2721since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2722 (license license:lgpl2.0+)))
2723
2724
2725(define-public libgnomeprintui
eb497b66 2726 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2727 (package
2728 (name "libgnomeprintui")
36053d7f 2729 (version "2.18.6")
5698b8b8
JD
2730 (source (origin
2731 (method url-fetch)
b38e45d8
EB
2732 (uri (string-append "mirror://gnome/sources/" name "/"
2733 (version-major+minor version) "/"
2734 name "-" version ".tar.bz2"))
5698b8b8
JD
2735 (sha256
2736 (base32
36053d7f 2737 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2738 (build-system gnu-build-system)
2739 ;; Mentioned as Required in the .pc file
2740 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2741 (inputs `(("gtk+" ,gtk+-2)
2742 ("glib" ,glib)
2743 ("gnome-icon-theme" ,gnome-icon-theme)
2744 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2745 ("libxml2" ,libxml2)))
5698b8b8
JD
2746 (native-inputs
2747 `(("intltool" ,intltool)
2748 ("pkg-config" ,pkg-config)))
2749 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2750 (synopsis "Printing framework for GNOME")
eb497b66 2751 (description (package-description libgnomeprint))
5698b8b8
JD
2752 (license license:lgpl2.0+)))
2753
5698b8b8
JD
2754(define-public libbonoboui
2755 (package
2756 (name "libbonoboui")
2757 (version "2.24.5")
2758 (source (origin
2759 (method url-fetch)
b38e45d8
EB
2760 (uri (string-append "mirror://gnome/sources/" name "/"
2761 (version-major+minor version) "/"
2762 name "-" version ".tar.bz2"))
5698b8b8
JD
2763 (sha256
2764 (base32
2765 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2766 (build-system gnu-build-system)
2767 (arguments
2768 `(#:phases
dc1d3cde
KK
2769 (modify-phases %standard-phases
2770 (add-before 'check 'start-xserver
2771 (lambda* (#:key inputs #:allow-other-keys)
2772 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2773 (disp ":1"))
2774
2775 (setenv "HOME" (getcwd))
2776 (setenv "DISPLAY" disp)
2777 ;; There must be a running X server and make check doesn't start one.
2778 ;; Therefore we must do it.
2779 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2780 ;; Mentioned as Required by the .pc file
2781 (propagated-inputs `(("libxml2" ,libxml2)))
2782 (inputs
2783 `(("popt" ,popt)
2784 ("pangox-compat" ,pangox-compat)
2785 ("libgnome" ,libgnome)
2786 ("libgnomecanvas" ,libgnomecanvas)
2787 ("libglade" ,libglade)))
2788 (native-inputs
221ed17a
EB
2789 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2790 ("intltool" ,intltool)
ff337525 2791 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2792 ("pkg-config" ,pkg-config)))
2793 (home-page "https://developer.gnome.org/libbonoboui/")
2794 (synopsis "Some user interface controls using Bonobo")
2795 (description "The Bonobo UI library provides a number of user interface
2796controls using the Bonobo component framework.")
2797 (license license:lgpl2.0+)))
2798
fecbf86e
SB
2799(define-public libwnck
2800 (package
2801 (name "libwnck")
d3b40696 2802 (version "3.32.0")
fecbf86e
SB
2803 (source (origin
2804 (method url-fetch)
2805 (uri (string-append "mirror://gnome/sources/" name "/"
2806 (version-major+minor version) "/"
2807 name "-" version ".tar.xz"))
2808 (sha256
ad9b8987 2809 (base32
d3b40696
KK
2810 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2811 (build-system meson-build-system)
fecbf86e
SB
2812 (native-inputs
2813 `(("pkg-config" ,pkg-config)
d3b40696
KK
2814 ("glib" ,glib "bin") ; for glib-mkenums
2815 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2816 ("intltool" ,intltool)))
2817 (propagated-inputs
427476d5
SB
2818 `(("gtk+" ,gtk+)
2819 ("libxres" ,libxres)
2820 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2821 (home-page "https://developer.gnome.org/libwnck/")
2822 (synopsis "Window Navigator Construction Kit")
2823 (description
2824 "Libwnck is the Window Navigator Construction Kit, a library for use in
2825writing pagers, tasklists, and more generally applications that are dealing
2826with window management. It tries hard to respect the Extended Window Manager
2827Hints specification (EWMH).")
2828 (license license:lgpl2.0+)))
2829
2830;; stable version for gtk2, required by xfwm4.
dbb7a081 2831(define-public libwnck-2
fecbf86e
SB
2832 (package (inherit libwnck)
2833 (name "libwnck")
2834 (version "2.30.7")
2835 (source (origin
2836 (method url-fetch)
2837 (uri (string-append "mirror://gnome/sources/" name "/"
2838 (version-major+minor version) "/"
2839 name "-" version ".tar.xz"))
2840 (sha256
2841 (base32
2842 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2843 (build-system gnu-build-system)
2844 (native-inputs
2845 `(("pkg-config" ,pkg-config)
2846 ("intltool" ,intltool)))
fecbf86e 2847 (propagated-inputs
427476d5
SB
2848 `(("gtk+" ,gtk+-2)
2849 ("libxres" ,libxres)
2850 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2851
2852(define-public goffice
2853 (package
2854 (name "goffice")
09abffcc 2855 (version "0.10.46")
b804c61e
JD
2856 (source (origin
2857 (method url-fetch)
16243f0b 2858 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2859 (version-major+minor version) "/"
16243f0b 2860 "goffice-" version ".tar.xz"))
b804c61e 2861 (sha256
09abffcc 2862 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2863 (build-system gnu-build-system)
72a06d3e 2864 (outputs '("out"
355420c6 2865 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2866 (arguments
2867 '(#:configure-flags (list (string-append "--with-html-dir="
2868 (assoc-ref %outputs "doc")
2869 "/share/gtk-doc/html"))))
b804c61e
JD
2870 (inputs
2871 `(("gtk+" ,gtk+)
2872 ("libgsf" ,libgsf)
2873 ("librsvg" ,librsvg)
2874 ("libxslt" ,libxslt)
2875 ("libxml2" ,libxml2)))
2876 (native-inputs
2877 `(("intltool" ,intltool)
f280cdb1 2878 ("glib" ,glib "bin")
b804c61e
JD
2879 ("pkg-config" ,pkg-config)))
2880 (home-page "https://developer.gnome.org/goffice/")
2881 (synopsis "Document-centric objects and utilities")
2882 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2883 (license
b804c61e
JD
2884 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2885 ;; Note: NOT LGPL
2886 (list license:gpl2 license:gpl3))))
2887
c024ae36
RW
2888(define-public goffice-0.8
2889 (package (inherit goffice)
2890 (version "0.8.17")
2891 (source (origin
2892 (method url-fetch)
2893 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2894 (version-major+minor version) "/"
2895 (package-name goffice) "-" version ".tar.xz"))
2896 (sha256
2897 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2898 (arguments
2899 `(#:phases
dc1d3cde
KK
2900 (modify-phases %standard-phases
2901 (add-after 'unpack 'fix-pcre-check
2902 (lambda _
2903 ;; Only glib.h can be included directly. See
2904 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2905 (substitute* "configure"
2906 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2907
2908 ,@(package-arguments goffice)))
c024ae36
RW
2909 (propagated-inputs
2910 ;; libgoffice-0.8.pc mentions libgsf-1
2911 `(("libgsf" ,libgsf)))
2912 (inputs
2913 `(("gtk" ,gtk+-2)
2914 ,@(alist-delete "gtk" (package-inputs goffice))))))
2915
b804c61e
JD
2916(define-public gnumeric
2917 (package
2918 (name "gnumeric")
f0517b5d 2919 (version "1.12.46")
b804c61e
JD
2920 (source (origin
2921 (method url-fetch)
b7fd0217 2922 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2923 (version-major+minor version) "/"
b7fd0217 2924 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2925 (sha256
2926 (base32
f0517b5d 2927 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2928 (build-system glib-or-gtk-build-system)
b804c61e
JD
2929 (arguments
2930 `(;; The gnumeric developers don't worry much about failing tests.
2931 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2932 #:tests? #f
b804c61e 2933 #:phases
7bcbd40d
EF
2934 (modify-phases %standard-phases
2935 (add-before
2936 'configure 'pre-conf
2937 (lambda* (#:key outputs #:allow-other-keys)
2938 ;; Make install tries to write into the directory of goffice
2939 ;; I am informed that this only affects the possibility to embed a
2940 ;; spreadsheet inside an Abiword document. So presumably when we
2941 ;; package Abiword we'll have to refer it to this directory.
2942 (substitute* "configure"
2943 (("^GOFFICE_PLUGINS_DIR=.*")
2944 (string-append "GOFFICE_PLUGINS_DIR="
2945 (assoc-ref outputs "out")
2946 "/goffice/plugins"))))))))
b804c61e
JD
2947 (inputs
2948 `(("glib" ,glib)
2949 ("gtk+" ,gtk+)
2950 ("goffice" ,goffice)
2951 ("libgsf" ,libgsf)
7bcbd40d 2952 ("librsvg" ,librsvg)
b804c61e 2953 ("libxml2" ,libxml2)
7bcbd40d 2954 ("libxslt" ,libxslt)
2e4c5457 2955 ("python" ,python-2)
6983ba56 2956 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
2957 ("zlib" ,zlib)))
2958 (native-inputs
6983ba56 2959 `(("bison" ,bison)
1ed398d1 2960 ("docbook-xml" ,docbook-xml)
6983ba56 2961 ("intltool" ,intltool)
3a2efbc8 2962 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 2963 ("glib:bin" ,glib "bin")
b804c61e
JD
2964 ("pkg-config" ,pkg-config)))
2965 (home-page "http://www.gnumeric.org")
66672a45
LC
2966 (synopsis "Spreadsheet application")
2967 (description
2968 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
2969interoperable with other spreadsheet applications. It has a vast array of
2970features beyond typical spreadsheet functionality, such as support for linear
2971and non-linear solvers, statistical analysis, and telecommunication
2972engineering.")
2973 (license
b804c61e
JD
2974 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2975 (list license:gpl2 license:gpl3))))
6f885c05
FB
2976
2977(define-public gnome-themes-standard
2978 (package
2979 (name "gnome-themes-standard")
0b7b8fb0 2980 (version "3.22.3")
6f885c05
FB
2981 (source
2982 (origin
2983 (method url-fetch)
2e6ecc5c 2984 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
2985 (version-major+minor version) "/" name "-"
2986 version ".tar.xz"))
2987 (sha256
2988 (base32
0b7b8fb0 2989 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 2990 (build-system gnu-build-system)
8ac70c7f
SB
2991 (arguments
2992 '(#:configure-flags
2993 ;; Don't create 'icon-theme.cache'.
2994 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2995 (true (string-append coreutils "/bin/true")))
2996 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
2997 (inputs
2998 `(("gtk+" ,gtk+)
2999 ("gtk+-2" ,gtk+-2)
3000 ("librsvg" ,librsvg)
3001 ("libxml2" ,libxml2)
3002 ("glib" ,glib)))
3003 (native-inputs
3004 `(("intltool" ,intltool)
3005 ("glib:bin" ,glib "bin")
3006 ("pkg-config" ,pkg-config)))
6f885c05
FB
3007 (home-page "https://launchpad.net/gnome-themes-standard")
3008 (synopsis "Default GNOME 3 themes")
3009 (description
3010 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3011 (license license:lgpl2.1+)))
5a659a48 3012
df90c701
RW
3013(define-public seahorse
3014 (package
3015 (name "seahorse")
bcea3c11 3016 (version "3.32.2")
df90c701
RW
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append "mirror://gnome/sources/" name "/"
3021 (version-major+minor version) "/" name "-"
3022 version ".tar.xz"))
3023 (sha256
3024 (base32
bcea3c11 3025 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3026 (patches (search-patches
3027 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3028 (build-system meson-build-system)
3029 (arguments
bcea3c11
KK
3030 '(#:glib-or-gtk? #t
3031 #:phases
af561664
MÁAV
3032 (modify-phases %standard-phases
3033 (add-after 'unpack 'skip-gtk-update-icon-cache
3034 ;; Don't create 'icon-theme.cache'.
3035 (lambda _
3036 (substitute* "build-aux/meson_post_install.py"
3037 (("gtk-update-icon-cache") "true"))
3038 #t)))))
df90c701
RW
3039 (inputs
3040 `(("gtk+" ,gtk+)
3041 ("gcr" ,gcr)
34b979b9 3042 ("gnupg" ,gnupg)
df90c701 3043 ("gpgme" ,gpgme)
34b979b9 3044 ("openldap" ,openldap)
4a1bf090 3045 ("openssh" ,openssh)
af561664 3046 ("avahi" ,avahi)
bcea3c11 3047 ("libpwquality" ,libpwquality)
34b979b9
EF
3048 ("libsecret" ,libsecret)
3049 ("libsoup" ,libsoup)))
df90c701 3050 (native-inputs
af561664 3051 `(("gettext" ,gettext-minimal)
df90c701
RW
3052 ("glib:bin" ,glib "bin")
3053 ("itstool" ,itstool)
bcb354ad 3054 ("pkg-config" ,pkg-config)
af561664 3055 ("vala" ,vala)
bcb354ad 3056 ("xmllint" ,libxml2)))
bcea3c11 3057 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3058 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3059 (description
3060 "Seahorse is a GNOME application for managing encryption keys and
3061passwords in the GNOME keyring.")
3062 (license license:gpl2+)))
3063
5a659a48
SB
3064(define-public vala
3065 (package
3066 (name "vala")
2d6872f6 3067 (version "0.44.5")
5a659a48
SB
3068 (source (origin
3069 (method url-fetch)
3070 (uri (string-append "mirror://gnome/sources/" name "/"
3071 (version-major+minor version) "/"
3072 name "-" version ".tar.xz"))
3073 (sha256
3074 (base32
2d6872f6 3075 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3076 (build-system gnu-build-system)
1ea90625
SB
3077 (arguments
3078 '(#:phases
3079 (modify-phases %standard-phases
f4925a4f 3080 (add-before 'check 'pre-check
1ea90625
SB
3081 (lambda _
3082 (setenv "CC" "gcc")
8839b6be
RW
3083 (substitute* "valadoc/tests/testrunner.sh"
3084 (("export PKG_CONFIG_PATH=" m)
3085 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3086 ;; For missing '/etc/machine-id'.
3087 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3088 #t)))))
5a659a48
SB
3089 (native-inputs
3090 `(("pkg-config" ,pkg-config)
3091 ("flex" ,flex)
3092 ("bison" ,bison)
3093 ("xsltproc" ,libxslt)
3094 ("dbus" ,dbus) ; for dbus tests
3095 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3096 (inputs
3097 `(("graphviz" ,graphviz)))
5a659a48 3098 (propagated-inputs
8839b6be 3099 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3100 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3101 (synopsis "Compiler for the GObject type system")
3102 (description
3103 "Vala is a programming language that aims to bring modern programming
3104language features to GNOME developers without imposing any additional runtime
3105requirements and without using a different ABI compared to applications and
3106libraries written in C.")
3107 (license license:lgpl2.1+)))
ea57378f
SB
3108
3109(define-public vte
3110 (package
3111 (name "vte")
68c47474 3112 (version "0.58.3")
ea57378f
SB
3113 (source (origin
3114 (method url-fetch)
ac87ffb8 3115 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3116 (version-major+minor version) "/"
ac87ffb8 3117 "vte-" version ".tar.xz"))
ea57378f
SB
3118 (sha256
3119 (base32
68c47474
TGR
3120 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3121 (build-system meson-build-system)
ea57378f
SB
3122 (native-inputs
3123 `(("pkg-config" ,pkg-config)
3124 ("intltool" ,intltool)
3125 ("vala" ,vala)
3126 ("gobject-introspection" ,gobject-introspection)
68c47474 3127 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3128 ("gperf" ,gperf)
ea57378f
SB
3129 ("xmllint" ,libxml2)))
3130 (propagated-inputs
68c47474
TGR
3131 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3132 ("gnutls" ,gnutls) ; ditto
3133 ("pcre2" ,pcre2))) ; ditto
f032d0be 3134 (home-page "https://www.gnome.org/")
ea57378f
SB
3135 (synopsis "Virtual Terminal Emulator")
3136 (description
3137 "VTE is a library (libvte) implementing a terminal emulator widget for
3138GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3139gnome-terminal, but can also be used to embed a console/terminal in games,
3140editors, IDEs, etc.")
3141 (license license:lgpl2.1+)))
3142
c44fb4df
MO
3143(define-public vte-ng
3144 (package
3145 (inherit vte)
3146 (name "vte-ng")
24f4fcbe 3147 (version "0.58.2.a")
afd90f8d 3148 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3149 (source (origin
3150 (method git-fetch)
3151 (uri (git-reference (url home-page) (commit version)))
3152 (file-name (git-file-name name version))
3153 (sha256
3154 (base32
24f4fcbe
MB
3155 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3156 (build-system meson-build-system)
c44fb4df
MO
3157 (native-inputs
3158 `(("gtk-doc" ,gtk-doc)
c44fb4df 3159 ,@(package-native-inputs vte)))
c44fb4df 3160 (arguments
24f4fcbe 3161 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3162 (synopsis "Enhanced VTE terminal widget")
3163 (description
3164 "VTE is a library (libvte) implementing a terminal emulator widget for
3165GTK+, this fork provides additional functions exposed for keyboard text
3166selection and URL hints.")))
3167
2776d72c
EF
3168;; provides vte 2.90, required for some terminal emulators
3169;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3170;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3171;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3172;; pantheon-terminal, roxterm are not currently packaged
3173(define-public vte-0.36
3174 (package (inherit vte)
3175 (name "vte")
3176 (version "0.36.5")
3177 (source (origin
3178 (method url-fetch)
3179 (uri (string-append "mirror://gnome/sources/" name "/"
3180 (version-major+minor version) "/"
3181 name "-" version ".tar.xz"))
3182 (sha256
3183 (base32
3184 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3185 (propagated-inputs
3186 `(("gtk" ,gtk+)
3187 ("ncurses" ,ncurses)))))
3188
ea57378f
SB
3189;; stable version for gtk2, required by xfce4-terminal.
3190(define-public vte/gtk+-2
3191 (package (inherit vte)
3192 (name "vte")
3193 (version "0.28.2")
3194 (source (origin
3195 (method url-fetch)
3196 (uri (string-append "mirror://gnome/sources/" name "/"
3197 (version-major+minor version) "/"
3198 name "-" version ".tar.xz"))
3199 (sha256
3200 (base32
7d48938a
EF
3201 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3202 (patches (search-patches
3203 "vte-CVE-2012-2738-pt1.patch"
3204 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3205 (build-system gnu-build-system)
ea57378f
SB
3206 (arguments
3207 '(#:configure-flags '("--disable-python")))
3208 (native-inputs
3209 `(("pkg-config" ,pkg-config)
3210 ("intltool" ,intltool)
3211 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3212 (propagated-inputs
3213 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3214 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3215
cce0da5e
TD
3216(define-public vinagre
3217 (package
3218 (name "vinagre")
3219 (version "3.22.0")
3220 (source (origin
3221 (method url-fetch)
3222 (uri (string-append "mirror://gnome/sources/" name "/"
3223 (version-major+minor version) "/"
3224 name "-" version ".tar.xz"))
684f97f8
EF
3225 (patches (search-patches "vinagre-newer-freerdp.patch"
3226 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3227 (sha256
3228 (base32
3229 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3230 (build-system glib-or-gtk-build-system)
684f97f8 3231 (arguments
7f486d25
MC
3232 ;; Disable -Werror and such, to avoid build failures on compilation
3233 ;; warnings.
3234 '(#:configure-flags '("--enable-compile-warnings=minimum")
3235 #:phases
684f97f8 3236 (modify-phases %standard-phases
1839768c
EF
3237 (add-before 'install 'skip-gtk-update-icon-cache
3238 (lambda _
3239 ;; Don't create 'icon-theme.cache'
3240 (substitute* (find-files "." "^Makefile$")
3241 (("gtk-update-icon-cache") (which "true")))
3242 #t))
684f97f8
EF
3243 (add-after 'unpack 'patch-configure
3244 (lambda _
3245 (substitute* "configure"
3246 (("freerdp") "freerdp2"))
3247 #t)))))
cce0da5e
TD
3248 (native-inputs
3249 `(("pkg-config" ,pkg-config)
3250 ("intltool" ,intltool)
3251 ("itstool" ,itstool)
1839768c 3252 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3253 (inputs
3254 `(("libxml2" ,libxml2)
3255 ("gtk-vnc" ,gtk-vnc)
3256 ("gnome-keyring" ,gnome-keyring)
3257 ("libsecret" ,libsecret)
3258 ("freerdp" ,freerdp)
3259 ("spice" ,spice)
3260 ("spice-gtk" ,spice-gtk)
3261 ("telepathy-glib" ,telepathy-glib)
3262 ("vte" ,vte)))
cce0da5e
TD
3263 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3264 (synopsis "Remote desktop viewer for GNOME")
3265 (description "Vinagre is a remote display client supporting the VNC, SPICE
3266and RDP protocols.")
3267 (license license:gpl3+)))
3268
b47e1b20
FB
3269(define-public dconf
3270 (package
3271 (name "dconf")
1e33331c 3272 (version "0.32.0")
b47e1b20
FB
3273 (source (origin
3274 (method url-fetch)
3275 (uri (string-append
2e6ecc5c 3276 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3277 (version-major+minor version) "/"
3278 name "-" version ".tar.xz"))
3279 (sha256
f05c809f 3280 (base32
1e33331c 3281 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3282 (build-system meson-build-system)
bc036f4c
MB
3283 (propagated-inputs
3284 ;; In Requires of dconf.pc.
3285 `(("glib" ,glib)))
b47e1b20
FB
3286 (inputs
3287 `(("gtk+" ,gtk+)
bc036f4c 3288 ("dbus" ,dbus)))
b47e1b20 3289 (native-inputs
1e33331c
MB
3290 `(("bash-completion" ,bash-completion)
3291 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3292 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3293 ("docbook-xml" ,docbook-xml-4.2)
3294 ("docbook-xsl" ,docbook-xsl)
35fa923d 3295 ("glib:bin" ,glib "bin")
03676d6f 3296 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3297 ("pkg-config" ,pkg-config)
3298 ("vala" ,vala)))
b47e1b20
FB
3299 (arguments
3300 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3301 ; or /etc/machine-id.
35fa923d
MB
3302 #:glib-or-gtk? #t
3303 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3304 (home-page "https://developer.gnome.org/dconf")
3305 (synopsis "Low-level GNOME configuration system")
3306 (description "Dconf is a low-level configuration system. Its main purpose
3307is to provide a backend to GSettings on platforms that don't already have
3308configuration storage systems.")
e20e6b40 3309 (license license:lgpl2.1+)))
109da1c0
AE
3310
3311(define-public json-glib
3312 (package
3313 (name "json-glib")
4115e8ea 3314 (version "1.4.4")
109da1c0
AE
3315 (source (origin
3316 (method url-fetch)
3317 (uri (string-append "mirror://gnome/sources/" name "/"
3318 (version-major+minor version) "/"
3319 name "-" version ".tar.xz"))
3320 (sha256
3321 (base32
4115e8ea 3322 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3323 (build-system meson-build-system)
109da1c0 3324 (native-inputs
98afa184
MB
3325 `(("gettext" ,gettext-minimal)
3326 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3327 ("gobject-introspection" ,gobject-introspection)
3328 ("pkg-config" ,pkg-config)))
3329 (propagated-inputs
88c6b580 3330 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3331 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3332 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3333 (description
3334 "JSON-GLib is a C library based on GLib providing serialization and
3335deserialization support for the JavaScript Object Notation (JSON) format
3336described by RFC 4627. It provides parser and generator GObject classes and
3337various wrappers for the complex data types employed by JSON, such as arrays
3338and objects.")
109da1c0 3339 (license license:lgpl2.1+)))
6f96a359
SB
3340
3341(define-public libxklavier
3342 (package
3343 (name "libxklavier")
5f39050b 3344 (version "5.4")
6f96a359 3345 (source (origin
5f39050b 3346 ;; Note: There's no tarball at ftp.gnome.org for this version.
3347 (method git-fetch)
3348 (uri (git-reference
3349 (url "https://anongit.freedesktop.org/git/libxklavier")
3350 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3351 (sha256
3352 (base32
5f39050b 3353 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3354 (file-name (git-file-name name version))))
6f96a359
SB
3355 (build-system gnu-build-system)
3356 (arguments
5f39050b 3357 '(#:phases
3358 (modify-phases %standard-phases
3359 (add-after 'unpack 'no-configure
3360 (lambda* _
3361 (setenv "NOCONFIGURE" "1")
3362 #t)))
3363 #:configure-flags
6f96a359
SB
3364 (list (string-append "--with-xkb-base="
3365 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3366 "/share/X11/xkb")
3367 "--disable-xmodmap-support")))
6f96a359
SB
3368 (native-inputs
3369 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3370 ("gobject-introspection" ,gobject-introspection)
5f39050b 3371 ("pkg-config" ,pkg-config)
3372 ("gtk-doc" ,gtk-doc)
3373 ("intltool" ,intltool)
3374 ("which" ,which)
3375 ("autoconf" ,autoconf)
3376 ("automake" ,automake)
3377 ("libtool" ,libtool)))
6f96a359
SB
3378 (propagated-inputs
3379 ;; Required by libxklavier.pc.
3380 `(("glib" ,glib)
3381 ("libxml2" ,libxml2)))
3382 (inputs
3383 `(("iso-codes" ,iso-codes)
3384 ("libxi" ,libxi)
3385 ("libxkbfile" ,libxkbfile)
3386 ("xkbcomp" ,xkbcomp)
3387 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3388 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3389 (synopsis "High-level API for X Keyboard Extension")
3390 (description
3391 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3392Extension known as XKB. This library is intended to support XFree86 and other
3393commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3394indicators etc).")
3395 (license license:lgpl2.0+)))
619936a4
LC
3396
3397(define-public python2-rsvg
3398 ;; XXX: This is actually a subset of gnome-python-desktop.
3399 (package
3400 (name "python2-rsvg")
3401 (version "2.32.0")
3402 (source
3403 (origin
3404 (method url-fetch)
3405 (uri (string-append
3406 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3407 version ".tar.bz2"))
3408 (sha256
3409 (base32
3410 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3411 (build-system gnu-build-system)
3412 (native-inputs
3413 `(("pkg-config" ,pkg-config)))
3414 (inputs
3415 `(("python" ,python-2)
3416 ("python2-pygtk" ,python2-pygtk)
3417 ("librsvg" ,librsvg)))
f032d0be 3418 (home-page "https://www.gnome.org")
619936a4
LC
3419 (synopsis "Python bindings to librsvg")
3420 (description
3ad75446 3421 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3422library.")
3423
3424 ;; This is the license of the rsvg bindings. The license of each module
3425 ;; of gnome-python-desktop is given in 'COPYING'.
3426 (license license:lgpl2.1+)))
a31a6d22 3427
f2ca414a
SB
3428(define-public glib-networking
3429 (package
3430 (name "glib-networking")
0d75c64d 3431 (version "2.60.3")
f2ca414a
SB
3432 (source (origin
3433 (method url-fetch)
3434 (uri (string-append "mirror://gnome/sources/glib-networking/"
3435 (version-major+minor version) "/"
fb8fe1e8 3436 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3437 (sha256
3438 (base32
0d75c64d 3439 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3440 (build-system meson-build-system)
f2ca414a 3441 (arguments
0d75c64d 3442 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3443 (native-inputs
3444 `(("pkg-config" ,pkg-config)
3445 ("intltool" ,intltool)))
3446 (inputs
3447 `(("glib" ,glib)
3448 ("gnutls" ,gnutls)
4b8f1313 3449 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3450 (home-page "https://www.gnome.org")
f2ca414a
SB
3451 (synopsis "Network-related GIO modules")
3452 (description
3453 "This package contains various network related extensions for the GIO
3454library.")
3455 (license license:lgpl2.0+)))
3456
ca649680 3457(define-public rest
4510b2da 3458 (package
ca649680 3459 (name "rest")
a4194d16 3460 (version "0.8.1")
4510b2da
SB
3461 (source (origin
3462 (method url-fetch)
3463 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3464 (version-major+minor version) "/"
3465 name "-" version ".tar.xz"))
4510b2da
SB
3466 (sha256
3467 (base32
a4194d16 3468 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3469 (build-system gnu-build-system)
3470 (arguments
3471 '(#:tests? #f ; tests require internet connection
3472 #:configure-flags
3473 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3474 (native-inputs
3475 `(("glib-mkenums" ,glib "bin")
3476 ("gobject-introspection" ,gobject-introspection)
3477 ("pkg-config" ,pkg-config)))
3478 (propagated-inputs
3479 ;; rest-0.7.pc refers to all these.
3480 `(("glib" ,glib)
3481 ("libsoup" ,libsoup)
3482 ("libxml2" ,libxml2)))
24d6cc1d 3483 (home-page "https://www.gtk.org/")
4510b2da
SB
3484 (synopsis "RESTful web api query library")
3485 (description
3486 "This library was designed to make it easier to access web services that
3487claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3488libxml to ease remote use of the RESTful API.")
3489 (license license:lgpl2.1+)))
3490
6e1bb642
SB
3491(define-public libsoup
3492 (package
3493 (name "libsoup")
9ae87870 3494 (version "2.68.3")
6e1bb642
SB
3495 (source (origin
3496 (method url-fetch)
3497 (uri (string-append "mirror://gnome/sources/libsoup/"
3498 (version-major+minor version) "/"
c1b79b36 3499 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3500 (sha256
3501 (base32
9ae87870 3502 "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk"))))
eccaa8bf 3503 (build-system meson-build-system)
6e1bb642
SB
3504 (outputs '("out" "doc"))
3505 (arguments
2deb146f 3506 `(#:modules ((guix build utils)
eccaa8bf 3507 (guix build meson-build-system)
2deb146f
LC
3508 (ice-9 popen))
3509
f8026a79 3510 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3511 #:phases
3512 (modify-phases %standard-phases
eccaa8bf 3513 (add-after 'unpack 'adjust-tests
26c228f9 3514 (lambda _
eccaa8bf
MB
3515 ;; This test fails due to missing /etc/nsswitch.conf
3516 ;; in the build environment.
26c228f9
LC
3517 (substitute* "tests/socket-test.c"
3518 ((".*/sockets/unconnected.*") ""))
2deb146f 3519
f8026a79
MB
3520 ;; These fail because "subdomain.localhost" does not resolve in
3521 ;; the build environment.
3522 (substitute* "tests/hsts-test.c"
3523 ((".*/hsts/basic.*") "")
3524 ((".*/hsts/subdomains.*") "")
3525 ((".*/hsts/superdomain.*") "")
3526 ((".*/hsts/utf8-address.*") ""))
3527 (substitute* "tests/hsts-db-test.c"
3528 ((".*/hsts-db/subdomains.*") ""))
3529
2deb146f
LC
3530 ;; Generate a self-signed certificate that has "localhost" as its
3531 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3532 ;; 3.5.12, tests such as "ssl-tests" fail:
3533 ;;
3534 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3535 ;;
3536 ;; 'certtool' is interactive so we have to pipe it the answers.
3537 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3538 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3539 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3540 (for-each (lambda (line)
3541 (display line pipe)
3542 (newline pipe))
3543 '("" ;Common name
3544 "" ;UID
3545 "Guix" ;Organizational unit name
3546 "GNU" ;Organization name
3547 "" ;Locality name
3548 "" ;State or province
3549 "" ;Country
3550 "" ;subject's domain component (DC)
3551 "" ;E-mail
3552 "" ;serial number
3553 "-1" ;expiration time
3554 "N" ;belong to authority?
3555 "N" ;web client certificate?
3556 "N" ;IPsec IKE?
3557 "Y" ;web server certificate?
3558 "localhost" ;dnsName of subject
3559 "" ;dnsName of subject (end)
3560 "" ;URI of subject
3561 "127.0.0.1" ;IP address of subject
3562 "" ;signing?
06f5bc4e
MB
3563 "" ;encryption (RSA)?
3564 "" ;data encryption?
2deb146f
LC
3565 "" ;sign OCSP requests?
3566 "" ;sign code?
3567 "" ;time stamping?
3568 "" ;email protection?
3569 "" ;URI of the CRL distribution point
3570 "y" ;above info OK?
3571 ))
3572 (close-pipe pipe))
26c228f9 3573 #t))
eccaa8bf
MB
3574 (add-after 'install 'move-doc
3575 (lambda* (#:key outputs #:allow-other-keys)
3576 (let ((out (assoc-ref outputs "out"))
3577 (doc (assoc-ref outputs "doc")))
3578 (mkdir-p (string-append doc "/share"))
3579 (copy-recursively (string-append out "/share/gtk-doc")
3580 (string-append doc "/share/gtk-doc"))
3581 (delete-file-recursively (string-append out "/share/gtk-doc"))
3582 #t))))))
6e1bb642 3583 (native-inputs
26c228f9 3584 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3585 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3586 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3587 ("intltool" ,intltool)
3588 ("pkg-config" ,pkg-config)
3589 ("python" ,python-wrapper)
fd730590 3590 ("vala" ,vala)
6e1bb642
SB
3591 ;; These are needed for the tests.
3592 ;; FIXME: Add PHP once available.
3593 ("curl" ,curl)
2deb146f 3594 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3595 ("httpd" ,httpd)))
3596 (propagated-inputs
3597 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3598 `(("brotli" ,google-brotli)
3599 ("glib" ,glib)
249846bf 3600 ("libpsl" ,libpsl)
eccaa8bf 3601 ("libxml2" ,libxml2)
f8026a79
MB
3602 ("sqlite" ,sqlite)
3603 ("zlib" ,zlib)))
eccaa8bf
MB
3604 (inputs
3605 `(("glib-networking" ,glib-networking)
3606 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3607 (home-page "https://live.gnome.org/LibSoup/")
3608 (synopsis "GLib-based HTTP Library")
3609 (description
3610 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3611and the GLib main loop, to integrate well with GNOME applications.")
3612 (license license:lgpl2.0+)))
3613
bba229a3
SB
3614(define-public libsecret
3615 (package
3616 (name "libsecret")
b243d2f7 3617 (version "0.19.1")
bba229a3
SB
3618 (source (origin
3619 (method url-fetch)
3620 (uri (string-append
896dcbc7
EF
3621 "mirror://gnome/sources/libsecret/"
3622 (version-major+minor version) "/"
0ada4e29 3623 "libsecret-" version ".tar.xz"))
bba229a3
SB
3624 (sha256
3625 (base32
b243d2f7 3626 "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5"))))
bba229a3
SB
3627 (build-system gnu-build-system)
3628 (outputs '("out" "doc"))
3629 (arguments
3630 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3631 #:configure-flags
3632 (list (string-append "--with-html-dir="
3633 (assoc-ref %outputs "doc")
3634 "/share/gtk-doc/html"))))
3635 (native-inputs
c06ef010
MB
3636 `(("gettext" ,gettext-minimal)
3637 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3638 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3639 ("pkg-config" ,pkg-config)
3640 ("vala" ,vala)
3641 ("xsltproc" ,libxslt)))
3642 ;; These are needed for the tests.
3643 ;; FIXME: Add gjs once available.
3644 ;("dbus" ,dbus)
3645 ;("python2" ,python-2)
3646 ;("python2-dbus" ,python2-dbus)
3647 ;("python2-pygobject" ,python2-pygobject)
3648 ;("python2-pygobject-2" ,python2-pygobject-2)))
3649 (propagated-inputs
3650 `(("glib" ,glib))) ; required by libsecret-1.pc
3651 (inputs
3652 `(("docbook-xsl" ,docbook-xsl)
3653 ("libgcrypt" ,libgcrypt)
3654 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3655 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3656 (synopsis "GObject bindings for \"Secret Service\" API")
3657 (description
3658 "Libsecret is a GObject based library for storing and retrieving passwords
3659and other secrets. It communicates with the \"Secret Service\" using DBus.")
3660 (license license:lgpl2.1+)))
3661
b6821ee0 3662(define-public five-or-more
3663 (package
3664 (name "five-or-more")
d9795e93 3665 (version "3.32.0")
b6821ee0 3666 (source
3667 (origin
3668 (method url-fetch)
3669 (uri (string-append "mirror://gnome/sources/" name "/"
3670 (version-major+minor version) "/"
3671 name "-" version ".tar.xz"))
3672 (sha256
3673 (base32
d9795e93
KK
3674 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3675 (build-system meson-build-system)
3676 (arguments
3677 '(#:glib-or-gtk? #t
3678 #:phases
3679 (modify-phases %standard-phases
3680 (add-after 'unpack 'skip-gtk-update-icon-cache
3681 (lambda _
3682 (substitute* "meson_post_install.py"
3683 (("gtk-update-icon-cache") (which "true")))
3684 #t)))))
b6821ee0 3685 (native-inputs
3686 `(("pkg-config" ,pkg-config)
d9795e93 3687 ("appstream-glib" ,appstream-glib)
b6821ee0 3688 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3689 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3690 ("intltool" ,intltool)
3691 ("itstool" ,itstool)
d9795e93 3692 ("vala" ,vala)
b6821ee0 3693 ("xmllint" ,libxml2)))
3694 (inputs
3695 `(("gtk+" ,gtk+)
d9795e93 3696 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3697 ("librsvg" ,librsvg)))
3698 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3699 (synopsis "Logic puzzle game")
3700 (description "Five or More is a game where you try to align
3701 five or more objects of the same color and shape causing them to disappear.
3702 On every turn more objects will appear, until the board is full.
3703 Try to last as long as possible.")
3704 (license license:gpl2+)))
3705
a31a6d22
SB
3706(define-public gnome-mines
3707 (package
3708 (name "gnome-mines")
2d817e41 3709 (version "3.32.2")
a31a6d22
SB
3710 (source
3711 (origin
3712 (method url-fetch)
3713 (uri (string-append "mirror://gnome/sources/" name "/"
3714 (version-major+minor version) "/"
3715 name "-" version ".tar.xz"))
3716 (sha256
3717 (base32
2d817e41 3718 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3719 (build-system meson-build-system)
a31a6d22 3720 (arguments
2d817e41
KK
3721 '(#:glib-or-gtk? #t
3722 #:phases
a31a6d22 3723 (modify-phases %standard-phases
2d817e41
KK
3724 (add-after 'unpack 'skip-gtk-update-icon-cache
3725 (lambda _
3726 (substitute* "build-aux/meson_post_install.py"
3727 (("gtk-update-icon-cache") (which "true")))
3728 #t)))))
a31a6d22 3729 (native-inputs
8c0fab36
RW
3730 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3731 ("pkg-config" ,pkg-config)
a31a6d22
SB
3732 ("desktop-file-utils" ,desktop-file-utils)
3733 ("intltool" ,intltool)
bcb354ad 3734 ("itstool" ,itstool)
8c0fab36
RW
3735 ("vala" ,vala)
3736 ("yelp" ,yelp)
3737 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3738 (inputs
3739 `(("gtk+" ,gtk+)
73992962 3740 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3741 ("librsvg" ,librsvg)))
3742 (home-page "https://wiki.gnome.org/Apps/Mines")
3743 (synopsis "Minesweeper game")
3744 (description
3745 "Mines (previously gnomine) is a puzzle game where you locate mines
3746floating in an ocean using only your brain and a little bit of luck.")
3747 (license license:gpl2+)))
88f70665 3748
dfc407f3
KY
3749(define-public gnome-sudoku
3750 (package
3751 (name "gnome-sudoku")
7dc728c4 3752 (version "3.32.0")
dfc407f3
KY
3753 (source
3754 (origin
3755 (method url-fetch)
3756 (uri (string-append "mirror://gnome/sources/" name "/"
3757 (version-major+minor version) "/"
3758 name "-" version ".tar.xz"))
3759 (sha256
3760 (base32
7dc728c4
KK
3761 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3762 (build-system meson-build-system)
3763 (arguments
3764 '(#:glib-or-gtk? #t
3765 #:phases
3766 (modify-phases %standard-phases
3767 (add-after 'unpack 'skip-gtk-update-icon-cache
3768 (lambda _
3769 (substitute* "build-aux/post_install.py"
3770 (("gtk-update-icon-cache") (which "true")))
3771 #t)))))
dfc407f3
KY
3772 (native-inputs
3773 `(("pkg-config" ,pkg-config)
3774 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3775 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3776 ("intltool" ,intltool)
3777 ("itstool" ,itstool)
7dc728c4 3778 ("vala" ,vala)
dfc407f3
KY
3779 ("xmllint" ,libxml2)))
3780 (inputs
3781 `(("gtk+" ,gtk+)
3782 ("json-glib" ,json-glib)
3783 ("libgee" ,libgee)
3784 ("librsvg" ,librsvg)
3785 ("qqwing" ,qqwing)))
3786 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3787 (synopsis "Japanese logic game")
3788 (description
3789 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3790GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3791possible while still providing features that make playing difficult Sudoku
3792more fun.")
3793 (license license:gpl2+)))
3794
88f70665
AW
3795(define-public gnome-terminal
3796 (package
3797 (name "gnome-terminal")
7dee3942 3798 (version "3.32.2")
88f70665
AW
3799 (source
3800 (origin
3801 (method url-fetch)
3802 (uri (string-append "mirror://gnome/sources/" name "/"
3803 (version-major+minor version) "/"
3804 name "-" version ".tar.xz"))
3805 (sha256
3806 (base32
7dee3942 3807 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3808 (build-system glib-or-gtk-build-system)
3809 (arguments
3810 '(#:configure-flags
3811 (list "--disable-migration" "--disable-search-provider"
3812 "--without-nautilus-extension")
3813 #:phases
3814 (modify-phases %standard-phases
3a4de6b2 3815 (add-before 'configure 'patch-/bin/true
88f70665
AW
3816 (lambda _
3817 (substitute* "configure"
3818 (("/bin/true") (which "true"))))))))
3819 (native-inputs
3820 `(("pkg-config" ,pkg-config)
3821 ("desktop-file-utils" ,desktop-file-utils)
3822 ("intltool" ,intltool)
bcb354ad
SB
3823 ("itstool" ,itstool)
3824 ("xmllint" ,libxml2)))
68702167
MW
3825 (propagated-inputs
3826 `(("dconf" ,dconf)))
88f70665
AW
3827 (inputs
3828 `(("gtk+" ,gtk+)
3829 ("vte" ,vte)
3830 ("gnutls" ,gnutls)
88f70665
AW
3831 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3832 ("util-linux" ,util-linux)
3833 ("vala" ,vala)))
3834 (home-page "https://wiki.gnome.org/Apps/Terminal")
3835 (synopsis "Terminal emulator")
3836 (description
3837 "GNOME Terminal is a terminal emulator application for accessing a
3838UNIX shell environment which can be used to run programs available on
3839your system.
3840
3841It supports several profiles, multiple tabs and implements several
3842keyboard shortcuts.")
3843 (license license:gpl3+)))
75016d07
AW
3844
3845(define-public colord
3846 (package
3847 (name "colord")
f98be942 3848 (version "1.4.4")
75016d07
AW
3849 (source
3850 (origin
3851 (method url-fetch)
5cc3096c 3852 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3853 "colord-" version ".tar.xz"))
75016d07 3854 (sha256
f98be942 3855 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3856 (build-system meson-build-system)
75016d07 3857 (arguments
a68544a8
RW
3858 '(;; FIXME: One test fails:
3859 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3860 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3861 ;; application/x-zerosize
75016d07 3862 #:tests? #f
a68544a8
RW
3863 #:glib-or-gtk? #t
3864 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3865 ;; No dep on systemd.
a68544a8 3866 "-Dsystemd=false"
75016d07
AW
3867 ;; Wants to install to global completion dir;
3868 ;; punt.
a68544a8 3869 "-Dbash_completion=false"
a68544a8
RW
3870 "-Ddaemon_user=colord"
3871 "-Dsane=true"
dac26e22 3872 "-Dvapi=true"
6f20e2dc 3873 ;; Requires spotread.
a68544a8 3874 "-Dargyllcms_sensor=false"
6f20e2dc 3875 ;; TODO: Requires docbook2x.
a68544a8 3876 "-Dman=false")
75016d07
AW
3877 #:phases
3878 (modify-phases %standard-phases
a68544a8
RW
3879 (add-before 'configure 'patch-build-system
3880 (lambda* (#:key outputs #:allow-other-keys)
3881 (substitute* "rules/meson.build"
3882 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3883 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3884 #t))
3885 (add-before 'configure 'set-sqlite3-file-name
3886 (lambda* (#:key inputs #:allow-other-keys)
3887 ;; "colormgr dump" works by invoking the "sqlite3" command.
3888 ;; Record its absolute file name.
3889 (let ((sqlite (assoc-ref inputs "sqlite")))
3890 (substitute* "client/cd-util.c"
3891 (("\"sqlite3\"")
3892 (string-append "\"" sqlite "/bin/sqlite3\"")))
3893 #t))))))
75016d07 3894 (native-inputs
6f20e2dc 3895 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3896 ("gettext" ,gettext-minimal)
75016d07 3897 ("gobject-introspection" ,gobject-introspection)
a68544a8 3898 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3899 ("pkg-config" ,pkg-config)
3900 ("vala" ,vala)))
65cb2d61
SB
3901 (propagated-inputs
3902 ;; colord.pc refers to all these.
3903 `(("glib" ,glib)
6f20e2dc
TGR
3904 ("lcms" ,lcms)
3905 ("udev" ,eudev)))
75016d07 3906 (inputs
65cb2d61 3907 `(("dbus-glib" ,dbus-glib)
a68544a8 3908 ("gusb" ,gusb)
80c7dd1a 3909 ("libgudev" ,libgudev)
75016d07 3910 ("libusb" ,libusb)
75016d07 3911 ("polkit" ,polkit)
a68544a8 3912 ("python" ,python-wrapper)
6f20e2dc 3913 ("sqlite" ,sqlite)
4c928743 3914 ("sane-backends" ,sane-backends)))
57e7d748 3915 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3916 (synopsis "Color management service")
3917 (description "Colord is a system service that makes it easy to manage,
3918install and generate color profiles to accurately color manage input and
3919output devices.")
3920 (license license:gpl2+)))
7b2abd00
AW
3921
3922(define-public geoclue
3923 (package
3924 (name "geoclue")
b433c7b3 3925 (version "2.4.8")
7b2abd00
AW
3926 (source
3927 (origin
3928 (method url-fetch)
5cc3096c 3929 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
3930 "/releases/" (version-major+minor version) "/"
3931 name "-" version ".tar.xz"))
3932 (sha256
3933 (base32
b433c7b3 3934 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 3935 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
3936 (build-system glib-or-gtk-build-system)
3937 (arguments
3938 '(;; The tests want to run the system bus.
3939 #:tests? #f
3940 #:configure-flags (list ;; Disable bits requiring ModemManager.
3941 "--disable-3g-source"
3942 "--disable-cdma-source"
3943 "--disable-modem-gps-source"
3944 "--with-dbus-service-user=geoclue")
3945 #:phases
3946 (modify-phases %standard-phases
3a4de6b2 3947 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
3948 (lambda _
3949 (substitute* "configure"
e3eb53e7
MW
3950 (("/bin/true") (which "true")))
3951 #t)))))
7b2abd00
AW
3952 (native-inputs
3953 `(("pkg-config" ,pkg-config)
758798a9 3954 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
3955 ("intltool" ,intltool)))
3956 (inputs
54e911bc
SB
3957 `(("avahi" ,avahi)
3958 ("glib" ,glib)
7b2abd00
AW
3959 ("json-glib" ,json-glib)
3960 ("libsoup" ,libsoup)))
99adfd7d 3961 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
3962 (synopsis "Geolocation service")
3963 (description "Geoclue is a D-Bus service that provides location
3964information. The primary goal of the Geoclue project is to make creating
3965location-aware applications as simple as possible, while the secondary goal is
3966to ensure that no application can access location information without explicit
e881752c 3967permission from user.")
7b2abd00 3968 (license license:gpl2+)))
2bfe7437
AW
3969
3970(define-public geocode-glib
3971 (package
3972 (name "geocode-glib")
65de725f 3973 (version "3.26.1")
2bfe7437
AW
3974 (source (origin
3975 (method url-fetch)
3976 (uri (string-append "mirror://gnome/sources/geocode-glib/"
3977 (version-major+minor version) "/"
d485cdc0 3978 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
3979 (sha256
3980 (base32
65de725f 3981 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 3982 (build-system meson-build-system)
2bfe7437 3983 (arguments
a7dd0c02
RW
3984 `(#:phases
3985 (modify-phases %standard-phases
3986 ;; The tests require a bunch of locales.
3987 (add-before 'check 'set-locales
3988 (lambda* (#:key inputs #:allow-other-keys)
3989 (setenv "GUIX_LOCPATH"
3990 (string-append (assoc-ref inputs "glibc-locales")
3991 "/lib/locale"))
3992 #t)))))
2bfe7437
AW
3993 (native-inputs
3994 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
3995 ("glibc-locales" ,glibc-locales) ; for tests
3996 ("gettext" ,gettext-minimal)
2bfe7437 3997 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 3998 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
3999 ("pkg-config" ,pkg-config)
4000 ("json-glib" ,json-glib)))
4001 (propagated-inputs
4002 ;; geocode-glib-1.0.pc refers to GIO.
4003 `(("glib" ,glib)))
4004 (inputs
4005 `(("libsoup" ,libsoup)))
4006 (home-page "https://github.com/GNOME/geocode-glib/")
4007 (synopsis "Geocoding and reverse-geocoding library")
4008 (description
4009 "geocode-glib is a convenience library for geocoding (finding longitude,
4010and latitude from an address) and reverse geocoding (finding an address from
4011coordinates) using the Nominatim service. geocode-glib caches requests for
4012faster results and to avoid unnecessary server load.")
4013 (license license:lgpl2.0+)))
a1d5bb0e
AW
4014
4015(define-public upower
4016 (package
4017 (name "upower")
df45af90 4018 (version "0.99.11")
a1d5bb0e
AW
4019 (source (origin
4020 (method url-fetch)
df45af90 4021 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4022 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4023 (sha256
4024 (base32
df45af90 4025 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
fc1adab1 4026 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
4027 (build-system glib-or-gtk-build-system)
4028 (arguments
4029 '( ;; The tests want to contact the system bus, which can't be done in the
4030 ;; build environment. The integration test can run, but the last of
4031 ;; the up-self-tests doesn't. Disable tests for now.
4032 #:tests? #f
4033 #:configure-flags (list "--localstatedir=/var"
4034 (string-append "--with-udevrulesdir="
4035 (assoc-ref %outputs "out")
9ec54965 4036 "/lib/udev/rules.d"))))
a1d5bb0e 4037 (native-inputs
ebeabe2d
SB
4038 `(("gobject-introspection" ,gobject-introspection)
4039 ("pkg-config" ,pkg-config)
a1d5bb0e 4040 ("intltool" ,intltool)
55409295
LC
4041 ("python" ,python)
4042
4043 ;; For man pages.
4044 ("libxslt" ,libxslt) ;for 'xsltproc'
4045 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4046 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4047 (inputs
ea226291
SB
4048 `(("dbus-glib" ,dbus-glib)
4049 ("libgudev" ,libgudev)
a1d5bb0e 4050 ("libusb" ,libusb)))
d7a503fc
MB
4051 (propagated-inputs
4052 ;; In Requires of upower-glib.pc.
4053 `(("glib" ,glib)))
57e7d748 4054 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4055 (synopsis "System daemon for managing power devices")
4056 (description
4057 "UPower is an abstraction for enumerating power devices,
4058listening to device events and querying history and statistics. Any
4059application or service on the system can access the org.freedesktop.UPower
4060service via the system message bus.")
4061 (license license:gpl2+)))
6a180f6f
AW
4062
4063(define-public libgweather
4064 (package
4065 (name "libgweather")
794ce8ea 4066 (version "3.28.3")
6a180f6f
AW
4067 (source (origin
4068 (method url-fetch)
4069 (uri (string-append "mirror://gnome/sources/" name "/"
4070 (version-major+minor version) "/"
4071 name "-" version ".tar.xz"))
4072 (sha256
4073 (base32
794ce8ea 4074 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4075 (build-system meson-build-system)
6a180f6f 4076 (arguments
cf6cbc34
RW
4077 `(#:tests? #f ; one of two tests requires network access
4078 #:configure-flags
4079 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4080 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4081 "/share/zoneinfo"))))
6a180f6f
AW
4082 (native-inputs
4083 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4084 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4085 ("pkg-config" ,pkg-config)
1d3fcf94 4086 ("vala" ,vala)
6a180f6f
AW
4087 ("intltool" ,intltool)))
4088 (propagated-inputs
4089 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4090 ;; libsoup.
4091 `(("gtk+" ,gtk+)
4092 ("gdk-pixbuf" ,gdk-pixbuf)
4093 ("libxml2" ,libxml2)
cf6cbc34 4094 ("libsoup" ,libsoup)
6a180f6f 4095 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4096 (inputs
4097 `(("tzdata" ,tzdata)))
6a180f6f
AW
4098 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4099 (synopsis "Location, time zone, and weather library for GNOME")
4100 (description
4101 "libgweather is a library to access weather information from online
4102services for numerous locations.")
4103 (license license:gpl2+)))
23a22af6
AW
4104
4105(define-public gnome-settings-daemon
4106 (package
4107 (name "gnome-settings-daemon")
4be0719f 4108 (version "3.32.1")
23a22af6
AW
4109 (source
4110 (origin
4111 (method url-fetch)
4112 (uri (string-append "mirror://gnome/sources/" name "/"
4113 (version-major+minor version) "/"
4114 name "-" version ".tar.xz"))
4115 (sha256
4116 (base32
4be0719f 4117 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4118 (build-system meson-build-system)
23a22af6 4119 (arguments
e644f9fa
RW
4120 `(#:glib-or-gtk? #t
4121 #:configure-flags
4122 (list (string-append "-Dudev_dir="
4123 (assoc-ref %outputs "out")
4d0e085b
RW
4124 "/lib/udev/rules.d/")
4125 ;; Otherwise, the RUNPATH will lack the final path component.
4126 (string-append "-Dc_link_args=-Wl,-rpath="
4127 (assoc-ref %outputs "out")
4128 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4129 ;; Color management test can't reach the colord system service.
23a22af6
AW
4130 #:tests? #f))
4131 (native-inputs
e644f9fa
RW
4132 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4133 ("pkg-config" ,pkg-config)
23a22af6
AW
4134 ("intltool" ,intltool)
4135 ("xsltproc" ,libxslt)
4136 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4137 ("docbook-xml" ,docbook-xml-4.2)
4138 ("docbook-xsl" ,docbook-xsl)))
4139 (inputs
e644f9fa
RW
4140 `(("alsa-lib" ,alsa-lib)
4141 ("colord" ,colord)
ea226291 4142 ("libgudev" ,libgudev)
23a22af6
AW
4143 ("upower" ,upower)
4144 ("polkit" ,polkit)
4145 ("pulseaudio" ,pulseaudio)
4146 ("libcanberra" ,libcanberra)
4147 ("libx11" ,libx11)
4148 ("libxtst" ,libxtst)
4149 ("lcms" ,lcms)
4150 ("libnotify" ,libnotify)
4151 ("geoclue" ,geoclue)
4152 ("geocode-glib" ,geocode-glib)
4153 ("libgweather" ,libgweather)
4154 ("gnome-desktop" ,gnome-desktop)
4155 ("nss" ,nss)
4156 ("cups" ,cups)
ec2b1921
AW
4157 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4158 ("libwacom" ,libwacom)
4159 ("librsvg" ,librsvg)
eee7878f 4160 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4161 ("wayland" ,wayland)
eee7878f 4162 ("network-manager" ,network-manager)))
f032d0be 4163 (home-page "https://www.gnome.org")
23a22af6
AW
4164 (synopsis "GNOME settings daemon")
4165 (description
4166 "This package contains the daemon responsible for setting the various
4167parameters of a GNOME session and the applications that run under it. It
4168handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4169settings, themes, mouse settings, and startup of other daemons.")
4170 (license license:gpl2+)))
1e7464a9
DH
4171
4172(define-public totem-pl-parser
4173 (package
4174 (name "totem-pl-parser")
77425f04 4175 (version "3.26.3")
1e7464a9
DH
4176 (source (origin
4177 (method url-fetch)
e980cbe9
MW
4178 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4179 (version-major+minor version) "/"
1e7464a9
DH
4180 "totem-pl-parser-" version ".tar.xz"))
4181 (sha256
4182 (base32
77425f04 4183 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4184 (build-system meson-build-system)
1e7464a9
DH
4185 (arguments
4186 ;; FIXME: Tests require gvfs.
4187 `(#:tests? #f))
4188 (native-inputs
4189 `(("intltool" ,intltool)
4190 ("glib" ,glib "bin")
4d6d8281 4191 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4192 ("pkg-config" ,pkg-config)))
22a6ad6a 4193 (propagated-inputs
1e7464a9
DH
4194 `(("glib" ,glib)
4195 ("gmime" ,gmime)
1e9b19dd
RW
4196 ("libarchive" ,libarchive)
4197 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4198 ("libxml2" ,libxml2)))
4199 (inputs
0a6e9e13 4200 `(("libsoup" ,libsoup)))
1e7464a9
DH
4201 (home-page "https://projects.gnome.org/totem")
4202 (synopsis "Library to parse and save media playlists for GNOME")
4203 (description "Totem-pl-parser is a GObjects-based library to parse and save
4204playlists in a variety of formats.")
4205 (license license:lgpl2.0+)))
4206
6b888eff
SB
4207(define-public aisleriot
4208 (package
4209 (name "aisleriot")
36ed9b46 4210 (version "3.22.9")
6b888eff
SB
4211 (source (origin
4212 (method url-fetch)
e43f622a 4213 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4214 (version-major+minor version) "/"
e43f622a 4215 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4216 (sha256
4217 (base32
36ed9b46 4218 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4219 (build-system glib-or-gtk-build-system)
4220 (arguments
4221 '(#:configure-flags
4222 '("--with-platform=gtk-only"
4223 "--with-card-theme-formats=svg")))
4224 (native-inputs
4225 `(("desktop-file-utils" ,desktop-file-utils)
4226 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4227 ("intltool" ,intltool)
4228 ("itstool" ,itstool)
4229 ("pkg-config" ,pkg-config)
4230 ("xmllint" ,libxml2)))
4231 (inputs
4232 `(("gtk+" ,gtk+)
226e57d6 4233 ("guile" ,guile-2.2)
6b888eff
SB
4234 ("libcanberra" ,libcanberra)
4235 ("librsvg" ,librsvg)))
4236 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4237 (synopsis "Solitaire card games")
4238 (description
4239 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4240which are easy to play with the aid of a mouse.")
4241 (license license:gpl3+)))
4a79e256 4242
f828d05b
KK
4243(define-public amtk
4244 (package
4245 (name "amtk")
09c4e43f 4246 (version "5.0.1")
f828d05b
KK
4247 (source (origin
4248 (method url-fetch)
bf92ba6b 4249 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4250 (version-major+minor version) "/"
bf92ba6b 4251 "amtk-" version ".tar.xz"))
f828d05b
KK
4252 (sha256
4253 (base32
09c4e43f 4254 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d"))))
f828d05b
KK
4255 (build-system gnu-build-system)
4256 (arguments
4257 '(#:configure-flags '("--enable-gtk-doc")))
4258 (native-inputs
4259 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4260 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4261 ("gtk-doc" ,gtk-doc)
4262 ("pkg-config" ,pkg-config)))
4263 (inputs
4264 `(("glib" ,glib)
4265 ("gtk+" ,gtk+)))
4266 (home-page "https://wiki.gnome.org/Projects/Amtk")
4267 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4268 (description
4269 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4270It is a basic GtkUIManager replacement based on GAction. It is suitable for
4271both a traditional UI or a modern UI with a GtkHeaderBar.")
4272 (license license:lgpl2.1+)))
4273
4a79e256
SB
4274(define-public devhelp
4275 (package
4276 (name "devhelp")
20db7a3d 4277 (version "3.32.0")
4a79e256
SB
4278 (source (origin
4279 (method url-fetch)
4280 (uri (string-append "mirror://gnome/sources/" name "/"
4281 (version-major+minor version) "/"
4282 name "-" version ".tar.xz"))
4283 (sha256
4284 (base32
20db7a3d 4285 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4286 (build-system meson-build-system)
35407f94 4287 (arguments
20db7a3d
KK
4288 '(#:glib-or-gtk? #t
4289 #:phases
35407f94
EF
4290 (modify-phases %standard-phases
4291 (add-after 'unpack 'skip-gtk-update-icon-cache
4292 ;; Don't create 'icon-theme.cache'.
4293 (lambda _
4294 (substitute* "meson_post_install.py"
4295 (("gtk-update-icon-cache") "true"))
4296 #t)))))
4a79e256
SB
4297 (native-inputs
4298 `(("intltool" ,intltool)
5dd12afc 4299 ("itstool" ,itstool)
11d28bd9
KK
4300 ("gobject-introspection" ,gobject-introspection)
4301 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4302 ("pkg-config" ,pkg-config)))
4303 (inputs
11d28bd9
KK
4304 `(("amtk" ,amtk)
4305 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4306 ("webkitgtk" ,webkitgtk)))
4307 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4308 (synopsis "API documentation browser for GNOME")
4309 (description
4310 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4311natively with GTK-Doc (the API reference system developed for GTK+ and used
4312throughout GNOME for API documentation).")
4313 (license license:gpl2+)))
ba421ab7
MW
4314
4315(define-public cogl
4316 (package
4317 (name "cogl")
54c69ae1 4318 (version "1.22.4")
ba421ab7
MW
4319 (source
4320 (origin
4321 (method url-fetch)
5754f0cf 4322 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4323 (version-major+minor version) "/"
5754f0cf 4324 "cogl-" version ".tar.xz"))
ba421ab7 4325 (sha256
54c69ae1 4326 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4327 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4328 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4329 (build-system gnu-build-system)
4330 (native-inputs
4331 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4332 ("gobject-introspection" ,gobject-introspection)
4333 ;;("xorg-server" ,xorg-server) ; for the test suite
4334 ("pkg-config" ,pkg-config)))
4335 (propagated-inputs
4336 `(("glib" ,glib)
4337 ("gdk-pixbuf" ,gdk-pixbuf)
4338 ("libx11" ,libx11)
4339 ("libxext" ,libxext)
4340 ("libxfixes" ,libxfixes)
4341 ("libxdamage" ,libxdamage)
4342 ("libxcomposite" ,libxcomposite)
4343 ("libxrandr" ,libxrandr)))
4344 (inputs
4345 `(("mesa" ,mesa)
4346 ("cairo" ,cairo)
4347 ("pango" ,pango)
4348 ("gstreamer" ,gstreamer)
31860852
KK
4349 ("gst-plugins-base" ,gst-plugins-base)
4350 ("wayland" ,wayland)))
ba421ab7
MW
4351 (arguments
4352 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4353 "--enable-wayland-egl-platform"
4354 "--enable-wayland-egl-server"
4355
ba421ab7
MW
4356 ;; Arrange to pass an absolute file name to
4357 ;; dlopen for libGL.so.
4358 (string-append "--with-gl-libname="
4359 (assoc-ref %build-inputs "mesa")
4360 "/lib/libGL.so"))
4361 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4362 ;; _FontTransOpen: Unable to Parse address
4363 ;; ${prefix}/share/fonts/X11/misc/
4364 #:tests? #f
4365 #; #:phases
4366 #;
4367 (modify-phases %standard-phases
4368 (add-before 'check 'start-xorg-server
4369 (lambda* (#:key inputs #:allow-other-keys)
4370 ;; The test suite requires a running X server.
4371 (system (format #f "~a/bin/Xvfb :1 &"
4372 (assoc-ref inputs "xorg-server")))
4373 (setenv "DISPLAY" ":1")
4374 #t)))))
4375 (home-page "http://www.cogl3d.org")
4376 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4377 (description
4378 "Cogl is a small library for using 3D graphics hardware to draw pretty
4379pictures. The API departs from the flat state machine style of OpenGL and is
4380designed to make it easy to write orthogonal components that can render
4381without stepping on each others toes.")
4382 (license (list license:expat ; most of the code
4383 license:bsd-3 ; cogl/cogl-point-in-poly.c
4384 license:sgifreeb2.0 ; cogl-path/tesselator/
4385 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4386
4387(define-public clutter
4388 (package
4389 (name "clutter")
6a88e4ee 4390 (version "1.26.2")
fb182b8a
MW
4391 (source
4392 (origin
4393 (method url-fetch)
4394 (uri (string-append "mirror://gnome/sources/" name "/"
4395 (version-major+minor version) "/"
4396 name "-" version ".tar.xz"))
4397 (sha256
4398 (base32
6a88e4ee 4399 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4400 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4401 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4402 (build-system gnu-build-system)
600233bd
LC
4403 (outputs '("out"
4404 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4405 (native-inputs
4406 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4407 ("gobject-introspection" ,gobject-introspection)
4408 ("pkg-config" ,pkg-config)
4409 ("xsltproc" ,libxslt)))
4410 (propagated-inputs
4411 `(("cogl" ,cogl)
4412 ("cairo" ,cairo)
4413 ("atk" ,atk)
4414 ("gtk+" ,gtk+)
4415 ("json-glib" ,json-glib)
4416 ("glib" ,glib)
4417 ("libxcomposite" ,libxcomposite)
4418 ("libxdamage" ,libxdamage)
4419 ("libxext" ,libxext)
4420 ("xinput" ,xinput)))
4421 (inputs
4422 `(("libxkbcommon" ,libxkbcommon)
4423 ("udev" ,eudev)))
4424 (arguments
600233bd
LC
4425 `(#:configure-flags (list "--enable-x11-backend=yes"
4426
4427 ;; This produces share/doc/{clutter,cally}.
4428 (string-append "--with-html-dir="
4429 (assoc-ref %outputs "doc")
4430 "/share/doc"))
fb182b8a
MW
4431 ;; XXX FIXME: Get test suite working. It would probably fail in the
4432 ;; same way the cogl tests fail, since clutter is based on cogl.
4433 #:tests? #f))
4434 (home-page "http://www.clutter-project.org")
476af713 4435 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4436 (description
476af713 4437 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4438creating fast, mainly 2D single window applications such as media box UIs,
4439presentations, kiosk style applications and so on.")
4440 (license license:lgpl2.0+)))
bf7f17ba
MW
4441
4442(define-public clutter-gtk
4443 (package
4444 (name "clutter-gtk")
5d1a3219 4445 (version "1.8.4")
bf7f17ba
MW
4446 (source
4447 (origin
4448 (method url-fetch)
4449 (uri (string-append "mirror://gnome/sources/" name "/"
4450 (version-major+minor version) "/"
4451 name "-" version ".tar.xz"))
4452 (sha256
4453 (base32
5d1a3219 4454 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4455 (build-system gnu-build-system)
4456 (native-inputs
4457 `(("pkg-config" ,pkg-config)
4458 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4459 (propagated-inputs
4460 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4461 `(("clutter" ,clutter)
4462 ("gtk+" ,gtk+)))
4463 (home-page "http://www.clutter-project.org")
476af713 4464 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4465 (description
476af713 4466 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4467creating fast, mainly 2D single window applications such as media box UIs,
4468presentations, kiosk style applications and so on.")
4469 (license license:lgpl2.0+)))
86d6a893
MW
4470
4471(define-public clutter-gst
4472 (package
4473 (name "clutter-gst")
ba07ac19 4474 (version "3.0.27")
86d6a893
MW
4475 (source
4476 (origin
4477 (method url-fetch)
f010f89b 4478 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4479 (version-major+minor version) "/"
f010f89b 4480 "clutter-gst-" version ".tar.xz"))
86d6a893 4481 (sha256
ba07ac19 4482 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4483 (build-system gnu-build-system)
4484 (native-inputs
ba07ac19 4485 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4486 ("pkg-config" ,pkg-config)
4487 ("gobject-introspection" ,gobject-introspection)))
4488 (inputs
4489 `(("clutter" ,clutter)
4490 ("gstreamer" ,gstreamer)
4491 ("gst-plugins-base" ,gst-plugins-base)))
4492 (home-page "http://www.clutter-project.org")
4493 (synopsis "Integration library for using GStreamer with Clutter")
4494 (description
4495 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4496It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4497implements the ClutterGstPlayer interface using playbin. Clutter is an
4498OpenGL-based interactive canvas library.")
86d6a893 4499 (license license:lgpl2.0+)))
607a04ae 4500
30dc88d9
LC
4501(define-public libchamplain
4502 (package
4503 (name "libchamplain")
5564b2c5 4504 (version "0.12.16")
30dc88d9
LC
4505 (source (origin
4506 (method url-fetch)
4507 (uri (string-append
4508 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4509 version ".tar.xz"))
4510 (sha256
4511 (base32
5564b2c5 4512 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4513 (build-system gnu-build-system)
f7c6833f
LF
4514 (arguments '(#:configure-flags '("--enable-vala")))
4515 (native-inputs
4516 `(("gobject-introspection" ,gobject-introspection)
4517 ("pkg-config" ,pkg-config)
4518 ("vala" ,vala)))
30dc88d9
LC
4519 (propagated-inputs
4520 `(("libsoup" ,libsoup)
4521 ("sqlite" ,sqlite)
4522 ("clutter" ,clutter)
4523 ("clutter-gtk" ,clutter-gtk)
4524 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4525 ("cairo" ,cairo)
4526 ("gtk+3" ,gtk+)
4527 ("glib" ,glib)))
f032d0be 4528 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4529 (synopsis "C library providing a ClutterActor to display maps")
4530 (description
4531 "libchamplain is a C library providing a ClutterActor to display maps.
4532It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4533and Perl bindings are also available. It supports numerous free map sources
4534such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4535 (license license:lgpl2.1+)))
4536
607a04ae
MW
4537(define-public gom
4538 (package
4539 (name "gom")
0510440b 4540 (version "0.3.2")
607a04ae
MW
4541 (source
4542 (origin
4543 (method url-fetch)
6c8a0b6f 4544 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4545 (version-major+minor version) "/"
6c8a0b6f 4546 "gom-" version ".tar.xz"))
607a04ae
MW
4547 (sha256
4548 (base32
0510440b 4549 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4550 (build-system gnu-build-system)
4551 (native-inputs
4552 `(("intltool" ,intltool)
4553 ("pkg-config" ,pkg-config)
4554 ("gobject-introspection" ,gobject-introspection)))
4555 (inputs
4556 `(("glib" ,glib)
4557 ("gdk-pixbuf" ,gdk-pixbuf)
4558 ("sqlite" ,sqlite)))
4559 ;; XXX TODO: Figure out how to run the test suite.
4560 (arguments `(#:tests? #f))
4561 (home-page "https://wiki.gnome.org/Projects/Gom")
4562 (synopsis "Object mapper from GObjects to SQLite")
4563 (description
4564 "Gom provides an object mapper from GObjects to SQLite. It helps you
4565write applications that need to store structured data as well as make complex
4566queries upon that data.")
4567 (license license:lgpl2.1+)))
b7a3cf11 4568
865aacc9 4569(define-public libgnome-games-support
f09520db 4570 (package
865aacc9 4571 (name "libgnome-games-support")
4c6d15cf 4572 (version "1.4.4")
f09520db
SB
4573 (source (origin
4574 (method url-fetch)
2d8dca9d 4575 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4576 (version-major+minor version) "/"
2d8dca9d 4577 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4578 (sha256
4579 (base32
4c6d15cf 4580 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4581 (build-system gnu-build-system)
4582 (arguments
4583 '(#:phases
4584 (modify-phases %standard-phases
4585 (add-before 'check 'pre-check
4586 (lambda _
865aacc9 4587 ;; Tests require a writable HOME.
f09520db
SB
4588 (setenv "HOME" (getcwd))
4589 #t)))))
4590 (native-inputs
4591 `(("intltool" ,intltool)
4592 ("pkg-config" ,pkg-config)
4593 ("vala" ,vala)))
4594 (propagated-inputs
865aacc9 4595 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4596 `(("gtk+" ,gtk+)
4597 ("libgee" ,libgee)))
4598 (home-page "https://www.gnome.org/")
4599 (synopsis "Useful functionality shared among GNOME games")
4600 (description
865aacc9 4601 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4602GNOME Games, but it may be used by others.")
4603 (license license:lgpl3+)))
4604
b7a3cf11
SB
4605(define-public gnome-klotski
4606 (package
4607 (name "gnome-klotski")
c1e419c4 4608 (version "3.32.0")
b7a3cf11
SB
4609 (source (origin
4610 (method url-fetch)
4611 (uri (string-append "mirror://gnome/sources/" name "/"
4612 (version-major+minor version) "/"
4613 name "-" version ".tar.xz"))
4614 (sha256
4615 (base32
c1e419c4
KK
4616 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4617 (build-system meson-build-system)
4618 (arguments
4619 '(#:glib-or-gtk? #t
4620 #:phases
4621 (modify-phases %standard-phases
4622 (add-after 'unpack 'skip-gtk-update-icon-cache
4623 ;; Don't create 'icon-theme.cache'.
4624 (lambda _
4625 (substitute* "build-aux/meson_post_install.py"
4626 (("gtk-update-icon-cache") (which "true")))
4627 #t)))))
b7a3cf11
SB
4628 (native-inputs
4629 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4630 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4631 ("intltool" ,intltool)
4632 ("itstool" ,itstool)
bcb354ad 4633 ("pkg-config" ,pkg-config)
c1e419c4 4634 ("vala" ,vala)
bcb354ad 4635 ("xmllint" ,libxml2)))
b7a3cf11
SB
4636 (inputs
4637 `(("gtk+" ,gtk+)
f4eae76f 4638 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4639 ("librsvg" ,librsvg)))
4640 (home-page "https://wiki.gnome.org/Apps/Klotski")
4641 (synopsis "Sliding block puzzles")
4642 (description
4643 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4644the patterned block to the area bordered by green markers. To do so, you will
4645need to slide other blocks out of the way. Complete each puzzle in as few moves
4646as possible!")
4647 (license license:gpl2+)))
8d4791bf
MW
4648
4649(define-public grilo
4650 (package
4651 (name "grilo")
a865e938 4652 (version "0.3.10")
8d4791bf
MW
4653 (source
4654 (origin
4655 (method url-fetch)
4656 (uri (string-append "mirror://gnome/sources/" name "/"
4657 (version-major+minor version) "/"
4658 name "-" version ".tar.xz"))
4659 (sha256
4660 (base32
a865e938 4661 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4662 (build-system meson-build-system)
8d4791bf
MW
4663 (native-inputs
4664 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4665 ("intltool" ,intltool)
4666 ("pkg-config" ,pkg-config)
d48d4c98
KK
4667 ("gobject-introspection" ,gobject-introspection)
4668 ("gtk-doc" ,gtk-doc)
4669 ("vala" ,vala)))
8d4791bf 4670 (inputs
6d7273a0
KK
4671 `(("cyrus-sasl" ,cyrus-sasl)
4672 ("glib" ,glib)
8d4791bf
MW
4673 ("gtk+" ,gtk+)
4674 ("libxml2" ,libxml2)
6d7273a0 4675 ("liboauth" ,liboauth)
8d4791bf
MW
4676 ("libsoup" ,libsoup)
4677 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4678 (native-search-paths
4679 (list (search-path-specification
4680 (variable "GRL_PLUGIN_PATH")
4681 (files (list (string-append "lib/grilo-"
4682 (version-major+minor version)))))))
d48d4c98 4683 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4684 (synopsis "Framework for discovering and browsing media")
4685 (description
4686 "Grilo is a framework focused on making media discovery and browsing easy
4687for application developers.")
4688 (license license:lgpl2.1+)))
7b212526
MW
4689
4690(define-public grilo-plugins
4691 (package
4692 (name "grilo-plugins")
281f6b3a 4693 (version "0.3.10")
7b212526
MW
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append "mirror://gnome/sources/" name "/"
4698 (version-major+minor version) "/"
4699 name "-" version ".tar.xz"))
4700 (sha256
4701 (base32
281f6b3a
RG
4702 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4703 (build-system meson-build-system)
7b212526 4704 (native-inputs
281f6b3a
RG
4705 `(("gettext" ,gettext-minimal)
4706 ("glib:bin" ,glib "bin")
4707 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4708 ("itstool" ,itstool)
4709 ("pkg-config" ,pkg-config)))
281f6b3a 4710 ;; TODO: ahavi, gstreamer
7b212526
MW
4711 (inputs
4712 `(("grilo" ,grilo)
281f6b3a
RG
4713 ;("gmime" ,gmime) ; unused
4714 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4715 ("gom" ,gom)
281f6b3a
RG
4716 ;("gssdp" ,gssdp) ; unused
4717 ;("gupnp" ,gupnp) ; unused
4718 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4719 ("json-glib" ,json-glib)
4720 ("avahi" ,avahi)
281f6b3a
RG
4721 ("libgdata" ,libgdata)
4722 ("libmediaart" ,libmediaart)
4723 ;("librest" ,rest) ; unused
7b212526 4724 ("libsoup" ,libsoup)
281f6b3a
RG
4725 ("totam-pl-parser" ,totem-pl-parser)
4726 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4727 (arguments
281f6b3a
RG
4728 `(#:glib-or-gtk? #t
4729 ;;Disable lua-factory as it needs missing dependencies
4730 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4731 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4732 (synopsis "Plugins for the Grilo media discovery library")
4733 (description
4734 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4735for application developers. This package provides plugins for common media
4736discovery protocols.")
7b212526 4737 (license license:lgpl2.1+)))
4e3fc547
MW
4738
4739(define-public totem
4740 (package
4741 (name "totem")
995ef5ea 4742 (version "3.32.1")
4e3fc547
MW
4743 (source
4744 (origin
4745 (method url-fetch)
4746 (uri (string-append "mirror://gnome/sources/" name "/"
4747 (version-major+minor version) "/"
4748 name "-" version ".tar.xz"))
4749 (sha256
4750 (base32
995ef5ea 4751 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4752 (build-system meson-build-system)
4e3fc547
MW
4753 (native-inputs
4754 `(("pkg-config" ,pkg-config)
4755 ("desktop-file-utils" ,desktop-file-utils)
4756 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4757 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4758 ("intltool" ,intltool)
bcb354ad 4759 ("itstool" ,itstool)
995ef5ea
KK
4760 ("xmllint" ,libxml2)
4761 ("python-pylint" ,python-pylint)
4762 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4763 (propagated-inputs
4764 `(("dconf" ,dconf)))
4765 (inputs
4766 `(("gtk+" ,gtk+)
4767 ("gdk-pixbuf" ,gdk-pixbuf)
4768 ("atk" ,atk)
4769 ("cairo" ,cairo)
4770 ("dbus-glib" ,dbus-glib)
4771 ("clutter" ,clutter)
4772 ("clutter-gtk" ,clutter-gtk)
4773 ("clutter-gst" ,clutter-gst)
6a6db57f 4774 ("xorgproto" ,xorgproto)
4e3fc547
MW
4775 ("libxxf86vm" ,libxxf86vm)
4776 ("libxtst" ,libxtst)
4777 ("libxrandr" ,libxrandr)
4778 ("libxml2" ,libxml2)
4779 ("libsoup" ,libsoup)
4780 ("libpeas" ,libpeas)
4781 ("librsvg" ,librsvg)
4782 ("lirc" ,lirc)
4783 ("gnome-desktop" ,gnome-desktop)
4784 ("gstreamer" ,gstreamer)
4785 ("gst-plugins-base" ,gst-plugins-base)
4786 ("gst-plugins-good" ,gst-plugins-good)
4787 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4788 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4789 ("python" ,python)
995ef5ea 4790 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4791 ("totem-pl-parser" ,totem-pl-parser)
4792 ("grilo" ,grilo)
4793 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4794 ("vala" ,vala)))
4795 (arguments
7ad81b8b
LC
4796 `(#:glib-or-gtk? #t
4797
4798 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4799 ;; all that.
7ad81b8b 4800 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4801
4802 ;; Do not build .a files for the plugins, it's
4803 ;; completely useless. This saves 2 MiB.
7ad81b8b 4804 "--default-library" "shared")
ec5c24f9 4805 #:phases
4e3fc547 4806 (modify-phases %standard-phases
d51b19ad
EF
4807 (add-after 'unpack 'skip-gtk-update-icon-cache
4808 ;; Don't create 'icon-theme.cache'.
4809 (lambda _
4810 (substitute* "meson_post_install.py"
4811 (("gtk-update-icon-cache") "true"))
4812 #t))
6368eb39
DM
4813 (add-before
4814 'install 'disable-cache-generation
4815 (lambda _
4816 (setenv "DESTDIR" "/")
4817 #t))
995ef5ea
KK
4818 (add-before
4819 'check 'pre-check
4820 (lambda _
4821 ;; Tests require a running X server.
4822 (system "Xvfb :1 &")
4823 (setenv "DISPLAY" ":1")
4824 #t))
4e3fc547
MW
4825 (add-after
4826 'install 'wrap-totem
4827 (lambda* (#:key inputs outputs #:allow-other-keys)
4828 (let ((out (assoc-ref outputs "out"))
4829 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4830 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4831 (wrap-program (string-append out "/bin/totem")
4832 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4833 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4834 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4835 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4836 #t)))))
4837 (home-page "https://wiki.gnome.org/Apps/Videos")
4838 (synopsis "Simple media player for GNOME based on GStreamer")
4839 (description "Totem is a simple yet featureful media player for GNOME
4840which can read a large number of file formats.")
4841 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4842 ;; to be used and distributed together with GStreamer and Totem. See
4843 ;; file://COPYING in the source distribution for details.
4844 (license license:gpl2+)))
f0afb0c8
DH
4845
4846(define-public rhythmbox
4847 (package
4848 (name "rhythmbox")
8190e1ed 4849 (version "3.4.3")
f0afb0c8
DH
4850 (source (origin
4851 (method url-fetch)
4852 (uri (string-append "mirror://gnome/sources/" name "/"
4853 (version-major+minor version) "/"
4854 name "-" version ".tar.xz"))
4855 (sha256
4856 (base32
8190e1ed 4857 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
4858 (build-system glib-or-gtk-build-system)
4859 (arguments
4860 `(#:configure-flags
4861 (list "--enable-lirc"
4862 "--enable-python"
4863 "--enable-vala"
4864 "--with-brasero"
4865 "--with-gudev"
4866 "--with-libsecret")
4867 #:phases
4868 (modify-phases %standard-phases
4869 (add-after
4870 'install 'wrap-rhythmbox
4871 (lambda* (#:key inputs outputs #:allow-other-keys)
4872 (let ((out (assoc-ref outputs "out"))
4873 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4874 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4875 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4876 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4877 (wrap-program (string-append out "/bin/rhythmbox")
4878 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4879 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4880 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4881 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4882 #t)))))
4883 (propagated-inputs
4884 `(("dconf" ,dconf)))
4885 (native-inputs
bcb354ad
SB
4886 `(("itstool" ,itstool)
4887 ("intltool" ,intltool)
f0afb0c8
DH
4888 ("glib" ,glib "bin")
4889 ("gobject-introspection" ,gobject-introspection)
4890 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4891 ("pkg-config" ,pkg-config)
4892 ("xmllint" ,libxml2)))
f0afb0c8
DH
4893 (inputs
4894 `(("json-glib" ,json-glib)
4895 ("tdb" ,tdb)
4896 ("gnome-desktop" ,gnome-desktop)
4897 ("python" ,python)
4898 ("python-pygobject" ,python2-pygobject)
4899 ("vala" ,vala)
4900 ("gmime" ,gmime)
f0afb0c8
DH
4901 ("adwaita-icon-theme" ,adwaita-icon-theme)
4902 ("grilo" ,grilo)
4903 ("grilo-plugins" ,grilo-plugins)
4904 ("gstreamer" ,gstreamer)
4905 ("gst-plugins-base" ,gst-plugins-base)
4906 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4907 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4908 ("libgudev" ,libgudev)
f0afb0c8
DH
4909 ;;("libmtp" ,libmtp) FIXME: Not detected
4910 ("libsecret" ,libsecret)
4911 ("libsoup" ,libsoup)
4912 ("libnotify" ,libnotify)
4913 ("libpeas" ,libpeas)
4914 ("lirc" ,lirc)
4915 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4916 ;;("clutter" ,clutter)
4917 ;;("clutter-gtk" ,clutter-gtk)
4918 ;;("clutter-gst" ,clutter-gst)
4919 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4920 ("atk" ,atk)
4921 ("pango" ,pango)
4922 ("gtk+" ,gtk+)
4923 ;; TODO:
4924 ;; * libgpod
4925 ;; * mx
f0afb0c8
DH
4926 ("brasero" ,brasero)))
4927 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4928 (synopsis "Music player for GNOME")
4929 (description "Rhythmbox is a music playing application for GNOME. It
4930supports playlists, song ratings, and any codecs installed through gstreamer.")
4931 (license license:gpl2+)))
f70d8383
DH
4932
4933(define-public eog
4934 (package
4935 (name "eog")
b0f24a82 4936 (version "3.32.2")
f70d8383
DH
4937 (source (origin
4938 (method url-fetch)
4939 (uri (string-append "mirror://gnome/sources/" name "/"
4940 (version-major+minor version) "/"
4941 name "-" version ".tar.xz"))
4942 (sha256
4943 (base32
b0f24a82 4944 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 4945 (build-system meson-build-system)
f70d8383 4946 (arguments
34c44a34
RW
4947 `(#:configure-flags
4948 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
4949 (list (string-append "-Dc_link_args=-Wl,-rpath="
4950 (assoc-ref %outputs "out") "/lib/eog"))
4951 #:phases
f70d8383 4952 (modify-phases %standard-phases
7a034665
EF
4953 (add-after 'unpack 'skip-gtk-update-icon-cache
4954 ;; Don't create 'icon-theme.cache'.
4955 (lambda _
4956 (substitute* "meson_post_install.py"
4957 (("gtk-update-icon-cache") "true"))
4958 #t))
61fb581f
RW
4959 (add-after 'install 'wrap-eog
4960 (lambda* (#:key outputs #:allow-other-keys)
4961 (let ((out (assoc-ref outputs "out"))
4962 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4963 (wrap-program (string-append out "/bin/eog")
4964 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4965 #t)))))
f70d8383
DH
4966 (propagated-inputs
4967 `(("dconf" ,dconf)))
4968 (native-inputs
4969 `(("intltool" ,intltool)
b3546174 4970 ("itstool" ,itstool)
f70d8383
DH
4971 ("glib" ,glib "bin")
4972 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
4973 ("pkg-config" ,pkg-config)
4974 ("xmllint" ,libxml2)))
f70d8383
DH
4975 (inputs
4976 `(("gnome-desktop" ,gnome-desktop)
4977 ("shared-mime-info" ,shared-mime-info)
4978 ("adwaita-icon-theme" ,adwaita-icon-theme)
4979 ("exempi" ,exempi)
4980 ("lcms" ,lcms)
4981 ("libexif" ,libexif)
4982 ("libpeas" ,libpeas)
4983 ("libjpeg" ,libjpeg)
4984 ("librsvg" ,librsvg)
4985 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4986 ("gtk+" ,gtk+)))
4987 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
4988 (synopsis "GNOME image viewer")
4989 (description "Eye of GNOME is the GNOME image viewer. It
4990supports image conversion, rotation, and slideshows.")
4991 (license license:gpl2+)))
41af5e7b 4992
0c3f8cb8
LC
4993(define-public eog-plugins
4994 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
4995 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
4996 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
4997 ;; 'XDG_DATA_DIRS' appropriately set.
4998 (package
4999 (name "eog-plugins")
54b74cc6 5000 (version "3.26.4")
0c3f8cb8
LC
5001 (source (origin
5002 (method url-fetch)
f3b88ed2 5003 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5004 (version-major+minor version) "/"
f3b88ed2 5005 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5006 (sha256
5007 (base32
54b74cc6 5008 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5009 (build-system gnu-build-system)
5010 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5011 (synopsis "Extensions for the Eye of GNOME image viewer")
5012 (native-inputs
5013 `(("pkg-config" ,pkg-config)
5014 ("gettext" ,gnu-gettext)))
5015 (inputs
5016 `(("eog" ,eog)
5017 ("glib" ,glib)
5018 ("gtk+" ,gtk+)
5019 ("libpeas" ,libpeas)
5020 ("libexif" ,libexif)
5021 ("libchamplain" ,libchamplain)))
5022 (description
5023 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5024notably:
5025
5026@itemize
5027@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5028@item @dfn{Map}, which displays a map of where the picture was taken on the
5029side panel;
5030@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5031@end itemize\n")
5032
5033 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5034 ;; long suspicious byte stream that goes to a
5035 ;; ".gresource.eog_postasa_plugin" ELF section.
5036 (license license:gpl2+)))
5037
41af5e7b
SB
5038(define-public libgudev
5039 (package
5040 (name "libgudev")
b78f5118 5041 (version "232")
41af5e7b
SB
5042 (source (origin
5043 (method url-fetch)
5044 (uri (string-append "mirror://gnome/sources/" name "/"
5045 version "/" name "-" version ".tar.xz"))
5046 (sha256
5047 (base32
b78f5118 5048 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5049 (build-system gnu-build-system)
b78f5118
RW
5050 (arguments
5051 '(#:configure-flags
5052 ;; umockdev depends on libgudev.
5053 (list "--disable-umockdev")))
41af5e7b
SB
5054 (native-inputs
5055 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5056 ("gobject-introspection" ,gobject-introspection)
5057 ("pkg-config" ,pkg-config)))
5058 (propagated-inputs
5059 `(("glib" ,glib))) ; required by gudev-1.0.pc
5060 (inputs
5061 `(("udev" ,eudev)))
5062 (home-page "https://wiki.gnome.org/Projects/libgudev")
5063 (synopsis "GObject bindings for libudev")
5064 (description
5065 "This library provides GObject bindings for libudev. It was originally
5066part of udev-extras, then udev, then systemd. It's now a project on its own.")
5067 (license license:lgpl2.1+)))
3dc8828f
SB
5068
5069(define-public gvfs
5070 (package
5071 (name "gvfs")
12fe4846 5072 (version "1.40.1")
3dc8828f
SB
5073 (source (origin
5074 (method url-fetch)
1d68eb32 5075 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5076 (version-major+minor version) "/"
1d68eb32 5077 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5078 (sha256
5079 (base32
12fe4846 5080 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5081 (build-system meson-build-system)
3dc8828f 5082 (arguments
e762d943
RW
5083 '(#:glib-or-gtk? #t
5084 #:configure-flags
5085 (list "-Dsystemduserunitdir=no"
5086 "-Dtmpfilesdir=no"
5087 ;; Otherwise, the RUNPATH will lack the final path component.
5088 (string-append "-Dc_link_args=-Wl,-rpath="
5089 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5090 (native-inputs
5091 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5092 ("gettext" ,gettext-minimal)
5093 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5094 ("pkg-config" ,pkg-config)
5095 ("xsltproc" ,libxslt)))
5096 (inputs
5097 `(("avahi" ,avahi)
5098 ("docbook-xml" ,docbook-xml-4.2)
5099 ("docbook-xsl" ,docbook-xsl)
5100 ("dbus" ,dbus)
e762d943 5101 ("elogind" ,elogind)
3dc8828f 5102 ("fuse" ,fuse)
24a78aa6 5103 ("gcr" ,gcr)
3dc8828f 5104 ("glib" ,glib)
e762d943 5105 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5106 ("libarchive" ,libarchive)
5107 ("libbluray" ,libbluray)
8852ca24 5108 ("libcap" ,libcap)
3dc8828f
SB
5109 ("libcdio-paranoia" ,libcdio-paranoia)
5110 ("libgcrypt" ,libgcrypt)
e762d943 5111 ("libgdata" ,libgdata)
3dc8828f
SB
5112 ("libgphoto2" ,libgphoto2)
5113 ("libgudev" ,libgudev)
0ab9f949 5114 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5115 ("libmtp" ,libmtp)
e762d943 5116 ("libnfs" ,libnfs)
3dc8828f
SB
5117 ("libsecret" ,libsecret)
5118 ("libsmbclient" ,samba)
5119 ("libsoup" ,libsoup)
5120 ("libxml2" ,libxml2)
e762d943 5121 ("openssh" ,openssh)
8852ca24 5122 ("polkit" ,polkit)
3dc8828f
SB
5123 ("udisks" ,udisks)))
5124 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5125 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5126 (description
8f65585b 5127 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5128abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5129to all applications using the GIO API. It also supports exposing the GVFS
5130mounts to non-GIO applications using FUSE.
5131
5132GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5133DAV, and others.")
5134 (license license:lgpl2.0+)))
7c88b6bd
AW
5135
5136(define-public gusb
5137 (package
5138 (name "gusb")
536b3274 5139 (version "0.3.0")
7c88b6bd 5140 (source (origin
bbfb36f9
EF
5141 (method git-fetch)
5142 (uri (git-reference
5143 (url "https://github.com/hughsie/libgusb.git")
5144 (commit version)))
5145 (file-name (git-file-name name version))
7c88b6bd
AW
5146 (sha256
5147 (base32
bbfb36f9 5148 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5149 (build-system meson-build-system)
7c88b6bd 5150 (native-inputs
536b3274 5151 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5152 ("pkg-config" ,pkg-config)
5153 ("vala" ,vala)
7c88b6bd
AW
5154 ("gtk-doc" ,gtk-doc)))
5155 (propagated-inputs
5156 ;; Both of these are required by gusb.pc.
5157 `(("glib" ,glib)
5158 ("libusb" ,libusb)))
5159 (arguments
536b3274 5160 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5161 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5162 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5163 (description
5164 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5165asynchronous control, bulk and interrupt transfers with proper cancellation
5166and integration into a mainloop. This makes it easy to integrate low level
5167USB transfers with your high-level application or system daemon.")
5168 (license license:lgpl2.1+)))
0abe1d86
AW
5169
5170(define-public simple-scan
5171 (package
5172 (name "simple-scan")
4afb7dd9 5173 (version "3.34.2")
d9f6d587
TGR
5174 (source
5175 (origin
5176 (method url-fetch)
5177 (uri (string-append "mirror://gnome/sources/simple-scan/"
5178 (version-major+minor version) "/"
5179 "simple-scan-" version ".tar.xz"))
5180 (sha256
4afb7dd9 5181 (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp"))))
d9f6d587
TGR
5182 (build-system meson-build-system)
5183 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5184 (arguments
5185 '(#:glib-or-gtk? #t))
0abe1d86
AW
5186 (inputs
5187 `(("gtk" ,gtk+)
5188 ("zlib" ,zlib)
5189 ("cairo" ,cairo)
c501f592 5190 ("colord" ,colord)
0abe1d86
AW
5191 ("gdk-pixbuf" ,gdk-pixbuf)
5192 ("gusb" ,gusb)
4c928743 5193 ("libsane" ,sane-backends)))
0abe1d86 5194 (native-inputs
b94a6ca0 5195 `(("gettext" ,gettext-minimal)
0abe1d86 5196 ("itstool" ,itstool)
c501f592 5197 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5198 ("pkg-config" ,pkg-config)
bcb354ad
SB
5199 ("vala" ,vala)
5200 ("xmllint" ,libxml2)))
dff0eedb 5201 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5202 (synopsis "Document and image scanner")
d9f6d587
TGR
5203 (description
5204 "Document Scanner is an easy-to-use application that lets you connect your
5205scanner and quickly capture images and documents in an appropriate format. It
5206supports any scanner for which a suitable SANE driver is available, which is
5207almost all of them.")
0abe1d86 5208 (license license:gpl3+)))
7549f984 5209
ab466d79
RW
5210(define-public eolie
5211 (package
5212 (name "eolie")
fa8ef3ed 5213 (version "0.9.63")
ab466d79
RW
5214 (source (origin
5215 (method url-fetch)
00014781 5216 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5217 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5218 "eolie-" version ".tar.xz"))
ab466d79
RW
5219 (sha256
5220 (base32
fa8ef3ed 5221 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5222 (build-system meson-build-system)
ab466d79 5223 (arguments
00014781
RW
5224 `(#:glib-or-gtk? #t
5225 #:phases
ab466d79 5226 (modify-phases %standard-phases
f0c68100
EF
5227 (add-after 'unpack 'skip-gtk-update-icon-cache
5228 ;; Don't create 'icon-theme.cache'.
5229 (lambda _
5230 (substitute* "meson_post_install.py"
5231 (("gtk-update-icon-cache") "true"))
5232 #t))
ab466d79
RW
5233 (add-after 'wrap 'wrap-more
5234 (lambda* (#:key inputs outputs #:allow-other-keys)
5235 (let* ((out (assoc-ref outputs "out"))
5236 ;; These libraries must be on LD_LIBRARY_PATH.
5237 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5238 "atk" "gtk+" "gsettings-desktop-schemas"
5239 "gobject-introspection"))
5240 (path (string-join
5241 (map (lambda (lib)
5242 (string-append (assoc-ref inputs lib) "/lib"))
5243 libs)
5244 ":")))
5245 (wrap-program (string-append out "/bin/eolie")
5246 `("LD_LIBRARY_PATH" ":" prefix (,path))
5247 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5248 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5249 #t)))))
5250 (native-inputs
f85ca6ed 5251 `(("intltool" ,intltool)
ab466d79 5252 ("itstool" ,itstool)
d95f1041 5253 ("pkg-config" ,pkg-config)
d95f1041 5254 ("python" ,python)
f0c68100 5255 ("glib:bin" ,glib "bin")))
ab466d79
RW
5256 (inputs
5257 `(("gobject-introspection" ,gobject-introspection)
5258 ("glib-networking" ,glib-networking)
5259 ("cairo" ,cairo)
5260 ("gtk+" ,gtk+)
5261 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5262 ("python" ,python-wrapper)
d72f76df 5263 ("python-dateutil" ,python-dateutil)
00014781 5264 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5265 ("python-pygobject" ,python-pygobject)
5266 ("python-pycairo" ,python-pycairo)
00014781 5267 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5268 ("libsecret" ,libsecret)
5269 ("gtkspell3" ,gtkspell3)
5270 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5271 ("webkitgtk" ,webkitgtk)))
166b2c97 5272 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5273 (synopsis "Web browser for GNOME")
5274 (description
5275 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5276a secret password store, an adblocker, and a modern UI.")
5277 (license license:gpl3+)))
5278
7549f984
SB
5279(define-public epiphany
5280 (package
5281 (name "epiphany")
60680365 5282 (version "3.32.5")
7549f984
SB
5283 (source (origin
5284 (method url-fetch)
dd3266ec 5285 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5286 (version-major+minor version) "/"
dd3266ec 5287 "epiphany-" version ".tar.xz"))
7549f984
SB
5288 (sha256
5289 (base32
60680365 5290 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5291
5292 (build-system meson-build-system)
7549f984
SB
5293 (arguments
5294 ;; FIXME: tests run under Xvfb, but fail with:
5295 ;; /src/bookmarks/ephy-bookmarks/create:
5296 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5297 ;; subsystem
5298 ;; FAIL
6f48d9db 5299 '(#:tests? #f
e19f9c24 5300 #:glib-or-gtk? #t
bb7ff88f
EF
5301 #:phases
5302 (modify-phases %standard-phases
5303 (add-after 'unpack 'skip-gtk-update-icon-cache
5304 ;; Don't create 'icon-theme.cache'.
5305 (lambda _
5306 (substitute* "post_install.py"
5307 (("gtk-update-icon-cache") "true"))
5308 #t)))
e19f9c24
LF
5309 #:configure-flags
5310 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5311 (list (string-append "-Dc_link_args=-Wl,-rpath="
5312 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5313 (propagated-inputs
5314 `(("dconf" ,dconf)))
7549f984 5315 (native-inputs
fc5c5b92
R
5316 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5317 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5318 ("intltool" ,intltool)
7549f984 5319 ("itstool" ,itstool)
bcb354ad
SB
5320 ("pkg-config" ,pkg-config)
5321 ("xmllint" ,libxml2)))
7549f984
SB
5322 (inputs
5323 `(("avahi" ,avahi)
5324 ("gcr" ,gcr)
fc5c5b92 5325 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5326 ("glib-networking" ,glib-networking)
5327 ("gnome-desktop" ,gnome-desktop)
5328 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5329 ("json-glib" ,json-glib)
7549f984 5330 ("iso-codes" ,iso-codes)
8748e29c 5331 ("libdazzle" ,libdazzle)
7549f984
SB
5332 ("libnotify" ,libnotify)
5333 ("libsecret" ,libsecret)
7549f984 5334 ("libxslt" ,libxslt)
fc5c5b92 5335 ("nettle" ,nettle) ; for hogweed
7549f984 5336 ("sqlite" ,sqlite)
f85ca6ed 5337 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5338 (home-page "https://wiki.gnome.org/Apps/Web")
5339 (synopsis "GNOME web browser")
5340 (description
5341 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5342principles are simplicity and standards compliance.")
5343 (license license:gpl2+)))
a3856b2c
SB
5344
5345(define-public d-feet
5346 (package
5347 (name "d-feet")
458e9221 5348 (version "0.3.14")
a3856b2c
SB
5349 (source (origin
5350 (method url-fetch)
5351 (uri (string-append "mirror://gnome/sources/" name "/"
5352 (version-major+minor version) "/"
5353 name "-" version ".tar.xz"))
5354 (sha256
5355 (base32
458e9221 5356 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5357 (build-system glib-or-gtk-build-system)
5358 (arguments
5359 '(#:out-of-source? #f ; tests need to run in the source directory.
5360 #:phases
5361 (modify-phases %standard-phases
5362 (add-before
5363 'check 'pre-check
86aff791 5364 (lambda _
a3856b2c
SB
5365 ;; The test suite requires a running X server.
5366 (system "Xvfb :1 &")
5367 (setenv "DISPLAY" ":1")
5368 ;; Don't fail on missing '/etc/machine-id'.
5369 (setenv "DBUS_FATAL_WARNINGS" "0")
5370 ;; tests.py and window.py don't meet E402:
5371 ;; E402 module level import not at top of file
5372 (substitute* "src/tests/Makefile"
86aff791
MW
5373 (("--ignore=E123") "--ignore=E123,E402"))
5374 #t))
a3856b2c
SB
5375 (add-after
5376 'install 'wrap-program
5377 (lambda* (#:key outputs #:allow-other-keys)
5378 (let ((prog (string-append (assoc-ref outputs "out")
5379 "/bin/d-feet")))
5380 (wrap-program prog
5381 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5382 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5383 #t))))))
a3856b2c
SB
5384 (native-inputs
5385 `(("intltool" ,intltool)
5386 ("itstool" ,itstool)
5387 ("pkg-config" ,pkg-config)
5388 ("python-pep8" ,python-pep8)
5389 ("xmllint" ,libxml2)
ff337525 5390 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5391 (inputs
5392 `(("gobject-introspection" ,gobject-introspection)
5393 ("gtk+" ,gtk+)
5394 ("python" ,python-wrapper)
458e9221 5395 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5396 ("python-pygobject" ,python-pygobject)))
5397 (home-page "https://wiki.gnome.org/Apps/DFeet")
5398 (synopsis "D-Bus debugger")
5399 (description
5400 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5401of running programs and invoke methods on those interfaces.")
5402 (license license:gpl2+)))
c3b97bd9
SB
5403
5404(define-public yelp-xsl
5405 (package
5406 (name "yelp-xsl")
b3640e79 5407 (version "3.32.1")
c3b97bd9
SB
5408 (source (origin
5409 (method url-fetch)
5410 (uri (string-append "mirror://gnome/sources/" name "/"
5411 (version-major+minor version) "/"
5412 name "-" version ".tar.xz"))
5413 (sha256
5414 (base32
b3640e79 5415 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5416 (build-system gnu-build-system)
5417 (native-inputs
5418 `(("intltool" ,intltool)
5419 ("itstool" ,itstool)
5420 ("xmllint" ,libxml2)))
5421 (home-page "https://wiki.gnome.org/Apps/Yelp")
5422 (synopsis "XSL stylesheets for Yelp")
5423 (description
5424 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5425to format Docbook and Mallard documents.")
5426 (license license:gpl2+)))
de3d612a
SB
5427
5428(define-public yelp
5429 (package
5430 (name "yelp")
1f1b6d60 5431 (version "3.32.2")
de3d612a
SB
5432 (source (origin
5433 (method url-fetch)
5434 (uri (string-append "mirror://gnome/sources/" name "/"
5435 (version-major+minor version) "/"
5436 name "-" version ".tar.xz"))
5437 (sha256
5438 (base32
1f1b6d60 5439 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5440 (build-system glib-or-gtk-build-system)
5441 (native-inputs
5442 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5443 ("intltool" ,intltool)
5444 ("itstool" ,itstool)
5445 ("pkg-config" ,pkg-config)))
5446 (propagated-inputs
5447 `(("dconf" ,dconf)))
5448 (inputs
ad1b7d8b
SB
5449 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5450 ("libxslt" ,libxslt)
de3d612a 5451 ("sqlite" ,sqlite)
4c28ca1d
SB
5452 ("webkitgtk" ,webkitgtk)
5453 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5454 (home-page "https://wiki.gnome.org/Apps/Yelp")
5455 (synopsis "GNOME help browser")
5456 (description
5457 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5458man, info, and HTML documents. It can locate documents according to the
5459freedesktop.org help system specification.")
5460 (license license:gpl2+)))
122d0d10
SB
5461
5462(define-public yelp-tools
5463 (package
5464 (name "yelp-tools")
2089bca5 5465 (version "3.28.0")
122d0d10
SB
5466 (source (origin
5467 (method url-fetch)
5468 (uri (string-append "mirror://gnome/sources/" name "/"
5469 (version-major+minor version) "/"
5470 name "-" version ".tar.xz"))
5471 (sha256
5472 (base32
2089bca5 5473 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5474 (build-system gnu-build-system)
5475 (native-inputs
5476 `(("pkg-config" ,pkg-config)))
5477 (propagated-inputs
5478 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5479 `(("itstool" ,itstool)
5480 ("xmllint" ,libxml2)
5481 ("xsltproc" ,libxslt)))
5482 (inputs
5483 `(("yelp-xsl" ,yelp-xsl)))
5484 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5485 (synopsis "Yelp documentation tools")
5486 (description
5487 "Yelp-tools is a collection of scripts and build utilities to help create,
5488manage, and publish documentation for Yelp and the web. Most of the heavy
5489lifting is done by packages like yelp-xsl and itstool. This package just
5490wraps things up in a developer-friendly way.")
5491 (license license:gpl2+)))
af8f9f23 5492
4ed041d9
MB
5493(define-public yelp-tools/fixed
5494 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5495 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5496 ;; the next rebuild cycle.
5497 (hidden-package
5498 (package/inherit
5499 yelp-tools
5500 (propagated-inputs
5501 `(("itstool" ,itstool/fixed)
5502 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5503
af8f9f23
RW
5504(define-public libgee
5505 (package
5506 (name "libgee")
4c2c5ae6 5507 (version "0.20.2")
af8f9f23
RW
5508 (source (origin
5509 (method url-fetch)
84a1b007 5510 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5511 (version-major+minor version) "/"
84a1b007 5512 "libgee-" version ".tar.xz"))
af8f9f23
RW
5513 (sha256
5514 (base32
4c2c5ae6 5515 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
5516 (build-system gnu-build-system)
5517 (arguments
5518 `(#:phases
5519 (modify-phases %standard-phases
5520 (add-after 'unpack 'fix-introspection-install-dir
5521 (lambda* (#:key outputs #:allow-other-keys)
5522 (let ((out (assoc-ref outputs "out")))
5523 (substitute* "gee/Makefile.in"
5524 (("@INTROSPECTION_GIRDIR@")
5525 (string-append out "/share/gir-1.0/"))
5526 (("@INTROSPECTION_TYPELIBDIR@")
5527 (string-append out "/lib/girepository-1.0/")))))))))
5528 (native-inputs
5529 `(("glib" ,glib "bin")
5530 ("pkg-config" ,pkg-config)))
5531 (inputs
5532 `(("glib" ,glib)
5533 ("gobject-introspection" ,gobject-introspection)))
5534 (home-page "https://wiki.gnome.org/Projects/Libgee")
5535 (synopsis "GObject collection library")
5536 (description
5537 "Libgee is a utility library providing GObject-based interfaces and
5538classes for commonly used data structures.")
5539 (license license:lgpl2.1+)))
b0f9c4b8
RW
5540
5541(define-public gexiv2
5542 (package
5543 (name "gexiv2")
b1a8b408 5544 (version "0.12.0")
b0f9c4b8
RW
5545 (source (origin
5546 (method url-fetch)
5547 (uri (string-append "mirror://gnome/sources/" name "/"
5548 (version-major+minor version) "/"
5549 name "-" version ".tar.xz"))
5550 (sha256
5551 (base32
b1a8b408 5552 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5553 (build-system meson-build-system)
b0f9c4b8 5554 (native-inputs
b1a8b408
KK
5555 `(("gcr" ,gcr)
5556 ("glib" ,glib "bin")
5557 ("pkg-config" ,pkg-config)
5558 ("vala" ,vala)))
b0f9c4b8
RW
5559 (propagated-inputs
5560 ;; Listed in "Requires" section of gexiv2.pc
5561 `(("exiv2" ,exiv2)))
5562 (inputs
5563 `(("glib" ,glib)
5564 ("gobject-introspection" ,gobject-introspection)))
5565 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5566 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5567 (description
5568 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5569allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5570metadata in photo and video files of various formats.")
5571 (license license:gpl2+)))
fed5a689
RW
5572
5573(define-public shotwell
5574 (package
5575 (name "shotwell")
a1c6fb52 5576 (version "0.30.7")
fed5a689
RW
5577 (source (origin
5578 (method url-fetch)
5497d682 5579 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5580 (version-major+minor version) "/"
5497d682 5581 "shotwell-" version ".tar.xz"))
fed5a689
RW
5582 (sha256
5583 (base32
a1c6fb52 5584 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l"))))
3b79afa6
KK
5585 (build-system meson-build-system)
5586 (arguments
5a0beca3
EF
5587 '(#:glib-or-gtk? #t
5588 #:phases
5589 (modify-phases %standard-phases
5590 (add-after 'unpack 'skip-gtk-update-icon-cache
5591 (lambda _
5592 (substitute* "build-aux/meson/postinstall.py"
5593 (("gtk-update-icon-cache") (which "true"))
5594 (("update-desktop-database") (which "true")))
5595 #t)))))
735b8db6
TGR
5596 (propagated-inputs
5597 `(("dconf" ,dconf)))
fed5a689 5598 (native-inputs
5a0beca3
EF
5599 `(("gettext" ,gettext-minimal)
5600 ("glib:bin" ,glib "bin")
735b8db6 5601 ("itstool" ,itstool)
3b79afa6 5602 ("pkg-config" ,pkg-config)
735b8db6 5603 ("vala" ,vala)))
fed5a689 5604 (inputs
5a0beca3
EF
5605 `(("gcr" ,gcr)
5606 ("gexiv2" ,gexiv2)
fed5a689 5607 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5608 ("gstreamer" ,gstreamer)
5609 ("json-glib" ,json-glib)
dfb0323d 5610 ("libgdata" ,libgdata)
fed5a689 5611 ("libgee" ,libgee)
5a0beca3
EF
5612 ("libgphoto2" ,libgphoto2)
5613 ("libgudev" ,libgudev)
fed5a689 5614 ("libraw" ,libraw)
fed5a689
RW
5615 ("libsoup" ,libsoup)
5616 ("libxml2" ,libxml2)
5a0beca3
EF
5617 ("sqlite" ,sqlite)
5618 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5619 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5620 (synopsis "Photo manager for GNOME 3")
5621 (description
5622 "Shotwell is a digital photo manager designed for the GNOME desktop
5623environment. It allows you to import photos from disk or camera, organize
5624them by keywords and events, view them in full-window or fullscreen mode, and
5625share them with others via social networking and more.")
5626 (license license:lgpl2.1+)))
293ff8b2
DT
5627
5628(define-public file-roller
5629 (package
5630 (name "file-roller")
dcae4270 5631 (version "3.32.3")
293ff8b2
DT
5632 (source (origin
5633 (method url-fetch)
f89a27c6 5634 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5635 (version-major+minor version) "/"
f89a27c6 5636 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5637 (sha256
5638 (base32
dcae4270 5639 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5640 (build-system meson-build-system)
293ff8b2 5641 (native-inputs
0a500745
RW
5642 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5643 ("intltool" ,intltool)
4c96e5d1 5644 ("itstool" ,itstool)
0a500745
RW
5645 ("pkg-config" ,pkg-config)
5646 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5647 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5648 ;; TODO: Add libnautilus.
5649 (inputs
5650 `(("gtk+" ,gtk+)
5651 ("gdk-pixbuf" ,gdk-pixbuf)
5652 ("json-glib" ,json-glib)
5653 ("libarchive" ,libarchive)
5654 ("libnotify" ,libnotify)
4c96e5d1 5655 ("nettle" ,nettle)
293ff8b2
DT
5656 ("libxml2" ,libxml2)))
5657 (synopsis "Graphical archive manager for GNOME")
5658 (description "File Roller is an archive manager for the GNOME desktop
5659environment that allows users to view, unpack, and create compressed archives
5660such as gzip tarballs.")
5661 (home-page "http://fileroller.sourceforge.net/")
5662 (license license:gpl2+)))
7ce49365
SB
5663
5664(define-public gnome-session
5665 (package
5666 (name "gnome-session")
1fc2ec79 5667 (version "3.32.0")
7ce49365
SB
5668 (source (origin
5669 (method url-fetch)
5670 (uri (string-append "mirror://gnome/sources/" name "/"
5671 (version-major+minor version) "/"
5672 name "-" version ".tar.xz"))
5673 (sha256
5674 (base32
1fc2ec79 5675 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5676 (arguments
df278071
RW
5677 '(#:glib-or-gtk? #t
5678 #:phases
2914af3c
AW
5679 (modify-phases %standard-phases
5680 (add-before 'configure 'pre-configure
5681 (lambda* (#:key outputs #:allow-other-keys)
5682 ;; Use elogind instead of systemd.
df278071
RW
5683 (substitute* "meson.build"
5684 (("libsystemd-login") "libelogind")
5685 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5686 (substitute* "gnome-session/gsm-systemd.c"
5687 (("#include <systemd/sd-login.h>")
5688 "#include <elogind/sd-login.h>"))
df278071 5689 ;; Remove uses of the systemd daemon.
803ab416
SB
5690 (substitute* "gnome-session/gsm-autostart-app.c"
5691 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5692 #t))
5693 (add-after 'install 'wrap-gnome-session
5694 (lambda* (#:key inputs outputs #:allow-other-keys)
5695 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5696 (let ((glib (assoc-ref inputs "glib:bin"))
5697 (out (assoc-ref outputs "out")))
5698 (wrap-program (string-append out "/bin/gnome-session")
5699 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5700 #t))))
6cbc8d57 5701
2914af3c 5702 #:configure-flags
df278071
RW
5703 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5704 "-Dman=false" ; FIXME: disabled because of docbook validation error
5705 "-Dsystemd_journal=false")))
5706 (build-system meson-build-system)
7ce49365
SB
5707 (native-inputs
5708 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5709 ("pkg-config" ,pkg-config)
5710 ("intltool" ,intltool)
df278071
RW
5711 ("xsltproc" ,libxslt)
5712 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5713 ("docbook-xsl" ,docbook-xsl)
5714 ("docbook-xml" ,docbook-xml)
5715 ("xmlto" ,xmlto)))
7ce49365 5716 (inputs
2914af3c
AW
5717 `(("elogind" ,elogind)
5718 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5719 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5720 ("gtk+" ,gtk+)
5721 ("json-glib" ,json-glib)
5722 ("libsm" ,libsm)
5723 ("libxcomposite" ,libxcomposite)
5724 ("libxtst" ,libxtst)
5725 ("mesa" ,mesa)
5726 ("upower" ,upower)
5727 ("xtrans" ,xtrans)))
5728 (synopsis "Session manager for GNOME")
5729 (description
5730 "This package contains the GNOME session manager, as well as a
5731configuration program to choose applications starting on login.")
5732 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5733 (license license:gpl2+)))
f47ba77e
SB
5734
5735(define-public gjs
5736 (package
5737 (name "gjs")
d054fbf5 5738 (version "1.56.2")
f47ba77e
SB
5739 (source (origin
5740 (method url-fetch)
5741 (uri (string-append "mirror://gnome/sources/" name "/"
5742 (version-major+minor version) "/"
5743 name "-" version ".tar.xz"))
5744 (sha256
5745 (base32
d054fbf5 5746 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5747 (build-system gnu-build-system)
5748 (arguments
5749 '(#:phases
5750 (modify-phases %standard-phases
5751 (add-before
5752 'check 'pre-check
5753 (lambda _
fc119619
MW
5754 ;; The test suite requires a running X server.
5755 (system "Xvfb :1 &")
5756 (setenv "DISPLAY" ":1")
5757
f47ba77e
SB
5758 ;; For the missing /etc/machine-id.
5759 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5760
144f94d0
KK
5761 ;; Our mozjs-38 package does not compile the required Intl API
5762 ;; support for these failing tests.
5763 (substitute* "installed-tests/js/testLocale.js"
5764 ((".*toBeDefined.*") "")
5765 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5766 (substitute* "installed-tests/scripts/testCommandLine.sh"
5767 (("Valentín") "")
5768 (("☭") ""))
f47ba77e
SB
5769 #t)))))
5770 (native-inputs
8a831c6f 5771 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5772 ("pkg-config" ,pkg-config)
5773 ("xmllint" ,libxml2)
5774 ;; For testing
5775 ("dbus-launch" ,dbus)
5776 ("uuidgen" ,util-linux)
ebebee94 5777 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5778 (propagated-inputs
5779 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5780 `(("cairo" ,cairo)
5781 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5782 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5783 (inputs
5784 `(("gtk+" ,gtk+)
5785 ("readline" ,readline)))
5786 (synopsis "Javascript bindings for GNOME")
f032d0be 5787 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5788 (description
5789 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5790javascript engine and the GObject introspection framework.")
5791 (license license:gpl2+)))
329d731b
DH
5792
5793(define-public gedit
5794 (package
5795 (name "gedit")
480c9226 5796 (version "3.32.2")
329d731b
DH
5797 (source (origin
5798 (method url-fetch)
5799 (uri (string-append "mirror://gnome/sources/" name "/"
5800 (version-major+minor version) "/"
5801 name "-" version ".tar.xz"))
5802 (sha256
5803 (base32
480c9226
KK
5804 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5805 (build-system meson-build-system)
329d731b 5806 (arguments
480c9226
KK
5807 `(#:glib-or-gtk? #t
5808 #:configure-flags
5809 ;; Otherwise, the RUNPATH will lack the final path component.
5810 (list (string-append "-Dc_link_args=-Wl,-rpath="
5811 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5812
5813 ;; XXX: Generated .h files are sometimes used before being built.
5814 #:parallel-build? #f
5815
480c9226 5816 #:phases
329d731b 5817 (modify-phases %standard-phases
480c9226
KK
5818 (add-after 'unpack 'skip-gtk-update-icon-cache
5819 ;; Don't create 'icon-theme.cache'.
5820 (lambda _
5821 (substitute* "build-aux/meson/post_install.py"
5822 (("gtk-update-icon-cache") (which "true")))
5823 #t))
5824 (add-after 'unpack 'patch-libgd-fetch
5825 (lambda* (#:key inputs #:allow-other-keys)
5826 (let ((libgd (assoc-ref inputs "libgd")))
5827 ;; Calling git is unnecessary because libgd is fetched as a
5828 ;; native input to this package.
5829 (substitute* "meson.build"
5830 ((".*git.*") ""))
5831 (copy-recursively libgd "subprojects/libgd")
5832 #t)))
5833 (add-after 'install 'wrap-gedit
5834 (lambda* (#:key inputs outputs #:allow-other-keys)
5835 (let ((out (assoc-ref outputs "out"))
5836 (gtksourceview (assoc-ref inputs "gtksourceview"))
5837 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5838 (python-path (getenv "PYTHONPATH")))
5839 (wrap-program (string-append out "/bin/gedit")
5840 ;; For plugins.
5841 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5842 `("PYTHONPATH" ":" prefix (,python-path))
5843 ;; For language-specs.
5844 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5845 "/share")))))
5846 #t)))))
329d731b
DH
5847 (propagated-inputs
5848 `(("dconf" ,dconf)))
5849 (native-inputs
480c9226
KK
5850 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5851 ("intltool" ,intltool)
b3546174 5852 ("itstool" ,itstool)
480c9226 5853 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5854 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5855 ("libgd"
5856 ,(origin
5857 (method git-fetch)
5858 (uri (git-reference
5859 (url "https://gitlab.gnome.org/GNOME/libgd")
5860 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5861 (file-name (git-file-name "libgd" version))
5862 (sha256
5863 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5864 ("pkg-config" ,pkg-config)))
5865 (inputs
5866 `(("glib" ,glib)
0d2df50c 5867 ("gspell" ,gspell)
329d731b 5868 ("gtk+" ,gtk+)
480c9226 5869 ("gtksourceview" ,gtksourceview)
329d731b
DH
5870 ("libpeas" ,libpeas)
5871 ("libxml2" ,libxml2)
329d731b
DH
5872 ("iso-codes" ,iso-codes)
5873 ("python-pygobject" ,python-pygobject)
5874 ("python" ,python)
5875 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5876 ("libx11" ,libx11)
5877 ("vala" ,vala)
5878 ("adwaita-icon-theme" ,adwaita-icon-theme)
5879 ("libsoup" ,libsoup)
5880 ("gnome-desktop" ,gnome-desktop)))
5881 (home-page "https://wiki.gnome.org/Apps/Gedit")
5882 (synopsis "GNOME text editor")
5883 (description "While aiming at simplicity and ease of use, gedit is a
5884powerful general purpose text editor.")
5885 (license license:gpl2+)))
b7179363
SB
5886
5887(define-public zenity
5888 (package
5889 (name "zenity")
4f581bd0 5890 (version "3.32.0")
b7179363
SB
5891 (source (origin
5892 (method url-fetch)
5958df04 5893 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5894 (version-major+minor version) "/"
5958df04 5895 "zenity-" version ".tar.xz"))
b7179363
SB
5896 (sha256
5897 (base32
4f581bd0 5898 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5899 (build-system gnu-build-system)
5900 (native-inputs
b94a6ca0 5901 `(("gettext" ,gettext-minimal)
b7179363
SB
5902 ("itstool" ,itstool)
5903 ("pkg-config" ,pkg-config)))
5904 (inputs
5905 `(("libnotify" ,libnotify)
5906 ("webkitgtk" ,webkitgtk)))
5907 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5908 (home-page "https://www.gnome.org")
b7179363
SB
5909 (description
5910 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5911to display dialog boxes from the commandline and shell scripts.")
5912 (license license:lgpl2.0+)))
60c3627c
SB
5913
5914(define-public mutter
5915 (package
5916 (name "mutter")
edf43f68 5917 (version "3.32.2")
60c3627c 5918 (source (origin
86c44e72
KK
5919 (method url-fetch)
5920 (uri (string-append "mirror://gnome/sources/" name "/"
5921 (version-major+minor version) "/"
5922 name "-" version ".tar.xz"))
60c3627c
SB
5923 (sha256
5924 (base32
edf43f68 5925 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5926 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5927 ;; versions of cogl and clutter. As a result, many of the inputs,
5928 ;; propagated-inputs, and configure flags used in cogl and clutter are
5929 ;; needed here as well.
edf43f68 5930 (build-system meson-build-system)
60c3627c 5931 (arguments
edf43f68
KK
5932 '(;; XXX: All mutter tests fail with the following error:
5933 ;; Settings schema 'org.gnome.mutter' is not installed
5934 #:tests? #f
5935 #:glib-or-gtk? #t
5936 #:configure-flags
5937 ;; Otherwise, the RUNPATH will lack the final path component.
5938 (list (string-append "-Dc_link_args=-Wl,-rpath="
5939 (assoc-ref %outputs "out") "/lib:"
5940 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
5941
5942 ;; The following flags are needed for the bundled clutter
edf43f68 5943 (string-append "-Dxwayland_path="
d633f2f6
RH
5944 (assoc-ref %build-inputs "xorg-server-xwayland")
5945 "/bin/Xwayland")
5946
a88d5a0c 5947 ;; the remaining flags are needed for the bundled cogl
edf43f68 5948 (string-append "-Dopengl_libname="
a88d5a0c 5949 (assoc-ref %build-inputs "mesa")
f23052a6
DC
5950 "/lib/libGL.so"))
5951 #:phases
5952 (modify-phases %standard-phases
edf43f68
KK
5953 (add-after 'unpack 'disable-werror
5954 (lambda _
5955 ;; XXX: build fails with [-Werror]:
5956 ;; backends/meta-cursor-renderer.c:112:5: error:
5957 ;; implicit declaration of function ?roundf?
5958 (substitute* "meson.build"
5959 (("'-Werror=.*',") ""))
5960 #t))
86c44e72
KK
5961 ;; Replace references to systemd libraries to elogind references.
5962 (add-before 'configure 'use-elogind
5963 (lambda _
edf43f68 5964 (substitute* (list "meson.build"
86c44e72
KK
5965 "src/backends/native/meta-launcher.c"
5966 "src/core/main.c")
5967 (("systemd") "elogind"))
5968 #t)))))
60c3627c
SB
5969 (native-inputs
5970 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5971 ("gobject-introspection" ,gobject-introspection)
5972 ("intltool" ,intltool)
f23052a6 5973 ("pkg-config" ,pkg-config)
edf43f68 5974 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
5975 ;; For git build
5976 ("autoconf" ,autoconf)
5977 ("automake" ,automake)
5978 ("libtool" ,libtool)))
60c3627c 5979 (propagated-inputs
a88d5a0c
MW
5980 `(;; libmutter.pc refers to these:
5981 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5982 ("gtk+" ,gtk+)
5983 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
5984 ("atk" ,atk)
5985 ("cairo" ,cairo)
5986 ("gdk-pixbuf" ,gdk-pixbuf)
5987 ("glib" ,glib)
a88d5a0c
MW
5988 ("json-glib" ,json-glib)
5989 ("libinput" ,libinput)
5990 ("libx11" ,libx11)
5991 ("libxcomposite" ,libxcomposite)
5992 ("libxdamage" ,libxdamage)
5993 ("libxext" ,libxext)
5994 ("libxfixes" ,libxfixes)
5995 ("libxkbcommon" ,libxkbcommon)
5996 ("libxrandr" ,libxrandr)
5997 ("mesa" ,mesa)
5998 ("pango" ,pango)
5999 ("udev" ,eudev)
a88d5a0c 6000 ("xinput" ,xinput)))
60c3627c 6001 (inputs
86c44e72
KK
6002 `(("elogind" ,elogind)
6003 ("gnome-desktop" ,gnome-desktop)
edf43f68 6004 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6005 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6006 ("libgudev" ,libgudev)
60c3627c
SB
6007 ("libice" ,libice)
6008 ("libsm" ,libsm)
edf43f68 6009 ("libwacom" ,libwacom)
60c3627c 6010 ("libxkbfile" ,libxkbfile)
a88d5a0c 6011 ("libxrandr" ,libxrandr)
86c44e72 6012 ("libxtst" ,libxtst)
edf43f68 6013 ("pipewire" ,pipewire)
60c3627c
SB
6014 ("startup-notification" ,startup-notification)
6015 ("upower-glib" ,upower)
6016 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6017 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6018 ("zenity" ,zenity)))
6019 (synopsis "Window and compositing manager")
f032d0be 6020 (home-page "https://www.gnome.org")
60c3627c
SB
6021 (description
6022 "Mutter is a window and compositing manager that displays and manages your
6023desktop via OpenGL. Mutter combines a sophisticated display engine using the
6024Clutter toolkit with solid window-management logic inherited from the Metacity
6025window manager.")
86c44e72 6026 (license license:gpl2+)))
685cee87
SB
6027
6028(define-public gnome-online-accounts
6029 (package
6030 (name "gnome-online-accounts")
aa200347 6031 (version "3.32.1")
685cee87
SB
6032 (source (origin
6033 (method url-fetch)
6034 (uri (string-append "mirror://gnome/sources/" name "/"
6035 (version-major+minor version) "/"
6036 name "-" version ".tar.xz"))
6037 (sha256
6038 (base32
aa200347 6039 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6040 (outputs '("out" "lib"))
685cee87 6041 (build-system glib-or-gtk-build-system)
14c297fd
TS
6042 (arguments
6043 `(#:configure-flags
6044 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6045 #:phases
6046 (modify-phases %standard-phases
6047 (add-before 'configure 'patch-libgoa-output
6048 (lambda* (#:key outputs #:allow-other-keys)
6049 (let ((lib (assoc-ref outputs "lib")))
6050 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6051 (("@prefix@") lib)
6052 (("@exec_prefix@") lib)
6053 (("@libdir@") (string-append lib "/lib"))
6054 (("@includedir@") (string-append lib "/include"))
6055 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6056 ;; Make sure gobject-introspection knows about the output
6057 ;; too (see <https://bugs.gnu.org/36535>).
6058 (setenv "outputs" "out lib")
14c297fd 6059 #t))))))
685cee87
SB
6060 (native-inputs
6061 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6062 ("gobject-introspection" ,gobject-introspection)
6063 ("intltool" ,intltool)
6064 ("pkg-config" ,pkg-config)
ebb2873d 6065 ("vala" ,vala)
685cee87
SB
6066 ("xsltproc" ,libxslt)))
6067 (propagated-inputs
6068 `(("glib" ,glib) ; required by goa-1.0.pc
6069 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6070 (inputs
6071 `(("docbook-xsl" ,docbook-xsl)
6072 ("json-glib" ,json-glib)
6073 ("libsecret" ,libsecret)
6074 ("rest" ,rest)
685cee87
SB
6075 ("webkitgtk" ,webkitgtk)))
6076 (synopsis "Single sign-on framework for GNOME")
6077 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6078 (description
6079 "GNOME Online Accounts provides interfaces so that applications and
6080libraries in GNOME can access the user's online accounts. It has providers for
6081Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6082Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6083 (license license:lgpl2.0+)))
df217748
SB
6084
6085(define-public evolution-data-server
6086 (package
6087 (name "evolution-data-server")
2196a8d4 6088 (version "3.32.4")
df217748
SB
6089 (source (origin
6090 (method url-fetch)
6091 (uri (string-append "mirror://gnome/sources/" name "/"
6092 (version-major+minor version) "/"
6093 name "-" version ".tar.xz"))
e1f174ae 6094 (patches (search-patches "evolution-data-server-locales.patch"))
df217748
SB
6095 (sha256
6096 (base32
2196a8d4 6097 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6098 (build-system cmake-build-system)
df217748 6099 (arguments
b468eedc
RW
6100 '(#:configure-flags
6101 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6102 (runpaths (map (lambda (s)
6103 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6104 '("addressbook-backends" "calendar-backends"
6105 "camel-providers" "credential-modules"
6106 "registry-modules"))))
6107 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6108 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6109 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6110 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6111 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6112 (string-append lib "/evolution-data-server;")
6113 (string-join runpaths ";"))
6114 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6115 #:phases
6116 (modify-phases %standard-phases
b468eedc
RW
6117 (add-after 'unpack 'disable-failing-tests
6118 (lambda _
6119 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6120 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6121 (delete-file-recursively "tests/book-migration")
6122 (substitute* "tests/CMakeLists.txt"
6123 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6124 ;; tests/libebook/client/test-book-client-view-operations:8077):
6125 ;; e-data-server-WARNING **:
6126 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6127 ;; runtime check failed:
6128 ;; (!g_main_context_pending (closure->main_context))
6129 (substitute* "tests/libebook/client/CMakeLists.txt"
6130 (("test-book-client-view-operations") ""))
b468eedc 6131 #t))
743aebd7 6132 (add-after 'unpack 'patch-paths
df217748 6133 (lambda _
b468eedc
RW
6134 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6135 "tests/libedata-book/data-test-utils.c"
6136 "tests/libedata-book/test-book-cache-utils.c"
6137 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6138 (("/bin/rm") (which "rm")))
ac033c7b
MB
6139 #t))
6140 (add-before 'configure 'dont-override-rpath
6141 (lambda _
6142 (substitute* "CMakeLists.txt"
6143 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6144 ;; Remove it so the configure flag is respected.
6145 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6146 #t)))))
df217748
SB
6147 (native-inputs
6148 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6149 ("gobject-introspection" ,gobject-introspection)
6150 ("gperf" ,gperf)
6151 ("intltool" ,intltool)
6152 ("pkg-config" ,pkg-config)
a73c1cf8 6153 ("vala" ,vala)
743aebd7 6154 ("python" ,python-wrapper)))
df217748
SB
6155 (propagated-inputs
6156 ;; These are all in the Requires field of .pc files.
6157 `(("gtk+" ,gtk+)
6158 ("libical" ,libical)
6159 ("libsecret" ,libsecret)
6160 ("libsoup" ,libsoup)
6161 ("nss" ,nss)
6162 ("sqlite" ,sqlite)))
6163 (inputs
6164 `(("bdb" ,bdb)
6165 ("gcr" ,gcr)
14c297fd 6166 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6167 ("json-glib" ,json-glib)
b468eedc 6168 ("libcanberra" ,libcanberra)
743aebd7
MB
6169 ("libgweather" ,libgweather)
6170 ("mit-krb5" ,mit-krb5)
891199c6
MW
6171 ("openldap" ,openldap)
6172 ("webkitgtk" ,webkitgtk)))
df217748
SB
6173 (synopsis "Store address books and calendars")
6174 (home-page "https://wiki.gnome.org/Apps/Evolution")
6175 (description
6176 "This package provides a unified backend for programs that work with
6177contacts, tasks, and calendar information. It was originally developed for
6178Evolution (hence the name), but is now used by other packages as well.")
6179 (license license:lgpl2.0)))
bd7dfafa
SB
6180
6181(define-public caribou
6182 (package
6183 (name "caribou")
fe964bb5 6184 (version "0.4.21")
bd7dfafa
SB
6185 (source (origin
6186 (method url-fetch)
6187 (uri (string-append "mirror://gnome/sources/" name "/"
6188 (version-major+minor version) "/"
6189 name "-" version ".tar.xz"))
6190 (sha256
6191 (base32
fe964bb5 6192 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6193 (build-system glib-or-gtk-build-system)
6194 (arguments
6195 '(#:phases
6196 (modify-phases %standard-phases
6197 (add-before
6198 'build 'pre-build
6199 (lambda* (#:key outputs #:allow-other-keys)
6200 (let ((out (assoc-ref outputs "out")))
6201 ;; Use absolute shared library path in Caribou-1.0.typelib.
6202 (substitute* "libcaribou/Makefile"
6203 (("--shared-library=libcaribou.so")
6204 (string-append "--shared-library="
6205 out "/lib/libcaribou.so")))
6206 #t)))
6207 (add-after 'install 'wrap-programs
6208 (lambda* (#:key outputs #:allow-other-keys)
6209 (let* ((out (assoc-ref outputs "out"))
6210 (python-path (getenv "PYTHONPATH"))
6211 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6212 (for-each
6213 (lambda (prog)
6214 (wrap-program prog
6215 `("PYTHONPATH" ":" prefix (,python-path))
6216 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6217 (list (string-append out "/bin/caribou-preferences")
6218 (string-append out "/libexec/antler-keyboard"))))
6219 #t)))))
6220 (native-inputs
6221 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6222 ("gobject-introspection" ,gobject-introspection)
6223 ("intltool" ,intltool)
6224 ("pkg-config" ,pkg-config)
6225 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
6226 ("vala" ,vala)
6227 ("xsltproc" ,libxslt)))
6228 (propagated-inputs
6229 ;; caribou-1.0.pc refers to all these.
6230 `(("libgee" ,libgee)
6231 ("libxklavier" ,libxklavier)
6232 ("libxtst" ,libxtst)
6233 ("gtk+" ,gtk+)))
6234 (inputs
6235 `(("clutter" ,clutter)
6236 ("dconf" ,dconf)
6237 ("gtk+-2" ,gtk+-2)
6238 ("python-pygobject" ,python2-pygobject)))
6239 (synopsis "Text entry and UI navigation application")
6240 (home-page "https://wiki.gnome.org/Projects/Caribou")
6241 (description
6242 "Caribou is an input assistive technology intended for switch and pointer
6243users.")
6244 (license license:lgpl2.1)))
ba5dd105 6245
ba5dd105
SB
6246(define-public network-manager
6247 (package
6248 (name "network-manager")
6425d87a 6249 (version "1.18.4")
ba5dd105
SB
6250 (source (origin
6251 (method url-fetch)
6252 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6253 (version-major+minor version) "/"
6254 "NetworkManager-" version ".tar.xz"))
7d1861e2 6255 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6256 (sha256
6257 (base32
6425d87a 6258 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6259 (modules '((guix build utils)))
fd070f35 6260 (snippet
02710a9b
RW
6261 '(begin
6262 (substitute* "src/devices/wwan/nm-modem-manager.c"
6263 (("systemd") "elogind"))
6264 #t))))
ba5dd105
SB
6265 (build-system gnu-build-system)
6266 (outputs '("out"
6267 "doc")) ; 8 MiB of gtk-doc HTML
6268 (arguments
6269 '(#:configure-flags
6270 (let ((out (assoc-ref %outputs "out"))
6271 (doc (assoc-ref %outputs "doc"))
6272 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6273 "/sbin/dhclient")))
02710a9b
RW
6274 (list "--with-libnm-glib" ; needed by network-manager-applet
6275 "--with-systemd-journal=no"
6276 "--with-session-tracking=elogind"
6277 "--with-suspend-resume=elogind"
fd070f35
CM
6278 "--with-consolekit=no"
6279 "--with-crypto=gnutls"
ba5dd105
SB
6280 "--disable-config-plugin-ibft"
6281 "--sysconfdir=/etc"
6282 "--localstatedir=/var"
6283 (string-append "--with-udev-dir="
6284 out "/lib/udev")
6285 (string-append "--with-dbus-sys-dir="
6286 out "/etc/dbus-1/system.d")
6287 (string-append "--with-html-dir="
6288 doc "/share/gtk-doc/html")
6289 (string-append "--with-dhclient=" dhclient)))
6290 #:phases
6291 (modify-phases %standard-phases
02710a9b
RW
6292 ;; This bare "ls" invocation breaks some tests.
6293 (add-after 'unpack 'patch-ls-invocation
6294 (lambda _
6295 (substitute* "build-aux/ltmain.sh"
6296 (("`ls -")
6297 (string-append "`" (which "ls") " -")))
6298 #t))
b4f59d87
AW
6299 (add-before 'configure 'pre-configure
6300 (lambda _
6301 ;; These tests try to test aspects of network-manager's
6302 ;; functionality within restricted containers, but they don't
6303 ;; cope with being already in the Guix build jail as that jail
6304 ;; lacks some features that they would like to proxy over (like
6305 ;; a /sys mount).
d04687dc
HG
6306 (substitute* '("Makefile.in")
6307 (("src/platform/tests/test-address-linux") " ")
6308 (("src/platform/tests/test-cleanup-linux") " ")
6309 (("src/platform/tests/test-link-linux") " ")
6310 (("src/platform/tests/test-route-linux") " ")
02710a9b 6311 (("src/devices/tests/test-acd") "")
d04687dc
HG
6312 (("src/devices/tests/test-arping") " ")
6313 (("src/devices/tests/test-lldp") " ")
6314 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6315 #t))
45f80fce
RW
6316 (add-after 'unpack 'delete-failing-tests
6317 (lambda _
02710a9b 6318 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6319 ;; ERROR:libnm-core/tests/test-general.c:5842:
6320 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6321 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6322 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6323 ;; ERROR:libnm-core/tests/test-setting.c:907:
6324 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6325 (substitute* "Makefile.in"
6326 (("libnm-core/tests/test-general") " ")
6327 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6328 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6329 #t))
ba5dd105
SB
6330 (add-before 'check 'pre-check
6331 (lambda _
6332 ;; For the missing /etc/machine-id.
6333 (setenv "DBUS_FATAL_WARNINGS" "0")
6334 #t))
6335 (replace 'install
6336 (lambda _
45f80fce
RW
6337 (invoke "make"
6338 "sysconfdir=/tmp"
6339 "rundir=/tmp"
6340 "statedir=/tmp"
6341 "nmstatedir=/tmp/nm"
6342 "install")
6343 #t)))))
b93502d6
DC
6344 (propagated-inputs
6345 `(("glib" ,glib)))
ba5dd105
SB
6346 (native-inputs
6347 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6348 ("gobject-introspection" ,gobject-introspection)
d04687dc 6349 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6350 ("intltool" ,intltool)
d04687dc
HG
6351 ("libxslt" ,libxslt)
6352 ("libxml2" ,libxml2)
ba5dd105
SB
6353 ("pkg-config" ,pkg-config)
6354 ;; For testing.
6355 ("python" ,python-wrapper)
6356 ("python-dbus" ,python-dbus)
6357 ("python-pygobject" ,python-pygobject)))
6358 (inputs
02710a9b
RW
6359 `(("coreutils" ,coreutils) ; for ls
6360 ("curl" ,curl)
856ca567
KK
6361 ("cyrus-sasl" ,cyrus-sasl)
6362 ("dbus-glib" ,dbus-glib)
ba5dd105 6363 ("dnsmasq" ,dnsmasq)
856ca567 6364 ("eudev" ,eudev)
ba5dd105
SB
6365 ("gnutls" ,gnutls)
6366 ("iptables" ,iptables)
6367 ("isc-dhcp" ,isc-dhcp)
d04687dc 6368 ("jansson" ,jansson)
ba5dd105
SB
6369 ("libgcrypt" ,libgcrypt)
6370 ("libgudev" ,libgudev)
6371 ("libndp" ,libndp)
6372 ("libnl" ,libnl)
6373 ("libsoup" ,libsoup)
142bdcbc 6374 ("modem-manager" ,modem-manager)
c27e02bf 6375 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6376 ("polkit" ,polkit)
6377 ("ppp" ,ppp)
6378 ("readline" ,readline)
fd070f35
CM
6379 ("util-linux" ,util-linux)
6380 ("elogind" ,elogind)))
ba5dd105 6381 (synopsis "Network connection manager")
f032d0be 6382 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6383 (description
6384 "NetworkManager is a system network service that manages your network
6385devices and connections, attempting to keep active network connectivity when
6386available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6387devices, and provides VPN integration with a variety of different VPN
6388services.")
29d2f451
LC
6389 (license license:gpl2+)
6390 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6391
f2b96b3a
LC
6392(define-public network-manager-openvpn
6393 (package
6394 (name "network-manager-openvpn")
be1c4b07 6395 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6396 (version "1.8.10")
f2b96b3a
LC
6397 (source (origin
6398 (method url-fetch)
6399 (uri (string-append
6400 "mirror://gnome/sources/NetworkManager-openvpn/"
6401 (version-major+minor version)
6402 "/NetworkManager-openvpn-" version ".tar.xz"))
6403 (sha256
6404 (base32
7d87eede 6405 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6406 (build-system gnu-build-system)
6407 (arguments
633422b0
JL
6408 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6409 #:phases
6410 (modify-phases %standard-phases
6411 (add-after 'configure 'patch-path
6412 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6413 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6414 "/sbin/openvpn"))
6415 (modprobe (string-append (assoc-ref inputs "kmod")
6416 "/bin/modprobe"))
6417 (pretty-ovpn (string-append "\"" ovpn "\"")))
6418 (for-each
6419 (lambda (file)
6420 (substitute* file
6421 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6422 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6423 (("\"/sbin/openvpn\"") pretty-ovpn)
6424 (("/sbin/modprobe") modprobe)))
6425 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6426 #t)))))
f2b96b3a
LC
6427 (native-inputs
6428 `(("pkg-config" ,pkg-config)
6429 ("intltool" ,intltool)))
6430 (inputs
6431 `(("gtk+" ,gtk+)
633422b0 6432 ("kmod" ,kmod)
f2b96b3a
LC
6433 ("openvpn" ,openvpn)
6434 ("network-manager" ,network-manager)
6435 ("network-manager-applet" ,network-manager-applet) ;for libnma
6436 ("libsecret" ,libsecret)))
6437 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6438 (synopsis "OpenVPN plug-in for NetworkManager")
6439 (description
6440 "This extension of NetworkManager allows it to take care of connections
6441to virtual private networks (VPNs) via OpenVPN.")
6442 (license license:gpl2+)
6443 (properties `((upstream-name . "NetworkManager-openvpn")))))
6444
d376129f
JL
6445(define-public network-manager-vpnc
6446 (package
6447 (name "network-manager-vpnc")
6448 (version "1.2.6")
6449 (source (origin
6450 (method url-fetch)
6451 (uri (string-append
6452 "mirror://gnome/sources/NetworkManager-vpnc/"
6453 (version-major+minor version)
6454 "/NetworkManager-vpnc-" version ".tar.xz"))
6455 (sha256
6456 (base32
6457 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6458 (build-system gnu-build-system)
6459 (arguments
6460 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6461 #:phases
6462 (modify-phases %standard-phases
6463 (add-after 'configure 'patch-path
6464 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6465 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6466 "/sbin/vpnc"))
6467 (modprobe (string-append (assoc-ref inputs "kmod")
6468 "/bin/modprobe"))
6469 (pretty-ovpn (string-append "\"" vpnc "\"")))
6470 (substitute* "src/nm-vpnc-service.c"
6471 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6472 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6473 (("\"/sbin/vpnc\"") pretty-ovpn)
6474 (("/sbin/modprobe") modprobe)))
6475 #t)))))
6476 (native-inputs
6477 `(("pkg-config" ,pkg-config)
6478 ("intltool" ,intltool)))
6479 (inputs
6480 `(("gtk+" ,gtk+)
6481 ("kmod" ,kmod)
6482 ("vpnc" ,vpnc)
6483 ("network-manager" ,network-manager)
6484 ("network-manager-applet" ,network-manager-applet) ;for libnma
6485 ("libsecret" ,libsecret)))
6486 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6487 (synopsis "VPNC plug-in for NetworkManager")
6488 (description
6489 "Support for configuring virtual private networks based on VPNC.
6490Compatible with Cisco VPN concentrators configured to use IPsec.")
6491 (license license:gpl2+)
6492 (properties `((upstream-name . "NetworkManager-vpnc")))))
6493
8378c87a
EF
6494(define-public network-manager-openconnect
6495 (package
6496 (name "network-manager-openconnect")
6497 (version "1.2.6")
6498 (source (origin
6499 (method url-fetch)
6500 (uri (string-append
6501 "mirror://gnome/sources/NetworkManager-openconnect/"
6502 (version-major+minor version)
6503 "/NetworkManager-openconnect-" version ".tar.xz"))
6504 (sha256
6505 (base32
6506 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6507 (build-system gnu-build-system)
6508 (arguments
6509 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6510 #:phases
6511 (modify-phases %standard-phases
6512 (add-after 'configure 'patch-path
6513 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6514 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6515 "/sbin/openconnect"))
6516 (modprobe (string-append (assoc-ref inputs "kmod")
6517 "/bin/modprobe"))
6518 (pretty-ovpn (string-append "\"" openconnect "\"")))
6519 (substitute* "src/nm-openconnect-service.c"
6520 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6521 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6522 (("/sbin/modprobe") modprobe)))
6523 #t)))))
6524 (native-inputs
6525 `(("intltool" ,intltool)
6526 ("network-manager-applet" ,network-manager-applet) ;for libnma
6527 ("pkg-config" ,pkg-config)))
6528 (inputs
6529 `(("gcr" ,gcr)
6530 ("gtk+" ,gtk+)
6531 ("kmod" ,kmod)
6532 ("libsecret" ,libsecret)
6533 ("libxml2" ,libxml2)
6534 ("network-manager" ,network-manager)
6535 ("openconnect" ,openconnect)))
6536 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6537 (synopsis "OpenConnect plug-in for NetworkManager")
6538 (description
6539 "This extension of NetworkManager allows it to take care of connections
6540to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6541Cisco's AnyConnect SSL VPN.")
6542 (license license:gpl2+)
e52b9534
LC
6543 (properties `((upstream-name . "NetworkManager-openconnect")
6544
6545 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6546 ;; file refers to account "nm-openconnect". Specify it here
6547 ;; so that 'network-manager-service-type' creates it.
6548 (user-accounts . ("nm-openconnect"))))))
8378c87a 6549
e5e1df4d
DC
6550(define-public mobile-broadband-provider-info
6551 (package
6552 (name "mobile-broadband-provider-info")
310c89e3 6553 (version "20190116")
e5e1df4d
DC
6554 (source (origin
6555 (method url-fetch)
6556 (uri (string-append
6557 "mirror://gnome/sources/"
6558 "mobile-broadband-provider-info/" version "/"
6559 "mobile-broadband-provider-info-" version ".tar.xz"))
6560 (sha256
6561 (base32
310c89e3 6562 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6563 (build-system gnu-build-system)
6564 (arguments
310c89e3 6565 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6566 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6567 (synopsis "Database of broadband connection configuration")
6568 (description "Database of broadband connection configuration.")
6569 (license license:public-domain)))
6570
4d62a9d3
SB
6571(define-public network-manager-applet
6572 (package
6573 (name "network-manager-applet")
8fc3a337 6574 (version "1.8.24")
4d62a9d3
SB
6575 (source (origin
6576 (method url-fetch)
3df63444 6577 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6578 (version-major+minor version) "/"
3df63444 6579 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6580 (sha256
6581 (base32
8fc3a337 6582 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6583 (build-system meson-build-system)
6584 (arguments
be1c4b07
TGR
6585 '(#:configure-flags
6586 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6587 (list "-Dlibnm_gtk=true")
6588 #:glib-or-gtk? #t))
4d62a9d3
SB
6589 (native-inputs
6590 `(("intltool" ,intltool)
cd7f718e 6591 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6592 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6593 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6594 ("pkg-config" ,pkg-config)))
6595 (propagated-inputs
6596 ;; libnm-gtk.pc refers to all these.
6597 `(("dbus-glib" ,dbus-glib)
6598 ("gtk+" ,gtk+)
6599 ("network-manager" ,network-manager)))
6600 (inputs
cd7f718e
RW
6601 `(("gcr" ,gcr)
6602 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6603 ("libgudev" ,libgudev)
6604 ("libnotify" ,libnotify)
2116bfb3 6605 ("libsecret" ,libsecret)
240cee8a
KK
6606 ("libselinux" ,libselinux)
6607 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6608 ("modem-manager" ,modem-manager)
6609 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6610 (synopsis "Applet for managing network connections")
f032d0be 6611 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6612 (description
6613 "This package contains a systray applet for NetworkManager. It displays
6614the available networks and allows users to easily switch between them.")
6615 (license license:gpl2+)))
56196594
RW
6616
6617(define-public libxml++
6618 (package
6619 (name "libxml++")
8344a85e 6620 (version "3.0.1")
56196594
RW
6621 (source (origin
6622 (method url-fetch)
6623 (uri (string-append "mirror://gnome/sources/" name "/"
6624 (version-major+minor version) "/"
6625 name "-" version ".tar.xz"))
6626 (sha256
6627 (base32
8344a85e 6628 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6629 (build-system gnu-build-system)
6630 ;; libxml++-3.0.pc refers to all these.
6631 (propagated-inputs
6632 `(("libxml2" ,libxml2)
6633 ("glibmm" ,glibmm)))
6634 (native-inputs
6635 `(("perl" ,perl)
6636 ("pkg-config" ,pkg-config)))
6637 (home-page "http://libxmlplusplus.sourceforge.net/")
6638 (synopsis "C++ wrapper for XML parser library libxml2")
6639 (description
6640 "This package provides a C++ wrapper for the XML parser library
6641libxml2.")
6642 (license license:lgpl2.1+)))
df12f04a 6643
b61d9627
AW
6644(define-public libxml++-2
6645 (package
6646 (inherit libxml++)
6647 (name "libxml++")
6648 (version "2.40.1")
6649 (source (origin
6650 (method url-fetch)
6651 (uri (string-append "mirror://gnome/sources/" name "/"
6652 (version-major+minor version) "/"
6653 name "-" version ".tar.xz"))
6654 (sha256
6655 (base32
6656 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6657
df12f04a
SB
6658(define-public gdm
6659 (package
6660 (name "gdm")
bcca95dc 6661 (version "3.32.0")
df12f04a
SB
6662 (source (origin
6663 (method url-fetch)
6664 (uri (string-append "mirror://gnome/sources/" name "/"
6665 (version-major+minor version) "/"
6666 name "-" version ".tar.xz"))
6667 (sha256
6668 (base32
bcca95dc 6669 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6670 (build-system glib-or-gtk-build-system)
df12f04a
SB
6671 (arguments
6672 '(#:configure-flags
af37e6bb 6673 `("--without-plymouth"
957dbc0a 6674 "--disable-systemd-journal"
51bc8357
TS
6675
6676 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6677 ;; instead of having to replace it (i.e., stopping the mingetty
6678 ;; service for TTY 1 before starting GDM).
6679 "--with-initial-vt=7"
6680
89c86562
TS
6681 ;; Use '/etc/environment' for locale settings instead of the
6682 ;; systemd-specific '/etc/locale.conf'.
6683 "--with-lang-file=/etc/environment"
6684
b74ef0ba
RW
6685 ,(string-append "--with-udevdir="
6686 (assoc-ref %outputs "out") "/lib/udev")
6687
af37e6bb
AW
6688 "--localstatedir=/var"
6689 ,(string-append "--with-default-path="
6690 (string-join '("/run/setuid-programs"
6691 "/run/current-system/profile/bin"
6692 "/run/current-system/profile/sbin")
957dbc0a
AW
6693 ":"))
6694 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6695 ;; XDG_DATA_DIRS so that it finds its schemas.
6696 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6697 #:phases
6698 (modify-phases %standard-phases
6699 (add-before
6700 'configure 'pre-configure
e8c6e771 6701 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6702 ;; We don't have <systemd/sd-daemon.h>.
6703 (substitute* '("common/gdm-log.c"
6704 "daemon/gdm-server.c"
6705 "daemon/gdm-session-worker.c"
6706 "daemon/gdm-session-worker-job.c")
6707 (("#include <systemd/sd-daemon\\.h>") ""))
6708 ;; Use elogind for sd-login.
6709 (substitute* '("common/gdm-common.c"
6710 "daemon/gdm-manager.c"
6711 "libgdm/gdm-user-switching.c")
6712 (("#include <systemd/sd-login\\.h>")
6713 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6714 ;; Check for elogind.
6715 (substitute* '("configure")
6716 (("libsystemd")
6717 "libelogind"))
af37e6bb
AW
6718 ;; Look for system-installed sessions in
6719 ;; /run/current-system/profile/share.
6720 (substitute* '("libgdm/gdm-sessions.c"
6721 "daemon/gdm-session.c"
6722 "daemon/gdm-display.c"
6723 "daemon/gdm-launch-environment.c")
6724 (("DATADIR \"/x")
6725 "\"/run/current-system/profile/share/x")
6726 (("DATADIR \"/wayland")
6727 "\"/run/current-system/profile/share/wayland")
6728 (("DATADIR \"/gnome")
6729 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6730 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6731 "GDM_DBUS_DAEMON"
c9ff92b5 6732 "GDM_X_SERVER"
41fa9f18 6733 "GDM_X_SESSION"
c9ff92b5
TS
6734 ;; XXX: Remove this once GNOME Shell is
6735 ;; a dependency of GDM.
6736 "XDG_DATA_DIRS")))
6737 (substitute* "daemon/gdm-session.c"
6738 (("set_up_session_environment \\(self\\);")
6739 (apply string-append
6740 "set_up_session_environment (self);\n"
6741 (map (lambda (name)
6742 (string-append
6743 "gdm_session_set_environment_variable "
6744 "(self, \"" name "\","
6745 "g_getenv (\"" name "\"));\n"))
6746 propagate)))))
a430a350
TS
6747 ;; Find the configuration file using an environment variable.
6748 (substitute* '("common/gdm-settings.c")
e0e6756f 6749 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6750 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6751 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6752 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6753 ;; Use service-supplied path to X.
6754 (substitute* '("daemon/gdm-server.c")
6755 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6756 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6757 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6758 (("\"dbus-daemon\"")
6759 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6760 (("X_SERVER")
41fa9f18
TS
6761 "g_getenv (\"GDM_X_SERVER\")")
6762 (("GDMCONFDIR \"/Xsession\"")
6763 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6764 ;; Use an absolute path for GNOME Session.
6765 (substitute* "daemon/gdm-launch-environment.c"
6766 (("\"gnome-session\"")
6767 (string-append "\"" (assoc-ref inputs "gnome-session")
6768 "/bin/gnome-session\"")))
e8c6e771
TS
6769 ;; Do not automatically select the placeholder session.
6770 (substitute* "daemon/gdm-session.c"
6771 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6772 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6773 "(g_strcmp0(search_dirs[i], \""
6774 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6775 "\") == 0 && "
6776 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6777 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6778 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6779 #t))
8caa4589
TS
6780 ;; GDM requires that there be at least one desktop entry
6781 ;; file. This phase installs a hidden one that simply
6782 ;; fails. This enables users to use GDM with a
6783 ;; '~/.xsession' script with no other desktop entry files.
6784 ;; See <https://bugs.gnu.org/35068>.
6785 (add-after 'install 'install-placeholder-desktop-entry
6786 (lambda* (#:key inputs outputs #:allow-other-keys)
6787 (let* ((out (assoc-ref outputs "out"))
6788 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6789 (fail (string-append sessions "/fail.desktop")))
6790 (mkdir-p sessions)
6791 (with-output-to-file fail
6792 (lambda ()
6793 (for-each
6794 display
6795 '("[Desktop Entry]\n"
6796 "Encoding=UTF-8\n"
6797 "Type=Application\n"
6798 "Name=Fail\n"
6799 "Comment=This session fails immediately.\n"
6800 "NoDisplay=true\n"
6801 "Exec=false\n"))))
6802 #t)))
69544798
TS
6803 ;; GDM needs GNOME Session to run these applications. We link
6804 ;; their autostart files in `share/gdm/greeter/autostart'
6805 ;; because GDM explicitly tells GNOME Session to look there.
6806 ;;
6807 ;; XXX: GNOME Shell should be linked here too, but currently
6808 ;; GNOME Shell depends on GDM.
6809 (add-after 'install 'link-autostart-files
6810 (lambda* (#:key inputs outputs #:allow-other-keys)
6811 (let* ((out (assoc-ref outputs "out"))
6812 (autostart (string-append out "/share/gdm/"
6813 "greeter/autostart"))
6814 (settings (assoc-ref inputs "gnome-settings-daemon")))
6815 (mkdir-p autostart)
6816 (with-directory-excursion autostart
6817 (for-each (lambda (desktop)
6818 (symlink desktop (basename desktop)))
6819 (find-files (string-append settings "/etc/xdg"))))
6820 #t))))))
df12f04a
SB
6821 (native-inputs
6822 `(("dconf" ,dconf)
6823 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6824 ("gobject-introspection" ,gobject-introspection)
6825 ("intltool" ,intltool)
6826 ("itstool" ,itstool)
6827 ("pkg-config" ,pkg-config)
6828 ("xmllint" ,libxml2)))
6829 (inputs
6830 `(("accountsservice" ,accountsservice)
6831 ("check" ,check) ; for testing
6832 ("elogind" ,elogind)
def6d6b6 6833 ("gnome-session" ,gnome-session)
69544798 6834 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6835 ("gtk+" ,gtk+)
6836 ("iso-codes" ,iso-codes)
6837 ("libcanberra" ,libcanberra)
6838 ("linux-pam" ,linux-pam)))
6839 (synopsis "Display manager for GNOME")
f032d0be 6840 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6841 (description
6842 "GNOME Display Manager is a system service that is responsible for
6843providing graphical log-ins and managing local and remote displays.")
6844 (license license:gpl2+)))
8e1dd04f
SB
6845
6846(define-public libgtop
6847 (package
6848 (name "libgtop")
015fc036 6849 (version "2.40.0")
8e1dd04f
SB
6850 (source (origin
6851 (method url-fetch)
59487fc2 6852 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6853 (version-major+minor version) "/"
59487fc2 6854 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6855 (sha256
6856 (base32
015fc036 6857 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6858 (build-system gnu-build-system)
6859 (native-inputs
6860 `(("gobject-introspection" ,gobject-introspection)
6861 ("intltool" ,intltool)
6862 ("perl" ,perl)
6863 ("pkg-config" ,pkg-config)))
6864 (propagated-inputs
6865 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6866 (synopsis "Portable system access library")
6867 (home-page "https://www.gnome.org/")
6868 (description
6869 "LibGTop is a library to get system specific data such as CPU and memory
6870usage and information about running processes.")
6871 (license license:gpl2+)))
b96c4260
SB
6872
6873(define-public gnome-bluetooth
6874 (package
6875 (name "gnome-bluetooth")
723afae6 6876 (version "3.32.1")
b96c4260
SB
6877 (source (origin
6878 (method url-fetch)
6879 (uri (string-append "mirror://gnome/sources/" name "/"
6880 (version-major+minor version) "/"
6881 name "-" version ".tar.xz"))
6882 (sha256
6883 (base32
723afae6 6884 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6885 (build-system meson-build-system)
b96c4260
SB
6886 (native-inputs
6887 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6888 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6889 ("gobject-introspection" ,gobject-introspection)
6890 ("intltool" ,intltool)
6891 ("pkg-config" ,pkg-config)
6892 ("xmllint" ,libxml2)))
6893 (propagated-inputs
6894 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6895 `(("glib" ,glib)
6896 ("gtk+" ,gtk+)))
b96c4260 6897 (inputs
723afae6
KK
6898 `(("eudev" ,eudev)
6899 ("libcanberra" ,libcanberra)
b96c4260
SB
6900 ("libnotify" ,libnotify)))
6901 (synopsis "GNOME Bluetooth subsystem")
6902 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6903 (description
6904 "This package contains tools for managing and manipulating Bluetooth
6905devices using the GNOME desktop.")
6906 (license license:lgpl2.1+)))
b645146f
SB
6907
6908(define-public gnome-control-center
6909 (package
6910 (name "gnome-control-center")
a6938bac 6911 (version "3.32.2")
b645146f
SB
6912 (source (origin
6913 (method url-fetch)
6914 (uri (string-append "mirror://gnome/sources/" name "/"
6915 (version-major+minor version) "/"
6916 name "-" version ".tar.xz"))
6917 (sha256
6918 (base32
a6938bac 6919 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6920 (build-system meson-build-system)
b645146f 6921 (arguments
59dac026
RW
6922 '(#:glib-or-gtk? #t
6923 #:configure-flags
64c70430
KK
6924 (list "-Dcheese=false"
6925 (string-append "-Dgnome_session_libexecdir="
6926 (assoc-ref %build-inputs "gnome-session")
6927 "/libexec"))
59dac026 6928 #:phases
b645146f
SB
6929 (modify-phases %standard-phases
6930 (add-before 'configure 'patch-paths
6931 (lambda* (#:key inputs #:allow-other-keys)
6932 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6933 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6934 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6935 (nm-applet (assoc-ref inputs "network-manager-applet"))
6936 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6937 (substitute* "panels/datetime/tz.h"
6938 (("/usr/share/zoneinfo/zone.tab")
6939 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6940 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6941 (("/usr/share/locale")
6942 (string-append libc "/share/locale")))
1df38cfc
LC
6943 (substitute* "panels/region/cc-region-panel.c"
6944 (("\"gkbd-keyboard-display")
6945 (string-append "\"" libgnomekbd
6946 "/bin/gkbd-keyboard-display")))
341225ac
LC
6947 (substitute* '("panels/network/net-device-wifi.c"
6948 "panels/network/net-device.c"
6949 "panels/network/connection-editor/net-connection-editor.c")
6950 (("\"nm-connection-editor")
6951 (string-append "\"" nm-applet
6952 "/bin/nm-connection-editor")))
1acd107c
FP
6953 (substitute* '("panels/user-accounts/run-passwd.c")
6954 (("/usr/bin/passwd")
6955 "/run/setuid-programs/passwd"))
64c70430
KK
6956 (substitute* "panels/info/cc-info-overview-panel.c"
6957 (("DATADIR \"/gnome/gnome-version.xml\"")
6958 (string-append "\"" gnome-desktop
6959 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
6960 #t))))))
6961 (native-inputs
6962 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 6963 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
6964 ("intltool" ,intltool)
6965 ("pkg-config" ,pkg-config)
a6938bac
KK
6966 ("xsltproc" ,libxslt)
6967 ;; For tests
6968 ("hicolor-icon-theme" ,hicolor-icon-theme)
6969 ("python-dbusmock" ,python-dbusmock)
6970 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
6971 (inputs
6972 `(("accountsservice" ,accountsservice)
6973 ("clutter-gtk" ,clutter-gtk)
6974 ("colord-gtk" ,colord-gtk)
6975 ("cups" ,cups)
6976 ("dconf" ,dconf)
6977 ("docbook-xsl" ,docbook-xsl)
3446ffb5 6978 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
6979 ("gnome-bluetooth" ,gnome-bluetooth)
6980 ("gnome-desktop" ,gnome-desktop)
6981 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 6982 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 6983 ("gnome-session" ,gnome-session)
b645146f
SB
6984 ("gnome-settings-daemon" ,gnome-settings-daemon)
6985 ("grilo" ,grilo)
a6938bac 6986 ("gsound" ,gsound)
b645146f
SB
6987 ("ibus" ,ibus)
6988 ("libcanberra" ,libcanberra)
1df38cfc 6989 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
6990 ("libgudev" ,libgudev)
6991 ("libgtop" ,libgtop)
6992 ("libpwquality" ,libpwquality)
982c0b36 6993 ("libsecret" ,libsecret)
b645146f
SB
6994 ("libsoup" ,libsoup)
6995 ("libxml2" ,libxml2)
6996 ("libwacom" ,libwacom)
6997 ("mesa" ,mesa)
6998 ("mit-krb5" ,mit-krb5)
6999 ("modem-manager" ,modem-manager)
7000 ("network-manager-applet" ,network-manager-applet)
7001 ("polkit" ,polkit)
7002 ("pulseaudio" ,pulseaudio)
7003 ("smbclient" ,samba)
7004 ("tzdata" ,tzdata)
982c0b36 7005 ("udisks" ,udisks)
b645146f
SB
7006 ("upower" ,upower)))
7007 (synopsis "Utilities to configure the GNOME desktop")
7008 (home-page "https://www.gnome.org/")
7009 (description
7010 "This package contains configuration applets for the GNOME desktop,
7011allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7012properties, sound setup, desktop theme and background, user interface
7013properties, screen resolution, and other GNOME parameters.")
7014 (license license:gpl2+)))
a4df5756
SB
7015
7016(define-public gnome-shell
7017 (package
7018 (name "gnome-shell")
d5e615ca 7019 (version "3.32.2")
a4df5756
SB
7020 (source (origin
7021 (method url-fetch)
7022 (uri (string-append "mirror://gnome/sources/" name "/"
7023 (version-major+minor version) "/"
7024 name "-" version ".tar.xz"))
7025 (sha256
7026 (base32
d5e615ca 7027 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7028 (patches (search-patches "gnome-shell-theme.patch"))
7029 (modules '((guix build utils)))
7030 (snippet
7031 #~(begin
a76d0f03
LC
7032 ;; Copy images for use on the GDM log-in screen.
7033 (copy-file #$(file-append %artwork-repository
7034 "/slim/0.x/background.png")
7035 "data/theme/guix-background.png")
45fef894
LC
7036 (copy-file #$(file-append %artwork-repository
7037 "/logo/Guix-horizontal-white.svg")
7038 "data/theme/guix-logo.svg")
a76d0f03 7039 #t))))
2b0c755d 7040 (build-system meson-build-system)
a4df5756 7041 (arguments
08185081
MB
7042 `(#:glib-or-gtk? #t
7043 #:disallowed-references ((,glib "bin")
11e1df56
LC
7044 ,inkscape ,libxslt
7045 ,ruby-sass)
2b0c755d
RW
7046 #:configure-flags
7047 (list "-Dsystemd=false"
7048 ;; Otherwise, the RUNPATH will lack the final path component.
7049 (string-append "-Dc_link_args=-Wl,-rpath="
7050 (assoc-ref %outputs "out")
7051 "/lib/gnome-shell"))
11e1df56 7052
08185081 7053 #:modules ((guix build meson-build-system)
11e1df56
LC
7054 (guix build utils)
7055 (srfi srfi-1))
7056
2b0c755d 7057 #:phases
a4df5756 7058 (modify-phases %standard-phases
2b0c755d 7059 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7060 (lambda* (#:key outputs #:allow-other-keys)
7061 (let* ((out (assoc-ref outputs "out"))
7062 (keysdir (string-append
7063 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7064 (substitute* "meson.build"
7065 (("keysdir =.*")
7066 (string-append "keysdir = '" keysdir "'\n")))
7067 #t)))
ebfe259f
MB
7068 (add-before 'configure 'convert-logo-to-png
7069 (lambda* (#:key inputs #:allow-other-keys)
7070 ;; Convert the logo from SVG to PNG.
7071 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7072 "data/theme/guix-logo.svg")))
ba00235a 7073 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7074 (lambda* (#:key inputs #:allow-other-keys)
7075 (substitute* "js/misc/ibusManager.js"
7076 (("'ibus-daemon'")
7077 (string-append "'" (assoc-ref inputs "ibus")
7078 "/bin/ibus-daemon'")))
d6fda4d3
LC
7079 (substitute* "js/ui/status/keyboard.js"
7080 (("'gkbd-keyboard-display'")
7081 (string-append "'" (assoc-ref inputs "libgnomekbd")
7082 "/bin/gkbd-keyboard-display'")))
2472cdec 7083 #t))
2b0c755d
RW
7084 (add-before 'check 'pre-check
7085 (lambda* (#:key inputs #:allow-other-keys)
7086 ;; Tests require a running X server.
7087 (system "Xvfb :1 &")
7088 (setenv "DISPLAY" ":1")
7089 #t))
7090 (add-after 'install 'wrap-programs
7091 (lambda* (#:key inputs outputs #:allow-other-keys)
7092 (let ((out (assoc-ref outputs "out"))
7093 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7094 (python-path (getenv "PYTHONPATH")))
7095 (wrap-program (string-append out "/bin/gnome-shell")
7096 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7097 ;; FIXME: gnome-shell loads these libraries with unqualified
7098 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7099 ;; alternative might be to patch gnome-shell.
7100 `("LD_LIBRARY_PATH" ":" prefix
7101 ,(map (lambda (pkg)
7102 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7103 '("gdk-pixbuf"
7104 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7105 (for-each
7106 (lambda (prog)
7107 (wrap-program (string-append out "/bin/" prog)
7108 `("PYTHONPATH" ":" prefix (,python-path))
7109 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7110 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7111 #t)))
11e1df56
LC
7112 (replace 'glib-or-gtk-wrap
7113 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7114 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7115 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7116 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7117 ;; phase. Fix that since we don't need these.
7118 (wrap #:inputs (fold alist-delete inputs
7119 '("inkscape" "intltool" "glib:bin"))
7120 #:outputs outputs)))))))
a4df5756
SB
7121 (native-inputs
7122 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7123 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7124 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7125 ("inkscape" ,inkscape)
a4df5756
SB
7126 ("intltool" ,intltool)
7127 ("pkg-config" ,pkg-config)
7128 ("python" ,python)
2b0c755d
RW
7129 ("ruby-sass" ,ruby-sass)
7130 ("sassc" ,sassc)
a76d0f03 7131 ("xsltproc" ,libxslt)
2b0c755d 7132 ;; For tests
0b4504f6 7133 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7134 (inputs
7135 `(("accountsservice" ,accountsservice)
7136 ("caribou" ,caribou)
7137 ("docbook-xsl" ,docbook-xsl)
7138 ("evolution-data-server" ,evolution-data-server)
7139 ("gcr" ,gcr)
7140 ("gdm" ,gdm)
c5db31d4 7141 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7142 ("gjs" ,gjs)
7143 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7144 ("gnome-desktop" ,gnome-desktop)
7145 ("gnome-settings-daemon" ,gnome-settings-daemon)
7146 ("gst-plugins-base" ,gst-plugins-base)
7147 ("ibus" ,ibus)
7148 ("libcanberra" ,libcanberra)
7149 ("libcroco" ,libcroco)
d6fda4d3 7150 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7151 ("libgweather" ,libgweather)
7152 ("libsoup" ,libsoup)
7153 ("mesa-headers" ,mesa-headers)
7154 ("mutter" ,mutter)
7155 ("network-manager-applet" ,network-manager-applet)
7156 ("polkit" ,polkit)
7157 ("pulseaudio" ,pulseaudio)
7158 ("python-pygobject" ,python-pygobject)
7159 ("startup-notification" ,startup-notification)
7160 ("telepathy-logger" ,telepathy-logger)
7161 ("upower" ,upower)
30e760f0
MB
7162 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7163 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7164 ("librsvg" ,librsvg)
2b0c755d 7165 ("geoclue" ,geoclue)))
a4df5756
SB
7166 (synopsis "Desktop shell for GNOME")
7167 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7168 (description
7169 "GNOME Shell provides core user interface functions for the GNOME desktop,
7170like switching to windows and launching applications.")
7171 (license license:gpl2+)))
c3f29bc9
RS
7172
7173(define-public gtk-vnc
7174 (package
7175 (name "gtk-vnc")
965ff023 7176 (version "0.9.0")
c3f29bc9
RS
7177 (source
7178 (origin
7179 (method url-fetch)
7180 (uri (string-append "mirror://gnome/sources/" name "/"
7181 (version-major+minor version) "/"
7182 name "-" version ".tar.xz"))
7183 (sha256
7184 (base32
965ff023 7185 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7186 (build-system gnu-build-system)
7187 (arguments
7188 '(#:configure-flags '("--with-gtk=3.0")))
7189 (propagated-inputs
7190 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7191 (inputs
7192 `(("cyrus-sasl" ,cyrus-sasl)
7193 ("gnutls" ,gnutls)
7194 ("libgcrypt" ,libgcrypt)
7195 ("pulseaudio" ,pulseaudio)))
7196 (native-inputs
7197 `(("glib:bin" ,glib "bin")
7198 ("gobject-introspection" ,gobject-introspection)
7199 ("intltool" ,intltool)
7200 ("pkg-config" ,pkg-config)
2f17e939 7201 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7202 ("vala" ,vala)))
7203 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7204 (synopsis "VNC viewer widget for GTK+")
7205 (description
7206 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7207applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7208GTK-VNC implements client side RFB protocol and authentication extensions such
7209as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7210 (license license:lgpl2.1+)))
8b877545 7211
dc69fe18
MW
7212(define-public gnome-autoar
7213 (package
7214 (name "gnome-autoar")
c7da8510 7215 (version "0.2.3")
dc69fe18
MW
7216 (source (origin
7217 (method url-fetch)
7218 (uri (string-append "mirror://gnome/sources/" name "/"
7219 (version-major+minor version) "/"
7220 name "-" version ".tar.xz"))
7221 (sha256
7222 (base32
c7da8510 7223 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7224 (build-system glib-or-gtk-build-system)
7225 (native-inputs
7226 `(("gnome-common" ,gnome-common)
7227 ("gobject-introspection" ,gobject-introspection)
7228 ("pkg-config" ,pkg-config)))
7229 (propagated-inputs
7230 `(("libarchive" ,libarchive))) ; XXX document why
7231 (inputs
0a6e9e13 7232 `(("gtk+" ,gtk+)))
dc69fe18
MW
7233 (synopsis "Archives integration support for GNOME")
7234 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7235 (description
7236 "GNOME Autoar is a library which makes creating and extracting archives
7237easy, safe, and automatic.")
7238 (license license:lgpl2.1+)))
7239
b64e217f
MW
7240(define-public tracker
7241 (package
7242 (name "tracker")
5ada561c 7243 (version "2.2.2")
b64e217f
MW
7244 (source (origin
7245 (method url-fetch)
b5b0fd23 7246 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7247 (version-major+minor version) "/"
b5b0fd23 7248 "tracker-" version ".tar.xz"))
b64e217f
MW
7249 (sha256
7250 (base32
5ada561c
KK
7251 "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6"))))
7252 (build-system meson-build-system)
c8bdf589 7253 (arguments
5ada561c
KK
7254 `(#:glib-or-gtk? #t
7255 #:configure-flags
7256 ;; Otherwise, the RUNPATH will lack the final path component.
7257 (list (string-append "-Dc_link_args=-Wl,-rpath="
7258 (assoc-ref %outputs "out") "/lib:"
7259 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7260 #:phases
c8bdf589
RW
7261 (modify-phases %standard-phases
7262 (add-after 'unpack 'disable-broken-tests
7263 (lambda _
c8bdf589
RW
7264 ;; These fail because the SPARQL backend could not be loaded.
7265 ;; That's because /etc/machine-id is missing, but
7266 ;; DBUS_FATAL_WARNINGS does not help here.
5ada561c
KK
7267 (substitute* "tests/libtracker-sparql/meson.build"
7268 (("'sparql',") ""))
7269 (substitute* "tests/tracker-steroids/meson.build"
7270 (("test\\(.*") ""))
c8bdf589
RW
7271 #t))
7272 ;; Two tests fail if LANG is not set.
7273 (add-before 'check 'pre-check
7274 (lambda _
7275 (setenv "LANG" "en_US.UTF-8")
7276 ;; For the missing /etc/machine-id.
7277 (setenv "DBUS_FATAL_WARNINGS" "0")
7278 #t)))))
b64e217f 7279 (native-inputs
5ada561c
KK
7280 `(("glib:bin" ,glib "bin")
7281 ("gnome-common" ,gnome-common)
b64e217f 7282 ("gobject-introspection" ,gobject-introspection)
5ada561c 7283 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7284 ("intltool" ,intltool)
7285 ("pkg-config" ,pkg-config)
7286 ("vala" ,vala)))
7287 (inputs
7288 `(("gtk+" ,gtk+)
7289 ("dbus" ,dbus)
44ed6284 7290 ("sqlite" ,sqlite)
c8bdf589 7291 ("python" ,python)
b64e217f 7292 ("poppler" ,poppler)
b64e217f
MW
7293 ("libpng" ,libpng)
7294 ("libtiff" ,libtiff)
b64e217f 7295 ("zlib" ,zlib)
b64e217f 7296 ("libxml2" ,libxml2)
b64e217f 7297 ("libunistring" ,libunistring)
0ef48cd9 7298 ("json-glib" ,json-glib)
b64e217f 7299 ("openjpeg" ,openjpeg-1)
b64e217f 7300 ("libseccomp" ,libseccomp)
0ef48cd9 7301 ("libsoup" ,libsoup)
5ada561c
KK
7302 ("libuuid" ,util-linux)
7303 ("network-manager" ,network-manager)))
b64e217f
MW
7304 (synopsis "Metadata database, indexer and search tool")
7305 (home-page "https://wiki.gnome.org/Projects/Tracker")
7306 (description
7307 "Tracker is an advanced framework for first class objects with associated
7308metadata and tags. It provides a one stop solution for all metadata, tags,
7309shared object databases, search tools and indexing.")
7310 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7311 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7312 (license (list license:gpl2+
7313 license:lgpl2.1+
7314 license:lgpl2.0+))))
7315
03be9874
KK
7316(define-public tracker-miners
7317 (package
7318 (name "tracker-miners")
7319 (version "2.2.2")
7320 (source (origin
7321 (method url-fetch)
7322 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7323 (version-major+minor version)
7324 "/tracker-miners-" version ".tar.xz"))
7325 (sha256
7326 (base32
7327 "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw"))))
7328 (build-system meson-build-system)
7329 (arguments
7330 `(#:glib-or-gtk? #t
7331 #:configure-flags
7332 (list "-Dminer_rss=false" ; libgrss is required.
7333 ;; Ensure the RUNPATH contains all installed library locations.
7334 (string-append "-Dc_link_args=-Wl,-rpath="
7335 (assoc-ref %outputs "out")
7336 "/lib/tracker-miners-2.0")
7337 ;; TODO: Enable functional tests. Currently, the following error
7338 ;; appears:
7339 ;; Exception: The functional tests require DConf to be the default
7340 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7341 "-Dfunctional_tests=false")))
7342 (native-inputs
7343 `(("dbus" ,dbus)
7344 ("intltool" ,intltool)
7345 ("glib:bin" ,glib "bin")
7346 ("gobject-introspection" ,gobject-introspection)
7347 ("pkg-config" ,pkg-config)
7348 ("python-pygobject" ,python-pygobject)))
7349 (inputs
7350 `(("exempi" ,exempi)
7351 ("ffmpeg" ,ffmpeg)
7352 ("flac" ,flac)
7353 ("giflib" ,giflib)
7354 ("glib" ,glib)
7355 ("gstreamer" ,gstreamer)
7356 ("icu4c" ,icu4c)
7357 ("libcue" ,libcue)
7358 ("libexif" ,libexif)
7359 ("libgsf" ,libgsf)
7360 ("libgxps" ,libgxps)
7361 ("libiptcdata" ,libiptcdata)
7362 ("libjpeg" ,libjpeg)
7363 ("libosinfo" ,libosinfo)
7364 ("libpng" ,libpng)
7365 ("libseccomp" ,libseccomp)
7366 ("libtiff" ,libtiff)
7367 ("libvorbis" ,libvorbis)
7368 ("libxml2" ,libxml2)
7369 ("poppler" ,poppler)
7370 ("taglib" ,taglib)
7371 ("totem-pl-parser" ,totem-pl-parser)
7372 ("tracker" ,tracker)
7373 ("upower" ,upower)
7374 ("zlib" ,zlib)))
7375 (synopsis "Metadata database, indexer and search tool")
7376 (home-page "https://wiki.gnome.org/Projects/Tracker")
7377 (description
7378 "Tracker is an advanced framework for first class objects with associated
7379metadata and tags. It provides a one stop solution for all metadata, tags,
7380shared object databases, search tools and indexing.")
7381 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7382 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7383 (license (list license:gpl2+
7384 license:lgpl2.1+
7385 license:lgpl2.0+))))
7386
8b877545
RS
7387(define-public nautilus
7388 (package
7389 (name "nautilus")
d682c599 7390 (version "3.32.3")
8b877545
RS
7391 (source (origin
7392 (method url-fetch)
7393 (uri (string-append "mirror://gnome/sources/" name "/"
7394 (version-major+minor version) "/"
7395 name "-" version ".tar.xz"))
7396 (sha256
7397 (base32
d682c599 7398 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7399 (build-system meson-build-system)
8b877545 7400 (arguments
35e2d0cf 7401 '(#:glib-or-gtk? #t
8b877545
RS
7402 ;; XXX: FAIL: check-nautilus
7403 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7404 #:tests? #f))
7405 (native-inputs
35e2d0cf
R
7406 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7407 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7408 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7409 ("gobject-introspection" ,gobject-introspection)
7410 ("intltool" ,intltool)
7411 ("pkg-config" ,pkg-config)))
8b877545 7412 (inputs
8b877545 7413 `(("dconf" ,dconf)
caf6c363 7414 ("gexiv2" ,gexiv2)
dd05e731 7415 ("gvfs" ,gvfs)
8b877545
RS
7416 ("exempi" ,exempi)
7417 ("gnome-desktop" ,gnome-desktop)
09d88905 7418 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7419 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7420 ("libseccomp" ,libseccomp)
35e2d0cf 7421 ("libselinux" ,libselinux)
09d88905 7422 ("tracker" ,tracker)
3cafb9d4 7423 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7424 ;; XXX: gtk+ is required by libnautilus-extension.pc
7425 ;;
7426 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7427 ;; package. See:
7428 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7429 ("gtk+" ,gtk+)
8b877545
RS
7430 ("libexif" ,libexif)
7431 ("libxml2" ,libxml2)))
7432 (synopsis "File manager for GNOME")
7433 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7434 (description
7435 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7436design and behaviour, giving the user a simple way to navigate and manage its
7437files.")
7438 (license license:gpl2+)))
3c697ffd
JR
7439
7440(define-public baobab
7441 (package
7442 (name "baobab")
e0c5f20c 7443 (version "3.32.0")
3c697ffd
JR
7444 (source (origin
7445 (method url-fetch)
7446 (uri (string-append
7447 "mirror://gnome/sources/" name "/"
7448 (version-major+minor version) "/"
7449 name "-" version ".tar.xz"))
7450 (sha256
7451 (base32
e0c5f20c 7452 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7453 (build-system meson-build-system)
7454 (arguments
7455 '(#:glib-or-gtk? #t))
3c697ffd
JR
7456 (native-inputs
7457 `(("intltool" ,intltool)
7458 ("pkg-config" ,pkg-config)
d233d373
RJ
7459 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7460 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7461 ("itstool" ,itstool)
7462 ("xmllint" ,libxml2)
7463 ("glib" ,glib "bin")
7464 ("vala" ,vala)))
7465 (inputs
7466 `(("gtk+" ,gtk+)))
7467 (synopsis "Disk usage analyzer for GNOME")
7468 (description
7469 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7470usage in the GNOME desktop environment. It can easily scan device volumes or
7471a specific user-requested directory branch (local or remote). Once the scan
7472is complete it provides a graphical representation of each selected folder.")
7473 (home-page "https://wiki.gnome.org/Apps/Baobab")
7474 (license license:gpl2+)))
dc050251 7475
fdba447c
RS
7476(define-public gnome-backgrounds
7477 (package
7478 (name "gnome-backgrounds")
e04e8a8c 7479 (version "3.32.0")
fdba447c
RS
7480 (source
7481 (origin
7482 (method url-fetch)
7483 (uri (string-append "mirror://gnome/sources/" name "/"
7484 (version-major+minor version) "/"
7485 name "-" version ".tar.xz"))
7486 (sha256
7487 (base32
e04e8a8c 7488 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7489 (build-system meson-build-system)
fdba447c
RS
7490 (native-inputs
7491 `(("intltool" ,intltool)))
e04e8a8c 7492 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7493 (synopsis "Background images for the GNOME desktop")
7494 (description
7495 "GNOME backgrounds package contains a collection of graphics files which
7496can be used as backgrounds in the GNOME Desktop environment. Additionally,
7497the package creates the proper framework and directory structure so that you
7498can add your own files to the collection.")
7499 (license (list license:gpl2+
7500 license:cc-by2.0
7501 license:cc-by-sa2.0
7502 license:cc-by-sa3.0))))
7503
b784b1a9
RS
7504(define-public gnome-screenshot
7505 (package
7506 (name "gnome-screenshot")
6acf4033 7507 (version "3.32.0")
b784b1a9
RS
7508 (source
7509 (origin
7510 (method url-fetch)
7511 (uri (string-append "mirror://gnome/sources/" name "/"
7512 (version-major+minor version) "/"
7513 name "-" version ".tar.xz"))
7514 (sha256
7515 (base32
6acf4033 7516 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7517 (build-system meson-build-system)
b784b1a9
RS
7518 (native-inputs
7519 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7520 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7521 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7522 ("intltool" ,intltool)
8356aefa 7523 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7524 ("pkg-config" ,pkg-config)))
7525 (inputs
7526 `(("gtk+" ,gtk+)
7527 ("libcanberra" ,libcanberra)
7528 ("libx11" ,libx11)
7529 ("libxext" ,libxext)))
676e7cb4 7530 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7531 (synopsis "Take pictures of your screen")
7532 (description
7533 "GNOME Screenshot is a utility used for taking screenshots of the entire
7534screen, a window or a user defined area of the screen, with optional
7535beautifying border effects.")
7536 (license license:gpl2+)))
7537
66d59111
RS
7538(define-public dconf-editor
7539 (package
7540 (name "dconf-editor")
66261451 7541 (version "3.32.0")
66d59111
RS
7542 (source
7543 (origin
7544 (method url-fetch)
7545 (uri (string-append "mirror://gnome/sources/" name "/"
7546 (version-major+minor version) "/"
7547 name "-" version ".tar.xz"))
7548 (sha256
7549 (base32
66261451 7550 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7551 (build-system meson-build-system)
86f2124b
LC
7552 (arguments
7553 '(#:phases (modify-phases %standard-phases
7554 (add-before 'configure 'set-glib-minimum-version
7555 (lambda _
7556 ;; Change the minimum required GLib version so that
7557 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7558 ;; do that, it complains that "55" is not an even
7559 ;; number. See <https://bugs.gnu.org/37503>.
7560 (substitute* "editor/meson.build"
7561 (("2\\.55\\.1") "2.60.0"))
7562 #t)))))
66d59111
RS
7563 (native-inputs
7564 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7565 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7566 ("intltool" ,intltool)
294ff39d
RW
7567 ("pkg-config" ,pkg-config)
7568 ("vala" ,vala)))
66d59111
RS
7569 (inputs
7570 `(("dconf" ,dconf)
7571 ("gtk+" ,gtk+)
7572 ("libxml2" ,libxml2)))
7573 (home-page "https://git.gnome.org/browse/dconf-editor")
7574 (synopsis "Graphical editor for GNOME's dconf configuration system")
7575 (description
7576 "Dconf-editor is a graphical tool for browsing and editing the dconf
7577configuration system for GNOME. It allows users to configure desktop
7578software that do not provide their own configuration interface.")
7579 (license license:lgpl2.1+)))
7580
96d36f38
AW
7581(define-public gnome-default-applications
7582 (package
7583 (name "gnome-default-applications")
7584 (version "0")
7585 (build-system trivial-build-system)
7586 (source #f)
7587 (propagated-inputs
8ad4f0aa
LC
7588 `(("nautilus" ,nautilus)
7589 ("evince" ,evince)))
96d36f38
AW
7590 (arguments
7591 `(#:modules ((guix build utils))
7592 #:builder
7593 (begin
7594 (use-modules (guix build utils))
7595 (let* ((out (assoc-ref %outputs "out"))
7596 (apps (string-append out "/share/applications")))
7597 (mkdir-p apps)
7598 (call-with-output-file (string-append apps "/defaults.list")
7599 (lambda (port)
7600 (format port "[Default Applications]\n")
8ad4f0aa
LC
7601 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7602 (format port "application/pdf=evince.desktop\n")
7603 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7604 #t))))
7605 (synopsis "Default MIME type associations for the GNOME desktop")
7606 (description
7607 "Given many installed packages which might handle a given MIME type, a
7608user running the GNOME desktop probably has some preferences: for example,
7609that folders be opened by default by the Nautilus file manager, not the Baobab
7610disk usage analyzer. This package establishes that set of default MIME type
7611associations for GNOME.")
7612 (license license:gpl3+)
7613 (home-page #f)))
7614
3f1ed953
RG
7615(define-public libgovirt
7616 (package
7617 (name "libgovirt")
7618 (version "0.3.6")
7619 (source (origin
7620 (method url-fetch)
7621 (uri (string-append "mirror://gnome/sources/" name "/"
7622 (version-major+minor version) "/"
7623 name "-" version ".tar.xz"))
7624 (sha256
7625 (base32
7626 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7627 (build-system glib-or-gtk-build-system)
7628 (native-inputs
7629 `(("gettext" ,gettext-minimal)
7630 ("glib:bin" ,glib "bin")
7631 ("gobject-introspection" ,gobject-introspection)
7632 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7633 ("gtk+:bin" ,gtk+ "bin")
7634 ("pkg-config" ,pkg-config)))
7635 (inputs
7636 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7637 ("librest" ,rest)))
7638 (synopsis "GoVirt Library")
7639 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7640 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7641 (license license:gpl2+)))
7642
dc050251
SB
7643(define-public gnome
7644 (package
7645 (name "gnome")
7646 (version (package-version gnome-shell))
7647 (source #f)
7648 (build-system trivial-build-system)
e3cfef22 7649 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7650 (propagated-inputs
8d8c6bff 7651 ;; TODO: Add or remove packages according to:
a8cda7f5 7652 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7653 `(
8d8c6bff 7654 ;; GNOME-Core-OS-Services
7922b6f7 7655 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7656 ("network-manager" ,network-manager)
7657 ("packagekit" ,packagekit)
7658 ("upower" ,upower)
7659 ;; GNOME-Core-Shell
7660 ("adwaita-icon-theme" ,adwaita-icon-theme)
7661 ("gdm" ,gdm)
7662 ("glib-networking" ,glib-networking)
7663 ("gnome-backgrounds" ,gnome-backgrounds)
7664 ("gnome-bluetooth" ,gnome-bluetooth)
7665 ("gnome-control-center" ,gnome-control-center)
7666 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7667 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
8d8c6bff 7668 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7669 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7670 ("gnome-session" ,gnome-session)
7671 ("gnome-settings-daemon" ,gnome-settings-daemon)
7672 ("gnome-shell-extensions" ,gnome-shell-extensions)
7673 ("gnome-shell" ,gnome-shell)
7674 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7675 ("gnome-user-docs" ,gnome-user-docs)
a8cda7f5 7676 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7677 ("gvfs" ,gvfs)
7678 ("mutter" ,mutter)
7679 ("orca" ,orca)
7680 ;; GNOME-Core-Utilities
7681 ("baobab" ,baobab)
7682 ("cheese" ,cheese)
7683 ("eog" ,eog)
7684 ("epiphany" ,epiphany)
7685 ("evince" ,evince)
7686 ("file-roller" ,file-roller)
7687 ("gedit" ,gedit)
7688 ("gnome-calculator" ,gnome-calculator)
7689 ("gnome-calendar" ,gnome-calendar)
7690 ("gnome-characters" ,gnome-characters)
7691 ("gnome-clocks" ,gnome-clocks)
7692 ("gnome-contacts" ,gnome-contacts)
7693 ("gnome-disk-utility" ,gnome-disk-utility)
7694 ("gnome-font-viewer" ,gnome-font-viewer)
7695 ("gnome-maps" ,gnome-maps)
7696 ("gnome-screenshot" ,gnome-screenshot)
7697 ("gnome-system-monitor" ,gnome-system-monitor)
7698 ("gnome-terminal" ,gnome-terminal)
7699 ("nautilus" ,nautilus)
7700 ("simple-scan" ,simple-scan)
7701 ("totem" ,totem)
7922b6f7
RG
7702 ("yelp" ,yelp)
7703 ;; Others
7704 ("hicolor-icon-theme" ,hicolor-icon-theme)
7705 ("gnome-online-accounts" ,gnome-online-accounts)))
fe4e698d 7706 (synopsis "The GNU desktop environment")
dc050251
SB
7707 (home-page "https://www.gnome.org/")
7708 (description
fe4e698d
LC
7709 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7710applications for browsing the web, editing text and images, creating
7711documents and diagrams, playing media, scanning, and much more.")
dc050251 7712 (license license:gpl2+)))
4a526711
DT
7713
7714(define-public byzanz
7715 ;; The last stable release of Byzanz was in 2011, but there have been many
7716 ;; useful commits made to the Byzanz repository since then that it would be
7717 ;; silly to use such an old release.
7718 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7719 (package
7720 (name "byzanz")
7721 (version (string-append "0.2-1." (string-take commit 7)))
7722 (source (origin
7723 (method git-fetch)
7724 (uri (git-reference
5f13bf09 7725 (url "https://git.gnome.org/browse/byzanz")
4a526711 7726 (commit commit)))
5a6527e4 7727 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7728 (sha256
7729 (base32
7730 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7731 (build-system glib-or-gtk-build-system)
7732 (arguments
7733 '(#:phases
7734 (modify-phases %standard-phases
189be331 7735 (replace 'bootstrap
4a526711
DT
7736 (lambda _
7737 ;; The build system cleverly detects that we're not building from
7738 ;; a release tarball and turns on -Werror for GCC.
7739 ;; Unsurprisingly, there is a warning during compilation that
7740 ;; causes the build to fail unnecessarily, so we remove the flag.
7741 (substitute* '("configure.ac")
7742 (("-Werror") ""))
7743 ;; The autogen.sh script in gnome-common will run ./configure
7744 ;; by default, which is problematic because source shebangs
7745 ;; have not yet been patched.
7746 (setenv "NOCONFIGURE" "t")
7747 (zero? (system* "sh" "autogen.sh")))))))
7748 (native-inputs
7749 `(("autoconf" ,autoconf)
7750 ("automake" ,automake)
7751 ("gnome-common" ,gnome-common)
7752 ("intltool" ,intltool)
7753 ("libtool" ,libtool)
7754 ("pkg-config" ,pkg-config)
7755 ("which" ,which)))
7756 (inputs
7757 `(("glib" ,glib)
7758 ("gstreamer" ,gstreamer)
7759 ("gst-plugins-base" ,gst-plugins-base)
7760 ("gtk+" ,gtk+)))
7761 (synopsis "Desktop recording program")
7762 (description "Byzanz is a simple desktop recording program with a
7763command-line interface. It can record part or all of an X display for a
7764specified duration and save it as a GIF encoded animated image file.")
7765 (home-page "https://git.gnome.org/browse/byzanz")
7766 (license license:gpl2+))))
3a9a4c51 7767
0ec171ec
MS
7768(define-public gsound
7769 (package
7770 (name "gsound")
7771 (version "1.0.2")
7772 (source (origin
7773 (method url-fetch)
7774 (uri (string-append "mirror://gnome/sources/" name "/"
7775 (version-major+minor version) "/"
7776 name "-" version ".tar.xz"))
7777 (sha256
7778 (base32
7779 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7780 (build-system glib-or-gtk-build-system)
7781 (native-inputs
7782 `(("pkg-config" ,pkg-config)
7783 ("gobject-introspection" ,gobject-introspection)
7784 ("vala" ,vala)))
7785 (inputs
7786 `(("glib" ,glib)
7787 ("libcanberra" ,libcanberra)))
7788 (home-page "https://wiki.gnome.org/Projects/GSound")
7789 (synopsis "GObject wrapper for libcanberra")
7790 (description
7791 "GSound is a small library for playing system sounds. It's designed to be
7792used via GObject Introspection, and is a thin wrapper around the libcanberra C
7793library.")
7794 (license license:lgpl2.1+)))
7795
3a9a4c51
RS
7796(define-public libzapojit
7797 (package
7798 (name "libzapojit")
7799 (version "0.0.3")
7800 (source (origin
7801 (method url-fetch)
7802 (uri (string-append "mirror://gnome/sources/" name "/"
7803 (version-major+minor version) "/"
7804 name "-" version ".tar.xz"))
7805 (sha256
7806 (base32
7807 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7808 (build-system gnu-build-system)
7809 (native-inputs
7810 `(("gobject-introspection" ,gobject-introspection)
7811 ("intltool" ,intltool)
7812 ("pkg-config" ,pkg-config)))
7813 (inputs
14c297fd 7814 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7815 ("json-glib" ,json-glib)
7816 ("rest" ,rest)))
7817 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7818 (synopsis "Library for accessing SkyDrive and Hotmail")
7819 (description
7820 "Libzapojit is a GLib-based library for accessing online service APIs of
7821Microsoft SkyDrive and Hotmail, using their REST protocols.")
7822 (license license:lgpl2.1+)))
9365ee1c 7823
60e2a9ae
MS
7824(define-public gnome-clocks
7825 (package
7826 (name "gnome-clocks")
c76d0dbc 7827 (version "3.32.0")
60e2a9ae
MS
7828 (source (origin
7829 (method url-fetch)
7830 (uri (string-append "mirror://gnome/sources/" name "/"
7831 (version-major+minor version) "/"
7832 name "-" version ".tar.xz"))
7833 (sha256
7834 (base32
c76d0dbc 7835 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7836 (build-system meson-build-system)
7837 (arguments
7838 '(#:glib-or-gtk? #t))
7839 (native-inputs
7840 `(("vala" ,vala)
7841 ("pkg-config" ,pkg-config)
7842 ("glib" ,glib "bin") ; for glib-compile-resources
7843 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7844 ("desktop-file-utils" ,desktop-file-utils)
7845 ("gettext" ,gettext-minimal)
7846 ("itstool" ,itstool)))
7847 (inputs
7848 `(("glib" ,glib)
7849 ("gtk+" ,gtk+)
7850 ("gsound" ,gsound)
7851 ("geoclue" ,geoclue)
7852 ("geocode-glib" ,geocode-glib)
7853 ("libgweather" ,libgweather)
7854 ("gnome-desktop" ,gnome-desktop)))
7855 (home-page "https://wiki.gnome.org/Apps/Clocks")
7856 (synopsis "GNOME's clock application")
7857 (description
7858 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7859desktop. It supports world clock, stop watch, alarms, and count down timer.")
7860 (license license:gpl3+)))
7861
3c474897
KY
7862(define-public gnome-calendar
7863 (package
7864 (name "gnome-calendar")
339b59bf 7865 (version "3.32.2")
3c474897
KY
7866 (source (origin
7867 (method url-fetch)
7868 (uri (string-append "mirror://gnome/sources/" name "/"
7869 (version-major+minor version) "/"
7870 name "-" version ".tar.xz"))
7871 (sha256
7872 (base32
339b59bf 7873 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7874 (build-system meson-build-system)
7875 (arguments
7876 '(#:glib-or-gtk? #t
7877 ;; gnome-calendar has to be installed before the tests can be run
7878 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
7879 #:tests? #f))
3c474897 7880 (native-inputs
a49d3e37
MS
7881 `(("gettext" ,gettext-minimal)
7882 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
7883 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
7884 ("pkg-config" ,pkg-config)))
7885 (inputs
a49d3e37 7886 `(("evolution-data-server" ,evolution-data-server)
14c297fd 7887 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
7888 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7889 ("libdazzle" ,libdazzle)
b63c06f1 7890 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
7891 ("libgweather" ,libgweather)
7892 ("geoclue" ,geoclue)))
3c474897
KY
7893 (home-page "https://wiki.gnome.org/Apps/Calendar")
7894 (synopsis "GNOME's calendar application")
7895 (description
7896 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 7897desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
7898 (license license:gpl3+)))
7899
57b14665
MS
7900(define-public gnome-todo
7901 (package
7902 (name "gnome-todo")
9f3c6c88 7903 (version "3.28.1")
57b14665
MS
7904 (source (origin
7905 (method url-fetch)
7906 (uri (string-append "mirror://gnome/sources/" name "/"
7907 (version-major+minor version) "/"
7908 name "-" version ".tar.xz"))
7909 (sha256
7910 (base32
9f3c6c88 7911 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
7912 (build-system meson-build-system)
7913 (arguments
7914 '(#:glib-or-gtk? #t
7915 #:phases (modify-phases %standard-phases
7916 (add-after
7917 'install 'wrap-gnome-todo
7918 (lambda* (#:key inputs outputs #:allow-other-keys)
7919 (let ((out (assoc-ref outputs "out"))
7920 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7921 (python-path (getenv "PYTHONPATH")))
7922 (wrap-program (string-append out "/bin/gnome-todo")
7923 ;; XXX: gi plugins are broken.
7924 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
7925 ;; For plugins.
7926 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7927 `("PYTHONPATH" ":" prefix (,python-path))))
7928 #t)))))
7929 (native-inputs
7930 `(("gettext" ,gettext-minimal)
7931 ("gobject-introspection" ,gobject-introspection)
7932 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7933 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7934 ("pkg-config" ,pkg-config)))
7935 (inputs
7936 `(("rest" ,rest) ; For Todoist plugin
7937 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 7938 ("libedataserverui" ,evolution-data-server)
57b14665
MS
7939 ("libical" ,libical)
7940 ("libpeas" ,libpeas)
7941 ("python-pygobject" ,python-pygobject)
7942 ("evolution-data-server" ,evolution-data-server)
14c297fd 7943 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
7944 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
7945 (home-page "https://wiki.gnome.org/Apps/Todo")
7946 (synopsis "GNOME's ToDo Application")
7947 (description
7948 "GNOME To Do is a simplistic personal task manager designed to perfectly
7949fit the GNOME desktop.")
7950 (license license:gpl3+)))
7951
ab179eaf
SB
7952(define-public gnome-dictionary
7953 (package
7954 (name "gnome-dictionary")
cf81ddef 7955 (version "3.26.1")
ab179eaf
SB
7956 (source (origin
7957 (method url-fetch)
7958 (uri (string-append "mirror://gnome/sources/" name "/"
7959 (version-major+minor version) "/"
7960 name "-" version ".tar.xz"))
7961 (sha256
7962 (base32
cf81ddef
LC
7963 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
7964 (build-system meson-build-system)
2776b5d5
MB
7965 (arguments '(#:glib-or-gtk? #t
7966 #:phases (modify-phases %standard-phases
7967 (add-after 'unpack 'patch-install-script
7968 (lambda _
7969 ;; This script attempts to compile glib schemas
7970 ;; and create an empty MIME database. We do
7971 ;; that elsewhere, so prevent it from running.
7972 (substitute* "build-aux/post-install.sh"
7973 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
7974 #t)))))
ab179eaf
SB
7975 (native-inputs
7976 `(("glib:bin" ,glib "bin")
7977 ("gobject-introspection" ,gobject-introspection)
7978 ("intltool" ,intltool)
7979 ("itstool" ,itstool)
7980 ("pkg-config" ,pkg-config)
7981 ("xmllint" ,libxml2)))
7982 (inputs
7983 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7984 ("gtk+" ,gtk+)))
7985 (home-page "https://wiki.gnome.org/Apps/Dictionary")
7986 (synopsis "Look up words in dictionary sources")
7987 (description
7988 "GNOME Dictionary can look for the definition or translation of a word in
7989existing databases over the internet.")
7990 (license license:gpl3+)))
7991
d13f3a03 7992(define-public gnome-tweaks
9365ee1c 7993 (package
d13f3a03 7994 (name "gnome-tweaks")
652af676 7995 (version "3.32.0")
9365ee1c
JN
7996 (source (origin
7997 (method url-fetch)
d13f3a03 7998 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 7999 (version-major+minor version) "/"
d13f3a03
RW
8000 "gnome-tweaks-" version ".tar.xz"))
8001 (patches
8002 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8003 (sha256
8004 (base32
652af676 8005 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8006 (build-system meson-build-system)
9365ee1c 8007 (arguments
d13f3a03
RW
8008 `(#:glib-or-gtk? #t
8009 #:configure-flags '("-Dlocalstatedir=/tmp"
8010 "-Dsysconfdir=/tmp")
9365ee1c 8011 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8012 ,@%meson-build-system-modules)
8013 #:phases
8014 (modify-phases %standard-phases
8015 (add-after 'install 'wrap
8016 (@@ (guix build python-build-system) wrap))
8017 (add-after 'wrap 'wrap-gi-typelib
8018 (lambda* (#:key inputs outputs #:allow-other-keys)
8019 (let ((out (assoc-ref outputs "out"))
8020 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8021 (wrap-program (string-append out "/bin/gnome-tweaks")
8022 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8023 #t)))))
9365ee1c 8024 (native-inputs
c7fc414e
RH
8025 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8026 ("intltool" ,intltool)
9365ee1c
JN
8027 ("pkg-config" ,pkg-config)))
8028 (inputs
c7fc414e
RH
8029 `(("gnome-desktop" ,gnome-desktop)
8030 ("gtk+" ,gtk+)
9365ee1c
JN
8031 ("gobject-introspection" ,gobject-introspection)
8032 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8033 ("libnotify" ,libnotify)
8034 ("libsoup" ,libsoup)
8035 ("nautilus" ,nautilus)
8036 ("python" ,python)
8037 ("python-pygobject" ,python-pygobject)))
9365ee1c 8038 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8039 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8040 (description
d13f3a03 8041 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8042GNOME 3. This includes things like the fonts used in user interface elements,
8043alternative user interface themes, changes in window management behavior,
8044GNOME Shell appearance and extension, etc.")
8045 (license license:gpl3+)))
813f814a 8046
d13f3a03
RW
8047;; This package has been renamed by upstream.
8048(define-public gnome-tweak-tool
8049 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8050
32ac717c
DT
8051(define-public gnome-shell-extensions
8052 (package
8053 (name "gnome-shell-extensions")
ae4c05e0 8054 (version "3.32.1")
32ac717c
DT
8055 (source (origin
8056 (method url-fetch)
8057 (uri (string-append "mirror://gnome/sources/" name "/"
8058 (version-major+minor version) "/"
8059 name "-" version ".tar.xz"))
8060 (sha256
8061 (base32
ae4c05e0 8062 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8063 (build-system meson-build-system)
32ac717c 8064 (arguments
100f625b 8065 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8066 (native-inputs
c9ea8873
LP
8067 `(("glib:bin" ,glib "bin")
8068 ("intltool" ,intltool)
32ac717c
DT
8069 ("pkg-config" ,pkg-config)))
8070 (propagated-inputs
c9ea8873 8071 `(("glib" ,glib)))
32ac717c
DT
8072 (synopsis "Extensions for GNOME Shell")
8073 (description "GNOME Shell extensions modify and extend GNOME Shell
8074functionality and behavior.")
8075 (home-page "https://extensions.gnome.org/")
8076 (license license:gpl3+)))
8077
813f814a
DT
8078(define-public arc-theme
8079 (package
8080 (name "arc-theme")
37781323 8081 (version "20190917")
813f814a 8082 (source (origin
a18f8eaf
BH
8083 (method git-fetch)
8084 (uri (git-reference
8085 (url "https://github.com/NicoHood/arc-theme.git")
8086 (commit version)))
8087 (file-name (git-file-name name version))
813f814a
DT
8088 (sha256
8089 (base32
37781323 8090 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8091 (build-system gnu-build-system)
d88884fa
EF
8092 (arguments
8093 '(#:phases
8094 (modify-phases %standard-phases
8095 ;; autogen.sh calls configure at the end of the script.
8096 (replace 'bootstrap
8097 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
8098 (native-inputs
8099 `(("autoconf" ,autoconf)
8100 ("automake" ,automake)
a18f8eaf
BH
8101 ("glib" ,glib "bin") ; for glib-compile-resources
8102 ("gnome-shell" ,gnome-shell)
8103 ("gtk+" ,gtk+)
8104 ("inkscape" ,inkscape)
8105 ("optipng" ,optipng)
8106 ("pkg-config" ,pkg-config)
8107 ("sassc" ,sassc)))
813f814a
DT
8108 (synopsis "A flat GTK+ theme with transparent elements")
8109 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
81102, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8111like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8112 (home-page "https://github.com/horst3180/arc-theme")
8113 ;; No "or later" language found.
a18f8eaf 8114 (license license:gpl3+)))
9987c57c 8115
d935e6a1 8116(define-public faba-icon-theme
9987c57c 8117 (package
d935e6a1 8118 (name "faba-icon-theme")
2eee7ee3 8119 (version "4.3")
d935e6a1
BT
8120 (source
8121 (origin
757e4027
TGR
8122 (method git-fetch)
8123 (uri (git-reference
8124 (url "https://github.com/snwh/faba-icon-theme.git")
8125 (commit (string-append "v" version))))
8126 (file-name (git-file-name name version))
d935e6a1 8127 (sha256
757e4027 8128 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8129 (build-system meson-build-system)
9987c57c 8130 (arguments
82da291a 8131 `(#:phases
9987c57c 8132 (modify-phases %standard-phases
82da291a 8133 (add-before 'configure 'disable-post-install
9987c57c 8134 (lambda _
82da291a
JL
8135 (substitute* "meson.build"
8136 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8137 (native-inputs
8138 `(("autoconf" ,autoconf)
8139 ("automake" ,automake)))
d935e6a1
BT
8140 (synopsis "Faba icon theme")
8141 (description
8142 "Faba is a minimal icon set used as a basis for other themes such as
8143Moka")
8144 (home-page "https://snwh.org/moka")
8145 (license (list license:lgpl3+
8146 license:cc-by-sa4.0))))
8147
9987c57c
DT
8148(define-public moka-icon-theme
8149 (package
8b0e4177 8150 (inherit faba-icon-theme)
9987c57c 8151 (name "moka-icon-theme")
105a3625 8152 (version "5.4.0")
8c3f2170
TGR
8153 (source
8154 (origin
8155 (method git-fetch)
8156 (uri (git-reference
8157 (url "https://github.com/snwh/moka-icon-theme.git")
8158 (commit (string-append "v" version))))
8159 (file-name (git-file-name name version))
8160 (sha256
8161 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8162 (propagated-inputs
8163 ;; Moka is based on Faba by using it as a fallback icon set instead of
8164 ;; bundling it, so we need to add it as a propagated input.
8165 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8166 (synopsis "Moka icon theme")
8167 (description "Moka is a stylized desktop icon set, designed to be clear,
8168simple and consistent.")
fedde43b
BT
8169 (license (list license:gpl3+
8170 license:cc-by-sa4.0))))
6fd8f8d6
DT
8171
8172(define-public arc-icon-theme
8173 (package
8174 (name "arc-icon-theme")
c4180240 8175 (version "20161122")
bbf66cbf
TGR
8176 (source
8177 (origin
8178 (method git-fetch)
8179 (uri (git-reference
8180 (url "https://github.com/horst3180/arc-icon-theme.git")
8181 (commit version)))
8182 (file-name (git-file-name name version))
8183 (sha256
8184 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8185 (build-system gnu-build-system)
9e1ede95
JL
8186 (arguments
8187 `(#:phases
8188 (modify-phases %standard-phases
8189 (add-after 'unpack 'disable-configure-during-bootstrap
8190 (lambda _
8191 (substitute* "autogen.sh"
8192 (("^\"\\$srcdir/configure\".*") ""))
8193 #t)))))
6fd8f8d6
DT
8194 (native-inputs
8195 `(("autoconf" ,autoconf)
8196 ("automake" ,automake)))
8197 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8198 (propagated-inputs
8199 `(("moka-icon-theme" ,moka-icon-theme)))
8200 (synopsis "Arc icon theme")
8201 (description "The Arc icon theme provides a set of icons matching the
8202style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8203the Moka icon theme.")
8204 (home-page "https://github.com/horst3180/arc-icon-theme")
8205 (license license:gpl3+)))
6064a4e8
LF
8206
8207(define-public folks
8208 (package
8209 (name "folks")
d23495fa 8210 (version "0.11.4")
6064a4e8
LF
8211 (source (origin
8212 (method url-fetch)
8213 (uri (string-append
e5f4796e 8214 "mirror://gnome/sources/folks/"
6064a4e8 8215 (version-major+minor version) "/"
e5f4796e 8216 "folks-" version ".tar.xz"))
6064a4e8
LF
8217 (sha256
8218 (base32
d23495fa 8219 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8220 (build-system glib-or-gtk-build-system)
8221 (inputs
8222 `(("bdb" ,bdb)
8223 ("dbus-glib" ,dbus-glib)
8224 ("evolution-data-server" ,evolution-data-server)
8225 ("glib" ,glib)
8226 ("libgee" ,libgee)
8227 ("telepathy-glib" ,telepathy-glib)))
8228 (native-inputs
8229 `(("gobject-introspection" ,gobject-introspection)
8230 ("intltool" ,intltool)
8231 ("pkg-config" ,pkg-config)
8232 ("vala" ,vala)))
8233 (synopsis "Library to aggregate data about people")
8234 (description "Libfolks is a library that aggregates information about people
8235from multiple sources (e.g., Telepathy connection managers for IM contacts,
8236Evolution Data Server for local contacts, libsocialweb for web service contacts,
8237etc.) to create metacontacts. It's written in Vala, which generates C code when
8238compiled.")
8239 (home-page "https://wiki.gnome.org/Projects/Folks")
8240 (license license:lgpl2.1+)))
01ea778f
LF
8241
8242(define-public gfbgraph
8243 (package
8244 (name "gfbgraph")
8245 (version "0.2.3")
8246 (source (origin
8247 (method url-fetch)
8248 (uri (string-append
237d4cf7 8249 "mirror://gnome/sources/gfbgraph/"
01ea778f 8250 (version-major+minor version) "/"
237d4cf7 8251 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8252 (sha256
8253 (base32
8254 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8255 (build-system glib-or-gtk-build-system)
8256 (arguments
8257 `(#:tests? #f ; Tests appear to require the network.
8258 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8259 #:configure-flags '("--disable-gtk-doc"
8260 "--disable-static"
8261 "--enable-introspection")))
8262 (native-inputs
8263 `(("pkg-config" ,pkg-config)
8264 ("gobject-introspection" ,gobject-introspection)))
8265 (inputs
8266 `(("json-glib" ,json-glib)
14c297fd 8267 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8268 ("rest" ,rest)))
8269 (synopsis "GLib/GObject wrapper for the Facebook API")
8270 (description "This library allows you to use the Facebook API from
8271GLib/GObject code.")
8272 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8273 (license license:lgpl2.1+)))
3920868c 8274
8275(define-public libgnomekbd
8276 (package
8277 (name "libgnomekbd")
70f2b0f9 8278 (version "3.26.1")
3920868c 8279 (source (origin
8280 (method url-fetch)
d47fa82d 8281 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8282 (version-major+minor version) "/"
d47fa82d 8283 "libgnomekbd-" version ".tar.xz"))
3920868c 8284 (sha256
8285 (base32
70f2b0f9 8286 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8287 (build-system gnu-build-system)
8288 (native-inputs
8289 `(("pkg-config" ,pkg-config)
8290 ("glib" ,glib "bin")
8291 ("intltool" ,intltool)))
8292 (propagated-inputs
8293 ;; Referred to in .h files and .pc.
8294 `(("glib" ,glib)
8295 ("gtk+" ,gtk+)
8296 ("libxklavier" ,libxklavier)))
8297 (home-page "https://www.gnome.org")
8298 (synopsis "GNOME keyboard configuration library")
8299 (description
8300 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8301environment, which can notably display keyboard layouts.")
8302 (license license:lgpl2.0+)))
85327d0d 8303
8304;;; This package is no longer maintained:
8305;;; https://wiki.gnome.org/Attic/LibUnique
8306;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8307;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8308(define-public libunique
8309 (package
8310 (name "libunique")
8311 (version "3.0.2")
8312 (source (origin
8313 (method url-fetch)
8314 (uri (string-append "mirror://gnome/sources/" name "/"
8315 (version-major+minor version) "/"
8316 name "-" version ".tar.xz"))
8317 (sha256
8318 (base32
8319 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8320 (build-system glib-or-gtk-build-system)
8321 (arguments
8322 `(#:configure-flags '("--disable-static"
8323 "--disable-dbus" ; use gdbus
8324 "--enable-introspection")))
8325 (native-inputs
8326 `(("pkg-config" ,pkg-config)
8327 ("gobject-introspection" ,gobject-introspection)
8328 ("glib:bin" ,glib "bin")
8329 ("gtk-doc" ,gtk-doc)))
8330 (propagated-inputs
8331 ;; Referred to in .h files and .pc.
8332 `(("gtk+" ,gtk+)))
8333 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8334 (synopsis "Library for writing single instance applications")
8335 (description
8336 "Libunique is a library for writing single instance applications. If you
8337launch a single instance application twice, the second instance will either just
8338quit or will send a message to the running instance. Libunique makes it easy to
8339write this kind of application, by providing a base class, taking care of all
8340the IPC machinery needed to send messages to a running instance, and also
8341handling the startup notification side.")
8342 (license license:lgpl2.1+)))
54021cd8
RS
8343
8344(define-public gnome-calculator
8345 (package
8346 (name "gnome-calculator")
07ace641 8347 (version "3.32.2")
54021cd8
RS
8348 (source
8349 (origin
8350 (method url-fetch)
8351 (uri (string-append "mirror://gnome/sources/" name "/"
8352 (version-major+minor version) "/"
8353 name "-" version ".tar.xz"))
8354 (sha256
8355 (base32
07ace641 8356 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8357 (build-system meson-build-system)
8358 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8359 (native-inputs
8360 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8361 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8362 ("intltool" ,intltool)
8363 ("itstool" ,itstool)
2d475910 8364 ("vala" ,vala)
54021cd8
RS
8365 ("pkg-config" ,pkg-config)))
8366 (inputs
112e9083 8367 `(("glib" ,glib)
07ace641 8368 ("gtksourceview" ,gtksourceview)
54021cd8 8369 ("libsoup" ,libsoup)
112e9083 8370 ("libxml2" ,libxml2)
2c2da7ec 8371 ("mpc" ,mpc)
54021cd8
RS
8372 ("mpfr" ,mpfr)))
8373 (home-page "https://wiki.gnome.org/Apps/Calculator")
8374 (synopsis "Desktop calculator")
8375 (description
8376 "Calculator is an application that solves mathematical equations and
8377is suitable as a default application in a Desktop environment.")
8378 (license license:gpl3)))
0bd69759
RS
8379
8380(define-public xpad
8381 (package
8382 (name "xpad")
c85626bb 8383 (version "5.1.0")
0bd69759
RS
8384 (source
8385 (origin
8386 (method url-fetch)
08fda9c6
R
8387 (uri (string-append "https://launchpad.net/xpad/trunk/"
8388 version "/+download/"
0bd69759
RS
8389 name "-" version ".tar.bz2"))
8390 (sha256
8391 (base32
c85626bb 8392 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8393 (build-system gnu-build-system)
8394 (native-inputs
08fda9c6
R
8395 `(("autoconf" ,autoconf)
8396 ("automake" ,automake)
8397 ("gtk+:bin" ,gtk+ "bin")
8398 ("intltool" ,intltool)
0bd69759
RS
8399 ("pkg-config" ,pkg-config)))
8400 (inputs
c72647fb 8401 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8402 ("libsm" ,libsm)))
8403 (home-page "https://wiki.gnome.org/Apps/Xpad")
8404 (synopsis "Virtual sticky note")
8405 (description
8406 "Xpad is a sticky note that strives to be simple, fault tolerant,
8407and customizable. Xpad consists of independent pad windows, each is
8408basically a text box in which notes can be written.")
8409 (license license:gpl3+)))
3ad7dce1
RS
8410
8411(define-public gucharmap
c60063ea
RW
8412 (let ((unicode-files
8413 '(("Blocks.txt"
1f8b5515 8414 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8415 ("DerivedAge.txt"
1f8b5515 8416 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8417 ("NamesList.txt"
1f8b5515 8418 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8419 ("Scripts.txt"
1f8b5515 8420 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8421 ("UnicodeData.txt"
1f8b5515 8422 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8423 ("Unihan.zip"
1f8b5515 8424 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8425 (package
8426 (name "gucharmap")
1f8b5515 8427 (version "12.0.1")
c60063ea
RW
8428 (source
8429 (origin
8430 (method url-fetch)
8431 (uri (string-append "mirror://gnome/sources/" name "/"
8432 (version-major+minor version) "/"
8433 name "-" version ".tar.xz"))
8434 (sha256
8435 (base32
1f8b5515 8436 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8437 (build-system glib-or-gtk-build-system)
8438 (arguments
8439 `(#:modules ((ice-9 match)
8440 (guix build glib-or-gtk-build-system)
8441 (guix build utils))
8442 #:configure-flags
8443 (list "--with-unicode-data=../unicode-data")
8444 #:phases
8445 (modify-phases %standard-phases
8446 (add-after 'unpack 'prepare-unicode-data
8447 (lambda* (#:key inputs #:allow-other-keys)
8448 (mkdir-p "../unicode-data")
8449 (with-directory-excursion "../unicode-data"
8450 (for-each (match-lambda
8451 ((file _)
8452 (install-file (assoc-ref inputs file) ".")))
8453 ',unicode-files))
8454 #t)))))
8455 (native-inputs
8456 `(("desktop-file-utils" ,desktop-file-utils)
8457 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8458 ("gobject-introspection" ,gobject-introspection)
8459 ("intltool" ,intltool)
8460 ("itstool" ,itstool)
8461 ("pkg-config" ,pkg-config)
8462 ,@(map (match-lambda
8463 ((file hash)
8464 `(,file
8465 ,(origin
8466 (method url-fetch)
8467 (uri (string-append
1f8b5515 8468 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8469 file))
8470 (sha256 (base32 hash))))))
8471 unicode-files)
8472 ("unzip" ,unzip)))
8473 (inputs
8474 `(("gtk+" ,gtk+)
8475 ("xmllint" ,libxml2)))
8476 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8477 (synopsis "Unicode character picker and font browser")
8478 (description
8479 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8480characters and categories for the installed fonts, and to examine their
8481detailed properties. It is an easy way to find the character you might
8482only know by its Unicode name or code point.")
c60063ea 8483 (license license:gpl3+))))
04ce840a
RS
8484
8485(define-public bluefish
8486 (package
8487 (name "bluefish")
ea8afaf3 8488 (version "2.2.10")
04ce840a
RS
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8493 name "-" version ".tar.gz"))
8494 (sha256
8495 (base32
ea8afaf3 8496 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8497 (build-system gnu-build-system)
8498 (native-inputs
8499 `(("desktop-file-utils" ,desktop-file-utils)
8500 ("intltool" ,intltool)
8501 ("pkg-config" ,pkg-config)))
8502 (inputs
8503 `(("enchant" ,enchant)
8504 ("gtk+" ,gtk+)
8505 ("python" ,python-2)
8506 ("xmllint" ,libxml2)
8507 ("gucharmap" ,gucharmap)))
8508 (home-page "http://bluefish.openoffice.nl")
8509 (synopsis "Web development studio")
8510 (description
8511 "Bluefish is an editor targeted towards programmers and web developers,
8512with many options to write web sites, scripts and other code.
8513Bluefish supports many programming and markup languages.")
8514 (license license:gpl3+)))
1f6a73ee
RS
8515
8516(define-public gnome-system-monitor
8517 (package
8518 (name "gnome-system-monitor")
083cffaf 8519 (version "3.32.1")
1f6a73ee
RS
8520 (source
8521 (origin
8522 (method url-fetch)
8523 (uri (string-append "mirror://gnome/sources/" name "/"
8524 (version-major+minor version) "/"
8525 name "-" version ".tar.xz"))
8526 (sha256
8527 (base32
083cffaf 8528 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8529 (build-system meson-build-system)
8530 (arguments
8531 '(#:glib-or-gtk? #t
8532 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8533 (native-inputs
8534 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8535 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8536 ("intltool" ,intltool)
8537 ("itstool" ,itstool)
8538 ("libgtop" ,libgtop)
4985d9aa 8539 ("polkit" ,polkit)
1f6a73ee
RS
8540 ("pkg-config" ,pkg-config)))
8541 (inputs
8542 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8543 ("gtk+" ,gtk+)
8544 ("gtkmm" ,gtkmm)
8545 ("librsvg" ,librsvg)
4985d9aa
RW
8546 ("libxml2" ,libxml2)
8547 ("libwnck" ,libwnck)))
1f6a73ee
RS
8548 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8549 (synopsis "Process viewer and system resource monitor for GNOME")
8550 (description
8551 "GNOME System Monitor is a GNOME process viewer and system monitor with
8552an attractive, easy-to-use interface. It has features, such as a tree view
8553for process dependencies, icons for processes, the ability to hide processes,
8554graphical time histories of CPU/memory/swap usage and the ability to
8555kill/reinice processes.")
8556 (license license:gpl2+)))
3e00ac47
SB
8557
8558(define-public python-pyatspi
8559 (package
8560 (name "python-pyatspi")
4f937a32 8561 (version "2.34.0")
3e00ac47
SB
8562 (source (origin
8563 (method url-fetch)
8564 (uri (string-append
8565 "mirror://gnome/sources/pyatspi/"
8566 (version-major+minor version)
8567 "/pyatspi-" version ".tar.xz"))
8568 (sha256
8569 (base32
4f937a32 8570 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8571 (build-system gnu-build-system)
b95af3f6
JL
8572 (arguments
8573 `(#:phases
8574 (modify-phases %standard-phases
8575 (add-before 'build 'fix-atk-load
8576 (lambda _
8577 (substitute* "pyatspi/__init__.py"
8578 (("from gi.repository import Atspi")
8579 "gi.require_version('Gtk', '3.0')
8580from gi.repository import Gtk
8581from gi.repository import Atspi"))
8582 #t)))))
3e00ac47
SB
8583 (native-inputs
8584 `(("pkg-config" ,pkg-config)))
8585 (inputs
8586 `(("python" ,python)
8587 ("python-pygobject" ,python-pygobject)))
8588 (synopsis "Python client bindings for D-Bus AT-SPI")
8589 (home-page "https://wiki.linuxfoundation.org/accessibility\
8590/atk/at-spi/at-spi_on_d-bus")
8591 (description
8592 "This package includes a python client library for the AT-SPI D-Bus
8593accessibility infrastructure.")
8594 (license license:lgpl2.0)
8595 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8596
8597(define-public orca
8598 (package
8599 (name "orca")
089e8585 8600 (version "3.32.0")
53201c0d
SB
8601 (source (origin
8602 (method url-fetch)
8603 (uri (string-append
8604 "mirror://gnome/sources/" name "/"
8605 (version-major+minor version) "/"
8606 name "-" version ".tar.xz"))
8607 (sha256
8608 (base32
089e8585 8609 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8610 (build-system glib-or-gtk-build-system)
8611 (arguments
8612 '(#:phases
8613 (modify-phases %standard-phases
8614 (add-before 'configure 'qualify-xkbcomp
8615 (lambda* (#:key inputs #:allow-other-keys)
8616 (let ((xkbcomp (string-append
8617 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8618 (substitute* "src/orca/orca.py"
8619 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8620 #t))
8621 (add-after 'install 'wrap-orca
8622 (lambda* (#:key outputs #:allow-other-keys)
8623 (let* ((out (assoc-ref outputs "out"))
8624 (prog (string-append out "/bin/orca")))
8625 (wrap-program prog
8626 `("GI_TYPELIB_PATH" ":" prefix
8627 (,(getenv "GI_TYPELIB_PATH")))
8628 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8629 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8630 `("PYTHONPATH" ":" prefix
8631 (,(getenv "PYTHONPATH")))))
8632 #t)))))
8633 (native-inputs
8634 `(("intltool" ,intltool)
8635 ("itstool" ,itstool)
8636 ("pkg-config" ,pkg-config)
8637 ("xmllint" ,libxml2)))
8638 (inputs
8639 `(("at-spi2-atk" ,at-spi2-atk)
8640 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8641 ("gstreamer" ,gstreamer)
8642 ("gst-plugins-base" ,gst-plugins-base)
8643 ("gst-plugins-good" ,gst-plugins-good)
8644 ("gtk+" ,gtk+)
8645 ("python" ,python)
8646 ("python-pygobject" ,python-pygobject)
8647 ("python-pyatspi" ,python-pyatspi)
8648 ("python-speechd" ,speech-dispatcher)
8649 ("xkbcomp" ,xkbcomp)))
8650 (synopsis
8651 "Screen reader for individuals who are blind or visually impaired")
8652 (home-page "https://wiki.gnome.org/Projects/Orca")
8653 (description
8654 "Orca is a screen reader that provides access to the graphical desktop
8655via speech and refreshable braille. Orca works with applications and toolkits
8656that support the Assistive Technology Service Provider Interface (AT-SPI).")
8657 (license license:lgpl2.1+)))
411ba511
LC
8658
8659(define-public gspell
8660 (package
8661 (name "gspell")
7a6bbe9b 8662 (version "1.8.2")
411ba511
LC
8663 (source (origin
8664 (method url-fetch)
8665 (uri (string-append "mirror://gnome/sources/" name "/"
8666 (version-major+minor version) "/"
8667 name "-" version ".tar.xz"))
8668 (sha256
8669 (base32
7a6bbe9b 8670 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8671 (patches (search-patches "gspell-dash-test.patch"))))
8672 (build-system glib-or-gtk-build-system)
8673 (arguments
8674 '(#:phases
8675 (modify-phases %standard-phases
8676 (add-before 'check 'pre-check
8677 (lambda* (#:key inputs #:allow-other-keys)
8678 ;; Tests require a running X server.
8679 (system "Xvfb :1 &")
8680 (setenv "DISPLAY" ":1")
8681
8682 ;; For the missing /etc/machine-id.
8683 (setenv "DBUS_FATAL_WARNINGS" "0")
8684
8685 ;; Allow Enchant and its Aspell backend to find the en_US
8686 ;; dictionary.
8687 (setenv "ASPELL_DICT_DIR"
8688 (string-append (assoc-ref inputs "aspell-dict-en")
8689 "/lib/aspell"))
8690 #t)))))
8691 (inputs
eccd35be 8692 `(("gtk+" ,gtk+)
a801ae4c
TGR
8693 ("glib" ,glib)
8694 ("iso-codes" ,iso-codes)))
411ba511
LC
8695 (native-inputs
8696 `(("glib" ,glib "bin")
26ba3f07 8697 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8698 ("pkg-config" ,pkg-config)
8699 ("xmllint" ,libxml2)
8700
8701 ;; For tests.
a801ae4c 8702 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8703 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8704 (propagated-inputs
9b1bb757 8705 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8706 (home-page "https://wiki.gnome.org/Projects/gspell")
8707 (synopsis "GNOME's alternative spell checker")
8708 (description
8709 "gspell provides a flexible API to add spell-checking to a GTK+
8710application. It provides a GObject API, spell-checking to text entries and
8711text views, and buttons to choose the language.")
8712 (license license:gpl2+)))
d1d739fa
CM
8713
8714(define-public gnome-planner
8715 (package
8716 (name "gnome-planner")
8717 (version "0.14.6")
8718 (source (origin
8719 (method url-fetch)
8720 (uri (string-append "mirror://gnome/sources/planner/"
8721 (version-major+minor version) "/planner-"
8722 version ".tar.xz"))
8723 (sha256
8724 (base32
8725 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8726 (build-system glib-or-gtk-build-system)
8727 (arguments
8728 ;; Disable the Python bindings because the Planner program functions
8729 ;; without them, and (as of 2017-06-13) we have not packaged all of
8730 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8731 `(#:configure-flags
8732 (list "--disable-python"
8733 ,@(if (string=? "aarch64-linux" (%current-system))
8734 '("--build=aarch64-unknown-linux-gnu")
8735 '()))))
d1d739fa
CM
8736 (inputs
8737 `(("libgnomecanvas" ,libgnomecanvas)
8738 ("libgnomeui" ,libgnomeui)
8739 ("libglade" ,libglade)
8740 ("gnome-vfs" ,gnome-vfs)
8741 ("gconf" ,gconf)
8742 ("libxml2" ,libxml2)
8743 ("libxslt" ,libxslt)
8744 ("gtk+" ,gtk+)
8745 ("glib" ,glib)))
8746 (native-inputs
8747 `(("intltool" ,intltool)
8748 ("scrollkeeper" ,scrollkeeper)
8749 ("pkg-config" ,pkg-config)))
8750 (home-page "https://wiki.gnome.org/Apps/Planner")
8751 (synopsis "Project management software for the GNOME desktop")
8752 (description
8753 "GNOME Planner is a project management tool based on the Work Breakdown
8754Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8755the resources, tasks, and constraints that you define, Planner generates
8756various views into a project. For example, Planner can show a Gantt chart of
8757the project. It can show a detailed summary of tasks including their
8758duration, cost, and current progress. It can also show a report of resource
8759utilization that highlights under-utilized and over-utilized resources. These
8760views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8761 (license license:gpl2+)))
64fce637
RS
8762
8763(define-public lollypop
8764 (package
8765 (name "lollypop")
ca32627a 8766 (version "1.2.7")
64fce637
RS
8767 (source
8768 (origin
8769 (method url-fetch)
b98eace8 8770 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 8771 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 8772 "lollypop-" version ".tar.xz"))
64fce637 8773 (sha256
ca32627a 8774 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 8775 (build-system meson-build-system)
64fce637
RS
8776 (arguments
8777 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
8778 ,@%meson-build-system-modules)
8779 #:glib-or-gtk? #t
5fc9b6c1
EF
8780 #:tests? #f ; no test suite
8781 #:phases
8782 (modify-phases %standard-phases
5fc9b6c1
EF
8783 (add-after 'install 'wrap-program
8784 (lambda* (#:key outputs #:allow-other-keys)
8785 (let ((out (assoc-ref outputs "out"))
8786 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8787 (wrap-program (string-append out "/bin/lollypop")
8788 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8789 #t))
8ac8b3b3
TGR
8790 (add-after 'install 'wrap-python
8791 (@@ (guix build python-build-system) wrap))
8792 (add-after 'install 'wrap-glib-or-gtk
8793 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
8794 (native-inputs
8795 `(("intltool" ,intltool)
8796 ("itstool" ,itstool)
aa498fc0
TD
8797 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8798 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8799 ("pkg-config" ,pkg-config)))
8800 (inputs
8801 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8802 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8803 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8804 ("libnotify" ,libnotify)
8805 ("libsecret" ,libsecret)
8806 ("libsoup" ,libsoup)
8807 ("python" ,python)
8808 ("python-beautifulsoup4" ,python-beautifulsoup4)
8809 ("python-gst" ,python-gst)
d029afdd 8810 ("python-pil" ,python-pillow)
64fce637 8811 ("python-pycairo" ,python-pycairo)
7460f346 8812 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8813 ("python-pylast" ,python-pylast)
8814 ("totem-pl-parser" ,totem-pl-parser)
8815 ("webkitgtk" ,webkitgtk)))
8816 (propagated-inputs
8817 `(;; gst-plugins-base is required to start Lollypop,
8818 ;; the others are required to play streaming.
64fce637
RS
8819 ("gst-plugins-good" ,gst-plugins-good)
8820 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8821 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8822 (synopsis "GNOME music playing application")
8823 (description
8824 "Lollypop is a music player designed to play well with GNOME desktop.
8825Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8826from artists and tracks from the web. It also fetches cover artworks
8827automatically and it can stream songs from online music services and charts.")
8828 (license license:gpl3+)))
d831d49d
AW
8829
8830(define-public gnome-video-effects
8831 (package
8832 (name "gnome-video-effects")
8833 (version "0.4.3")
8834 (source (origin
8835 (method url-fetch)
8836 (uri (string-append "mirror://gnome/sources/" name "/"
8837 (version-major+minor version) "/" name "-"
8838 version ".tar.xz"))
8839 (sha256
8840 (base32
8841 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8842 (build-system glib-or-gtk-build-system)
8843 (arguments
8844 `(#:out-of-source? #f))
8845 (native-inputs
8846 `(("glib:bin" ,glib "bin")
8847 ("intltool" ,intltool)
8848 ("gettext" ,gettext-minimal)
8849 ("pkg-config" ,pkg-config)))
8850 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8851 (synopsis "Video effects for Cheese and other GNOME applications")
8852 (description
8853 "A collection of GStreamer video filters and effects to be used in
8854photo-booth-like software, such as Cheese.")
8855 (license license:gpl2+)))
3511c780
AW
8856
8857(define-public cheese
8858 (package
8859 (name "cheese")
dd33b337 8860 (version "3.32.1")
3511c780
AW
8861 (source (origin
8862 (method url-fetch)
8863 (uri (string-append "mirror://gnome/sources/" name "/"
8864 (version-major+minor version) "/" name "-"
8865 version ".tar.xz"))
8866 (sha256
8867 (base32
dd33b337 8868 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8869 (arguments
8870 ;; Tests require GDK.
8871 `(#:tests? #f
8872 #:phases
8873 (modify-phases %standard-phases
8874 (add-before 'install 'skip-gtk-update-icon-cache
8875 (lambda _
8876 ;; Don't create 'icon-theme.cache'
8877 (substitute* "Makefile"
8878 (("gtk-update-icon-cache") (which "true")))
8879 #t))
8880 (add-after 'install 'wrap-cheese
8881 (lambda* (#:key inputs outputs #:allow-other-keys)
8882 (let ((out (assoc-ref outputs "out"))
8883 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8884 (wrap-program (string-append out "/bin/cheese")
8885 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8886 #t)))))
8887 (build-system glib-or-gtk-build-system)
8888 (native-inputs
8889 `(("glib:bin" ,glib "bin")
8890 ("intltool" ,intltool)
8891 ("itstool" ,itstool)
8892 ("libxml2" ,libxml2)
8893 ("pkg-config" ,pkg-config)
8894 ("vala" ,vala)))
8895 (propagated-inputs
6a19f03e
RW
8896 `(("gnome-video-effects" ,gnome-video-effects)
8897 ("clutter" ,clutter)
3511c780
AW
8898 ("clutter-gst" ,clutter-gst)
8899 ("clutter-gtk" ,clutter-gtk)
6a19f03e 8900 ("libcanberra" ,libcanberra)
3511c780
AW
8901 ("gdk-pixbuf" ,gdk-pixbuf)
8902 ("glib" ,glib)
6a19f03e
RW
8903 ("gstreamer" ,gstreamer)))
8904 (inputs
8905 `(("gnome-desktop" ,gnome-desktop)
3511c780 8906 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
8907 ("gst-plugins-base" ,gst-plugins-base)
8908 ("gst-plugins-bad" ,gst-plugins-bad)
8909 ("gtk+" ,gtk+)
3511c780
AW
8910 ("libx11" ,libx11)
8911 ("libxtst" ,libxtst)))
8912 (home-page "https://wiki.gnome.org/Apps/Cheese")
8913 (synopsis "Webcam photo booth software for GNOME")
8914 (description
8915 "Cheese uses your webcam to take photos and videos. Cheese can also
8916apply fancy special effects and lets you share the fun with others.")
8917 (license license:gpl2+)))
3c5dbd2b 8918
8919(define-public sound-juicer
8920 (package
8921 (name "sound-juicer")
8922 (version "3.24.0")
8923 (source
8924 (origin
8925 (method url-fetch)
8926 (uri (string-append "mirror://gnome/sources/" name "/"
8927 (version-major+minor version) "/"
8928 name "-" version ".tar.xz"))
8929 (sha256
8930 (base32
8931 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
8932 (build-system glib-or-gtk-build-system)
8933 (native-inputs
8934 `(("desktop-file-utils" ,desktop-file-utils)
8935 ("intltool" ,intltool)
8936 ("itstool" ,itstool)
8937 ("pkg-config" ,pkg-config)
8938 ("xmllint" ,libxml2)))
8939 (inputs
8940 `(("gtk+" ,gtk+)
8941 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8942 ("gstreamer" ,gstreamer)
8943 ("gst-plugins-base" ,gst-plugins-base)
8944 ("gst-plugins-good" ,gst-plugins-good)
8945 ("iso-codes" ,iso-codes)
8946 ("libbrasero-media3" ,brasero)
8947 ("libcanberra" ,libcanberra)
8948 ("libdiscid" ,libdiscid)
8949 ("libmusicbrainz" ,libmusicbrainz)
8950 ("neon" ,neon)))
8951 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
8952 (synopsis "Audio music cd ripper")
8953 (description "Sound Juicer extracts audio from compact discs and convert it
8954into audio files that a personal computer or digital audio player can play.
8955It supports ripping to any audio codec supported by a GStreamer plugin, such as
8956mp3, Ogg Vorbis and FLAC")
8957 (license license:gpl2+)))
4e3fdeb7 8958
0d3f1708
CB
8959(define-public soundconverter
8960 (package
8961 (name "soundconverter")
fa75a213 8962 (version "3.0.1")
0d3f1708
CB
8963 (source
8964 (origin
8965 (method url-fetch)
8966 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
8967 version "/+download/"
8968 "soundconverter-" version ".tar.xz"))
8969
8970 (sha256
fa75a213 8971 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
8972 (patches
8973 (search-patches
8974 "soundconverter-remove-gconf-dependency.patch"))))
8975 (build-system glib-or-gtk-build-system)
8976 (arguments
8977 `(#:imported-modules ((guix build python-build-system)
8978 (guix build glib-or-gtk-build-system)
8979 ,@%gnu-build-system-modules)
8980
8981 #:modules ((guix build glib-or-gtk-build-system)
8982 (guix build utils)
8983 ((guix build gnu-build-system) #:prefix gnu:)
8984 ((guix build python-build-system) #:prefix python:))
8985
8986 #:phases
8987 (modify-phases %standard-phases
0d3f1708
CB
8988 (add-after 'install 'wrap-soundconverter-for-python
8989 (assoc-ref python:%standard-phases 'wrap))
8990 (add-after 'install 'wrap-soundconverter
8991 (lambda* (#:key inputs outputs #:allow-other-keys)
8992 (let ((out (assoc-ref outputs "out"))
8993 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8994 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8995 (wrap-program (string-append out "/bin/soundconverter")
8996 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8997 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8998 #t)))))
8999 (native-inputs
9000 `(("intltool" ,intltool)
9001 ("pkg-config" ,pkg-config)
9002 ("glib:bin" ,glib "bin")))
9003 (inputs
9004 `(("gtk+" ,gtk+)
9005 ("python" ,python)
9006 ("python-pygobject" ,python-pygobject)
9007 ("gstreamer" ,gstreamer)
9008 ("gst-plugins-base" ,gst-plugins-base)))
9009 (home-page "http://soundconverter.org/")
9010 (synopsis "Convert between audio formats with a graphical interface")
9011 (description
9012 "SoundConverter supports converting between many audio formats including
9013Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9014configurable file renaming. ")
9015 (license license:gpl3)))
9016
4e3fdeb7 9017(define-public workrave
89f2d736
TGR
9018 (package
9019 (name "workrave")
aa51d92c 9020 (version "1.10.34")
89f2d736
TGR
9021 (source
9022 (origin
9023 (method git-fetch)
9024 (uri (git-reference
9025 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9026 (commit (string-append "v" (string-map
9027 (match-lambda (#\. #\_) (chr chr))
9028 version)))))
89f2d736
TGR
9029 (file-name (git-file-name name version))
9030 (sha256
aa51d92c 9031 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 9032 (build-system glib-or-gtk-build-system)
d1c96847
MC
9033 (inputs `(("glib" ,glib)
9034 ("gtk+" ,gtk+)
9035 ("gdk-pixbuf" ,gdk-pixbuf)
9036 ("gtkmm" ,gtkmm)
9037 ("glibmm" ,glibmm)
9038 ("libx11" ,libx11)
9039 ("libxtst" ,libxtst)
9040 ("dconf" ,dconf)
9041 ("libice" ,libice)
9042 ("libsm" ,libsm)
9043 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9044 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9045 ("pkg-config" ,pkg-config)
9046 ("gettext" ,gnu-gettext)
9047 ("autoconf" ,autoconf)
9048 ("autoconf-archive" , autoconf-archive)
9049 ("automake" ,automake)
9050 ("libtool" ,libtool)
9051 ("intltool" ,intltool)
89f2d736 9052 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9053 ("python3" ,python-3)
9054 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9055 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9056 (description
9057 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9058repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9059micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9060 (home-page "http://www.workrave.org")
9061 (license license:gpl3+)))
312afa7d
LC
9062
9063(define-public ghex
9064 (package
9065 (name "ghex")
3748992a 9066 (version "3.18.4")
312afa7d
LC
9067 (source (origin
9068 (method url-fetch)
2fbab848 9069 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9070 (version-major+minor version) "/"
2fbab848 9071 "ghex-" version ".tar.xz"))
312afa7d
LC
9072 (sha256
9073 (base32
3748992a
KK
9074 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9075 (build-system meson-build-system)
9076 (arguments
9077 '(#:glib-or-gtk? #t
9078 #:phases
9079 (modify-phases %standard-phases
9080 (add-after 'unpack 'skip-gtk-update-icon-cache
9081 ;; Don't create 'icon-theme.cache'.
9082 (lambda _
9083 (substitute* "meson_post_install.py"
9084 (("gtk-update-icon-cache") (which "true")))
9085 #t)))))
312afa7d
LC
9086 (native-inputs
9087 `(("pkg-config" ,pkg-config)
3748992a 9088 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9089 ("gnome-common" ,gnome-common)
9090 ("which" ,which)
9091 ("intltool" ,intltool)
9092 ("yelp-tools" ,yelp-tools)
2fbab848 9093 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9094 (inputs
9095 `(("atk" ,atk)
9096 ("gtk" ,gtk+)))
9097 (synopsis "GNOME hexadecimal editor")
9098 (description "The GHex program can view and edit files in two ways:
9099hexadecimal or ASCII. It is useful for editing binary files in general.")
9100 (home-page "https://wiki.gnome.org/Apps/Ghex")
9101 (license license:gpl2)))
4b2ed6c2
RW
9102
9103(define-public libdazzle
9104 (package
9105 (name "libdazzle")
64fa66ba 9106 (version "3.33.90")
4b2ed6c2
RW
9107 (source (origin
9108 (method url-fetch)
687b4909 9109 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9110 (version-major+minor version) "/"
687b4909 9111 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9112 (sha256
9113 (base32
64fa66ba 9114 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9115 (build-system meson-build-system)
9116 (arguments
9117 `(#:phases
9118 (modify-phases %standard-phases
4b2ed6c2
RW
9119 (add-before 'check 'pre-check
9120 (lambda _
9121 ;; Tests require a running X server.
9122 (system "Xvfb :1 &")
9123 (setenv "DISPLAY" ":1")
9124 #t)))))
9125 (native-inputs
687b4909 9126 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9127 ("pkg-config" ,pkg-config)
687b4909 9128 ;; For tests.
ff337525 9129 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9130 (inputs
9131 `(("glib" ,glib)
9132 ("gobject-introspection" ,gobject-introspection)
9133 ("gtk+" ,gtk+)
9134 ("vala" ,vala)))
9135 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9136 (synopsis "Companion library to GObject and Gtk+")
9137 (description "The libdazzle library is a companion library to GObject and
9138Gtk+. It provides various features that the authors wish were in the
9139underlying library but cannot for various reasons. In most cases, they are
9140wildly out of scope for those libraries. In other cases, they are not quite
9141generic enough to work for everyone.")
9142 (license license:gpl3+)))
7d3bb433
RW
9143
9144(define-public evolution
9145 (package
9146 (name "evolution")
06141f83 9147 (version "3.32.4")
7d3bb433
RW
9148 (source (origin
9149 (method url-fetch)
9150 (uri (string-append "mirror://gnome/sources/evolution/"
9151 (version-major+minor version) "/"
9152 "evolution-" version ".tar.xz"))
9153 (sha256
9154 (base32
06141f83 9155 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9156 (build-system cmake-build-system)
9157 (arguments
5229bea1
KK
9158 `(#:imported-modules (,@%cmake-build-system-modules
9159 (guix build glib-or-gtk-build-system))
9160 #:modules ((guix build cmake-build-system)
9161 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9162 (guix build utils))
9163 #:configure-flags
7d3bb433 9164 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9165 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9166 ; in four years and cannot be built.
5229bea1
KK
9167 #:phases
9168 (modify-phases %standard-phases
9169 ;; The build system attempts to install user interface modules to the
9170 ;; output directory of the "evolution-data-server" package. This
9171 ;; change redirects that change.
9172 (add-after 'unpack 'patch-ui-module-dir
9173 (lambda* (#:key outputs #:allow-other-keys)
9174 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9175 (("\\$\\{edsuimoduledir\\}")
9176 (string-append (assoc-ref outputs "out")
9177 "/lib/evolution-data-server/ui-modules")))
9178 #t))
9179 (add-after 'install 'glib-or-gtk-compile-schemas
9180 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9181 (add-after 'install 'glib-or-gtk-wrap
9182 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9183 (native-inputs
ad6e168b 9184 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9185 ("pkg-config" ,pkg-config)
9186 ("intltool" ,intltool)
9187 ("itstool" ,itstool)))
9188 (inputs
9189 `(("enchant" ,enchant)
9190 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9191 ("gcr" ,gcr)
ad6e168b 9192 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9193 ("gnome-autoar" ,gnome-autoar)
9194 ("gnome-desktop" ,gnome-desktop)
9195 ("gtkspell3" ,gtkspell3)
9196 ("highlight" ,highlight)
9197 ("libcanberra" ,libcanberra)
b63c06f1 9198 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9199 ("libgweather" ,libgweather)
9200 ("libnotify" ,libnotify)
9201 ("libsoup" ,libsoup)
9202 ("nss" ,nss)
9203 ("openldap" ,openldap)
9204 ("webkitgtk" ,webkitgtk)
9205 ("ytnef" ,ytnef)))
9206 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9207 (synopsis "Manage your email, contacts and schedule")
9208 (description "Evolution is a personal information management application
9209that provides integrated mail, calendaring and address book
9210functionality.")
9211 ;; See COPYING for details.
23dbe621 9212 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9213 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9214 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9215
9216(define-public gthumb
9217 (package
9218 (name "gthumb")
8280676b 9219 (version "3.8.2")
169d63f5
AT
9220 (source (origin
9221 (method url-fetch)
9222 (uri (string-append "mirror://gnome/sources/gthumb/"
9223 (version-major+minor version) "/"
9224 "gthumb-" version ".tar.xz"))
9225 (sha256
9226 (base32
8280676b 9227 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9228 (build-system meson-build-system)
9229 (arguments
9230 `(#:glib-or-gtk? #t
9231 #:configure-flags
9232 ;; Ensure the RUNPATH contains all installed library locations.
9233 (list (string-append "-Dc_link_args=-Wl,-rpath="
9234 (assoc-ref %outputs "out")
9235 "/lib/gthumb/extensions")
9236 (string-append "-Dcpp_link_args=-Wl,-rpath="
9237 (assoc-ref %outputs "out")
9238 "/lib/gthumb/extensions"))))
9239 (native-inputs
9240 `(("pkg-config" ,pkg-config)
9241 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9242 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9243 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9244 ("intltool" ,intltool)
9245 ("itstool" ,itstool)))
9246 (inputs
9247 `(("exiv2" ,exiv2)
9248 ("gtk" ,gtk+)
9249 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9250 ("gstreamer" ,gstreamer)
9251 ("clutter" ,clutter)
9252 ("clutter-gst" ,clutter-gst)
9253 ("clutter-gtk" ,clutter-gtk)
9254 ("libjpeg" ,libjpeg)
9255 ("libtiff" ,libtiff)
9256 ("libraw" ,libraw)))
9257 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9258 (synopsis "GNOME image viewer and browser")
9259 (description "GThumb is an image viewer, browser, organizer, editor and
9260advanced image management tool")
9261 (license license:gpl2+)))
08be02be
AT
9262
9263(define-public terminator
9264 (package
9265 (name "terminator")
9266 (version "1.91")
9267 (source (origin
9268 (method url-fetch)
9269 (uri (string-append "https://launchpad.net/" name "/"
9270 "gtk3/" version "/" "+download/"
9271 name "-" version ".tar.gz"))
9272 (sha256
9273 (base32
9274 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9275 (build-system python-build-system)
9276 (native-inputs
9277 `(("intltool" ,intltool)
9278 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9279 ("gettext" ,gettext-minimal)
9280 ("pkg-config" ,pkg-config)))
9281 (inputs
9282 `(("cairo" ,cairo)
9283 ("gobject-introspection" ,gobject-introspection)
96681d4b 9284 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9285 ("python2-pycairo" ,python2-pycairo)
9286 ("python2-pygobject" ,python2-pygobject)
9287 ("python2-psutil" ,python2-psutil)
9288 ("vte" ,vte)))
9289 (arguments
96681d4b
TGR
9290 `(#:python ,python-2 ; Python 3 isn't supported
9291 #:imported-modules ((guix build glib-or-gtk-build-system)
9292 ,@%python-build-system-modules)
9293 #:modules ((guix build python-build-system)
9294 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9295 (guix build utils))
08be02be
AT
9296 #:phases
9297 (modify-phases %standard-phases
9298 (add-after
9299 'install 'wrap-program
9300 (lambda* (#:key outputs #:allow-other-keys)
9301 (let ((prog (string-append (assoc-ref outputs "out")
9302 "/bin/terminator")))
9303 (wrap-program prog
9304 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9305 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9306 #t)))
9307 (add-after 'wrap-program 'glib-or-gtk-wrap
9308 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9309 (home-page "https://gnometerminator.blogspot.com/")
9310 (synopsis "Store and run multiple GNOME terminals in one window")
9311 (description
9312 "Terminator allows you to run multiple GNOME terminals in a grid and
9313+tabs, and it supports drag and drop re-ordering of terminals.")
9314 (license license:gpl2)))
213315d4
JF
9315
9316(define-public libhandy
9317 (package
9318 (name "libhandy")
f6501b9f 9319 (version "0.0.12")
213315d4
JF
9320 (source
9321 (origin
9322 (method git-fetch)
9323 (uri (git-reference
9324 (url "https://source.puri.sm/Librem5/libhandy")
9325 (commit (string-append "v" version))))
9326 (file-name (git-file-name name version))
9327 (sha256
f6501b9f 9328 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9329 (build-system meson-build-system)
9330 (arguments
9331 `(#:configure-flags
9332 '("-Dglade_catalog=disabled"
9333 "-Dgtk_doc=true")
9334 #:phases
9335 (modify-phases %standard-phases
213315d4
JF
9336 (add-before 'check 'pre-check
9337 (lambda _
9338 ;; Tests require a running X server.
9339 (system "Xvfb :1 &")
9340 (setenv "DISPLAY" ":1")
9341 #t)))))
9342 (inputs
9343 `(("gtk+" ,gtk+)))
9344 (native-inputs
9345 `(("glib:bin" ,glib "bin")
9346 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9347 ("vala" ,vala)
9348 ("gtk-doc" ,gtk-doc)
9349 ("pkg-config" ,pkg-config)
9350 ("gettext" ,gettext-minimal)
d41ee146
TGR
9351
9352 ;; Test suite dependencies.
ff337525 9353 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9354 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9355 (home-page "https://source.puri.sm/Librem5/libhandy")
9356 (synopsis "Library full of GTK+ widgets for mobile phones")
9357 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9358interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9359for usage on small and big screens.")
213315d4 9360 (license license:lgpl2.1+)))
a830d14d
GL
9361
9362(define-public libgit2-glib
9363 (package
9364 (name "libgit2-glib")
9365 (version "0.28.0.1")
9366 (source (origin
9367 (method url-fetch)
9368 (uri (string-append "mirror://gnome/sources/" name "/"
9369 (version-major+minor version) "/"
9370 name "-" version ".tar.xz"))
9371 (sha256
9372 (base32
9373 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
9374 (build-system meson-build-system)
9375 (native-inputs
9376 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9377 ("gobject-introspection" ,gobject-introspection)
9378 ("intltool" ,intltool)
9379 ("libssh2" ,libssh2)
9380 ("pkg-config" ,pkg-config)
9381 ("python-pygobject" ,python-pygobject)
9382 ("python-wrapper" ,python-wrapper)
9383 ("vala" ,vala)))
9384 (inputs
9385 `(("glib" ,glib)
9386 ("libgit2" ,libgit2)))
9387 (synopsis "GLib wrapper around the libgit2 Git access library")
9388 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9389access library. It only implements the core plumbing functions, not really the
9390higher level porcelain stuff.")
9391 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9392 (license license:gpl2+)))
93beace0 9393
08db81c9
LP
9394(define-public gitg
9395 (package
9396 (name "gitg")
9397 (version "3.32.1")
9398 (source (origin
9399 (method url-fetch)
9400 (uri (string-append "mirror://gnome/sources/" name "/"
9401 (version-major+minor version) "/"
9402 name "-" version ".tar.xz"))
9403 (sha256
9404 (base32
9405 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9406 (build-system meson-build-system)
9407 (arguments
9408 `(#:glib-or-gtk? #t
9409 #:phases
9410 (modify-phases %standard-phases
9411 (add-after 'unpack 'disable-post-install-partially
9412 (lambda _
9413 (substitute* "meson_post_install.py"
9414 (("'python'") ; there are no python sources to compile
9415 (string-append "'" (which "true") "'"))
9416 (("gtk-update-icon-cache") (which "true")))
9417 #t))
9418 (add-after 'unpack 'fix-test-sources
9419 (lambda _
9420 (substitute* "tests/libgitg/test-commit.vala"
9421 (("/bin/bash") (which "bash")))
9422 #t))
9423 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9424 (lambda* (#:key outputs #:allow-other-keys)
9425 (let ((prog (string-append (assoc-ref outputs "out")
9426 "/bin/gitg")))
9427 (wrap-program prog
9428 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9429 #t))))))
9430 (inputs
9431 `(("glib" ,glib)
9432 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9433 ("gtk+" ,gtk+)
9434 ("gtkspell3" ,gtkspell3)
9435 ("gtksourceview" ,gtksourceview-3)
9436 ("json-glib" ,json-glib)
9437 ("libdazzle" ,libdazzle)
9438 ("libgee" ,libgee)
9439 ("libgit2" ,libgit2) ; propagated by libgit2-glib
9440 ("libgit2-glib" ,libgit2-glib)
9441 ("libpeas" ,libpeas)
9442 ("libsecret" ,libsecret)
9443 ("libsoup" ,libsoup)
9444 ("libxml2" ,libxml2)))
9445 (native-inputs
9446 `(("glib:bin" ,glib "bin")
9447 ("gtk+:bin" ,gtk+ "bin")
9448 ("gobject-introspection" ,gobject-introspection)
9449 ("intltool" ,intltool)
9450 ("pkg-config" ,pkg-config)
9451 ("vala" ,vala)))
9452 (synopsis "Graphical user interface for git")
9453 (description
9454 "gitg is a graphical user interface for git. It aims at being a small,
9455fast and convenient tool to visualize the history of git repositories.
9456Besides visualization, gitg also provides several utilities to manage your
9457repository and commit your work.")
9458 (home-page "https://wiki.gnome.org/Apps/Gitg")
9459 (license license:gpl2+)))
9460
1e600ed0
RW
9461(define-public gamin
9462 (package
9463 (name "gamin")
9464 (version "0.1.10")
9465 (source (origin
9466 (method url-fetch)
9467 (uri (string-append "mirror://gnome/sources/" name "/"
9468 (version-major+minor version) "/"
9469 name "-" version ".tar.bz2"))
9470 (sha256
9471 (base32
9472 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9473 (build-system gnu-build-system)
9474 (arguments
9475 `(#:phases
9476 (modify-phases %standard-phases
9477 (add-after 'unpack 'remove-deprecated-macro
9478 (lambda _
9479 (substitute* '("server/gam_node.c"
9480 "server/gam_subscription.h"
9481 "server/gam_node.h"
9482 "server/gam_subscription.c")
9483 (("G_CONST_RETURN") "const"))
9484 #t)))))
9485 (inputs
9486 `(("glib" ,glib)))
9487 (native-inputs
9488 `(("intltool" ,intltool)
9489 ("pkg-config" ,pkg-config)))
9490 (home-page "https://people.gnome.org/~veillard/gamin/")
9491 (synopsis "File alteration monitor")
9492 (description
9493 "Gamin is a file and directory monitoring system defined to be a subset
9494of the FAM (File Alteration Monitor) system. This is a service provided by a
9495library which allows to detect when a file or a directory has been modified.")
9496 (license license:gpl2+)))
9497
93beace0
DW
9498(define-public gnome-mahjongg
9499 (package
9500 (name "gnome-mahjongg")
9501 (version "3.35.1")
9502 (source (origin
9503 (method git-fetch)
9504 (uri (git-reference
9505 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9506 (commit version)))
9507 (file-name (git-file-name name version))
9508 (sha256
9509 (base32
9510 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9511 (build-system meson-build-system)
9512 (arguments
9513 `(#:glib-or-gtk? #t))
9514 (native-inputs
9515 `(("appstream-glib" ,appstream-glib)
9516 ("gettext" ,gettext-minimal)
9517 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9518 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9519 ("itstool" ,itstool)
9520 ("pkg-config" ,pkg-config)
9521 ("vala" ,vala)))
9522 (propagated-inputs
9523 `(("dconf" ,dconf)))
9524 (inputs
9525 `(("glib" ,glib)
9526 ("gtk+" ,gtk+)
9527 ("librsvg" ,librsvg)))
9528 (synopsis "Mahjongg tile-matching game")
9529 (description "GNOME Mahjongg is a game based on the classic Chinese
9530tile-matching game Mahjong. It features multiple board layouts, tile themes,
9531and a high score table.")
9532 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9533 (license license:gpl2+)))
f825476c 9534
76ea7632
RG
9535(define-public gnome-themes-extra
9536 (package
9537 (name "gnome-themes-extra")
9538 (version "3.28")
9539 (source
9540 (origin
9541 (method url-fetch)
9542 (uri (string-append "mirror://gnome/sources/" name "/"
9543 (version-major+minor version) "/" name "-"
9544 version ".tar.xz"))
9545 (sha256
9546 (base32
9547 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9548 (build-system gnu-build-system)
885424bf
RG
9549 (arguments
9550 '(#:configure-flags
9551 ;; Don't create 'icon-theme.cache'.
9552 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9553 (true (string-append coreutils "/bin/true")))
9554 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9555 (native-inputs
9556 `(("glib:bin" ,glib "bin")
9557 ("intltool" ,intltool)
9558 ("pkg-config" ,pkg-config)))
9559 (inputs
9560 `(("glib" ,glib)
9561 ("gtk+" ,gtk+)
9562 ("gtk+-2" ,gtk+-2)
9563 ("librsvg" ,librsvg)
9564 ("libxml2" ,libxml2)))
9565 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9566 (synopsis "GNOME Extra Themes")
9567 (description "This package provides themes and related elements that don't
9568really fit in other upstream packages. It offers legacy support for GTK+ 2
9569versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9570index files needed for Adwaita to be used outside of GNOME.")
9571 (license license:lgpl2.1+)))
9572
f825476c
LP
9573(define-public polari
9574 (package
9575 (name "polari")
9576 (version "3.32.2")
9577 (source (origin
9578 (method url-fetch)
9579 (uri (string-append "mirror://gnome/sources/polari/"
9580 (version-major+minor version)
9581 "/polari-" version ".tar.xz"))
9582 (sha256
9583 (base32
9584 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9585 (build-system meson-build-system)
9586 (arguments
9587 `(#:glib-or-gtk? #t
9588 #:phases
9589 (modify-phases %standard-phases
9590 (add-after 'unpack 'skip-gtk-update-icon-cache
9591 (lambda _
9592 (substitute* "meson/meson-postinstall.sh"
9593 (("gtk-update-icon-cache") (which "true")))
9594 #t))
9595 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9596 (lambda* (#:key outputs #:allow-other-keys)
9597 (let ((prog (string-append (assoc-ref outputs "out")
9598 "/bin/polari")))
9599 (wrap-program prog
9600 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9601 #t))))))
9602 (inputs
9603 `(("glib" ,glib)
9604 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9605 ("gspell" ,gspell)
9606 ("gtk+" ,gtk+)
9607 ("gjs" ,gjs)
9608 ("libsecret" ,libsecret)
9609 ("libsoup" ,libsoup)
9610 ("telepathy-glib" ,telepathy-glib)
9611 ("telepathy-logger" ,telepathy-logger)))
9612 (native-inputs
9613 `(("glib:bin" ,glib "bin")
9614 ("gobject-introspection" ,gobject-introspection)
9615 ("intltool" ,intltool)
9616 ("pkg-config" ,pkg-config)
9617 ("yelp-tools" ,yelp-tools)))
9618 (propagated-inputs
9619 `(("telepathy-idle" ,telepathy-idle)
9620 ("telepathy-mission-control" ,telepathy-mission-control)))
9621 (synopsis "Simple IRC Client")
9622 (description
9623 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9624integrate seamlessly with the GNOME desktop.")
9625 (home-page "https://wiki.gnome.org/Apps/Polari")
9626 (license license:gpl2+)))