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