gnu: Add libnma.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
44a06c94 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
7d3bb433 11;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
ec47c07d 37;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
aa51d92c 42;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
ad6e168b 43;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
4e868d22 45;;; Copyright © 2019 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
995b7261
AE
49;;;
50;;; This file is part of GNU Guix.
51;;;
52;;; GNU Guix is free software; you can redistribute it and/or modify it
53;;; under the terms of the GNU General Public License as published by
54;;; the Free Software Foundation; either version 3 of the License, or (at
55;;; your option) any later version.
56;;;
57;;; GNU Guix is distributed in the hope that it will be useful, but
58;;; WITHOUT ANY WARRANTY; without even the implied warranty of
59;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60;;; GNU General Public License for more details.
61;;;
62;;; You should have received a copy of the GNU General Public License
63;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
64
65(define-module (gnu packages gnome)
ed19903d 66 #:use-module (gnu packages)
ba5dd105 67 #:use-module (gnu packages admin)
411ba511 68 #:use-module (gnu packages aspell)
75016d07 69 #:use-module (gnu packages autotools)
7b212526 70 #:use-module (gnu packages avahi)
b29909b4 71 #:use-module (gnu packages backup)
6a180f6f 72 #:use-module (gnu packages base)
1e33331c 73 #:use-module (gnu packages bash)
5698b8b8 74 #:use-module (gnu packages bison)
aa51d92c 75 #:use-module (gnu packages boost)
5fc9b6c1 76 #:use-module (gnu packages build-tools)
df217748 77 #:use-module (gnu packages calendar)
b29909b4 78 #:use-module (gnu packages cdrom)
df12f04a 79 #:use-module (gnu packages check)
d61a894b 80 #:use-module (gnu packages cmake)
b29909b4 81 #:use-module (gnu packages compression)
8f523eb9 82 #:use-module (gnu packages crates-io)
23a22af6 83 #:use-module (gnu packages cups)
6e1bb642 84 #:use-module (gnu packages curl)
c3f29bc9 85 #:use-module (gnu packages cyrus-sasl)
6e1bb642 86 #:use-module (gnu packages databases)
255d1bbe 87 #:use-module (gnu packages dbm)
c769cf9f 88 #:use-module (gnu packages djvu)
ba5dd105 89 #:use-module (gnu packages dns)
b4ce6300 90 #:use-module (gnu packages docbook)
b29909b4 91 #:use-module (gnu packages documentation)
329d731b 92 #:use-module (gnu packages enchant)
b29909b4
TGR
93 #:use-module (gnu packages flex)
94 #:use-module (gnu packages fonts)
e762d943 95 #:use-module (gnu packages file-systems)
a56be436 96 #:use-module (gnu packages fontutils)
b29909b4 97 #:use-module (gnu packages freedesktop)
dfc407f3 98 #:use-module (gnu packages game-development)
fed5a689 99 #:use-module (gnu packages gettext)
b29909b4
TGR
100 #:use-module (gnu packages ghostscript)
101 #:use-module (gnu packages gl)
995b7261 102 #:use-module (gnu packages glib)
c1354b90 103 #:use-module (gnu packages gnupg)
23a22af6 104 #:use-module (gnu packages gnuzilla)
8d8c6bff 105 #:use-module (gnu packages geo)
b29909b4
TGR
106 #:use-module (gnu packages gperf)
107 #:use-module (gnu packages graphviz)
85f5dc19 108 #:use-module (gnu packages gstreamer)
d9c1a22b 109 #:use-module (gnu packages gtk)
6b888eff 110 #:use-module (gnu packages guile)
b645146f 111 #:use-module (gnu packages ibus)
03be9874 112 #:use-module (gnu packages icu4c)
b29909b4
TGR
113 #:use-module (gnu packages image)
114 #:use-module (gnu packages imagemagick)
115 #:use-module (gnu packages inkscape)
9cc98f8a 116 #:use-module (gnu packages iso-codes)
b29909b4 117 #:use-module (gnu packages kerberos)
85f5dc19 118 #:use-module (gnu packages libcanberra)
b64e217f 119 #:use-module (gnu packages libunistring)
75016d07 120 #:use-module (gnu packages libusb)
b29909b4 121 #:use-module (gnu packages linux)
4e3fc547 122 #:use-module (gnu packages lirc)
7b212526 123 #:use-module (gnu packages lua)
b29909b4 124 #:use-module (gnu packages mail)
03be9874 125 #:use-module (gnu packages mp3)
b29909b4 126 #:use-module (gnu packages multiprecision)
64fce637 127 #:use-module (gnu packages music)
b29909b4
TGR
128 #:use-module (gnu packages ncurses)
129 #:use-module (gnu packages nettle)
ba5dd105 130 #:use-module (gnu packages networking)
5fc9b6c1 131 #:use-module (gnu packages ninja)
aff0cce9 132 #:use-module (gnu packages nss)
b29909b4 133 #:use-module (gnu packages openldap)
b645146f 134 #:use-module (gnu packages password-utils)
de1215e2 135 #:use-module (gnu packages pcre)
b29909b4 136 #:use-module (gnu packages pdf)
27477d2d 137 #:use-module (gnu packages perl)
f70d8383 138 #:use-module (gnu packages photo)
995b7261 139 #:use-module (gnu packages pkg-config)
b29909b4
TGR
140 #:use-module (gnu packages polkit)
141 #:use-module (gnu packages popt)
7d3bb433 142 #:use-module (gnu packages pretty-print)
23a22af6 143 #:use-module (gnu packages pulseaudio)
995b7261 144 #:use-module (gnu packages python)
00014781
RW
145 #:use-module (gnu packages python-crypto)
146 #:use-module (gnu packages python-web)
44d10b1f 147 #:use-module (gnu packages python-xyz)
cce0da5e 148 #:use-module (gnu packages rdesktop)
b29909b4 149 #:use-module (gnu packages readline)
a76d0f03 150 #:use-module (gnu packages ruby)
ec47c07d 151 #:use-module (gnu packages rust)
b29909b4 152 #:use-module (gnu packages samba)
75016d07 153 #:use-module (gnu packages scanner)
240cee8a 154 #:use-module (gnu packages selinux)
c27e02bf 155 #:use-module (gnu packages slang)
b29909b4
TGR
156 #:use-module (gnu packages speech)
157 #:use-module (gnu packages spice)
cd0322a3 158 #:use-module (gnu packages sqlite)
4a1bf090 159 #:use-module (gnu packages ssh)
8f9ac901 160 #:use-module (gnu packages tex)
33dc54b0 161 #:use-module (gnu packages time)
a7fd7b68 162 #:use-module (gnu packages tls)
3c5dbd2b 163 #:use-module (gnu packages version-control)
b29909b4 164 #:use-module (gnu packages video)
59132b80 165 #:use-module (gnu packages virtualization)
f2b96b3a 166 #:use-module (gnu packages vpn)
a18f8eaf 167 #:use-module (gnu packages web)
b29909b4
TGR
168 #:use-module (gnu packages web)
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
b29909b4 174 #:use-module (gnu packages xorg)
a76d0f03 175 #:use-module (gnu artwork)
8f523eb9 176 #:use-module (guix build-system cargo)
b29909b4
TGR
177 #:use-module (guix build-system cmake)
178 #:use-module (guix build-system glib-or-gtk)
179 #:use-module (guix build-system gnu)
180 #:use-module (guix build-system meson)
08be02be 181 #:use-module (guix build-system python)
b29909b4
TGR
182 #:use-module (guix build-system trivial)
183 #:use-module (guix download)
184 #:use-module (guix git-download)
185 #:use-module ((guix licenses) #:prefix license:)
186 #:use-module (guix packages)
187 #:use-module (guix utils)
a76d0f03 188 #:use-module (guix gexp)
8f523eb9
EF
189 #:use-module (guix monads)
190 #:use-module (guix store)
4e3fdeb7 191 #:use-module (ice-9 match)
c024ae36 192 #:use-module (srfi srfi-1))
85f5dc19
AE
193
194(define-public brasero
195 (package
196 (name "brasero")
e2bf423a 197 (version "3.12.2")
85f5dc19
AE
198 (source (origin
199 (method url-fetch)
d1df7554 200 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 201 (version-major+minor version) "/"
d1df7554 202 "brasero-" version ".tar.xz"))
85f5dc19
AE
203 (sha256
204 (base32
e2bf423a 205 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 206 (build-system glib-or-gtk-build-system)
e8627cd9
DH
207 (arguments
208 `(#:configure-flags (list
209 (string-append "--with-girdir="
210 (assoc-ref %outputs "out")
211 "/share/gir-1.0")
212 (string-append "--with-typelibdir="
213 (assoc-ref %outputs "out")
ce426deb
TD
214 "/lib/girepository-1.0"))
215 #:phases
216 (modify-phases %standard-phases
217 (add-before 'configure 'embed-growisofs
218 (lambda* (#:key inputs #:allow-other-keys)
219 (substitute* "plugins/growisofs/burn-growisofs.c"
220 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 221 #t)))))
85f5dc19
AE
222 (propagated-inputs
223 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
224 (native-inputs
225 `(("intltool" ,intltool)
ba549e17 226 ("itstool" ,itstool)
426adbe8 227 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 228 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 229 ("pkg-config" ,pkg-config)))
85f5dc19 230 (inputs
ce426deb
TD
231 `(("dvd+rw-tools" ,dvd+rw-tools)
232 ("glib" ,glib)
85f5dc19
AE
233 ("gnome-doc-utils" ,gnome-doc-utils)
234 ("gstreamer" ,gstreamer)
235 ("gst-plugins-base" ,gst-plugins-base)
236 ("gtk+" ,gtk+)
85f5dc19
AE
237 ("libcanberra" ,libcanberra)
238 ("libice" ,libice)
239 ("libnotify" ,libnotify)
240 ("libsm" ,libsm)
e8627cd9 241 ("libxml2" ,libxml2)
e8627cd9 242 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 243 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
244 (synopsis "CD/DVD burning tool for Gnome")
245 (description "Brasero is an application to burn CD/DVD for the Gnome
246Desktop. It is designed to be as simple as possible and has some unique
247features to enable users to create their discs easily and quickly.")
1dd26275 248 (license license:gpl2+)))
995b7261 249
29ae18db
RG
250(define-public gnome-color-manager
251 (package
252 (name "gnome-color-manager")
253 (version "3.32.0")
254 (source (origin
255 (method url-fetch)
256 (uri (string-append "mirror://gnome/sources/" name "/"
257 (version-major+minor version) "/"
258 name "-" version ".tar.xz"))
259 (sha256
260 (base32
261 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
262 (build-system meson-build-system)
263 (arguments
264 `(#:glib-or-gtk? #t
265 #:phases
266 (modify-phases %standard-phases
267 (add-before
268 'check 'pre-check
269 (lambda _
270 ;; Tests require a running X server.
271 (system "Xvfb :1 &")
272 (setenv "DISPLAY" ":1")
273 #t)))))
274 (native-inputs
275 `(("desktop-file-utils" ,desktop-file-utils)
276 ("gettext" ,gettext-minimal)
277 ("glib:bin" ,glib "bin")
278 ("gtk+:bin" ,gtk+ "bin")
279 ("itstool" ,itstool)
280 ("pkg-config" ,pkg-config)
281 ("xorg-server" ,xorg-server-for-tests)))
282 (inputs
283 `(("adwaita-icon-theme" ,adwaita-icon-theme)
284 ("appstream-glib" ,appstream-glib)
285 ("colord-gtk" ,colord-gtk)
286 ("exiv2" ,exiv2)
287 ("gnome-desktop" ,gnome-desktop)
288 ("libcanberra" ,libcanberra)
289 ("libexif" ,libexif)
290 ("libtiff" ,libtiff)
291 ("libxrandr" ,libxrandr)
292 ("libxtst" ,libxtst)
293 ("libxxf86vm" ,libxxf86vm)
294 ("vte" ,vte)
295 ("xorgproto" ,xorgproto)))
296 (synopsis "Color profile manager for the GNOME desktop")
297 (description "GNOME Color Manager is a session framework that makes
298it easy to manage, install and generate color profiles
299in the GNOME desktop.")
300 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 301 (license license:gpl2+)))
29ae18db 302
e05471a1
RG
303(define-public gnome-online-miners
304 (package
305 (name "gnome-online-miners")
306 (version "3.30.0")
307 (source (origin
308 (method url-fetch)
309 (uri (string-append "mirror://gnome/sources/" name "/"
310 (version-major+minor version) "/"
311 name "-" version ".tar.xz"))
312 (sha256
313 (base32
314 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
315 (build-system glib-or-gtk-build-system)
316 (native-inputs
317 `(("gettext" ,gettext-minimal)
318 ("glib:bin" ,glib "bin")
29ae18db 319 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
320 ("gtk+:bin" ,gtk+ "bin")
321 ("pkg-config" ,pkg-config)))
322 (inputs
323 `(("gnome-online-accounts" ,gnome-online-accounts)
324 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
325 ("grilo" ,grilo)
326 ("libgdata" ,libgdata)
327 ("libgfbgraph" ,gfbgraph)
328 ("libzapojit" ,libzapojit)
329 ("rest" ,rest)
330 ("tracker" ,tracker)))
331 (synopsis "Web Crawlers for GNOME")
332 (description "GNOME Online Miners provides a set of crawlers that
333go through your online content and index them locally in Tracker.
334It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
335 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 336 (license license:gpl2+)))
e05471a1 337
e2aed29c
RG
338(define-public gssdp
339 (package
340 (name "gssdp")
341 (version "1.2.2")
342 (source (origin
343 (method url-fetch)
344 (uri (string-append "mirror://gnome/sources/" name "/"
345 (version-major+minor version) "/"
346 name "-" version ".tar.xz"))
347 (sha256
348 (base32
349 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
350 (build-system meson-build-system)
351 (native-inputs
352 `(("gettext" ,gettext-minimal)
353 ("glib:bin" ,glib "bin")
354 ("gobject-introspection" ,gobject-introspection)
355 ("gtk-doc" ,gtk-doc)
356 ("pkg-config" ,pkg-config)
357 ("vala" ,vala)))
358 (inputs
359 `(("gtk+" ,gtk+)
360 ("libsoup" ,libsoup)))
361 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
362Protocol} for GNOME")
363 (description "This package provides a library to handle resource discovery
364and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
365a debugging tool, @command{gssdp-device-sniffer}.")
366 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
367 (license license:lgpl2.0+)))
368
291a85b2
RG
369(define-public gupnp
370 (package
371 (name "gupnp")
372 (version "1.2.2")
373 (source (origin
374 (method url-fetch)
375 (uri (string-append "mirror://gnome/sources/" name "/"
376 (version-major+minor version) "/"
377 name "-" version ".tar.xz"))
378 (sha256
379 (base32
380 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
381 (build-system meson-build-system)
382 (native-inputs
383 `(("gettext" ,gettext-minimal)
384 ("glib:bin" ,glib "bin")
385 ("gobject-introspection" ,gobject-introspection)
386 ("gtk-doc" ,gtk-doc)
387 ("pkg-config" ,pkg-config)
388 ("vala" ,vala)))
389 (inputs
390 `(("gssdp" ,gssdp)
391 ("gtk+" ,gtk+)
392 ("libsoup" ,libsoup)))
393 (synopsis "PnP API for GNOME")
394 (description "This package provides GUPnP, an object-oriented framework
395for creating UPnP devices and control points, written in C using
396@code{GObject} and @code{libsoup}.")
397 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
398 (license license:lgpl2.0+)))
399
747d7fe4
RG
400(define-public gupnp-dlna
401 (package
402 (name "gupnp-dlna")
403 (version "0.10.5")
404 (source (origin
405 (method url-fetch)
406 (uri (string-append "mirror://gnome/sources/" name "/"
407 (version-major+minor version) "/"
408 name "-" version ".tar.xz"))
409 (sha256
410 (base32
411 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
412 (build-system gnu-build-system)
413 (native-inputs
414 `(("gettext" ,gettext-minimal)
415 ("glib:bin" ,glib "bin")
416 ("gobject-introspection" ,gobject-introspection)
417 ("gtk-doc" ,gtk-doc)
418 ("libxml" ,libxml2)
419 ("pkg-config" ,pkg-config)
420 ("vala" ,vala)))
421 (inputs
422 `(("gstreamer" ,gstreamer)
423 ("gupnp" ,gupnp)))
424 (propagated-inputs
425 `(("gst-plugins-base" ,gst-plugins-base)
426 ("gst-plugins-good" ,gst-plugins-good)))
427 (synopsis "GUPnP DLNA for GNOME")
428 (description "This package provides a small utility library to
429support DLNA-related tasks such as media profile guessing, transcoding to a
430given profile, etc. DLNA is a subset of UPnP A/V.")
431 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
432 (license license:lgpl2.0+)))
433
1b4cb628
RG
434(define-public gupnp-av
435 (package
436 (name "gupnp-av")
437 (version "0.12.11")
438 (source (origin
439 (method url-fetch)
440 (uri (string-append "mirror://gnome/sources/" name "/"
441 (version-major+minor version) "/"
442 name "-" version ".tar.xz"))
443 (sha256
444 (base32
445 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
446 (build-system gnu-build-system)
447 (native-inputs
448 `(("gettext" ,gettext-minimal)
449 ("glib:bin" ,glib "bin")
450 ("gobject-introspection" ,gobject-introspection)
451 ("gtk-doc" ,gtk-doc)
452 ("libxml" ,libxml2)
453 ("pkg-config" ,pkg-config)))
454 (inputs
455 `(("gtk+" ,gtk+)
456 ("gupnp" ,gupnp)))
457 (synopsis "GUPnP A/V for GNOME")
458 (description "This package provides a small library for handling
459and implementation of UPnP A/V profiles.")
460 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
461 (license license:lgpl2.0+)))
462
02ebbca8
RG
463(define-public libmediaart
464 (package
465 (name "libmediaart")
466 (version "1.9.4")
467 (source (origin
468 (method url-fetch)
469 (uri (string-append "mirror://gnome/sources/" name "/"
470 (version-major+minor version) "/"
471 name "-" version ".tar.xz"))
472 (sha256
473 (base32
474 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
475 (build-system gnu-build-system)
476 (native-inputs
477 `(("glib:bin" ,glib "bin")
478 ("pkg-config" ,pkg-config)))
479 (inputs
480 `(("gdk-pixbuf" ,gdk-pixbuf)
481 ("gettext" ,gettext-minimal)
482 ("gobject-introspection" ,gobject-introspection)
483 ("gtk+:doc", gtk+ "doc")
484 ("vala" ,vala)))
485 (synopsis "Media art library for the GNOME desktop")
486 (description
487 "The libmediaart library is the foundation for media art caching,
488extraction, and lookup for applications on the desktop.")
489 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
490 (license license:lgpl2.1+)))
491
a26680eb
RG
492(define-public gnome-initial-setup
493 (package
494 (name "gnome-initial-setup")
495 (version "3.32.1")
496 (source (origin
497 (method url-fetch)
498 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
499 (version-major+minor version)
500 "/gnome-initial-setup-" version ".tar.xz"))
501 (sha256
502 (base32
503 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
504 (build-system meson-build-system)
505 (arguments
a65cc579
DM
506 '(#:configure-flags '(;; Enable camera support for user selfie.
507 "-Dcheese=auto"
508 "-Dsystemd=false")))
a26680eb
RG
509 (native-inputs
510 `(("gettext" ,gettext-minimal)
511 ("glib:bin" ,glib "bin")
512 ("gobject-introspection" ,gobject-introspection)
513 ("gtk+:bin" ,gtk+ "bin")
514 ("pkg-config" ,pkg-config)))
515 (inputs
516 `(("accountsservice" ,accountsservice)
517 ;("adwaita-icon-theme" ,adwaita-icon-theme)
518 ("gdm" ,gdm)
519 ("geoclue" ,geoclue)
520 ("gnome-desktop" ,gnome-desktop)
521 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
522 ("gnome-online-accounts" ,gnome-online-accounts)
523 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
524 ("gstreamer" ,gstreamer)
525 ("ibus" ,ibus)
526 ("json-glib" ,json-glib)
527 ("krb5" ,mit-krb5)
528 ("libgweather" ,libgweather)
529 ("libsecret" ,libsecret)
530 ("network-manager" ,network-manager)
531 ("network-manager-applet" ,network-manager-applet)
532 ("packagekit" ,packagekit)
533 ("polkit" ,polkit)
534 ("pwquality" ,libpwquality)
535 ("rest" ,rest)
536 ("upower" ,upower)
537 ("webkitgtk" ,webkitgtk)))
538 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
539 (description "This package provides a set-up wizard when a
540user logs into GNOME for the first time. It typically provides a
541tour of all gnome components and allows the user to set them up.")
a26680eb
RG
542 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
543 (license license:gpl2)))
544
b5f01392
RG
545(define-public gnome-user-share
546 (package
547 (name "gnome-user-share")
548 (version "3.33.1")
549 (source (origin
550 (method url-fetch)
551 (uri (string-append "mirror://gnome/sources/" name "/"
552 (version-major+minor version) "/"
553 name "-" version ".tar.xz"))
554 (sha256
555 (base32
556 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
557 (build-system meson-build-system)
558 (arguments
559 `(#:glib-or-gtk? #t
560 #:configure-flags
561 `("-Dsystemd=false"
562 ;; Enable nautilus extension for file sharing.
563 "-Dnautilus_extension=true")))
564 (native-inputs
565 `(("gettext" ,gettext-minimal)
566 ("glib:bin" ,glib "bin")
567 ("gobject-introspection" ,gobject-introspection)
568 ("gtk+:bin" ,gtk+ "bin")
569 ("pkg-config" ,pkg-config)
570 ("yelp-tools" ,yelp-tools)))
571 (inputs
572 `(("glib" ,glib)
573 ("gnome-bluetooth" ,gnome-bluetooth)
574 ("gtk+" ,gtk+)
575 ("libcanberra" ,libcanberra)
576 ("libnotify" ,libnotify)
577 ("nautilus" ,nautilus))) ; For nautilus extension.
578 (synopsis "File sharing for GNOME desktop")
579 (description "GNOME User Share is a small package that binds together
580various free software projects to bring easy to use user-level file
581sharing to the masses.")
582 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 583 (license license:gpl2+)))
b5f01392 584
47e87093
RG
585(define-public libnma
586 (package
587 (name "libnma")
588 (version "1.8.26")
589 (source (origin
590 (method url-fetch)
591 (uri (string-append "mirror://gnome/sources/" name "/"
592 (version-major+minor version) "/"
593 name "-" version ".tar.xz"))
594 (sha256
595 (base32
596 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
597 (build-system meson-build-system)
598 (arguments
599 `(#:glib-or-gtk? #t))
600 (native-inputs
601 `(("gettext" ,gettext-minimal)
602 ("glib:bin" ,glib "bin")
603 ("gtk-doc" ,gtk-doc)
604 ("gobject-introspection" ,gobject-introspection)
605 ("pkg-config" ,pkg-config)))
606 (inputs
607 `(("adwaita-icon-theme" ,adwaita-icon-theme)
608 ("gcr" ,gcr)
609 ("gtk+" ,gtk+)
610 ("iso-codes" ,iso-codes)
611 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
612 ("network-manager" ,network-manager)))
613 (synopsis "Network Manager's applet library")
614 (description "Libnma is an applet library for Network Manager. It was
615initially part of network-manager-applet and has now become a separate
616project.")
617 (home-page "https://gitlab.gnome.org/GNOME/libnma")
618
619 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
620 ;; "LGPL-2.1+".
621 (license license:gpl2+)))
622
30416265
RG
623(define-public gnome-menus
624 (package
625 (name "gnome-menus")
626 (version "3.32.0")
627 (source (origin
628 (method url-fetch)
629 (uri (string-append "mirror://gnome/sources/gnome-menus/"
630 (version-major+minor version) "/"
631 name "-" version ".tar.xz"))
632 (sha256
633 (base32
634 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
635 (build-system gnu-build-system)
636 (native-inputs
637 `(("gettext" ,gettext-minimal)
638 ("glib" ,glib)
639 ("pkg-config" ,pkg-config)))
640 (synopsis "Menu support for GNOME desktop")
641 (description "GNOME Menus contains the libgnome-menu library, the layout
642configuration files for the GNOME menu, as well as a simple menu editor.")
643 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 644 (license license:lgpl2.0+)))
30416265 645
d61a894b
CB
646(define-public deja-dup
647 (package
648 (name "deja-dup")
649 (version "34.3")
650 (source (origin
651 (method url-fetch)
652 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
653 (sha256
654 (base32
655 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
656 (patches
657 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
658 (build-system glib-or-gtk-build-system)
659 (arguments
660 `(#:modules ((guix build gnu-build-system)
661 ((guix build cmake-build-system) #:prefix cmake:)
662 (guix build glib-or-gtk-build-system)
663 (guix build utils))
664 #:imported-modules (,@%glib-or-gtk-build-system-modules
665 (guix build cmake-build-system))
666 #:test-target "test"
667 #:configure-flags (list (string-append
668 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
669 (string-append
670 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
671 #:phases
672 (modify-phases %standard-phases
673 (add-after 'unpack 'patch-lockfile-deletion
674 (lambda rest
675 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
676 (("/bin/rm")
677 (which "rm")))))
678 (replace 'configure
679 (assoc-ref cmake:%standard-phases 'configure))
680 (delete 'check) ;; Fails due to issues with DBus
681 (add-after 'install 'wrap-deja-dup
682 (lambda* (#:key inputs outputs #:allow-other-keys)
683 (let ((python (assoc-ref inputs "python"))
684 (python-path (getenv "PYTHONPATH"))
685 (duplicity (assoc-ref inputs "duplicity"))
686 (out (assoc-ref outputs "out")))
687 (for-each
688 (lambda (program)
689 (wrap-program program
690 `("PATH" ":" prefix (,(string-append python "/bin")
691 ,(string-append duplicity "/bin"))))
692 (wrap-program program
693 `("PYTHONPATH" ":" prefix (,python-path))))
694
695 (find-files (string-append out "/bin")))
696 #t))))))
697 (inputs
698 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
699 ("gobject-introspection" ,gobject-introspection)
700 ("duplicity" ,duplicity)
61506fe5 701 ("python" ,python-2)
d61a894b
CB
702 ("python-pygobject" ,python2-pygobject)
703 ("gtk+" ,gtk+)
704 ("libnotify" ,libnotify)
705 ("libpeas" ,libpeas)
706 ("libsecret" ,libsecret)
707 ("packagekit" ,packagekit)))
708 (native-inputs
709 `(("pkg-config" ,pkg-config)
710 ("vala" ,vala)
711 ("gettext" ,gettext-minimal)
712 ("itstool" ,itstool)
713 ("intltool" ,intltool)
c69959f0 714 ("cmake" ,cmake-minimal)))
d61a894b
CB
715 (home-page "https://launchpad.net/deja-dup")
716 (synopsis "Simple backup tool, for regular encrypted backups")
717 (description
718 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
719uses duplicity as the backend, which supports incremental backups and storage
720either on a local, or remote machine via a number of methods.")
721 (license license:gpl3+)))
722
823b77fb
RG
723(define-public gnome-user-docs
724 (package
725 (name "gnome-user-docs")
726 (version "3.32.3")
727 (source
728 (origin
729 (method url-fetch)
730 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
731 (version-major+minor version)
732 "/gnome-user-docs-" version ".tar.xz"))
733 (sha256
734 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
735 (build-system gnu-build-system)
736 (native-inputs
737 `(("gettext" ,gettext-minimal)
738 ("itstool" ,itstool)
739 ("pkg-config" ,pkg-config)
740 ("xmllint" ,libxml2)))
741 (synopsis "User documentation for the GNOME desktop")
742 (description
743 "The GNOME User Documentation explains how to use the GNOME desktop and its
744components. It covers usage and setup of the core GNOME programs by end-users
745and system administrators.")
746 (home-page "https://live.gnome.org/DocumentationProject")
747 (license license:cc-by3.0)))
748
be93299d
RG
749(define-public gnome-getting-started-docs
750 (package
751 (name "gnome-getting-started-docs")
752 (version "3.32.2")
753 (source
754 (origin
755 (method url-fetch)
756 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
757 (version-major+minor version)
758 "/gnome-getting-started-docs-" version ".tar.xz"))
759 (sha256
760 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
761 (build-system gnu-build-system)
762 (native-inputs
763 `(("gettext" ,gettext-minimal)
764 ("itstool" ,itstool)
765 ("pkg-config" ,pkg-config)
766 ("xmllint" ,libxml2)))
767 (synopsis "Help to get new users started with the GNOME desktop")
768 (description
769 "The GNOME Getting Started Documentation contains GNOME's intuitive
770\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
771
772It is normally used together with @command{gnome-initial-setup}, but is also
773useful as a tutorial and users' guide for new or less experienced users.")
774 (home-page "https://live.gnome.org/DocumentationProject")
775 (license license:cc-by-sa3.0)))
776
a56be436
RJ
777(define-public dia
778 ;; This version from GNOME's repository includes fixes for compiling with
779 ;; recent versions of the build tools. The latest activity on the
780 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
781 ;; fixes in 2016.
782 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
783 (package
784 (name "dia")
914c8cdf 785 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
786 (source (origin
787 (method git-fetch)
788 (uri (git-reference
914c8cdf 789 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 790 (commit commit)))
914c8cdf 791 (file-name (git-file-name name version))
a56be436
RJ
792 (sha256
793 (base32
794 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
795 (build-system gnu-build-system)
796 (inputs
a315afa3 797 `(("freetype" ,freetype)
a56be436
RJ
798 ("gdk-pixbuf" ,gdk-pixbuf)
799 ("gtk+" ,gtk+-2)
a315afa3 800 ("libart-lgpl" ,libart-lgpl)
a56be436 801 ("libxml2" ,libxml2)
a315afa3 802 ("pango" ,pango)))
a56be436 803 (native-inputs
a315afa3 804 `(("autoconf" ,autoconf)
a56be436 805 ("automake" ,automake)
a315afa3
EF
806 ("intltool" ,intltool)
807 ("glib" ,glib "bin")
a56be436
RJ
808 ("libtool" ,libtool)
809 ("perl" ,perl)
a315afa3 810 ("pkg-config" ,pkg-config)
a56be436
RJ
811 ("python-wrapper" ,python-wrapper)))
812 (arguments
813 `(#:phases
814 (modify-phases %standard-phases
4b3e91de 815 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 816 (lambda _
4b3e91de
EF
817 (setenv "NOCONFIGURE" "true")
818 #t)))))
a56be436
RJ
819 (home-page "https://wiki.gnome.org/Apps/Dia")
820 (synopsis "Diagram creation for GNOME")
821 (description "Dia can be used to draw different types of diagrams, and
822includes support for UML static structure diagrams (class diagrams), entity
823relationship modeling, and network diagrams. The program supports various file
824formats like PNG, SVG, PDF and EPS.")
825 (license license:gpl2+))))
826
d0b19e44
RW
827;; This is the unstable release, but it is required for the current stable
828;; release of gvfs (1.38.1).
adc5cb1b
KK
829(define-public libgdata
830 (package
831 (name "libgdata")
d0b19e44 832 (version "0.17.9")
adc5cb1b
KK
833 (source (origin
834 (method url-fetch)
835 (uri (string-append "mirror://gnome/sources/" name "/"
836 (version-major+minor version) "/"
837 name "-" version ".tar.xz"))
838 (sha256
839 (base32
d0b19e44 840 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
841 (build-system gnu-build-system)
842 (arguments
843 '(#:phases
844 (modify-phases %standard-phases
448052b7
TGR
845 (add-before 'check 'disable-failing-tests
846 (lambda _
847 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
848 ;; They have been removed in libgdata 0.17.6, so just do the same.
849 (substitute* "gdata/tests/Makefile"
850 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
851 #t)))))
852 (native-inputs
853 `(("glib:bin" ,glib "bin")
854 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
855 ("intltool" ,intltool)
856 ("pkg-config" ,pkg-config)
857 ("uhttpmock" ,uhttpmock)))
858 (inputs
859 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 860 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
861 (propagated-inputs
862 `(("gcr" ,gcr)
d0b19e44 863 ("glib" ,glib)
14c297fd 864 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 865 ("json-glib" ,json-glib)
adc5cb1b 866 ("liboauth" ,liboauth)
d0b19e44 867 ("libsoup" ,libsoup)
adc5cb1b
KK
868 ("libxml2" ,libxml2)))
869 (home-page "https://wiki.gnome.org/Projects/libgdata")
870 (synopsis "Library for accessing online service APIs")
871 (description
872 "libgdata is a GLib-based library for accessing online service APIs using
873the GData protocol — most notably, Google's services. It provides APIs to
874access the common Google services, and has full asynchronous support.")
875 (license license:lgpl2.1+)))
876
94e10cf4
KK
877(define-public libgxps
878 (package
879 (name "libgxps")
66470a5a 880 (version "0.3.1")
94e10cf4
KK
881 (source (origin
882 (method url-fetch)
7f10628c 883 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
884 (version-major+minor version) "/"
885 name "-" version ".tar.xz"))
886 (sha256
887 (base32
66470a5a 888 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 889 (build-system meson-build-system)
94e10cf4
KK
890 (native-inputs
891 `(("gobject-introspection" ,gobject-introspection)
892 ("pkg-config" ,pkg-config)))
893 (inputs
c8d62d93 894 `(("gtk+" ,gtk+)
b6b3e512 895 ("libjpeg" ,libjpeg-turbo)
94e10cf4 896 ("lcms" ,lcms)
0a6e9e13 897 ("libtiff" ,libtiff)))
c8d62d93
MB
898 (propagated-inputs
899 ;; In Requires of libgxps.pc.
900 `(("cairo" ,cairo)
901 ("glib" ,glib)
902 ("libarchive" ,libarchive)))
94e10cf4
KK
903 (home-page "https://wiki.gnome.org/Projects/libgxps")
904 (synopsis "GObject-based library for handling and rendering XPS documents")
905 (description
906 "libgxps is a GObject-based library for handling and rendering XPS
907documents. This package also contains binaries that can convert XPS documents
908to other formats.")
909 (license license:lgpl2.1+)))
910
4e09f57a
RG
911(define-public gnome-characters
912 (package
913 (name "gnome-characters")
914 (version "3.30.0")
915 (source
916 (origin
917 (method url-fetch)
918 (uri (string-append "mirror://gnome/sources/"
919 "gnome-characters/" (version-major+minor version)
920 "/gnome-characters-" version ".tar.xz"))
921 (sha256
922 (base32
923 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
924 (build-system meson-build-system)
5757c641 925 (arguments
926 `(#:glib-or-gtk? #t
927 #:phases (modify-phases %standard-phases
928 (add-after 'install 'wrap
929 (lambda* (#:key outputs #:allow-other-keys)
930 ;; GNOME Characters needs Typelib files from GTK and
931 ;; gnome-desktop.
932 (wrap-program (string-append (assoc-ref outputs "out")
933 "/bin/gnome-characters")
934 `("GI_TYPELIB_PATH" ":" prefix
935 (,(getenv "GI_TYPELIB_PATH"))))
936 #t)))))
4e09f57a
RG
937 (native-inputs
938 `(("gettext" ,gettext-minimal)
939 ("glib:bin" ,glib "bin")
940 ("gtk+:bin" ,gtk+ "bin")
941 ("pkg-config" ,pkg-config)
942 ("python" ,python-minimal)))
943 (inputs
944 `(("gjs" ,gjs)
945 ("gtk+" ,gtk+)
5757c641 946 ("libunistring" ,libunistring)
947 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
948 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
949 (synopsis "Find and insert unusual characters")
950 (description "Characters is a simple utility application to find
951and insert unusual characters. It allows you to quickly find the
952character you are looking for by searching for keywords.")
953 (license license:bsd-3)))
954
7aab13f1
ML
955(define-public gnome-common
956 (package
957 (name "gnome-common")
af83490d 958 (version "3.18.0")
7aab13f1
ML
959 (source
960 (origin
961 (method url-fetch)
962 (uri (string-append "mirror://gnome/sources/" name "/"
963 (version-major+minor version) "/"
964 name "-" version ".tar.xz"))
965 (sha256
966 (base32
af83490d 967 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
968 (build-system gnu-build-system)
969 (home-page "https://www.gnome.org/")
970 (synopsis "Bootstrap GNOME modules built from Git")
971 (description "gnome-common contains various files needed to bootstrap
972GNOME modules built from Git. It contains a common \"autogen.sh\" script that
973can be used to configure a source directory checked out from Git and some
974commonly used macros.")
975 (license license:gpl2+)))
976
4e868d22
RG
977(define-public gnome-contacts
978 (package
979 (name "gnome-contacts")
6a6138b2 980 (version "3.32.1")
4e868d22
RG
981 (source (origin
982 (method url-fetch)
983 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
984 (version-major+minor version) "/"
985 name "-" version ".tar.xz"))
986 (sha256
987 (base32
6a6138b2 988 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
989 (build-system meson-build-system)
990 (arguments
991 `(#:phases
992 (modify-phases %standard-phases
993 (add-after 'unpack 'generate-vapis
994 (lambda* (#:key inputs #:allow-other-keys)
995 ;; To generate goa's missing .vapi file
996 (define goa
997 (assoc-ref inputs "gnome-online-accounts:lib"))
998
999 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1000 "--library=goa-1.0"
1001 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1002 #t)))))
1003 (native-inputs
1004 `(("glib:bin" ,glib "bin")
1005 ("gtk+:bin" ,gtk+ "bin")
1006 ("pkg-config" ,pkg-config)))
1007 (inputs
1008 `(("cheese" ,cheese)
1009 ("docbook-xml" ,docbook-xml)
1010 ("dockbook-xsl" ,docbook-xsl)
1011 ("evolution-data-server" ,evolution-data-server)
1012 ("gettext" ,gettext-minimal)
1013 ("gnome-desktop" ,gnome-desktop)
1014 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1015 ("gobject-introspection" ,gobject-introspection)
1016 ("gst-plugins-base" ,gst-plugins-base)
1017 ("gtk+" ,gtk+)
1018 ("libgee" ,libgee)
1019 ("libxslt" ,libxslt)
1020 ("telepathy-glib" ,telepathy-glib)
1021 ("vala" ,vala)))
1022 (propagated-inputs
1023 `(("folks", folks)
1024 ("telepathy-mission-control" ,telepathy-mission-control)))
1025 (synopsis "GNOME's integrated address book")
1026 (description
1027 "GNOME Contacts organizes your contact information from online and
1028offline sources, providing a centralized place for managing your contacts.")
1029 (home-page "https://wiki.gnome.org/Apps/Contacts")
1030 (license license:gpl2+)))
1031
9cc98f8a
CR
1032(define-public gnome-desktop
1033 (package
1034 (name "gnome-desktop")
e8a26caa 1035 (version "3.32.2")
9cc98f8a
CR
1036 (source
1037 (origin
1038 (method url-fetch)
b38e45d8
EB
1039 (uri (string-append "mirror://gnome/sources/" name "/"
1040 (version-major+minor version) "/"
9cc98f8a
CR
1041 name "-" version ".tar.xz"))
1042 (sha256
1043 (base32
e8a26caa
KK
1044 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1045 (build-system meson-build-system)
a0fe7c06
CB
1046 (arguments
1047 '(#:phases
1048 (modify-phases %standard-phases
1049 (add-before 'configure 'patch-path
1050 (lambda* (#:key inputs #:allow-other-keys)
1051 (let ((libc (assoc-ref inputs "libc")))
1052 (substitute* "libgnome-desktop/gnome-languages.c"
1053 (("\"locale\"")
1054 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1055 #t)))
1056 (add-before 'check 'pre-check
1057 (lambda* (#:key inputs #:allow-other-keys)
1058 ;; Tests require a running X server and locales.
1059 (system "Xvfb :1 &")
1060 (setenv "DISPLAY" ":1")
1061 (setenv "GUIX_LOCPATH"
1062 (string-append (assoc-ref inputs "glibc-locales")
1063 "/lib/locale"))
1064 #t)))))
9cc98f8a 1065 (native-inputs
e8a26caa
KK
1066 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1067 ("glibc-locales" ,glibc-locales) ; for tests
1068 ("gobject-introspection" ,gobject-introspection)
a8340482 1069 ("itstool" ,itstool)
bcb354ad
SB
1070 ("intltool" ,intltool)
1071 ("pkg-config" ,pkg-config)
e8a26caa
KK
1072 ("xmllint" ,libxml2)
1073 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1074 (propagated-inputs
1075 ;; Required by gnome-desktop-3.0.pc.
1076 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1077 ("gtk+" ,gtk+)
9cc98f8a 1078 ("iso-codes" ,iso-codes)
9863ce20 1079 ("libseccomp" ,libseccomp)
9cc98f8a 1080 ("libx11" ,libx11)
e8a26caa
KK
1081 ("xkeyboard-config" ,xkeyboard-config)))
1082 (inputs
1083 `(("gdk-pixbuf" ,gdk-pixbuf)
1084 ("glib" ,glib)
9cc98f8a
CR
1085 ("libxext" ,libxext)
1086 ("libxkbfile" ,libxkbfile)
e8a26caa 1087 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1088 (home-page "https://www.gnome.org/")
1089 (synopsis
35b9e423 1090 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1091 (description
1092 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1093on the desktop, but that cannot live in the platform for various reasons.
1094There is no API or ABI guarantee, although we are doing our best to provide
1095stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1096
1097The gnome-about program helps find which version of GNOME is installed.")
1098 ; Some bits under the LGPL.
1dd26275 1099 (license license:gpl2+)))
9cc98f8a 1100
995b7261
AE
1101(define-public gnome-doc-utils
1102 (package
1103 (name "gnome-doc-utils")
1104 (version "0.20.10")
1105 (source
1106 (origin
1107 (method url-fetch)
b38e45d8
EB
1108 (uri (string-append "mirror://gnome/sources/" name "/"
1109 (version-major+minor version) "/"
995b7261
AE
1110 name "-" version ".tar.xz"))
1111 (sha256
1112 (base32
1113 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1114 (build-system gnu-build-system)
c4c4cc05 1115 (native-inputs
995b7261 1116 `(("intltool" ,intltool)
b4ce6300 1117 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1118 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1119 ("libxml2" ,libxml2)
1120 ("libxslt" ,libxslt)
1121 ("pkg-config" ,pkg-config)
1122 ("python-2" ,python-2)))
995b7261
AE
1123 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1124 (synopsis
1125 "Documentation utilities for the Gnome project")
1126 (description
1127 "Gnome-doc-utils is a collection of documentation utilities for the
1128Gnome project. It includes xml2po tool which makes it easier to translate
1129and keep up to date translations of documentation.")
1dd26275 1130 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1131
6c4f7022
DC
1132(define-public gnome-disk-utility
1133 (package
1134 (name "gnome-disk-utility")
e106d0a6 1135 (version "3.32.1")
6c4f7022
DC
1136 (source (origin
1137 (method url-fetch)
1138 (uri (string-append "mirror://gnome/sources/" name "/"
1139 (version-major+minor version) "/"
1140 name "-" version ".tar.xz"))
1141 (sha256
1142 (base32
e106d0a6 1143 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1144 (build-system meson-build-system)
321c73c3
EF
1145 (arguments
1146 '(#:phases
1147 (modify-phases %standard-phases
1148 (add-after 'unpack 'skip-gtk-update-icon-cache
1149 ;; Don't create 'icon-theme.cache'.
1150 (lambda _
1151 (substitute* "meson_post_install.py"
1152 (("gtk-update-icon-cache") "true"))
1153 #t)))))
6c4f7022
DC
1154 (native-inputs
1155 `(("glib:bin" ,glib "bin")
1156 ("intltool" ,intltool)
1157 ("pkg-config" ,pkg-config)
1158 ("docbook-xml" ,docbook-xml)
1159 ("docbook-xsl" ,docbook-xsl)
1160 ("libxml2" ,libxml2)
1161 ("libxslt" ,libxslt)))
1162 (inputs
1163 `(("glib" ,glib)
1164 ("appstream-glib" ,appstream-glib)
1165 ("gnome-settings-daemon" ,gnome-settings-daemon)
1166 ("gtk+" ,gtk+)
1167 ("libcanberra" ,libcanberra)
1168 ("libdvdread" ,libdvdread)
1169 ("libnotify" ,libnotify)
1170 ("libpwquality" ,libpwquality)
1171 ("libsecret" ,libsecret)
1172 ("udisks" ,udisks)))
1173 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1174 (synopsis "Disk management utility for GNOME")
1175 (description "Disk management utility for GNOME.")
1176 (license license:gpl2+)))
1177
3d217317
RG
1178(define-public gnome-font-viewer
1179 (package
1180 (name "gnome-font-viewer")
1181 (version "3.30.0")
1182 (source (origin
1183 (method url-fetch)
1184 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1185 (version-major+minor version)
1186 "/gnome-font-viewer-" version ".tar.xz"))
1187 (sha256
1188 (base32
1189 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1190 (build-system meson-build-system)
1191 (arguments
1192 '(#:phases
1193 (modify-phases %standard-phases
1194 (add-after 'unpack 'patch-post-install-script
1195 (lambda _
1196 (substitute* "meson-postinstall.sh"
1197 (("update-desktop-database") (which "true")))
1198 #t)))))
1199 (native-inputs
1200 `(("gettext" ,gettext-minimal)
1201 ("glib:bin" ,glib "bin")
1202 ("pkg-config" ,pkg-config)))
1203 (inputs
1204 `(("glib" ,glib)
1205 ("gnome-desktop" ,gnome-desktop)
1206 ("gtk+" ,gtk+)))
1207 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1208 (synopsis "GNOME Fonts")
1209 (description "Application to show you the fonts installed on your computer
1210for your use as thumbnails. Selecting any thumbnails shows the full view of how
1211the font would look under various sizes.")
1212 (license license:gpl2+)))
1213
8ff49011
RW
1214(define-public gcr
1215 (package
1216 (name "gcr")
bea6b829 1217 (version "3.28.1")
8ff49011 1218 (source (origin
0daf0efb
RW
1219 (method url-fetch)
1220 (uri (string-append "mirror://gnome/sources/" name "/"
1221 (version-major+minor version) "/"
1222 name "-" version ".tar.xz"))
1223 (sha256
1224 (base32
bea6b829 1225 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1226 (patches
1227 (list
1228 ;; This patch solves an ordering issue that showed up when
1229 ;; running the test suite against newer Glib 2.60. See
1230 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1231 (origin
1232 (method url-fetch)
1233 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1234 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1235 (file-name "gcr-hashtable-ordering.patch")
1236 (sha256
1237 (base32
1238 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1239 (build-system gnu-build-system)
1240 (arguments
0daf0efb
RW
1241 '(#:phases
1242 (modify-phases %standard-phases
1243 ;; These fail because /var/lib/dbus/machine-id is not present in the
1244 ;; build environment.
1245 (add-after 'unpack 'disable-failing-tests
1246 (lambda _
1247 (substitute* "gcr/test-system-prompt.c"
1248 (("g_test_add") "//")
1249 (("return.*") "return 0;"))
1250 #t))
1251 (add-before 'check 'pre-check
1252 (lambda _
1253 ;; Some tests expect to write to $HOME.
1254 (setenv "HOME" "/tmp")
1255 #t)))))
8ff49011
RW
1256 (inputs
1257 `(("dbus" ,dbus)
0daf0efb 1258 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1259 ("libgcrypt" ,libgcrypt)))
1260 (native-inputs
0daf0efb 1261 `(("python" ,python-2) ;for tests
8ff49011
RW
1262 ("pkg-config" ,pkg-config)
1263 ("glib" ,glib "bin")
2af4f5b0
SB
1264 ("gobject-introspection" ,gobject-introspection)
1265 ("intltool" ,intltool)
0daf0efb 1266 ("libxml2" ,libxml2)
bea6b829 1267 ("vala" ,vala)
2af4f5b0 1268 ("xsltproc" ,libxslt)))
8ff49011
RW
1269 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1270 (propagated-inputs
1271 `(("p11-kit" ,p11-kit)
1272 ("glib" ,glib)
1273 ("gtk+" ,gtk+)))
f032d0be 1274 (home-page "https://www.gnome.org")
8ff49011
RW
1275 (synopsis "Libraries for displaying certificates and accessing key stores")
1276 (description
1277 "The GCR package contains libraries used for displaying certificates and
1278accessing key stores. It also provides the viewer for crypto files on the
1279GNOME Desktop.")
1280 (license license:lgpl2.1+)))
1281
c1354b90
LC
1282(define-public libgnome-keyring
1283 (package
1284 (name "libgnome-keyring")
5e8aec2c 1285 (version "3.12.0")
c1354b90
LC
1286 (source (origin
1287 (method url-fetch)
b38e45d8
EB
1288 (uri (string-append "mirror://gnome/sources/" name "/"
1289 (version-major+minor version) "/"
1290 name "-" version ".tar.xz"))
c1354b90
LC
1291 (sha256
1292 (base32
5e8aec2c 1293 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1294 (build-system gnu-build-system)
c1354b90 1295 (inputs
c4c4cc05 1296 `(("libgcrypt" ,libgcrypt)
c1354b90 1297 ("dbus" ,dbus)))
c4c4cc05
JD
1298 (native-inputs
1299 `(("pkg-config" ,pkg-config)
426adbe8 1300 ("glib" ,glib "bin")
c4c4cc05 1301 ("intltool" ,intltool)))
c1354b90
LC
1302 (propagated-inputs
1303 ;; Referred to in .h files and .pc.
1304 `(("glib" ,glib)))
f032d0be 1305 (home-page "https://www.gnome.org")
c1354b90
LC
1306 (synopsis "Accessing passwords from the GNOME keyring")
1307 (description
1308 "Client library to access passwords from the GNOME keyring.")
1309
1310 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1311 (license license:lgpl2.0+)))
c1354b90 1312
e99a3d6f
RW
1313(define-public gnome-keyring
1314 (package
1315 (name "gnome-keyring")
ab35cc6e 1316 (version "3.28.2")
e99a3d6f
RW
1317 (source (origin
1318 (method url-fetch)
1319 (uri (string-append "mirror://gnome/sources/" name "/"
1320 (version-major+minor version) "/"
1321 name "-" version ".tar.xz"))
1322 (sha256
1323 (base32
ab35cc6e 1324 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1325 (build-system gnu-build-system)
1326 (arguments
1327 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1328 ;not exist
1329 #:configure-flags
1330 (list
1331 (string-append "--with-pkcs11-config="
1332 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1333 (string-append "--with-pkcs11-modules="
1334 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1335 #:phases
1336 (modify-phases %standard-phases
ab35cc6e
RW
1337 (add-after 'unpack 'fix-/bin/sh-reference
1338 (lambda _
1339 (substitute* "po/Makefile.in.in"
1340 (("/bin/sh") (which "sh")))
1341 #t))
5120f24f
RW
1342 (add-after 'unpack 'fix-docbook
1343 (lambda* (#:key inputs #:allow-other-keys)
1344 (substitute* "docs/Makefile.am"
1345 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1346 (string-append (assoc-ref inputs "docbook-xsl")
1347 "/xml/xsl/docbook-xsl-"
1348 ,(package-version docbook-xsl)
1349 "/manpages/docbook.xsl")))
1350 (setenv "XML_CATALOG_FILES"
1351 (string-append (assoc-ref inputs "docbook-xml")
1352 "/xml/dtd/docbook/catalog.xml"))
1353 ;; Rerun the whole thing to avoid version mismatch ("This is
1354 ;; Automake 1.15.1, but the definition used by this
1355 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1356 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1357 (invoke "autoconf")
1358 (invoke "aclocal")
1359 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1360 (inputs
1361 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1362 ("linux-pam" ,linux-pam)
ab35cc6e 1363 ("openssh" ,openssh)
e99a3d6f
RW
1364 ("dbus" ,dbus)
1365 ("gcr" ,gcr)))
1366 (native-inputs
1367 `(("pkg-config" ,pkg-config)
1368 ("glib" ,glib "bin")
5120f24f 1369 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1370 ("python" ,python-2) ;for tests
1371 ("intltool" ,intltool)
1372 ("autoconf" ,autoconf)
1373 ("automake" ,automake)
1374 ("libxslt" ,libxslt) ;for documentation
1375 ("docbook-xml" ,docbook-xml-4.2)
1376 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1377 (home-page "https://www.gnome.org")
e99a3d6f
RW
1378 (synopsis "Daemon to store passwords and encryption keys")
1379 (description
1380 "gnome-keyring is a program that keeps passwords and other secrets for
1381users. It is run as a daemon in the session, similar to ssh-agent, and other
1382applications locate it via an environment variable or D-Bus.
1383
1384The program can manage several keyrings, each with its own master password,
1385and there is also a session keyring which is never stored to disk, but
1386forgotten when the session ends.")
1387 (license license:lgpl2.1+)))
1388
c1354b90
LC
1389(define-public evince
1390 (package
1391 (name "evince")
936d5642 1392 (version "3.34.2")
c1354b90
LC
1393 (source (origin
1394 (method url-fetch)
ac631328 1395 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1396 (version-major+minor version) "/"
ac631328 1397 "evince-" version ".tar.xz"))
c1354b90
LC
1398 (sha256
1399 (base32
936d5642 1400 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1401 (build-system glib-or-gtk-build-system)
c1354b90 1402 (arguments
169b8f77 1403 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1404 #:phases
1405 (modify-phases %standard-phases
1406 (add-before 'install 'skip-gtk-update-icon-cache
1407 ;; Don't create 'icon-theme.cache'.
1408 (lambda _
1409 (substitute* "data/Makefile"
1410 (("gtk-update-icon-cache") "true"))
1411 #t)))))
c1354b90 1412 (inputs
9a096881
KK
1413 `(("libarchive" ,libarchive)
1414 ("libgxps" ,libgxps)
1415 ("libspectre" ,libspectre)
c769cf9f 1416 ("djvulibre" ,djvulibre)
c1354b90
LC
1417 ("ghostscript" ,ghostscript)
1418 ("poppler" ,poppler)
c769cf9f
SB
1419 ("libtiff" ,libtiff)
1420 ;; TODO:
c769cf9f
SB
1421 ;; Build libkpathsea as a shared library for DVI support.
1422 ;; ("libkpathsea" ,texlive-bin)
1423 ("gnome-desktop" ,gnome-desktop)
c1354b90 1424 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1425 ("gspell" ,gspell)
c1354b90 1426 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1427 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1428 ("gdk-pixbuf" ,gdk-pixbuf)
1429 ("atk" ,atk)
1430 ("pango" ,pango)
1431 ("gtk+" ,gtk+)
1432 ("glib" ,glib)
1433 ("libxml2" ,libxml2)
c1354b90
LC
1434 ("libsm" ,libsm)
1435 ("libice" ,libice)
96e42467 1436 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1437 ("dconf" ,dconf)
1438 ("libcanberra" ,libcanberra)
c769cf9f 1439 ("libsecret" ,libsecret)
a271096b 1440
c1354b90
LC
1441 ;; For tests.
1442 ("dogtail" ,python2-dogtail)))
96e42467 1443 (native-inputs
bcb354ad
SB
1444 `(("itstool" ,itstool)
1445 ("intltool" ,intltool)
426adbe8 1446 ("glib" ,glib "bin")
169b8f77 1447 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1448 ("pkg-config" ,pkg-config)
1449 ("xmllint" ,libxml2)))
c1354b90 1450 (home-page
f032d0be 1451 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1452 (synopsis "GNOME's document viewer")
1453 (description
1454 "Evince is a document viewer for multiple document formats. It
1455currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1456of Evince is to replace the multiple document viewers that exist
96e42467 1457on the GNOME Desktop with a single simple application.")
1dd26275 1458 (license license:gpl2+)))
c1354b90 1459
22e32e69
AE
1460(define-public gsettings-desktop-schemas
1461 (package
1462 (name "gsettings-desktop-schemas")
c900dabd 1463 (version "3.32.0")
22e32e69
AE
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1468 (version-major+minor version) "/"
22e32e69
AE
1469 name "-" version ".tar.xz"))
1470 (sha256
1471 (base32
c900dabd
KK
1472 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1473 (build-system meson-build-system)
65209ffa
LC
1474 (arguments
1475 '(#:phases (modify-phases %standard-phases
1476 (add-after 'unpack 'set-adwaita-theme-file-name
1477 (lambda* (#:key inputs #:allow-other-keys)
1478 ;; Provide the correct file name of the default GNOME
1479 ;; background, 'adwaita-timed.xml'.
1480 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1481 (substitute* (find-files "schemas"
1482 "\\.gschema\\.xml\\.in$")
1483 (("@datadir@/backgrounds/gnome")
1484 (string-append theme "/share/backgrounds/gnome")))
1485 #t))))))
22e32e69 1486 (inputs
65209ffa
LC
1487 `(("glib" ,glib)
1488 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1489 (native-inputs
1490 `(("intltool" ,intltool)
426adbe8 1491 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1492 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1493 ("pkg-config" ,pkg-config)))
1494 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1495 (synopsis
1496 "GNOME settings for various desktop components")
1497 (description
1498 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1499for settings shared by various components of the GNOME desktop.")
1dd26275 1500 (license license:lgpl2.1+)))
22e32e69 1501
27477d2d
AE
1502(define-public icon-naming-utils
1503 (package
1504 (name "icon-naming-utils")
1505 (version "0.8.90")
1506 (source
1507 (origin
1508 (method url-fetch)
5cc3096c 1509 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1510 version ".tar.bz2"))
1511 (sha256
1512 (base32
1513 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1514 (build-system gnu-build-system)
1515 (inputs
1516 `(("perl" ,perl)
1517 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1518 (arguments
1519 '(#:phases
dc1d3cde
KK
1520 (modify-phases %standard-phases
1521 (add-after 'install 'set-load-paths
1522 ;; Tell 'icon-name-mapping' where XML::Simple is.
1523 (lambda* (#:key outputs #:allow-other-keys)
1524 (let* ((out (assoc-ref outputs "out"))
1525 (prog (string-append out "/libexec/icon-name-mapping")))
1526 (wrap-program
1527 prog
1528 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1529 #t)))))
27477d2d
AE
1530 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1531 (synopsis
1532 "Utility to implement the Freedesktop Icon Naming Specification")
1533 (description
1534 "To help with the transition to the Freedesktop Icon Naming
1535Specification, the icon naming utility maps the icon names used by the
1536GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1537 (license license:lgpl2.1+)))
27477d2d 1538
7d3f3651
AE
1539(define-public gnome-icon-theme
1540 (package
1541 (name "gnome-icon-theme")
b32f58dd 1542 (version "3.12.0")
7d3f3651
AE
1543 (source
1544 (origin
1545 (method url-fetch)
1546 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1547 (version-major+minor version) "/"
7d3f3651
AE
1548 name "-" version ".tar.xz"))
1549 (sha256
1550 (base32
b32f58dd 1551 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1552 (build-system gnu-build-system)
5613c27d
SB
1553 (arguments
1554 '(#:configure-flags
1555 ;; Don't create 'icon-theme.cache'.
1556 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1557 (true (string-append coreutils "/bin/true")))
1558 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1559 (native-inputs
5613c27d 1560 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1561 ("intltool" ,intltool)
1562 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1563 (home-page "https://wiki.gnome.org/Personalization")
1564 (synopsis "GNOME icon theme")
1565 (description "Icons for the GNOME desktop.")
1dd26275 1566 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1567
14eeefa2
SB
1568;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1569(define-public adwaita-icon-theme
1570 (package (inherit gnome-icon-theme)
1571 (name "adwaita-icon-theme")
9be59d7f 1572 (version "3.32.0")
14eeefa2
SB
1573 (source (origin
1574 (method url-fetch)
1575 (uri (string-append "mirror://gnome/sources/" name "/"
1576 (version-major+minor version) "/"
1577 name "-" version ".tar.xz"))
1578 (sha256
1579 (base32
9be59d7f 1580 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1581 (native-inputs
1582 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1583
ae792dba
RW
1584(define-public tango-icon-theme
1585 (package
1586 (name "tango-icon-theme")
1587 (version "0.8.90")
1588 (source (origin
1589 (method url-fetch)
1590 (uri (string-append "http://tango.freedesktop.org/releases/"
1591 "tango-icon-theme-" version ".tar.bz2"))
1592 (sha256
1593 (base32
1594 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1595 (build-system gnu-build-system)
1596 (native-inputs
1597 `(("icon-naming-utils" ,icon-naming-utils)
1598 ("intltool" ,intltool)
1599 ("imagemagick" ,imagemagick)
1600 ("pkg-config" ,pkg-config)))
1601 (home-page "http://tango-project.org/")
1602 (synopsis "Tango icon theme")
1603 (description "This is an icon theme that follows the Tango visual
1604guidelines.")
1605 (license license:public-domain)))
1606
9167f8e6
LC
1607(define-public shared-mime-info
1608 (package
1609 (name "shared-mime-info")
18138ab9 1610 (version "1.10")
9167f8e6
LC
1611 (source (origin
1612 (method url-fetch)
5cc3096c 1613 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1614 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1615 (sha256
1616 (base32
18138ab9 1617 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1618 (build-system gnu-build-system)
1619 (arguments
1620 ;; The build system appears not to be parallel-safe.
1621 '(#:parallel-build? #f))
1622 (inputs
1623 `(("glib" ,glib)
c4c4cc05 1624 ("libxml2" ,libxml2)))
9167f8e6 1625 (native-inputs
c4c4cc05
JD
1626 `(("intltool" ,intltool)
1627 ("pkg-config" ,pkg-config)))
57e7d748 1628 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1629 (synopsis "Database of common MIME types")
1630 (description
1631 "The shared-mime-info package contains the core database of common types
1632and the update-mime-database command used to extend it. It requires glib2 to
1633be installed for building the update command. Additionally, it uses intltool
1634for translations, though this is only a dependency for the maintainers. This
1635database is translated at Transifex.")
1dd26275 1636 (license license:gpl2+)))
9167f8e6 1637
dd1fcddc
CB
1638(define-public system-config-printer
1639 (package
1640 (name "system-config-printer")
fa01e10d 1641 (version "1.5.12")
a5643044
TGR
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append
1646 "https://github.com/OpenPrinting/system-config-printer/releases/"
1647 "download/" version
1648 "/system-config-printer-" version ".tar.xz"))
1649 (sha256
fa01e10d 1650 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1651 (build-system glib-or-gtk-build-system)
1652 (arguments
1653 `(#:imported-modules ((guix build python-build-system)
1654 ,@%glib-or-gtk-build-system-modules)
1655 #:phases
1656 (modify-phases %standard-phases
1657 (add-after 'unpack 'patch-Makefile.am
1658 (lambda _
1659 ;; The Makefile generates some scripts, so set a valid shebang
1660 (substitute* "Makefile.am"
1661 (("/bin/bash") (which "bash")))
1662 (delete-file "configure")
1663 #t))
1664 (add-after 'unpack 'patch-docbook-xml
1665 (lambda* (#:key inputs #:allow-other-keys)
1666 ;; Modify the man XML otherwise xmlto tries to access the network
1667 (substitute* "man/system-config-printer.xml"
1668 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1669 (string-append (assoc-ref inputs "docbook-xml")
1670 "/xml/dtd/docbook/")))
1671 #t))
1672 (add-after 'install 'wrap-for-python
1673 (@@ (guix build python-build-system) wrap))
1674 (add-after 'install 'wrap
1675 (lambda* (#:key outputs #:allow-other-keys)
1676 (let ((out (assoc-ref outputs "out"))
1677 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1678 (for-each
1679 (lambda (program)
1680 (wrap-program program
1681 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1682 (map (lambda (name)
1683 (string-append out "/bin/" name))
1684 '("system-config-printer"
1685 "system-config-printer-applet"
1686 "install-printerdriver"
1687 "scp-dbus-service"))))
1688 #t)))))
1689 (inputs
1690 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1691 ("gobject-introspection" ,gobject-introspection)
1692 ("python" ,python)
1693 ("cups" ,cups)
1694 ("python-dbus" ,python-dbus)
1695 ("python-pygobject" ,python-pygobject)
1696 ("python-pycups" ,python-pycups)
1697 ("python-requests" ,python-requests)
1698 ("python-pycairo" ,python-pycairo)
1699 ("libnotify" ,libnotify)
1700 ("packagekit" ,packagekit)))
1701 (native-inputs
1702 `(("pkg-config" ,pkg-config)
1703 ("desktop-file-utils" ,desktop-file-utils)
1704 ("glib" ,glib)
1705 ("autoconf" ,autoconf)
1706 ("automake" ,automake)
1707 ("intltool" ,intltool)
1708 ("xmlto" ,xmlto)
1709 ("docbook-xml" ,docbook-xml-4.1.2)
1710 ("docbook-xsl" ,docbook-xsl)
1711 ("libxml2" ,libxml2)))
1712 (home-page "https://github.com/zdohnal/system-config-printer")
1713 (synopsis "CUPS administration tool")
1714 (description
1715 "system-config-printer is a CUPS administration tool. It's written in
1716Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1717configuring CUPS.")
1718 (license license:gpl2+)))
1719
bef4dd92
AE
1720(define-public hicolor-icon-theme
1721 (package
1722 (name "hicolor-icon-theme")
851cb6dd 1723 (version "0.17")
bef4dd92
AE
1724 (source
1725 (origin
1726 (method url-fetch)
5cc3096c 1727 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1728 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1729 (sha256
1730 (base32
851cb6dd 1731 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1732 (build-system gnu-build-system)
1733 (arguments
1734 `(#:tests? #f)) ; no check target
57e7d748 1735 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1736 (synopsis
1737 "Freedesktop icon theme")
1738 (description
1739 "Freedesktop icon theme.")
1dd26275 1740 (license license:gpl2)))
bef4dd92 1741
d9c1a22b
AE
1742(define-public libnotify
1743 (package
1744 (name "libnotify")
195bfa68 1745 (version "0.7.7")
d9c1a22b
AE
1746 (source
1747 (origin
1748 (method url-fetch)
1749 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1750 (version-major+minor version) "/"
d9c1a22b
AE
1751 name "-" version ".tar.xz"))
1752 (sha256
1753 (base32
195bfa68 1754 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1755 (build-system gnu-build-system)
6acf6cec
MB
1756 (arguments
1757 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1758 (propagated-inputs
1759 `(;; In Requires of libnotify.pc.
1760 ("gdk-pixbuf" ,gdk-pixbuf)
1761 ("glib" ,glib)))
d9c1a22b 1762 (inputs
7ef08efa 1763 `(("gtk+" ,gtk+)
c4c4cc05
JD
1764 ("libpng" ,libpng)))
1765 (native-inputs
426adbe8 1766 `(("pkg-config" ,pkg-config)
277a7d82
JN
1767 ("glib" ,glib "bin")
1768 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1769 (home-page "https://developer-next.gnome.org/libnotify/")
1770 (synopsis
1771 "GNOME desktop notification library")
1772 (description
1773 "Libnotify is a library that sends desktop notifications to a
35b9e423 1774notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1775notifications can be used to inform the user about an event or display
1776some form of information without getting in the user's way.")
1dd26275 1777 (license license:lgpl2.1+)))
7a8605ce
CR
1778
1779(define-public libpeas
1780 (package
1781 (name "libpeas")
db122a9b 1782 (version "1.22.0")
7a8605ce
CR
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1787 (version-major+minor version) "/"
7a8605ce
CR
1788 name "-" version ".tar.xz"))
1789 (sha256
1790 (base32
db122a9b 1791 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
7a8605ce 1792 (build-system gnu-build-system)
7a8605ce 1793 (inputs
2ed6522a
SB
1794 `(("gtk+" ,gtk+)
1795 ("glade" ,glade3)
2ed6522a
SB
1796 ("python" ,python)
1797 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1798 (native-inputs
1799 `(("pkg-config" ,pkg-config)
93622993 1800 ("glib:bin" ,glib "bin")
141aed80
LC
1801 ("gobject-introspection" ,gobject-introspection)
1802 ("intltool" ,intltool)))
55b7bbd8
LC
1803 (propagated-inputs
1804 ;; The .pc file "Requires" gobject-introspection.
1805 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1806 (home-page "https://wiki.gnome.org/Libpeas")
1807 (synopsis "GObject plugin system")
1808 (description
d1e4ad1b
TGR
1809 "Libpeas is a gobject-based plugin engine, targeted at giving every
1810application the chance to assume its own extensibility. It also has a set of
1811features including, but not limited to: multiple extension points; on-demand
1812(lazy) programming language support for C, Python and JS; simplicity of the
1813API.")
1dd26275 1814 (license license:lgpl2.0+)))
ed19903d
JD
1815
1816(define-public gtkglext
1817 (package
1818 (name "gtkglext")
1819 (version "1.2.0")
1820 (source (origin
1821 (method url-fetch)
0f971a04 1822 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1823 version "/gtkglext-" version ".tar.gz"))
1824 (sha256
1825 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1826 (patches (search-patches
1827 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1828 (build-system gnu-build-system)
14e2f61a
RW
1829 (arguments
1830 `(#:phases
1831 (modify-phases %standard-phases
1832 ;; Fix a collision between a local variable and a definition from
1833 ;; glibc's string.h.
1834 (add-after 'unpack 'fix-collision
1835 (lambda _
1836 (substitute* "gdk/gdkglshapes.c"
1837 ((" index") " triangle_index"))
1838 #t)))))
ed19903d
JD
1839 (inputs `(("gtk+" ,gtk+-2)
1840 ("mesa" ,mesa)
cc8b02f4 1841 ("glu" ,glu)
ed19903d
JD
1842 ("libx11" ,libx11)
1843 ("libxt" ,libxt)))
426adbe8
LC
1844 (native-inputs `(("pkg-config" ,pkg-config)
1845 ("glib" ,glib "bin")))
a83b6a06 1846 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1847 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1848 (synopsis "OpenGL extension to GTK+")
35b9e423 1849 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1850additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1851API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1852 (license license:lgpl2.1+)))
3600420e
JD
1853
1854(define-public glade3
1855 (package
1856 (name "glade")
c6571adb 1857 (version "3.22.1")
b38e45d8
EB
1858 (source (origin
1859 (method url-fetch)
1860 (uri (string-append "mirror://gnome/sources/" name "/"
1861 (version-major+minor version) "/"
f5ca44b8 1862 name "-" version ".tar.xz"))
3600420e 1863 (sha256
f714d9fe 1864 (base32
c6571adb 1865 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1866 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1867 (arguments
1868 `(#:tests? #f ; needs X, GL, and software rendering
1869 #:phases
1870 (modify-phases %standard-phases
1871 (add-before 'configure 'fix-docbook
1872 (lambda* (#:key inputs #:allow-other-keys)
1873 (substitute* "man/Makefile.in"
1874 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1875 (string-append (assoc-ref inputs "docbook-xsl")
1876 "/xml/xsl/docbook-xsl-"
1877 ,(package-version docbook-xsl)
1878 "/manpages/docbook.xsl")))
1879 #t)))))
3600420e 1880 (inputs
f5ca44b8 1881 `(("gtk+" ,gtk+)
3600420e
JD
1882 ("libxml2" ,libxml2)))
1883 (native-inputs
1884 `(("intltool" ,intltool)
f5ca44b8
RW
1885 ("itstool" ,itstool)
1886 ("libxslt" ,libxslt) ;for xsltproc
1887 ("docbook-xml" ,docbook-xml-4.2)
1888 ("docbook-xsl" ,docbook-xsl)
1889 ("python" ,python-2)
3600420e
JD
1890 ("pkg-config" ,pkg-config)))
1891 (home-page "https://glade.gnome.org")
1892 (synopsis "GTK+ rapid application development tool")
1893 (description "Glade is a rapid application development (RAD) tool to
1894enable quick & easy development of user interfaces for the GTK+ toolkit and
1895the GNOME desktop environment.")
1dd26275
LC
1896 (license license:lgpl2.0+)))
1897
1898(define-public libcroco
1899 (package
1900 (name "libcroco")
8bdacad2 1901 (version "0.6.13")
1dd26275
LC
1902 (source (origin
1903 (method url-fetch)
b38e45d8
EB
1904 (uri (string-append "mirror://gnome/sources/" name "/"
1905 (version-major+minor version) "/"
1906 name "-" version ".tar.xz"))
1dd26275
LC
1907 (sha256
1908 (base32
8bdacad2 1909 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
1910 (build-system gnu-build-system)
1911 (native-inputs
1912 `(("pkg-config" ,pkg-config)))
1913 (inputs
1914 `(("glib" ,glib)
1915 ("libxml2" ,libxml2)
1916 ("zlib" ,zlib)))
1917 (home-page "https://github.com/GNOME/libcroco")
1918 (synopsis "CSS2 parsing and manipulation library")
1919 (description
1920 "Libcroco is a standalone CSS2 parsing and manipulation library.
1921The parser provides a low level event driven SAC-like API and a CSS object
1922model like API. Libcroco provides a CSS2 selection engine and an experimental
1923XML/CSS rendering engine.")
1924
1925 ;; LGPLv2.1-only.
1926 (license license:lgpl2.1)))
25178594
LC
1927
1928(define-public libgsf
1929 (package
1930 (name "libgsf")
8d1644a1 1931 (version "1.14.46")
25178594
LC
1932 (source (origin
1933 (method url-fetch)
b38e45d8
EB
1934 (uri (string-append "mirror://gnome/sources/" name "/"
1935 (version-major+minor version) "/"
1936 name "-" version ".tar.xz"))
25178594
LC
1937 (sha256
1938 (base32
8d1644a1 1939 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
1940 (build-system gnu-build-system)
1941 (native-inputs
1942 `(("intltool" ,intltool)
1943 ("pkg-config" ,pkg-config)))
1944 (inputs
1945 `(("python" ,python)
1946 ("zlib" ,zlib)
1947 ("bzip2" ,bzip2)))
1948 (propagated-inputs
1949 `(("gdk-pixbuf" ,gdk-pixbuf)
1950 ("glib" ,glib)
1951 ("libxml2" ,libxml2)))
f032d0be 1952 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
1953 (synopsis "GNOME's Structured File Library")
1954 (description
1955 "Libgsf aims to provide an efficient extensible I/O abstraction for
1956dealing with different structured file formats.")
1957
1958 ;; LGPLv2.1-only.
1959 (license license:lgpl2.1)))
63016e7c
LC
1960
1961(define-public librsvg
f67417a1
MB
1962 (package
1963 (name "librsvg")
1964 (version "2.40.20")
1965 (source (origin
1966 (method url-fetch)
1967 (uri (string-append "mirror://gnome/sources/" name "/"
1968 (version-major+minor version) "/"
1969 name "-" version ".tar.xz"))
1970 (sha256
1971 (base32
1972 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
1973 (build-system gnu-build-system)
1974 (arguments
1975 `(#:configure-flags
1976 (list "--disable-static"
1977 "--enable-vala") ; needed for e.g. gnome-mines
1978 #:phases
1979 (modify-phases %standard-phases
1980 (add-before 'configure 'pre-configure
1981 (lambda* (#:key inputs #:allow-other-keys)
1982 (substitute* "gdk-pixbuf-loader/Makefile.in"
1983 ;; By default the gdk-pixbuf loader is installed under
1984 ;; gdk-pixbuf's prefix. Work around that.
1985 (("gdk_pixbuf_moduledir = .*$")
1986 (string-append "gdk_pixbuf_moduledir = "
1987 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1988 "loaders\n"))
1989 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1990 (("gdk_pixbuf_cache_file = .*$")
1991 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1992 #t))
1993 (add-before 'check 'remove-failing-tests
1994 (lambda _
1995 (with-directory-excursion "tests/fixtures/reftests"
1996 (for-each delete-file
1997 '(;; This test fails on i686:
1998 "svg1.1/masking-path-04-b.svg"
1999 ;; This test fails on armhf:
2000 "svg1.1/masking-mask-01-b.svg"
2001 ;; This test fails on aarch64:
2002 "bugs/777834-empty-text-children.svg")))
2003 #t)))))
2004 (native-inputs
2005 `(("pkg-config" ,pkg-config)
2006 ("vala" ,vala)
2007 ("glib" ,glib "bin") ; glib-mkenums, etc.
2008 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2009 (inputs
2010 `(("pango" ,pango)
2011 ("libcroco" ,libcroco)
2012 ("bzip2" ,bzip2)
2013 ("libgsf" ,libgsf)
2014 ("libxml2" ,libxml2)))
2015 (propagated-inputs
2016 ;; librsvg-2.0.pc refers to all of that.
2017 `(("cairo" ,cairo)
2018 ("gdk-pixbuf" ,gdk-pixbuf)
2019 ("glib" ,glib)))
2020 (home-page "https://wiki.gnome.org/LibRsvg")
2021 (synopsis "Render SVG files using Cairo")
2022 (description
2023 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2024library.")
2025 (license license:lgpl2.0+)))
2026
8f523eb9
EF
2027(define* (computed-origin-method gexp-promise hash-algo hash
2028 #:optional (name "source")
2029 #:key (system (%current-system))
2030 (guile (default-guile)))
2031 "Return a derivation that executes the G-expression that results
2032from forcing GEXP-PROMISE."
2033 (mlet %store-monad ((guile (package->derivation guile system)))
2034 (gexp->derivation (or name "computed-origin")
2035 (force gexp-promise)
2036 #:graft? #f ;nothing to graft
2037 #:system system
2038 #:guile-for-build guile)))
2039
2040(define librsvg-next-source
2041 (let* ((version "2.46.3")
2042 (upstream-source (origin
2043 (method url-fetch)
2044 (uri (string-append "mirror://gnome/sources/librsvg/"
2045 (version-major+minor version) "/"
2046 "librsvg-" version ".tar.xz"))
2047 (sha256
2048 (base32
2049 "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))))
2050 (origin
2051 (method computed-origin-method)
2052 (file-name (string-append "librsvg-" version ".tar.xz"))
2053 (sha256 #f)
2054 (uri
2055 (delay
2056 (with-imported-modules '((guix build utils))
2057 #~(begin
2058 (use-modules (guix build utils))
2059 (set-path-environment-variable
2060 "PATH" '("bin")
2061 (list "/tmp"
2062 #+(canonical-package xz)
2063 #+(canonical-package gzip)
2064 #+(canonical-package tar)))
2065 (invoke "tar" "xvf" #+upstream-source)
2066 (with-directory-excursion (string-append "librsvg-" #$version)
2067 (for-each
2068 (lambda (crate)
2069 (delete-file-recursively (string-append "vendor/" (car crate)))
2070 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
e19cb895 2071 '(;("aho-corasick" . #+(package-source rust-aho-corasick-0.7))
8f523eb9 2072;; alga 0.9
e19cb895
EF
2073 ("approx" . #+(package-source rust-approx-0.3))
2074 ("arrayvec" . #+(package-source rust-arrayvec-0.4))
8f523eb9
EF
2075 ("atty" . #+(package-source rust-atty-0.2))
2076 ("autocfg" . #+(package-source rust-autocfg-0.1))
2077 ("bitflags" . #+(package-source rust-bitflags-1))
2078;; block 0.1
e19cb895
EF
2079 ("bstr" . #+(package-source rust-bstr-0.2))
2080 ("byteorder" . #+(package-source rust-byteorder-1.3))
8f523eb9
EF
2081;; cairo-rs 0.7
2082;; cairo-sys-rs 0.9
e19cb895 2083 ("cast" . #+(package-source rust-cast-0.2))
8f523eb9
EF
2084 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
2085 ("clap" . #+(package-source rust-clap-2))
e19cb895
EF
2086 ("cloudabi" . #+(package-source rust-cloudabi-0.0))
2087 ("criterion" . #+(package-source rust-criterion-0.2))
2088 ("criterion-plot" . #+(package-source rust-criterion-plot-0.3))
2089 ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7))
2090 ;("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.7))
2091 ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.1))
2092 ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.6))
8f523eb9
EF
2093;; cssparser 0.25
2094;; cssparser-macros 0.3
e19cb895
EF
2095 ("csv" . #+(package-source rust-csv-1.1))
2096 ("csv-core" . #+(package-source rust-csv-core-0.1))
8f523eb9
EF
2097;; data-url 0.1
2098;; downcast-rs 1.0
2099 ("dtoa" . #+(package-source rust-dtoa-0.4))
2100;; dtoa-short 0.3
e19cb895
EF
2101 ("either" . #+(package-source rust-either-1.5))
2102 ("encoding" . #+(package-source rust-encoding-0.2))
2103 ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219))
2104 ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219))
2105 ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219))
2106 ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219))
2107 ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219))
2108 ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1))
8f523eb9
EF
2109;; float-cmp 0.5
2110;; fragile 0.3
e19cb895
EF
2111 ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2112 ("futf" . #+(package-source rust-futf-0.1))
8f523eb9
EF
2113;; gdk-pixbuf 0.7
2114;; gdk-pixbuf-sys 0.9
e19cb895 2115 ("generic-array" . #+(package-source rust-generic-array-0.12))
8f523eb9
EF
2116;; gio 0.7
2117;; gio-sys 0.9
2118;; glib 0.8
2119;; glib-sys 0.9
2120;; gobject-sys 0.9
2121;; idna 0.2
e19cb895 2122 ("itertools" . #+(package-source rust-itertools-0.8))
8f523eb9 2123 ("itoa" . #+(package-source rust-itoa-0.4))
e19cb895 2124 ("language-tags" . #+(package-source rust-language-tags-0.2))
8f523eb9
EF
2125 ("lazy_static" . #+(package-source rust-lazy-static-1.3))
2126 ("libc" . #+(package-source rust-libc-0.2))
2127;; libm 0.1
2128;; locale_config 0.3
2129 ("log" . #+(package-source rust-log-0.4))
e19cb895 2130 ("mac" . #+(package-source rust-mac-0.1))
8f523eb9
EF
2131;; malloc_buf 0.0
2132;; markup5ever 0.9
e19cb895 2133 ("matches" . #+(package-source rust-matches-0.1))
8f523eb9 2134;; matrixmultiply 0.2
e19cb895 2135 ;("memchr" . #+(package-source rust-memchr-2.2))
8f523eb9
EF
2136;; memoffset 0.5
2137;; nalgebra 0.18
e19cb895 2138 ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0))
8f523eb9 2139 ("nodrop" . #+(package-source rust-nodrop-0.1))
e19cb895 2140 ("num-complex" . #+(package-source rust-num-complex-0.2))
8f523eb9
EF
2141 ("num-integer" . #+(package-source rust-num-integer-0.1))
2142;; num-rational 0.2
2143 ("num-traits" . #+(package-source rust-num-traits-0.2))
2144 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
2145;; objc 0.2
2146;; objc-foundation 0.1
2147;; objc_id 0.1
2148;; pango 0.7
2149;; pango-sys 0.9
2150;; pangocairo 0.8
2151;; pangocairo-sys 0.10
2152 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
e19cb895
EF
2153 ("phf" . #+(package-source rust-phf-0.7))
2154 ("phf_codegen" . #+(package-source rust-phf-codegen-0.7))
2155 ("phf_generator" . #+(package-source rust-phf-generator-0.7))
2156 ("phf_shared" . #+(package-source rust-phf-shared-0.7))
2157 ("pkg-config" . #+(package-source rust-pkg-config-0.3))
2158 ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1))
8f523eb9
EF
2159 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2160;; procedural-masquerade 0.1
2161 ("quote" . #+(package-source rust-quote-1.0))
e19cb895 2162 ("rand" . #+(package-source rust-rand-0.6))
8f523eb9
EF
2163 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2164 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2165 ("rand_core" . #+(package-source rust-rand-core-0.4))
2166 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2167 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2168 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2169 ("rand_os" . #+(package-source rust-rand-os-0.1))
2170 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2171 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
2172;; rand_xoshiro 0.1
e19cb895 2173;; rawpointer 0.2
8f523eb9
EF
2174;; rayon 1.2
2175;; rayon-core 1.6
2176;; rctree 0.3
2177 ("rdrand" . #+(package-source rust-rdrand-0.4))
2178;; regex 1.3
e19cb895 2179 ("regex-automata" . #+(package-source rust-regex-automata-0.1))
8f523eb9 2180 ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
e19cb895 2181 ("rustc_version" . #+(package-source rust-rustc-version-0.2))
8f523eb9
EF
2182 ("ryu" . #+(package-source rust-ryu-1.0))
2183 ("same-file" . #+(package-source rust-same-file-1.0))
2184 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
e19cb895
EF
2185 ("semver" . #+(package-source rust-semver-0.9))
2186 ("semver-parser" . #+(package-source rust-semver-parser-0.7))
8f523eb9
EF
2187 ("serde" . #+(package-source rust-serde-1.0))
2188 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2189 ("serde_json" . #+(package-source rust-serde-json-1.0))
e19cb895
EF
2190 ("siphasher" . #+(package-source rust-siphasher-0.2))
2191 ("smallvec" . #+(package-source rust-smallvec-0.6))
2192 ("string_cache" . #+(package-source rust-string-cache-0.7))
2193 ;("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4))
2194 ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3))
8f523eb9 2195 ("syn" . #+(package-source rust-syn-1.0))
e19cb895 2196 ("tendril" . #+(package-source rust-tendril-0.4))
8f523eb9 2197 ("textwrap" . #+(package-source rust-textwrap-0.11))
e19cb895
EF
2198 ("thread_local" . #+(package-source rust-thread-local-0.3))
2199 ("tinytemplate" . #+(package-source rust-tinytemplate-1.0))
2200 ("typenum" . #+(package-source rust-typenum-1.10))
2201 ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3))
2202 ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1))
8f523eb9
EF
2203 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2204 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
2205;; url 2.1
e19cb895 2206 ("utf-8" . #+(package-source rust-utf-8-0.7))
8f523eb9
EF
2207 ("walkdir" . #+(package-source rust-walkdir-2.2))
2208 ("winapi" . #+(package-source rust-winapi-0.3))
e19cb895 2209 ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
8f523eb9 2210 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
e19cb895 2211 ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
8f523eb9
EF
2212;; xml-rs 0.8
2213 )))
2214 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2215 (force-output)
2216 (invoke "tar" "cfa" #$output
2217 ;; Avoid non-determinism in the archive. We set the
2218 ;; mtime of files in the archive to early 1980 because
2219 ;; the build process fails if the mtime of source
2220 ;; files is pre-1980, due to the creation of zip
2221 ;; archives.
2222 "--mtime=@315619200" ; 1980-01-02 UTC
2223 "--owner=root:0"
2224 "--group=root:0"
2225 "--sort=name"
2226 (string-append "librsvg-" #$version))
2227 #t)))))))
2228
f67417a1 2229(define-public librsvg-next
63016e7c
LC
2230 (package
2231 (name "librsvg")
cf9dad6c 2232 (version "2.46.3")
8f523eb9 2233 (source librsvg-next-source)
63016e7c
LC
2234 (build-system gnu-build-system)
2235 (arguments
d953418a
RW
2236 `(#:configure-flags
2237 (list "--disable-static"
2238 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2239 #:make-flags '("CC=gcc")
8f523eb9 2240 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2241 #:phases
b6239e45 2242 (modify-phases %standard-phases
8f523eb9 2243 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2244 (lambda _
8f523eb9
EF
2245 (use-modules (guix build cargo-utils))
2246 (substitute* "librsvg/Cargo.toml"
2247 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
b665a246 2248 (generate-all-checksums "vendor")
8f523eb9
EF
2249 (delete-file "Cargo.lock")
2250 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2251 (add-before 'configure 'pre-configure
2252 (lambda* (#:key inputs #:allow-other-keys)
2253 (substitute* "gdk-pixbuf-loader/Makefile.in"
2254 ;; By default the gdk-pixbuf loader is installed under
2255 ;; gdk-pixbuf's prefix. Work around that.
2256 (("gdk_pixbuf_moduledir = .*$")
2257 (string-append "gdk_pixbuf_moduledir = "
2258 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2259 "loaders\n"))
2260 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2261 (("gdk_pixbuf_cache_file = .*$")
2262 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2263 #t))
ec47c07d 2264 (add-before 'check 'remove-failing-tests
b6239e45 2265 (lambda _
64a153bd
MW
2266 (with-directory-excursion "tests/fixtures/reftests"
2267 (for-each delete-file
ec47c07d
MB
2268 '(;; The images produced by these tests differ slightly
2269 ;; from their reference counterparts due to differences
2270 ;; in the build environment (missing fonts, etc). See
2271 ;; <tests/README.md> for details.
2272 ;; These fail on x86_64.
2273 "svg1.1/coords-viewattr-02-b.svg"
2274 "svg1.1/filters-composite-04-f.svg"
2275 "svg1.1/filters-image-01-b.svg"
2276 "svg1.1/filters-conv-02-f.svg"
2277 "svg1.1/filters-conv-04-f.svg"
2278 ;; This test fails on i686:
64a153bd 2279 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2280 ;; This test fails on armhf:
2281 "svg1.1/masking-mask-01-b.svg"
64a153bd 2282 ;; This test fails on aarch64:
ec47c07d 2283 "bugs/777834-empty-text-children.svg")))
b6239e45 2284 #t)))))
63016e7c
LC
2285 (native-inputs
2286 `(("pkg-config" ,pkg-config)
64855281
MB
2287 ;; This is the minimum supported Rust version in Librsvg 2.46.
2288 ("rust" ,rust-1.34)
2289 ("cargo" ,rust-1.34 "cargo")
d953418a 2290 ("vala" ,vala)
44add1ce 2291 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2292 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2293 (inputs
2294 `(("pango" ,pango)
2295 ("libcroco" ,libcroco)
2296 ("bzip2" ,bzip2)
2297 ("libgsf" ,libgsf)
2298 ("libxml2" ,libxml2)))
2299 (propagated-inputs
2300 ;; librsvg-2.0.pc refers to all of that.
2301 `(("cairo" ,cairo)
2302 ("gdk-pixbuf" ,gdk-pixbuf)
2303 ("glib" ,glib)))
2304 (home-page "https://wiki.gnome.org/LibRsvg")
2305 (synopsis "Render SVG files using Cairo")
2306 (description
35b9e423 2307 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2308library.")
cf9dad6c 2309 (license license:lgpl2.1+)))
5698b8b8
JD
2310
2311(define-public libidl
2312 (package
2313 (name "libidl")
2314 (version "0.8.14")
2315 (source (origin
2316 (method url-fetch)
80a06e62
EF
2317 (uri (string-append "mirror://gnome/sources/libIDL/"
2318 (version-major+minor version) "/"
2319 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2320 (sha256
2321 (base32
2322 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2323 (build-system gnu-build-system)
2324 (inputs `(("glib" ,glib)))
2325 (native-inputs
2326 `(("pkg-config" ,pkg-config)
b3546174 2327 ("flex" ,flex)
5698b8b8
JD
2328 ("bison" ,bison)))
2329 (home-page "http://freecode.com/projects/libidl")
2330 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2331 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2332Definition Language (idl) files, which is a specification for defining
2333portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2334GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2335functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2336 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2337 (license license:lgpl2.0+)))
2338
2339
2340(define-public orbit2
2341 (package
2342 (name "orbit2")
2343 (version "2.14.19")
2344 (source (origin
2345 (method url-fetch)
2e6ecc5c 2346 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2347 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2348 (version-major+minor version) "/"
2349 upstream-name "-" version ".tar.bz2")))
5698b8b8 2350 (sha256
a124bbd2
SB
2351 (base32
2352 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2353 (build-system gnu-build-system)
2354 (arguments
a124bbd2 2355 `(#:configure-flags
8aad2e32
LC
2356 '(;; We don't need static libraries, plus they don't build reproducibly
2357 ;; (non-deterministic ordering of .o files in the archive.)
2358 "--disable-static"
2359
2360 ;; The programmer kindly gives us a hook to turn off deprecation
2361 ;; warnings ...
2362 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2363 ;; ... which they then completly ignore !!
2364 #:phases
dc1d3cde
KK
2365 (modify-phases %standard-phases
2366 (add-before 'configure 'ignore-deprecations
2367 (lambda _
2368 (substitute* "linc2/src/Makefile.in"
2369 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2370 #t)))))
5698b8b8
JD
2371 (inputs `(("glib" ,glib)
2372 ("libidl" ,libidl)))
2373 (native-inputs
2374 `(("pkg-config" ,pkg-config)))
2375 (home-page "https://projects.gnome.org/orbit2/")
2376 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2377 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2378featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2379 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2380 ;; a version. SOME of the code files have licence notices for GPLv2+.
2381 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2382 (license license:gpl2+)
2383 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2384
2385
2386(define-public libbonobo
2387 (package
2388 (name "libbonobo")
2389 (version "2.32.1")
2390 (source (origin
2391 (method url-fetch)
5becd025 2392 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2393 (version-major+minor version)
5becd025 2394 "/" name "-" version ".tar.bz2"))
5698b8b8 2395 (sha256
f1fc45a9 2396 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2397 (patches (search-patches
2398 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2399 (build-system gnu-build-system)
2400 (arguments
2401 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2402 `(#:configure-flags
2403 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2404 ;; ... which they then completly ignore !!
2405 #:phases
dc1d3cde
KK
2406 (modify-phases %standard-phases
2407 (add-before 'configure 'ignore-deprecations
2408 (lambda _
2409 (substitute* "activation-server/Makefile.in"
2410 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2411 #t)))
2412
2413 ;; There's apparently a race condition between the server stub
2414 ;; generation and linking of the example under 'samples/echo' that can
2415 ;; lead do undefined references when building in parallel, as reported
2416 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2417 ;; Thus, disable parallel builds.
2418 #:parallel-build? #f))
5698b8b8
JD
2419 (inputs `(("popt" ,popt)
2420 ("libxml2" ,libxml2)))
2421 ;; The following are Required by the .pc file
44add1ce 2422 (propagated-inputs
5698b8b8
JD
2423 `(("glib" ,glib)
2424 ("orbit2" ,orbit2)))
2425 (native-inputs
2426 `(("intltool" ,intltool)
2427 ("pkg-config" ,pkg-config)
221ed17a 2428 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2429 ("flex" ,flex)
2430 ("bison" ,bison)))
2431 (home-page "https://developer.gnome.org/libbonobo/")
2432 (synopsis "Framework for creating reusable components for use in GNOME applications")
2433 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2434use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2435 ;; Licence not explicitly stated. Source files contain no licence notices.
2436 ;; Tarball contains text of both GPLv2 and LGPLv2
2437 ;; GPLv2 covers both conditions
2438 (license license:gpl2+)))
2439
2440
2441(define-public gconf
2442 (package
2443 (name "gconf")
2444 (version "3.2.6")
2445 (source (origin
2446 (method url-fetch)
a124bbd2
SB
2447 (uri
2448 (let ((upstream-name "GConf"))
2449 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2450 (version-major+minor version) "/"
2451 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2452 (sha256
2453 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2454 (build-system gnu-build-system)
2e88d113 2455 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2456 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2457 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2458 ("orbit2" ,orbit2)))
5698b8b8
JD
2459 (native-inputs
2460 `(("intltool" ,intltool)
221ed17a 2461 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2462 ("pkg-config" ,pkg-config)))
2463 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2464 (synopsis "Store application preferences")
2465 (description "Gconf is a system for storing application preferences. It
2466is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2467 (license license:lgpl2.0+)
2468 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2469
2470
2471(define-public gnome-mime-data
2472 (package
2473 (name "gnome-mime-data")
2474 (version "2.18.0")
2475 (source (origin
2476 (method url-fetch)
b38e45d8
EB
2477 (uri (string-append "mirror://gnome/sources/" name "/"
2478 (version-major+minor version) "/"
2479 name "-" version ".tar.bz2"))
5698b8b8
JD
2480 (sha256
2481 (base32
2482 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2483 (build-system gnu-build-system)
2484 (native-inputs
2485 `(("perl" ,perl)
2486 ("intltool" ,intltool)))
3e6add96
LC
2487 (arguments
2488 '(#:phases (modify-phases %standard-phases
2489 (add-after 'configure 'use-our-intltool
2490 (lambda _
2491 ;; Do not use the bundled intltool commands, which lack
2492 ;; the "dotless @INC" fixes of our 'intltool' package.
2493 (substitute* (find-files "." "^Makefile$")
2494 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2495 (string-append "INTLTOOL_" tool " = intltool-"
2496 (string-downcase tool) "\n")))
2497 #t)))))
f032d0be 2498 (home-page "https://www.gnome.org")
35b9e423 2499 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2500 (description "GNOME Mime Data is a module which contains the base MIME
2501and Application database for GNOME. The data stored by this module is
2502designed to be accessed through the MIME functions in GnomeVFS.")
2503 (license license:gpl2+)))
2504
2505
2506(define-public gnome-vfs
2507 (package
2508 (name "gnome-vfs")
2509 (version "2.24.4")
2510 (source (origin
2511 (method url-fetch)
b38e45d8
EB
2512 (uri (string-append "mirror://gnome/sources/" name "/"
2513 (version-major+minor version) "/"
2514 name "-" version ".tar.bz2"))
5698b8b8 2515 (sha256
9e12bc34
MW
2516 (base32
2517 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2518 (build-system gnu-build-system)
2519 (arguments
db5127d8 2520 `(#:phases
dc1d3cde
KK
2521 (modify-phases %standard-phases
2522 (add-before 'configure 'ignore-deprecations
2523 (lambda _
2524 (substitute* '("libgnomevfs/Makefile.in"
2525 "daemon/Makefile.in")
2526 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2527 #t))
2528 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2529 (lambda _
2530 (substitute* "test/test-async-cancel.c"
2531 (("EXIT_FAILURE") "77"))
2532 #t)))))
2e6ecc5c 2533 (inputs `(("libxml2" ,libxml2)
5698b8b8 2534 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2535 ("gconf" ,gconf)
2536 ("gnome-mime-data" ,gnome-mime-data)
2537 ("zlib" ,zlib)))
2538 (native-inputs
221ed17a
EB
2539 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2540 ("intltool" ,intltool)
5698b8b8
JD
2541 ("pkg-config" ,pkg-config)))
2542 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2543 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2544 (description
2545 "GnomeVFS is the core library used to access files and folders in GNOME
2546applications. It provides a file system abstraction which allows applications
2547to access local and remote files with a single consistent API.")
5698b8b8
JD
2548 (license license:lgpl2.0+)))
2549
2550
2551
2552(define-public libgnome
2553 (package
2554 (name "libgnome")
2555 (version "2.32.1")
2556 (source (origin
2557 (method url-fetch)
b38e45d8
EB
2558 (uri (string-append "mirror://gnome/sources/" name "/"
2559 (version-major+minor version) "/"
2560 name "-" version ".tar.bz2"))
5698b8b8
JD
2561 (sha256
2562 (base32
17c3eea7
LC
2563 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2564 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2565 (build-system gnu-build-system)
2566 (arguments
2567 `(#:phases
dc1d3cde
KK
2568 (modify-phases %standard-phases
2569 (add-before 'configure 'enable-deprecated
2570 (lambda _
2571 (substitute* "libgnome/Makefile.in"
2572 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2573 #t)))))
25338e9f 2574 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2575 (native-inputs
221ed17a
EB
2576 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2577 ("intltool" ,intltool)
5698b8b8
JD
2578 ("pkg-config" ,pkg-config)))
2579 ;; The following are listed as Required in the .pc file
2580 ;; (except for libcanberra -- which seems to be oversight on the part
2581 ;; of the upstream developers -- anything that links against libgnome,
2582 ;; must also link against libcanberra
2583 (propagated-inputs
2584 `(("libcanberra" ,libcanberra)
2585 ("libbonobo" ,libbonobo)
2586 ("gconf" ,gconf)
a640d3d5
LC
2587 ("gnome-vfs" ,gnome-vfs)
2588 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2589 (home-page "https://developer.gnome.org/libgnome/")
2590 (synopsis "Useful routines for building applications")
2591 (description "The libgnome library provides a number of useful routines
2592for building modern applications, including session management, activation of
2593files and URIs, and displaying help.")
2594 (license license:lgpl2.0+)))
2595
2596
2597(define-public libart-lgpl
2598 (package
2599 (name "libart-lgpl")
76c9b6aa 2600 (version "2.3.21")
5698b8b8
JD
2601 (source (origin
2602 (method url-fetch)
2603 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2604 (string-append "mirror://gnome/sources/" upstream-name "/"
2605 (version-major+minor version) "/"
2606 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2607 (sha256
2608 (base32
76c9b6aa 2609 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2610 (build-system gnu-build-system)
2611 (native-inputs
2612 `(("pkg-config" ,pkg-config)))
2613 (home-page "https://people.gnome.org/~mathieu/libart")
2614 (synopsis "2D drawing library")
2e6ecc5c 2615 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2616high-quality vector-based 2D library with antialiasing and alpha composition.")
2617 (license license:lgpl2.0+)))
2618
2619
2620
2621(define-public libgnomecanvas
2622 (package
2623 (name "libgnomecanvas")
2624 (version "2.30.3")
2625 (source (origin
2626 (method url-fetch)
b38e45d8
EB
2627 (uri (string-append "mirror://gnome/sources/" name "/"
2628 (version-major+minor version) "/"
2629 name "-" version ".tar.gz"))
5698b8b8
JD
2630 (sha256
2631 (base32
2632 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2633 (build-system gnu-build-system)
2634 ;; Mentioned as Required in the .pc file
2635 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2636 ("gtk+" ,gtk+-2)))
2637 (native-inputs
2638 `(("intltool" ,intltool)
221ed17a 2639 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2640 ("pkg-config" ,pkg-config)))
2641 (home-page "https://developer.gnome.org/libgnomecanvas/")
2642 (synopsis "Flexible widget for creating interactive structured graphics")
2643 (description "The GnomeCanvas widget provides a flexible widget for
2644creating interactive structured graphics.")
2645 (license license:lgpl2.0+)))
2646
eadc734e
RW
2647(define-public libgnomecanvasmm
2648 (package
2649 (name "libgnomecanvasmm")
2650 (version "2.26.0")
2651 (source (origin
2652 (method url-fetch)
2653 (uri (string-append "mirror://gnome/sources/" name "/"
2654 (version-major+minor version) "/"
2655 name "-" version ".tar.bz2"))
2656 (sha256
2657 (base32
2658 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2659 (build-system gnu-build-system)
2660 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2661 (native-inputs
2662 `(("gtkmm-2" ,gtkmm-2)
2663 ("pkg-config" ,pkg-config)))
8e933cb3 2664 (home-page "https://gtkmm.org")
eadc734e
RW
2665 (synopsis "C++ bindings to the GNOME Canvas library")
2666 (description "C++ bindings to the GNOME Canvas library.")
2667 (license license:lgpl2.0+)))
2668
5698b8b8
JD
2669(define-public libgnomeui
2670 (package
2671 (name "libgnomeui")
2672 (version "2.24.5")
2673 (source (origin
2674 (method url-fetch)
b38e45d8
EB
2675 (uri (string-append "mirror://gnome/sources/" name "/"
2676 (version-major+minor version) "/"
2677 name "-" version ".tar.bz2"))
8fa1872a 2678 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2679 (sha256
2680 (base32
2681 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2682 (build-system gnu-build-system)
2683 ;; Mentioned as Required in the .pc file
0a38a497
AE
2684 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2685 ("libgnome" ,libgnome)
2686 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2687 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2688 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2689 ("popt" ,popt)
2690 ("libbonobo" ,libbonobo)
2691 ("libxml2" ,libxml2)
2692 ("libglade" ,libglade)))
2693 (native-inputs
221ed17a
EB
2694 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2695 ("intltool" ,intltool)
5698b8b8
JD
2696 ("pkg-config" ,pkg-config)))
2697 (home-page "https://developer.gnome.org/libgnomeui/")
2698 (synopsis "Additional widgets for applications")
35b9e423 2699 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2700applications. Many of the widgets from libgnomeui have already been
2701ported to GTK+.")
5698b8b8
JD
2702 (license license:lgpl2.0+)))
2703
2704(define-public libglade
2705 (package
2706 (name "libglade")
2707 (version "2.6.4")
2708 (source (origin
2709 (method url-fetch)
b38e45d8
EB
2710 (uri (string-append "mirror://gnome/sources/" name "/"
2711 (version-major+minor version) "/"
2712 name "-" version ".tar.bz2"))
5698b8b8
JD
2713 (sha256
2714 (base32
2715 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2716 (build-system gnu-build-system)
2717 (inputs
92dcc23d
AE
2718 `(("python" ,python))) ;; needed for the optional libglade-convert program
2719 (propagated-inputs
5698b8b8 2720 `(("gtk+-2" ,gtk+-2)
92dcc23d 2721 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2722 (native-inputs
2723 `(("pkg-config" ,pkg-config)))
2724 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2725 (synopsis "Load glade interfaces and access the glade built widgets")
2726 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2727graphical interfaces described in glade files and for accessing the
2728widgets built in the loading process.")
2729 (license license:gpl2+))) ; This is correct. GPL not LGPL
2730
2731(define-public libgnomeprint
eb497b66
LC
2732 ;; This library has been deprecated since 2006; see
2733 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2734 (package
2735 (name "libgnomeprint")
d19db454 2736 (version "2.18.8")
5698b8b8
JD
2737 (source (origin
2738 (method url-fetch)
b38e45d8
EB
2739 (uri (string-append "mirror://gnome/sources/" name "/"
2740 (version-major+minor version) "/"
2741 name "-" version ".tar.bz2"))
5698b8b8
JD
2742 (sha256
2743 (base32
d19db454 2744 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2745 (build-system gnu-build-system)
2746 (inputs
2747 `(("popt" ,popt)
2748 ("libart-lgpl" ,libart-lgpl)
2749 ("gtk+" ,gtk+-2)
44add1ce 2750 ("libxml2" ,libxml2)))
5698b8b8
JD
2751 (native-inputs
2752 `(("intltool" ,intltool)
221ed17a 2753 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2754 ("pkg-config" ,pkg-config)))
2755 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2756 (synopsis "Printing framework for GNOME")
eb497b66
LC
2757 (description
2758 "GNOME-print was a printing framework for GNOME. It has been deprecated
2759since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2760 (license license:lgpl2.0+)))
2761
2762
2763(define-public libgnomeprintui
eb497b66 2764 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2765 (package
2766 (name "libgnomeprintui")
36053d7f 2767 (version "2.18.6")
5698b8b8
JD
2768 (source (origin
2769 (method url-fetch)
b38e45d8
EB
2770 (uri (string-append "mirror://gnome/sources/" name "/"
2771 (version-major+minor version) "/"
2772 name "-" version ".tar.bz2"))
5698b8b8
JD
2773 (sha256
2774 (base32
36053d7f 2775 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2776 (build-system gnu-build-system)
2777 ;; Mentioned as Required in the .pc file
2778 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2779 (inputs `(("gtk+" ,gtk+-2)
2780 ("glib" ,glib)
2781 ("gnome-icon-theme" ,gnome-icon-theme)
2782 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2783 ("libxml2" ,libxml2)))
5698b8b8
JD
2784 (native-inputs
2785 `(("intltool" ,intltool)
2786 ("pkg-config" ,pkg-config)))
2787 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2788 (synopsis "Printing framework for GNOME")
eb497b66 2789 (description (package-description libgnomeprint))
5698b8b8
JD
2790 (license license:lgpl2.0+)))
2791
5698b8b8
JD
2792(define-public libbonoboui
2793 (package
2794 (name "libbonoboui")
2795 (version "2.24.5")
2796 (source (origin
2797 (method url-fetch)
b38e45d8
EB
2798 (uri (string-append "mirror://gnome/sources/" name "/"
2799 (version-major+minor version) "/"
2800 name "-" version ".tar.bz2"))
5698b8b8
JD
2801 (sha256
2802 (base32
2803 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2804 (build-system gnu-build-system)
2805 (arguments
2806 `(#:phases
dc1d3cde
KK
2807 (modify-phases %standard-phases
2808 (add-before 'check 'start-xserver
2809 (lambda* (#:key inputs #:allow-other-keys)
2810 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2811 (disp ":1"))
2812
2813 (setenv "HOME" (getcwd))
2814 (setenv "DISPLAY" disp)
2815 ;; There must be a running X server and make check doesn't start one.
2816 ;; Therefore we must do it.
2817 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2818 ;; Mentioned as Required by the .pc file
2819 (propagated-inputs `(("libxml2" ,libxml2)))
2820 (inputs
2821 `(("popt" ,popt)
2822 ("pangox-compat" ,pangox-compat)
2823 ("libgnome" ,libgnome)
2824 ("libgnomecanvas" ,libgnomecanvas)
2825 ("libglade" ,libglade)))
2826 (native-inputs
221ed17a
EB
2827 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2828 ("intltool" ,intltool)
ff337525 2829 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2830 ("pkg-config" ,pkg-config)))
2831 (home-page "https://developer.gnome.org/libbonoboui/")
2832 (synopsis "Some user interface controls using Bonobo")
2833 (description "The Bonobo UI library provides a number of user interface
2834controls using the Bonobo component framework.")
2835 (license license:lgpl2.0+)))
2836
fecbf86e
SB
2837(define-public libwnck
2838 (package
2839 (name "libwnck")
d3b40696 2840 (version "3.32.0")
fecbf86e
SB
2841 (source (origin
2842 (method url-fetch)
2843 (uri (string-append "mirror://gnome/sources/" name "/"
2844 (version-major+minor version) "/"
2845 name "-" version ".tar.xz"))
2846 (sha256
ad9b8987 2847 (base32
d3b40696
KK
2848 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2849 (build-system meson-build-system)
fecbf86e
SB
2850 (native-inputs
2851 `(("pkg-config" ,pkg-config)
d3b40696
KK
2852 ("glib" ,glib "bin") ; for glib-mkenums
2853 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2854 ("intltool" ,intltool)))
2855 (propagated-inputs
427476d5
SB
2856 `(("gtk+" ,gtk+)
2857 ("libxres" ,libxres)
2858 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2859 (home-page "https://developer.gnome.org/libwnck/")
2860 (synopsis "Window Navigator Construction Kit")
2861 (description
2862 "Libwnck is the Window Navigator Construction Kit, a library for use in
2863writing pagers, tasklists, and more generally applications that are dealing
2864with window management. It tries hard to respect the Extended Window Manager
2865Hints specification (EWMH).")
2866 (license license:lgpl2.0+)))
2867
2868;; stable version for gtk2, required by xfwm4.
dbb7a081 2869(define-public libwnck-2
fecbf86e
SB
2870 (package (inherit libwnck)
2871 (name "libwnck")
2872 (version "2.30.7")
2873 (source (origin
2874 (method url-fetch)
2875 (uri (string-append "mirror://gnome/sources/" name "/"
2876 (version-major+minor version) "/"
2877 name "-" version ".tar.xz"))
2878 (sha256
2879 (base32
2880 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2881 (build-system gnu-build-system)
2882 (native-inputs
2883 `(("pkg-config" ,pkg-config)
2884 ("intltool" ,intltool)))
fecbf86e 2885 (propagated-inputs
427476d5
SB
2886 `(("gtk+" ,gtk+-2)
2887 ("libxres" ,libxres)
2888 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2889
2890(define-public goffice
2891 (package
2892 (name "goffice")
09abffcc 2893 (version "0.10.46")
b804c61e
JD
2894 (source (origin
2895 (method url-fetch)
16243f0b 2896 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2897 (version-major+minor version) "/"
16243f0b 2898 "goffice-" version ".tar.xz"))
b804c61e 2899 (sha256
09abffcc 2900 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2901 (build-system gnu-build-system)
72a06d3e 2902 (outputs '("out"
355420c6 2903 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2904 (arguments
2905 '(#:configure-flags (list (string-append "--with-html-dir="
2906 (assoc-ref %outputs "doc")
2907 "/share/gtk-doc/html"))))
b804c61e
JD
2908 (inputs
2909 `(("gtk+" ,gtk+)
2910 ("libgsf" ,libgsf)
2911 ("librsvg" ,librsvg)
2912 ("libxslt" ,libxslt)
2913 ("libxml2" ,libxml2)))
2914 (native-inputs
2915 `(("intltool" ,intltool)
f280cdb1 2916 ("glib" ,glib "bin")
b804c61e
JD
2917 ("pkg-config" ,pkg-config)))
2918 (home-page "https://developer.gnome.org/goffice/")
2919 (synopsis "Document-centric objects and utilities")
2920 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2921 (license
b804c61e
JD
2922 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2923 ;; Note: NOT LGPL
2924 (list license:gpl2 license:gpl3))))
2925
c024ae36
RW
2926(define-public goffice-0.8
2927 (package (inherit goffice)
2928 (version "0.8.17")
2929 (source (origin
2930 (method url-fetch)
2931 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2932 (version-major+minor version) "/"
2933 (package-name goffice) "-" version ".tar.xz"))
2934 (sha256
2935 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2936 (arguments
2937 `(#:phases
dc1d3cde
KK
2938 (modify-phases %standard-phases
2939 (add-after 'unpack 'fix-pcre-check
2940 (lambda _
2941 ;; Only glib.h can be included directly. See
2942 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2943 (substitute* "configure"
2944 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2945
2946 ,@(package-arguments goffice)))
c024ae36
RW
2947 (propagated-inputs
2948 ;; libgoffice-0.8.pc mentions libgsf-1
2949 `(("libgsf" ,libgsf)))
2950 (inputs
2951 `(("gtk" ,gtk+-2)
2952 ,@(alist-delete "gtk" (package-inputs goffice))))))
2953
b804c61e
JD
2954(define-public gnumeric
2955 (package
2956 (name "gnumeric")
f0517b5d 2957 (version "1.12.46")
b804c61e
JD
2958 (source (origin
2959 (method url-fetch)
b7fd0217 2960 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2961 (version-major+minor version) "/"
b7fd0217 2962 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2963 (sha256
2964 (base32
f0517b5d 2965 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2966 (build-system glib-or-gtk-build-system)
b804c61e
JD
2967 (arguments
2968 `(;; The gnumeric developers don't worry much about failing tests.
2969 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2970 #:tests? #f
b804c61e 2971 #:phases
7bcbd40d
EF
2972 (modify-phases %standard-phases
2973 (add-before
2974 'configure 'pre-conf
2975 (lambda* (#:key outputs #:allow-other-keys)
2976 ;; Make install tries to write into the directory of goffice
2977 ;; I am informed that this only affects the possibility to embed a
2978 ;; spreadsheet inside an Abiword document. So presumably when we
2979 ;; package Abiword we'll have to refer it to this directory.
2980 (substitute* "configure"
2981 (("^GOFFICE_PLUGINS_DIR=.*")
2982 (string-append "GOFFICE_PLUGINS_DIR="
2983 (assoc-ref outputs "out")
2984 "/goffice/plugins"))))))))
b804c61e
JD
2985 (inputs
2986 `(("glib" ,glib)
2987 ("gtk+" ,gtk+)
2988 ("goffice" ,goffice)
2989 ("libgsf" ,libgsf)
7bcbd40d 2990 ("librsvg" ,librsvg)
b804c61e 2991 ("libxml2" ,libxml2)
7bcbd40d 2992 ("libxslt" ,libxslt)
2e4c5457 2993 ("python" ,python-2)
6983ba56 2994 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
2995 ("zlib" ,zlib)))
2996 (native-inputs
6983ba56 2997 `(("bison" ,bison)
1ed398d1 2998 ("docbook-xml" ,docbook-xml)
6983ba56 2999 ("intltool" ,intltool)
3a2efbc8 3000 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3001 ("glib:bin" ,glib "bin")
b804c61e
JD
3002 ("pkg-config" ,pkg-config)))
3003 (home-page "http://www.gnumeric.org")
66672a45
LC
3004 (synopsis "Spreadsheet application")
3005 (description
3006 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3007interoperable with other spreadsheet applications. It has a vast array of
3008features beyond typical spreadsheet functionality, such as support for linear
3009and non-linear solvers, statistical analysis, and telecommunication
3010engineering.")
3011 (license
b804c61e
JD
3012 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3013 (list license:gpl2 license:gpl3))))
6f885c05
FB
3014
3015(define-public gnome-themes-standard
3016 (package
3017 (name "gnome-themes-standard")
0b7b8fb0 3018 (version "3.22.3")
6f885c05
FB
3019 (source
3020 (origin
3021 (method url-fetch)
2e6ecc5c 3022 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3023 (version-major+minor version) "/" name "-"
3024 version ".tar.xz"))
3025 (sha256
3026 (base32
0b7b8fb0 3027 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3028 (build-system gnu-build-system)
8ac70c7f
SB
3029 (arguments
3030 '(#:configure-flags
3031 ;; Don't create 'icon-theme.cache'.
3032 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3033 (true (string-append coreutils "/bin/true")))
3034 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3035 (inputs
3036 `(("gtk+" ,gtk+)
3037 ("gtk+-2" ,gtk+-2)
3038 ("librsvg" ,librsvg)
3039 ("libxml2" ,libxml2)
3040 ("glib" ,glib)))
3041 (native-inputs
3042 `(("intltool" ,intltool)
3043 ("glib:bin" ,glib "bin")
3044 ("pkg-config" ,pkg-config)))
6f885c05
FB
3045 (home-page "https://launchpad.net/gnome-themes-standard")
3046 (synopsis "Default GNOME 3 themes")
3047 (description
3048 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3049 (license license:lgpl2.1+)))
5a659a48 3050
df90c701
RW
3051(define-public seahorse
3052 (package
3053 (name "seahorse")
bcea3c11 3054 (version "3.32.2")
df90c701
RW
3055 (source
3056 (origin
3057 (method url-fetch)
3058 (uri (string-append "mirror://gnome/sources/" name "/"
3059 (version-major+minor version) "/" name "-"
3060 version ".tar.xz"))
3061 (sha256
3062 (base32
bcea3c11 3063 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3064 (patches (search-patches
3065 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3066 (build-system meson-build-system)
3067 (arguments
bcea3c11
KK
3068 '(#:glib-or-gtk? #t
3069 #:phases
af561664
MÁAV
3070 (modify-phases %standard-phases
3071 (add-after 'unpack 'skip-gtk-update-icon-cache
3072 ;; Don't create 'icon-theme.cache'.
3073 (lambda _
3074 (substitute* "build-aux/meson_post_install.py"
3075 (("gtk-update-icon-cache") "true"))
3076 #t)))))
df90c701
RW
3077 (inputs
3078 `(("gtk+" ,gtk+)
3079 ("gcr" ,gcr)
34b979b9 3080 ("gnupg" ,gnupg)
df90c701 3081 ("gpgme" ,gpgme)
34b979b9 3082 ("openldap" ,openldap)
4a1bf090 3083 ("openssh" ,openssh)
af561664 3084 ("avahi" ,avahi)
bcea3c11 3085 ("libpwquality" ,libpwquality)
34b979b9
EF
3086 ("libsecret" ,libsecret)
3087 ("libsoup" ,libsoup)))
df90c701 3088 (native-inputs
af561664 3089 `(("gettext" ,gettext-minimal)
df90c701
RW
3090 ("glib:bin" ,glib "bin")
3091 ("itstool" ,itstool)
bcb354ad 3092 ("pkg-config" ,pkg-config)
af561664 3093 ("vala" ,vala)
bcb354ad 3094 ("xmllint" ,libxml2)))
bcea3c11 3095 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3096 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3097 (description
3098 "Seahorse is a GNOME application for managing encryption keys and
3099passwords in the GNOME keyring.")
3100 (license license:gpl2+)))
3101
5a659a48
SB
3102(define-public vala
3103 (package
3104 (name "vala")
2d6872f6 3105 (version "0.44.5")
5a659a48
SB
3106 (source (origin
3107 (method url-fetch)
3108 (uri (string-append "mirror://gnome/sources/" name "/"
3109 (version-major+minor version) "/"
3110 name "-" version ".tar.xz"))
3111 (sha256
3112 (base32
2d6872f6 3113 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3114 (build-system gnu-build-system)
1ea90625
SB
3115 (arguments
3116 '(#:phases
3117 (modify-phases %standard-phases
f4925a4f 3118 (add-before 'check 'pre-check
1ea90625
SB
3119 (lambda _
3120 (setenv "CC" "gcc")
8839b6be
RW
3121 (substitute* "valadoc/tests/testrunner.sh"
3122 (("export PKG_CONFIG_PATH=" m)
3123 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3124 ;; For missing '/etc/machine-id'.
3125 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3126 #t)))))
5a659a48
SB
3127 (native-inputs
3128 `(("pkg-config" ,pkg-config)
3129 ("flex" ,flex)
3130 ("bison" ,bison)
3131 ("xsltproc" ,libxslt)
3132 ("dbus" ,dbus) ; for dbus tests
3133 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3134 (inputs
3135 `(("graphviz" ,graphviz)))
5a659a48 3136 (propagated-inputs
8839b6be 3137 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3138 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3139 (synopsis "Compiler for the GObject type system")
3140 (description
3141 "Vala is a programming language that aims to bring modern programming
3142language features to GNOME developers without imposing any additional runtime
3143requirements and without using a different ABI compared to applications and
3144libraries written in C.")
3145 (license license:lgpl2.1+)))
ea57378f
SB
3146
3147(define-public vte
3148 (package
3149 (name "vte")
68c47474 3150 (version "0.58.3")
ea57378f
SB
3151 (source (origin
3152 (method url-fetch)
ac87ffb8 3153 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3154 (version-major+minor version) "/"
ac87ffb8 3155 "vte-" version ".tar.xz"))
ea57378f
SB
3156 (sha256
3157 (base32
68c47474
TGR
3158 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3159 (build-system meson-build-system)
ea57378f
SB
3160 (native-inputs
3161 `(("pkg-config" ,pkg-config)
3162 ("intltool" ,intltool)
3163 ("vala" ,vala)
3164 ("gobject-introspection" ,gobject-introspection)
68c47474 3165 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3166 ("gperf" ,gperf)
ea57378f
SB
3167 ("xmllint" ,libxml2)))
3168 (propagated-inputs
68c47474
TGR
3169 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3170 ("gnutls" ,gnutls) ; ditto
3171 ("pcre2" ,pcre2))) ; ditto
f032d0be 3172 (home-page "https://www.gnome.org/")
ea57378f
SB
3173 (synopsis "Virtual Terminal Emulator")
3174 (description
3175 "VTE is a library (libvte) implementing a terminal emulator widget for
3176GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3177gnome-terminal, but can also be used to embed a console/terminal in games,
3178editors, IDEs, etc.")
3179 (license license:lgpl2.1+)))
3180
c44fb4df
MO
3181(define-public vte-ng
3182 (package
3183 (inherit vte)
3184 (name "vte-ng")
24f4fcbe 3185 (version "0.58.2.a")
afd90f8d 3186 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3187 (source (origin
3188 (method git-fetch)
3189 (uri (git-reference (url home-page) (commit version)))
3190 (file-name (git-file-name name version))
3191 (sha256
3192 (base32
24f4fcbe
MB
3193 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3194 (build-system meson-build-system)
c44fb4df
MO
3195 (native-inputs
3196 `(("gtk-doc" ,gtk-doc)
c44fb4df 3197 ,@(package-native-inputs vte)))
c44fb4df 3198 (arguments
24f4fcbe 3199 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3200 (synopsis "Enhanced VTE terminal widget")
3201 (description
3202 "VTE is a library (libvte) implementing a terminal emulator widget for
3203GTK+, this fork provides additional functions exposed for keyboard text
3204selection and URL hints.")))
3205
2776d72c
EF
3206;; provides vte 2.90, required for some terminal emulators
3207;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3208;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3209;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3210;; pantheon-terminal, roxterm are not currently packaged
3211(define-public vte-0.36
3212 (package (inherit vte)
3213 (name "vte")
3214 (version "0.36.5")
3215 (source (origin
3216 (method url-fetch)
3217 (uri (string-append "mirror://gnome/sources/" name "/"
3218 (version-major+minor version) "/"
3219 name "-" version ".tar.xz"))
3220 (sha256
3221 (base32
3222 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3223 (propagated-inputs
3224 `(("gtk" ,gtk+)
3225 ("ncurses" ,ncurses)))))
3226
ea57378f
SB
3227;; stable version for gtk2, required by xfce4-terminal.
3228(define-public vte/gtk+-2
3229 (package (inherit vte)
3230 (name "vte")
3231 (version "0.28.2")
3232 (source (origin
3233 (method url-fetch)
3234 (uri (string-append "mirror://gnome/sources/" name "/"
3235 (version-major+minor version) "/"
3236 name "-" version ".tar.xz"))
3237 (sha256
3238 (base32
7d48938a
EF
3239 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3240 (patches (search-patches
3241 "vte-CVE-2012-2738-pt1.patch"
3242 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3243 (build-system gnu-build-system)
ea57378f
SB
3244 (arguments
3245 '(#:configure-flags '("--disable-python")))
3246 (native-inputs
3247 `(("pkg-config" ,pkg-config)
3248 ("intltool" ,intltool)
3249 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3250 (propagated-inputs
3251 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3252 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3253
cce0da5e
TD
3254(define-public vinagre
3255 (package
3256 (name "vinagre")
3257 (version "3.22.0")
3258 (source (origin
3259 (method url-fetch)
3260 (uri (string-append "mirror://gnome/sources/" name "/"
3261 (version-major+minor version) "/"
3262 name "-" version ".tar.xz"))
684f97f8
EF
3263 (patches (search-patches "vinagre-newer-freerdp.patch"
3264 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3265 (sha256
3266 (base32
3267 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3268 (build-system glib-or-gtk-build-system)
684f97f8 3269 (arguments
7f486d25
MC
3270 ;; Disable -Werror and such, to avoid build failures on compilation
3271 ;; warnings.
3272 '(#:configure-flags '("--enable-compile-warnings=minimum")
3273 #:phases
684f97f8 3274 (modify-phases %standard-phases
1839768c
EF
3275 (add-before 'install 'skip-gtk-update-icon-cache
3276 (lambda _
3277 ;; Don't create 'icon-theme.cache'
3278 (substitute* (find-files "." "^Makefile$")
3279 (("gtk-update-icon-cache") (which "true")))
3280 #t))
684f97f8
EF
3281 (add-after 'unpack 'patch-configure
3282 (lambda _
3283 (substitute* "configure"
3284 (("freerdp") "freerdp2"))
3285 #t)))))
cce0da5e
TD
3286 (native-inputs
3287 `(("pkg-config" ,pkg-config)
3288 ("intltool" ,intltool)
3289 ("itstool" ,itstool)
1839768c 3290 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3291 (inputs
3292 `(("libxml2" ,libxml2)
3293 ("gtk-vnc" ,gtk-vnc)
3294 ("gnome-keyring" ,gnome-keyring)
3295 ("libsecret" ,libsecret)
3296 ("freerdp" ,freerdp)
3297 ("spice" ,spice)
3298 ("spice-gtk" ,spice-gtk)
3299 ("telepathy-glib" ,telepathy-glib)
3300 ("vte" ,vte)))
cce0da5e
TD
3301 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3302 (synopsis "Remote desktop viewer for GNOME")
3303 (description "Vinagre is a remote display client supporting the VNC, SPICE
3304and RDP protocols.")
3305 (license license:gpl3+)))
3306
b47e1b20
FB
3307(define-public dconf
3308 (package
3309 (name "dconf")
1e33331c 3310 (version "0.32.0")
b47e1b20
FB
3311 (source (origin
3312 (method url-fetch)
3313 (uri (string-append
2e6ecc5c 3314 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3315 (version-major+minor version) "/"
3316 name "-" version ".tar.xz"))
3317 (sha256
f05c809f 3318 (base32
1e33331c 3319 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3320 (build-system meson-build-system)
bc036f4c
MB
3321 (propagated-inputs
3322 ;; In Requires of dconf.pc.
3323 `(("glib" ,glib)))
b47e1b20
FB
3324 (inputs
3325 `(("gtk+" ,gtk+)
bc036f4c 3326 ("dbus" ,dbus)))
b47e1b20 3327 (native-inputs
1e33331c
MB
3328 `(("bash-completion" ,bash-completion)
3329 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3330 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3331 ("docbook-xml" ,docbook-xml-4.2)
3332 ("docbook-xsl" ,docbook-xsl)
35fa923d 3333 ("glib:bin" ,glib "bin")
03676d6f 3334 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3335 ("pkg-config" ,pkg-config)
3336 ("vala" ,vala)))
b47e1b20
FB
3337 (arguments
3338 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3339 ; or /etc/machine-id.
35fa923d
MB
3340 #:glib-or-gtk? #t
3341 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3342 (home-page "https://developer.gnome.org/dconf")
3343 (synopsis "Low-level GNOME configuration system")
3344 (description "Dconf is a low-level configuration system. Its main purpose
3345is to provide a backend to GSettings on platforms that don't already have
3346configuration storage systems.")
e20e6b40 3347 (license license:lgpl2.1+)))
109da1c0
AE
3348
3349(define-public json-glib
3350 (package
3351 (name "json-glib")
4115e8ea 3352 (version "1.4.4")
109da1c0
AE
3353 (source (origin
3354 (method url-fetch)
3355 (uri (string-append "mirror://gnome/sources/" name "/"
3356 (version-major+minor version) "/"
3357 name "-" version ".tar.xz"))
3358 (sha256
3359 (base32
4115e8ea 3360 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3361 (build-system meson-build-system)
109da1c0 3362 (native-inputs
98afa184
MB
3363 `(("gettext" ,gettext-minimal)
3364 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3365 ("gobject-introspection" ,gobject-introspection)
3366 ("pkg-config" ,pkg-config)))
3367 (propagated-inputs
88c6b580 3368 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3369 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3370 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3371 (description
3372 "JSON-GLib is a C library based on GLib providing serialization and
3373deserialization support for the JavaScript Object Notation (JSON) format
3374described by RFC 4627. It provides parser and generator GObject classes and
3375various wrappers for the complex data types employed by JSON, such as arrays
3376and objects.")
109da1c0 3377 (license license:lgpl2.1+)))
6f96a359
SB
3378
3379(define-public libxklavier
3380 (package
3381 (name "libxklavier")
5f39050b 3382 (version "5.4")
6f96a359 3383 (source (origin
5f39050b 3384 ;; Note: There's no tarball at ftp.gnome.org for this version.
3385 (method git-fetch)
3386 (uri (git-reference
3387 (url "https://anongit.freedesktop.org/git/libxklavier")
3388 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3389 (sha256
3390 (base32
5f39050b 3391 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3392 (file-name (git-file-name name version))))
6f96a359
SB
3393 (build-system gnu-build-system)
3394 (arguments
5f39050b 3395 '(#:phases
3396 (modify-phases %standard-phases
3397 (add-after 'unpack 'no-configure
3398 (lambda* _
3399 (setenv "NOCONFIGURE" "1")
3400 #t)))
3401 #:configure-flags
6f96a359
SB
3402 (list (string-append "--with-xkb-base="
3403 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3404 "/share/X11/xkb")
3405 "--disable-xmodmap-support")))
6f96a359
SB
3406 (native-inputs
3407 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3408 ("gobject-introspection" ,gobject-introspection)
5f39050b 3409 ("pkg-config" ,pkg-config)
3410 ("gtk-doc" ,gtk-doc)
3411 ("intltool" ,intltool)
3412 ("which" ,which)
3413 ("autoconf" ,autoconf)
3414 ("automake" ,automake)
3415 ("libtool" ,libtool)))
6f96a359
SB
3416 (propagated-inputs
3417 ;; Required by libxklavier.pc.
3418 `(("glib" ,glib)
3419 ("libxml2" ,libxml2)))
3420 (inputs
3421 `(("iso-codes" ,iso-codes)
3422 ("libxi" ,libxi)
3423 ("libxkbfile" ,libxkbfile)
3424 ("xkbcomp" ,xkbcomp)
3425 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3426 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3427 (synopsis "High-level API for X Keyboard Extension")
3428 (description
3429 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3430Extension known as XKB. This library is intended to support XFree86 and other
3431commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3432indicators etc).")
3433 (license license:lgpl2.0+)))
619936a4
LC
3434
3435(define-public python2-rsvg
3436 ;; XXX: This is actually a subset of gnome-python-desktop.
3437 (package
3438 (name "python2-rsvg")
3439 (version "2.32.0")
3440 (source
3441 (origin
3442 (method url-fetch)
3443 (uri (string-append
3444 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3445 version ".tar.bz2"))
3446 (sha256
3447 (base32
3448 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3449 (build-system gnu-build-system)
3450 (native-inputs
3451 `(("pkg-config" ,pkg-config)))
3452 (inputs
3453 `(("python" ,python-2)
3454 ("python2-pygtk" ,python2-pygtk)
3455 ("librsvg" ,librsvg)))
f032d0be 3456 (home-page "https://www.gnome.org")
619936a4
LC
3457 (synopsis "Python bindings to librsvg")
3458 (description
3ad75446 3459 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3460library.")
3461
3462 ;; This is the license of the rsvg bindings. The license of each module
3463 ;; of gnome-python-desktop is given in 'COPYING'.
3464 (license license:lgpl2.1+)))
a31a6d22 3465
f2ca414a
SB
3466(define-public glib-networking
3467 (package
3468 (name "glib-networking")
0d75c64d 3469 (version "2.60.3")
f2ca414a
SB
3470 (source (origin
3471 (method url-fetch)
3472 (uri (string-append "mirror://gnome/sources/glib-networking/"
3473 (version-major+minor version) "/"
fb8fe1e8 3474 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3475 (sha256
3476 (base32
0d75c64d 3477 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3478 (build-system meson-build-system)
f2ca414a 3479 (arguments
0d75c64d 3480 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3481 (native-inputs
3482 `(("pkg-config" ,pkg-config)
3483 ("intltool" ,intltool)))
3484 (inputs
3485 `(("glib" ,glib)
3486 ("gnutls" ,gnutls)
4b8f1313 3487 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3488 (home-page "https://www.gnome.org")
f2ca414a
SB
3489 (synopsis "Network-related GIO modules")
3490 (description
3491 "This package contains various network related extensions for the GIO
3492library.")
3493 (license license:lgpl2.0+)))
3494
ca649680 3495(define-public rest
4510b2da 3496 (package
ca649680 3497 (name "rest")
a4194d16 3498 (version "0.8.1")
4510b2da
SB
3499 (source (origin
3500 (method url-fetch)
3501 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3502 (version-major+minor version) "/"
3503 name "-" version ".tar.xz"))
4510b2da
SB
3504 (sha256
3505 (base32
a4194d16 3506 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3507 (build-system gnu-build-system)
3508 (arguments
3509 '(#:tests? #f ; tests require internet connection
3510 #:configure-flags
3511 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3512 (native-inputs
3513 `(("glib-mkenums" ,glib "bin")
3514 ("gobject-introspection" ,gobject-introspection)
3515 ("pkg-config" ,pkg-config)))
3516 (propagated-inputs
3517 ;; rest-0.7.pc refers to all these.
3518 `(("glib" ,glib)
3519 ("libsoup" ,libsoup)
3520 ("libxml2" ,libxml2)))
24d6cc1d 3521 (home-page "https://www.gtk.org/")
4510b2da
SB
3522 (synopsis "RESTful web api query library")
3523 (description
3524 "This library was designed to make it easier to access web services that
3525claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3526libxml to ease remote use of the RESTful API.")
3527 (license license:lgpl2.1+)))
3528
6e1bb642
SB
3529(define-public libsoup
3530 (package
3531 (name "libsoup")
9ae87870 3532 (version "2.68.3")
6e1bb642
SB
3533 (source (origin
3534 (method url-fetch)
3535 (uri (string-append "mirror://gnome/sources/libsoup/"
3536 (version-major+minor version) "/"
c1b79b36 3537 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3538 (sha256
3539 (base32
9ae87870 3540 "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk"))))
eccaa8bf 3541 (build-system meson-build-system)
6e1bb642
SB
3542 (outputs '("out" "doc"))
3543 (arguments
2deb146f 3544 `(#:modules ((guix build utils)
eccaa8bf 3545 (guix build meson-build-system)
2deb146f
LC
3546 (ice-9 popen))
3547
f8026a79 3548 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3549 #:phases
3550 (modify-phases %standard-phases
eccaa8bf 3551 (add-after 'unpack 'adjust-tests
26c228f9 3552 (lambda _
eccaa8bf
MB
3553 ;; This test fails due to missing /etc/nsswitch.conf
3554 ;; in the build environment.
26c228f9
LC
3555 (substitute* "tests/socket-test.c"
3556 ((".*/sockets/unconnected.*") ""))
2deb146f 3557
f8026a79
MB
3558 ;; These fail because "subdomain.localhost" does not resolve in
3559 ;; the build environment.
3560 (substitute* "tests/hsts-test.c"
3561 ((".*/hsts/basic.*") "")
3562 ((".*/hsts/subdomains.*") "")
3563 ((".*/hsts/superdomain.*") "")
3564 ((".*/hsts/utf8-address.*") ""))
3565 (substitute* "tests/hsts-db-test.c"
3566 ((".*/hsts-db/subdomains.*") ""))
3567
2deb146f
LC
3568 ;; Generate a self-signed certificate that has "localhost" as its
3569 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3570 ;; 3.5.12, tests such as "ssl-tests" fail:
3571 ;;
3572 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3573 ;;
3574 ;; 'certtool' is interactive so we have to pipe it the answers.
3575 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3576 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3577 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3578 (for-each (lambda (line)
3579 (display line pipe)
3580 (newline pipe))
3581 '("" ;Common name
3582 "" ;UID
3583 "Guix" ;Organizational unit name
3584 "GNU" ;Organization name
3585 "" ;Locality name
3586 "" ;State or province
3587 "" ;Country
3588 "" ;subject's domain component (DC)
3589 "" ;E-mail
3590 "" ;serial number
3591 "-1" ;expiration time
3592 "N" ;belong to authority?
3593 "N" ;web client certificate?
3594 "N" ;IPsec IKE?
3595 "Y" ;web server certificate?
3596 "localhost" ;dnsName of subject
3597 "" ;dnsName of subject (end)
3598 "" ;URI of subject
3599 "127.0.0.1" ;IP address of subject
3600 "" ;signing?
06f5bc4e
MB
3601 "" ;encryption (RSA)?
3602 "" ;data encryption?
2deb146f
LC
3603 "" ;sign OCSP requests?
3604 "" ;sign code?
3605 "" ;time stamping?
3606 "" ;email protection?
3607 "" ;URI of the CRL distribution point
3608 "y" ;above info OK?
3609 ))
3610 (close-pipe pipe))
26c228f9 3611 #t))
eccaa8bf
MB
3612 (add-after 'install 'move-doc
3613 (lambda* (#:key outputs #:allow-other-keys)
3614 (let ((out (assoc-ref outputs "out"))
3615 (doc (assoc-ref outputs "doc")))
3616 (mkdir-p (string-append doc "/share"))
3617 (copy-recursively (string-append out "/share/gtk-doc")
3618 (string-append doc "/share/gtk-doc"))
3619 (delete-file-recursively (string-append out "/share/gtk-doc"))
3620 #t))))))
6e1bb642 3621 (native-inputs
26c228f9 3622 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3623 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3624 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3625 ("intltool" ,intltool)
3626 ("pkg-config" ,pkg-config)
3627 ("python" ,python-wrapper)
fd730590 3628 ("vala" ,vala)
6e1bb642
SB
3629 ;; These are needed for the tests.
3630 ;; FIXME: Add PHP once available.
3631 ("curl" ,curl)
2deb146f 3632 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3633 ("httpd" ,httpd)))
3634 (propagated-inputs
3635 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3636 `(("brotli" ,google-brotli)
3637 ("glib" ,glib)
249846bf 3638 ("libpsl" ,libpsl)
eccaa8bf 3639 ("libxml2" ,libxml2)
f8026a79
MB
3640 ("sqlite" ,sqlite)
3641 ("zlib" ,zlib)))
eccaa8bf
MB
3642 (inputs
3643 `(("glib-networking" ,glib-networking)
3644 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3645 (home-page "https://live.gnome.org/LibSoup/")
3646 (synopsis "GLib-based HTTP Library")
3647 (description
3648 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3649and the GLib main loop, to integrate well with GNOME applications.")
3650 (license license:lgpl2.0+)))
3651
bba229a3
SB
3652(define-public libsecret
3653 (package
3654 (name "libsecret")
b243d2f7 3655 (version "0.19.1")
bba229a3
SB
3656 (source (origin
3657 (method url-fetch)
3658 (uri (string-append
896dcbc7
EF
3659 "mirror://gnome/sources/libsecret/"
3660 (version-major+minor version) "/"
0ada4e29 3661 "libsecret-" version ".tar.xz"))
bba229a3
SB
3662 (sha256
3663 (base32
b243d2f7 3664 "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5"))))
bba229a3
SB
3665 (build-system gnu-build-system)
3666 (outputs '("out" "doc"))
3667 (arguments
3668 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3669 #:configure-flags
3670 (list (string-append "--with-html-dir="
3671 (assoc-ref %outputs "doc")
3672 "/share/gtk-doc/html"))))
3673 (native-inputs
c06ef010
MB
3674 `(("gettext" ,gettext-minimal)
3675 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3676 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3677 ("pkg-config" ,pkg-config)
3678 ("vala" ,vala)
3679 ("xsltproc" ,libxslt)))
3680 ;; These are needed for the tests.
3681 ;; FIXME: Add gjs once available.
3682 ;("dbus" ,dbus)
3683 ;("python2" ,python-2)
3684 ;("python2-dbus" ,python2-dbus)
3685 ;("python2-pygobject" ,python2-pygobject)
3686 ;("python2-pygobject-2" ,python2-pygobject-2)))
3687 (propagated-inputs
3688 `(("glib" ,glib))) ; required by libsecret-1.pc
3689 (inputs
3690 `(("docbook-xsl" ,docbook-xsl)
3691 ("libgcrypt" ,libgcrypt)
3692 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3693 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3694 (synopsis "GObject bindings for \"Secret Service\" API")
3695 (description
3696 "Libsecret is a GObject based library for storing and retrieving passwords
3697and other secrets. It communicates with the \"Secret Service\" using DBus.")
3698 (license license:lgpl2.1+)))
3699
b6821ee0 3700(define-public five-or-more
3701 (package
3702 (name "five-or-more")
d9795e93 3703 (version "3.32.0")
b6821ee0 3704 (source
3705 (origin
3706 (method url-fetch)
3707 (uri (string-append "mirror://gnome/sources/" name "/"
3708 (version-major+minor version) "/"
3709 name "-" version ".tar.xz"))
3710 (sha256
3711 (base32
d9795e93
KK
3712 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3713 (build-system meson-build-system)
3714 (arguments
3715 '(#:glib-or-gtk? #t
3716 #:phases
3717 (modify-phases %standard-phases
3718 (add-after 'unpack 'skip-gtk-update-icon-cache
3719 (lambda _
3720 (substitute* "meson_post_install.py"
3721 (("gtk-update-icon-cache") (which "true")))
3722 #t)))))
b6821ee0 3723 (native-inputs
3724 `(("pkg-config" ,pkg-config)
d9795e93 3725 ("appstream-glib" ,appstream-glib)
b6821ee0 3726 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3727 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3728 ("intltool" ,intltool)
3729 ("itstool" ,itstool)
d9795e93 3730 ("vala" ,vala)
b6821ee0 3731 ("xmllint" ,libxml2)))
3732 (inputs
3733 `(("gtk+" ,gtk+)
d9795e93 3734 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3735 ("librsvg" ,librsvg)))
3736 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3737 (synopsis "Logic puzzle game")
3738 (description "Five or More is a game where you try to align
3739 five or more objects of the same color and shape causing them to disappear.
3740 On every turn more objects will appear, until the board is full.
3741 Try to last as long as possible.")
3742 (license license:gpl2+)))
3743
a31a6d22
SB
3744(define-public gnome-mines
3745 (package
3746 (name "gnome-mines")
2d817e41 3747 (version "3.32.2")
a31a6d22
SB
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append "mirror://gnome/sources/" name "/"
3752 (version-major+minor version) "/"
3753 name "-" version ".tar.xz"))
3754 (sha256
3755 (base32
2d817e41 3756 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3757 (build-system meson-build-system)
a31a6d22 3758 (arguments
2d817e41
KK
3759 '(#:glib-or-gtk? #t
3760 #:phases
a31a6d22 3761 (modify-phases %standard-phases
2d817e41
KK
3762 (add-after 'unpack 'skip-gtk-update-icon-cache
3763 (lambda _
3764 (substitute* "build-aux/meson_post_install.py"
3765 (("gtk-update-icon-cache") (which "true")))
3766 #t)))))
a31a6d22 3767 (native-inputs
8c0fab36
RW
3768 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3769 ("pkg-config" ,pkg-config)
a31a6d22
SB
3770 ("desktop-file-utils" ,desktop-file-utils)
3771 ("intltool" ,intltool)
bcb354ad 3772 ("itstool" ,itstool)
8c0fab36
RW
3773 ("vala" ,vala)
3774 ("yelp" ,yelp)
3775 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3776 (inputs
3777 `(("gtk+" ,gtk+)
73992962 3778 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3779 ("librsvg" ,librsvg)))
3780 (home-page "https://wiki.gnome.org/Apps/Mines")
3781 (synopsis "Minesweeper game")
3782 (description
3783 "Mines (previously gnomine) is a puzzle game where you locate mines
3784floating in an ocean using only your brain and a little bit of luck.")
3785 (license license:gpl2+)))
88f70665 3786
dfc407f3
KY
3787(define-public gnome-sudoku
3788 (package
3789 (name "gnome-sudoku")
7dc728c4 3790 (version "3.32.0")
dfc407f3
KY
3791 (source
3792 (origin
3793 (method url-fetch)
3794 (uri (string-append "mirror://gnome/sources/" name "/"
3795 (version-major+minor version) "/"
3796 name "-" version ".tar.xz"))
3797 (sha256
3798 (base32
7dc728c4
KK
3799 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3800 (build-system meson-build-system)
3801 (arguments
3802 '(#:glib-or-gtk? #t
3803 #:phases
3804 (modify-phases %standard-phases
3805 (add-after 'unpack 'skip-gtk-update-icon-cache
3806 (lambda _
3807 (substitute* "build-aux/post_install.py"
3808 (("gtk-update-icon-cache") (which "true")))
3809 #t)))))
dfc407f3
KY
3810 (native-inputs
3811 `(("pkg-config" ,pkg-config)
3812 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3813 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3814 ("intltool" ,intltool)
3815 ("itstool" ,itstool)
7dc728c4 3816 ("vala" ,vala)
dfc407f3
KY
3817 ("xmllint" ,libxml2)))
3818 (inputs
3819 `(("gtk+" ,gtk+)
3820 ("json-glib" ,json-glib)
3821 ("libgee" ,libgee)
3822 ("librsvg" ,librsvg)
3823 ("qqwing" ,qqwing)))
3824 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3825 (synopsis "Japanese logic game")
3826 (description
3827 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3828GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3829possible while still providing features that make playing difficult Sudoku
3830more fun.")
3831 (license license:gpl2+)))
3832
88f70665
AW
3833(define-public gnome-terminal
3834 (package
3835 (name "gnome-terminal")
7dee3942 3836 (version "3.32.2")
88f70665
AW
3837 (source
3838 (origin
3839 (method url-fetch)
3840 (uri (string-append "mirror://gnome/sources/" name "/"
3841 (version-major+minor version) "/"
3842 name "-" version ".tar.xz"))
3843 (sha256
3844 (base32
7dee3942 3845 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3846 (build-system glib-or-gtk-build-system)
3847 (arguments
3848 '(#:configure-flags
3849 (list "--disable-migration" "--disable-search-provider"
3850 "--without-nautilus-extension")
3851 #:phases
3852 (modify-phases %standard-phases
3a4de6b2 3853 (add-before 'configure 'patch-/bin/true
88f70665
AW
3854 (lambda _
3855 (substitute* "configure"
3856 (("/bin/true") (which "true"))))))))
3857 (native-inputs
3858 `(("pkg-config" ,pkg-config)
3859 ("desktop-file-utils" ,desktop-file-utils)
3860 ("intltool" ,intltool)
bcb354ad
SB
3861 ("itstool" ,itstool)
3862 ("xmllint" ,libxml2)))
68702167
MW
3863 (propagated-inputs
3864 `(("dconf" ,dconf)))
88f70665
AW
3865 (inputs
3866 `(("gtk+" ,gtk+)
3867 ("vte" ,vte)
3868 ("gnutls" ,gnutls)
88f70665
AW
3869 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3870 ("util-linux" ,util-linux)
3871 ("vala" ,vala)))
3872 (home-page "https://wiki.gnome.org/Apps/Terminal")
3873 (synopsis "Terminal emulator")
3874 (description
3875 "GNOME Terminal is a terminal emulator application for accessing a
3876UNIX shell environment which can be used to run programs available on
3877your system.
3878
3879It supports several profiles, multiple tabs and implements several
3880keyboard shortcuts.")
3881 (license license:gpl3+)))
75016d07
AW
3882
3883(define-public colord
3884 (package
3885 (name "colord")
f98be942 3886 (version "1.4.4")
75016d07
AW
3887 (source
3888 (origin
3889 (method url-fetch)
5cc3096c 3890 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3891 "colord-" version ".tar.xz"))
75016d07 3892 (sha256
f98be942 3893 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3894 (build-system meson-build-system)
75016d07 3895 (arguments
a68544a8
RW
3896 '(;; FIXME: One test fails:
3897 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3898 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3899 ;; application/x-zerosize
75016d07 3900 #:tests? #f
a68544a8
RW
3901 #:glib-or-gtk? #t
3902 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3903 ;; No dep on systemd.
a68544a8 3904 "-Dsystemd=false"
75016d07
AW
3905 ;; Wants to install to global completion dir;
3906 ;; punt.
a68544a8 3907 "-Dbash_completion=false"
a68544a8
RW
3908 "-Ddaemon_user=colord"
3909 "-Dsane=true"
dac26e22 3910 "-Dvapi=true"
6f20e2dc 3911 ;; Requires spotread.
a68544a8 3912 "-Dargyllcms_sensor=false"
6f20e2dc 3913 ;; TODO: Requires docbook2x.
a68544a8 3914 "-Dman=false")
75016d07
AW
3915 #:phases
3916 (modify-phases %standard-phases
a68544a8
RW
3917 (add-before 'configure 'patch-build-system
3918 (lambda* (#:key outputs #:allow-other-keys)
3919 (substitute* "rules/meson.build"
3920 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3921 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3922 #t))
3923 (add-before 'configure 'set-sqlite3-file-name
3924 (lambda* (#:key inputs #:allow-other-keys)
3925 ;; "colormgr dump" works by invoking the "sqlite3" command.
3926 ;; Record its absolute file name.
3927 (let ((sqlite (assoc-ref inputs "sqlite")))
3928 (substitute* "client/cd-util.c"
3929 (("\"sqlite3\"")
3930 (string-append "\"" sqlite "/bin/sqlite3\"")))
3931 #t))))))
75016d07 3932 (native-inputs
6f20e2dc 3933 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3934 ("gettext" ,gettext-minimal)
75016d07 3935 ("gobject-introspection" ,gobject-introspection)
a68544a8 3936 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3937 ("pkg-config" ,pkg-config)
3938 ("vala" ,vala)))
65cb2d61
SB
3939 (propagated-inputs
3940 ;; colord.pc refers to all these.
3941 `(("glib" ,glib)
6f20e2dc
TGR
3942 ("lcms" ,lcms)
3943 ("udev" ,eudev)))
75016d07 3944 (inputs
65cb2d61 3945 `(("dbus-glib" ,dbus-glib)
a68544a8 3946 ("gusb" ,gusb)
80c7dd1a 3947 ("libgudev" ,libgudev)
75016d07 3948 ("libusb" ,libusb)
75016d07 3949 ("polkit" ,polkit)
a68544a8 3950 ("python" ,python-wrapper)
6f20e2dc 3951 ("sqlite" ,sqlite)
4c928743 3952 ("sane-backends" ,sane-backends)))
57e7d748 3953 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3954 (synopsis "Color management service")
3955 (description "Colord is a system service that makes it easy to manage,
3956install and generate color profiles to accurately color manage input and
3957output devices.")
3958 (license license:gpl2+)))
7b2abd00
AW
3959
3960(define-public geoclue
3961 (package
3962 (name "geoclue")
b433c7b3 3963 (version "2.4.8")
7b2abd00
AW
3964 (source
3965 (origin
3966 (method url-fetch)
5cc3096c 3967 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
3968 "/releases/" (version-major+minor version) "/"
3969 name "-" version ".tar.xz"))
3970 (sha256
3971 (base32
b433c7b3 3972 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 3973 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
3974 (build-system glib-or-gtk-build-system)
3975 (arguments
3976 '(;; The tests want to run the system bus.
3977 #:tests? #f
3978 #:configure-flags (list ;; Disable bits requiring ModemManager.
3979 "--disable-3g-source"
3980 "--disable-cdma-source"
3981 "--disable-modem-gps-source"
3982 "--with-dbus-service-user=geoclue")
3983 #:phases
3984 (modify-phases %standard-phases
3a4de6b2 3985 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
3986 (lambda _
3987 (substitute* "configure"
e3eb53e7
MW
3988 (("/bin/true") (which "true")))
3989 #t)))))
7b2abd00
AW
3990 (native-inputs
3991 `(("pkg-config" ,pkg-config)
758798a9 3992 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
3993 ("intltool" ,intltool)))
3994 (inputs
54e911bc
SB
3995 `(("avahi" ,avahi)
3996 ("glib" ,glib)
7b2abd00
AW
3997 ("json-glib" ,json-glib)
3998 ("libsoup" ,libsoup)))
99adfd7d 3999 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
4000 (synopsis "Geolocation service")
4001 (description "Geoclue is a D-Bus service that provides location
4002information. The primary goal of the Geoclue project is to make creating
4003location-aware applications as simple as possible, while the secondary goal is
4004to ensure that no application can access location information without explicit
e881752c 4005permission from user.")
7b2abd00 4006 (license license:gpl2+)))
2bfe7437
AW
4007
4008(define-public geocode-glib
4009 (package
4010 (name "geocode-glib")
65de725f 4011 (version "3.26.1")
2bfe7437
AW
4012 (source (origin
4013 (method url-fetch)
4014 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4015 (version-major+minor version) "/"
d485cdc0 4016 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4017 (sha256
4018 (base32
65de725f 4019 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4020 (build-system meson-build-system)
2bfe7437 4021 (arguments
a7dd0c02
RW
4022 `(#:phases
4023 (modify-phases %standard-phases
4024 ;; The tests require a bunch of locales.
4025 (add-before 'check 'set-locales
4026 (lambda* (#:key inputs #:allow-other-keys)
4027 (setenv "GUIX_LOCPATH"
4028 (string-append (assoc-ref inputs "glibc-locales")
4029 "/lib/locale"))
4030 #t)))))
2bfe7437
AW
4031 (native-inputs
4032 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4033 ("glibc-locales" ,glibc-locales) ; for tests
4034 ("gettext" ,gettext-minimal)
2bfe7437 4035 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4036 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4037 ("pkg-config" ,pkg-config)
4038 ("json-glib" ,json-glib)))
4039 (propagated-inputs
4040 ;; geocode-glib-1.0.pc refers to GIO.
4041 `(("glib" ,glib)))
4042 (inputs
4043 `(("libsoup" ,libsoup)))
4044 (home-page "https://github.com/GNOME/geocode-glib/")
4045 (synopsis "Geocoding and reverse-geocoding library")
4046 (description
4047 "geocode-glib is a convenience library for geocoding (finding longitude,
4048and latitude from an address) and reverse geocoding (finding an address from
4049coordinates) using the Nominatim service. geocode-glib caches requests for
4050faster results and to avoid unnecessary server load.")
4051 (license license:lgpl2.0+)))
a1d5bb0e
AW
4052
4053(define-public upower
4054 (package
4055 (name "upower")
df45af90 4056 (version "0.99.11")
a1d5bb0e
AW
4057 (source (origin
4058 (method url-fetch)
df45af90 4059 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4060 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4061 (sha256
4062 (base32
df45af90 4063 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
fc1adab1 4064 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
4065 (build-system glib-or-gtk-build-system)
4066 (arguments
4067 '( ;; The tests want to contact the system bus, which can't be done in the
4068 ;; build environment. The integration test can run, but the last of
4069 ;; the up-self-tests doesn't. Disable tests for now.
4070 #:tests? #f
4071 #:configure-flags (list "--localstatedir=/var"
4072 (string-append "--with-udevrulesdir="
4073 (assoc-ref %outputs "out")
9ec54965 4074 "/lib/udev/rules.d"))))
a1d5bb0e 4075 (native-inputs
ebeabe2d
SB
4076 `(("gobject-introspection" ,gobject-introspection)
4077 ("pkg-config" ,pkg-config)
a1d5bb0e 4078 ("intltool" ,intltool)
55409295
LC
4079 ("python" ,python)
4080
4081 ;; For man pages.
4082 ("libxslt" ,libxslt) ;for 'xsltproc'
4083 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4084 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4085 (inputs
ea226291
SB
4086 `(("dbus-glib" ,dbus-glib)
4087 ("libgudev" ,libgudev)
a1d5bb0e 4088 ("libusb" ,libusb)))
d7a503fc
MB
4089 (propagated-inputs
4090 ;; In Requires of upower-glib.pc.
4091 `(("glib" ,glib)))
57e7d748 4092 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4093 (synopsis "System daemon for managing power devices")
4094 (description
4095 "UPower is an abstraction for enumerating power devices,
4096listening to device events and querying history and statistics. Any
4097application or service on the system can access the org.freedesktop.UPower
4098service via the system message bus.")
4099 (license license:gpl2+)))
6a180f6f
AW
4100
4101(define-public libgweather
4102 (package
4103 (name "libgweather")
794ce8ea 4104 (version "3.28.3")
6a180f6f
AW
4105 (source (origin
4106 (method url-fetch)
4107 (uri (string-append "mirror://gnome/sources/" name "/"
4108 (version-major+minor version) "/"
4109 name "-" version ".tar.xz"))
4110 (sha256
4111 (base32
794ce8ea 4112 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4113 (build-system meson-build-system)
6a180f6f 4114 (arguments
cf6cbc34
RW
4115 `(#:tests? #f ; one of two tests requires network access
4116 #:configure-flags
4117 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4118 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4119 "/share/zoneinfo"))))
6a180f6f
AW
4120 (native-inputs
4121 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4122 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4123 ("pkg-config" ,pkg-config)
1d3fcf94 4124 ("vala" ,vala)
6a180f6f
AW
4125 ("intltool" ,intltool)))
4126 (propagated-inputs
4127 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4128 ;; libsoup.
4129 `(("gtk+" ,gtk+)
4130 ("gdk-pixbuf" ,gdk-pixbuf)
4131 ("libxml2" ,libxml2)
cf6cbc34 4132 ("libsoup" ,libsoup)
6a180f6f 4133 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4134 (inputs
4135 `(("tzdata" ,tzdata)))
6a180f6f
AW
4136 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4137 (synopsis "Location, time zone, and weather library for GNOME")
4138 (description
4139 "libgweather is a library to access weather information from online
4140services for numerous locations.")
4141 (license license:gpl2+)))
23a22af6
AW
4142
4143(define-public gnome-settings-daemon
4144 (package
4145 (name "gnome-settings-daemon")
4be0719f 4146 (version "3.32.1")
23a22af6
AW
4147 (source
4148 (origin
4149 (method url-fetch)
4150 (uri (string-append "mirror://gnome/sources/" name "/"
4151 (version-major+minor version) "/"
4152 name "-" version ".tar.xz"))
4153 (sha256
4154 (base32
4be0719f 4155 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4156 (build-system meson-build-system)
23a22af6 4157 (arguments
e644f9fa
RW
4158 `(#:glib-or-gtk? #t
4159 #:configure-flags
4160 (list (string-append "-Dudev_dir="
4161 (assoc-ref %outputs "out")
4d0e085b
RW
4162 "/lib/udev/rules.d/")
4163 ;; Otherwise, the RUNPATH will lack the final path component.
4164 (string-append "-Dc_link_args=-Wl,-rpath="
4165 (assoc-ref %outputs "out")
4166 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4167 ;; Color management test can't reach the colord system service.
23a22af6
AW
4168 #:tests? #f))
4169 (native-inputs
e644f9fa
RW
4170 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4171 ("pkg-config" ,pkg-config)
23a22af6
AW
4172 ("intltool" ,intltool)
4173 ("xsltproc" ,libxslt)
4174 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4175 ("docbook-xml" ,docbook-xml-4.2)
4176 ("docbook-xsl" ,docbook-xsl)))
4177 (inputs
e644f9fa
RW
4178 `(("alsa-lib" ,alsa-lib)
4179 ("colord" ,colord)
ea226291 4180 ("libgudev" ,libgudev)
23a22af6
AW
4181 ("upower" ,upower)
4182 ("polkit" ,polkit)
4183 ("pulseaudio" ,pulseaudio)
4184 ("libcanberra" ,libcanberra)
4185 ("libx11" ,libx11)
4186 ("libxtst" ,libxtst)
4187 ("lcms" ,lcms)
4188 ("libnotify" ,libnotify)
4189 ("geoclue" ,geoclue)
4190 ("geocode-glib" ,geocode-glib)
4191 ("libgweather" ,libgweather)
4192 ("gnome-desktop" ,gnome-desktop)
4193 ("nss" ,nss)
4194 ("cups" ,cups)
ec2b1921
AW
4195 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4196 ("libwacom" ,libwacom)
4197 ("librsvg" ,librsvg)
eee7878f 4198 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4199 ("wayland" ,wayland)
eee7878f 4200 ("network-manager" ,network-manager)))
f032d0be 4201 (home-page "https://www.gnome.org")
23a22af6
AW
4202 (synopsis "GNOME settings daemon")
4203 (description
4204 "This package contains the daemon responsible for setting the various
4205parameters of a GNOME session and the applications that run under it. It
4206handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4207settings, themes, mouse settings, and startup of other daemons.")
4208 (license license:gpl2+)))
1e7464a9
DH
4209
4210(define-public totem-pl-parser
4211 (package
4212 (name "totem-pl-parser")
77425f04 4213 (version "3.26.3")
1e7464a9
DH
4214 (source (origin
4215 (method url-fetch)
e980cbe9
MW
4216 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4217 (version-major+minor version) "/"
1e7464a9
DH
4218 "totem-pl-parser-" version ".tar.xz"))
4219 (sha256
4220 (base32
77425f04 4221 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4222 (build-system meson-build-system)
1e7464a9
DH
4223 (arguments
4224 ;; FIXME: Tests require gvfs.
4225 `(#:tests? #f))
4226 (native-inputs
4227 `(("intltool" ,intltool)
4228 ("glib" ,glib "bin")
4d6d8281 4229 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4230 ("pkg-config" ,pkg-config)))
22a6ad6a 4231 (propagated-inputs
1e7464a9
DH
4232 `(("glib" ,glib)
4233 ("gmime" ,gmime)
1e9b19dd
RW
4234 ("libarchive" ,libarchive)
4235 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4236 ("libxml2" ,libxml2)))
4237 (inputs
0a6e9e13 4238 `(("libsoup" ,libsoup)))
1e7464a9
DH
4239 (home-page "https://projects.gnome.org/totem")
4240 (synopsis "Library to parse and save media playlists for GNOME")
4241 (description "Totem-pl-parser is a GObjects-based library to parse and save
4242playlists in a variety of formats.")
4243 (license license:lgpl2.0+)))
4244
6b888eff
SB
4245(define-public aisleriot
4246 (package
4247 (name "aisleriot")
36ed9b46 4248 (version "3.22.9")
6b888eff
SB
4249 (source (origin
4250 (method url-fetch)
e43f622a 4251 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4252 (version-major+minor version) "/"
e43f622a 4253 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4254 (sha256
4255 (base32
36ed9b46 4256 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4257 (build-system glib-or-gtk-build-system)
4258 (arguments
4259 '(#:configure-flags
4260 '("--with-platform=gtk-only"
4261 "--with-card-theme-formats=svg")))
4262 (native-inputs
4263 `(("desktop-file-utils" ,desktop-file-utils)
4264 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4265 ("intltool" ,intltool)
4266 ("itstool" ,itstool)
4267 ("pkg-config" ,pkg-config)
4268 ("xmllint" ,libxml2)))
4269 (inputs
4270 `(("gtk+" ,gtk+)
226e57d6 4271 ("guile" ,guile-2.2)
6b888eff
SB
4272 ("libcanberra" ,libcanberra)
4273 ("librsvg" ,librsvg)))
4274 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4275 (synopsis "Solitaire card games")
4276 (description
4277 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4278which are easy to play with the aid of a mouse.")
4279 (license license:gpl3+)))
4a79e256 4280
f828d05b
KK
4281(define-public amtk
4282 (package
4283 (name "amtk")
09c4e43f 4284 (version "5.0.1")
f828d05b
KK
4285 (source (origin
4286 (method url-fetch)
bf92ba6b 4287 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4288 (version-major+minor version) "/"
bf92ba6b 4289 "amtk-" version ".tar.xz"))
f828d05b
KK
4290 (sha256
4291 (base32
09c4e43f 4292 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d"))))
f828d05b
KK
4293 (build-system gnu-build-system)
4294 (arguments
4295 '(#:configure-flags '("--enable-gtk-doc")))
4296 (native-inputs
4297 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4298 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4299 ("gtk-doc" ,gtk-doc)
4300 ("pkg-config" ,pkg-config)))
4301 (inputs
4302 `(("glib" ,glib)
4303 ("gtk+" ,gtk+)))
4304 (home-page "https://wiki.gnome.org/Projects/Amtk")
4305 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4306 (description
4307 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4308It is a basic GtkUIManager replacement based on GAction. It is suitable for
4309both a traditional UI or a modern UI with a GtkHeaderBar.")
4310 (license license:lgpl2.1+)))
4311
4a79e256
SB
4312(define-public devhelp
4313 (package
4314 (name "devhelp")
20db7a3d 4315 (version "3.32.0")
4a79e256
SB
4316 (source (origin
4317 (method url-fetch)
4318 (uri (string-append "mirror://gnome/sources/" name "/"
4319 (version-major+minor version) "/"
4320 name "-" version ".tar.xz"))
4321 (sha256
4322 (base32
20db7a3d 4323 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4324 (build-system meson-build-system)
35407f94 4325 (arguments
20db7a3d
KK
4326 '(#:glib-or-gtk? #t
4327 #:phases
35407f94
EF
4328 (modify-phases %standard-phases
4329 (add-after 'unpack 'skip-gtk-update-icon-cache
4330 ;; Don't create 'icon-theme.cache'.
4331 (lambda _
4332 (substitute* "meson_post_install.py"
4333 (("gtk-update-icon-cache") "true"))
4334 #t)))))
4a79e256
SB
4335 (native-inputs
4336 `(("intltool" ,intltool)
5dd12afc 4337 ("itstool" ,itstool)
11d28bd9
KK
4338 ("gobject-introspection" ,gobject-introspection)
4339 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4340 ("pkg-config" ,pkg-config)))
4341 (inputs
11d28bd9
KK
4342 `(("amtk" ,amtk)
4343 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4344 ("webkitgtk" ,webkitgtk)))
4345 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4346 (synopsis "API documentation browser for GNOME")
4347 (description
4348 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4349natively with GTK-Doc (the API reference system developed for GTK+ and used
4350throughout GNOME for API documentation).")
4351 (license license:gpl2+)))
ba421ab7
MW
4352
4353(define-public cogl
4354 (package
4355 (name "cogl")
54c69ae1 4356 (version "1.22.4")
ba421ab7
MW
4357 (source
4358 (origin
4359 (method url-fetch)
5754f0cf 4360 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4361 (version-major+minor version) "/"
5754f0cf 4362 "cogl-" version ".tar.xz"))
ba421ab7 4363 (sha256
54c69ae1 4364 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4365 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4366 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4367 (build-system gnu-build-system)
4368 (native-inputs
4369 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4370 ("gobject-introspection" ,gobject-introspection)
4371 ;;("xorg-server" ,xorg-server) ; for the test suite
4372 ("pkg-config" ,pkg-config)))
4373 (propagated-inputs
4374 `(("glib" ,glib)
4375 ("gdk-pixbuf" ,gdk-pixbuf)
4376 ("libx11" ,libx11)
4377 ("libxext" ,libxext)
4378 ("libxfixes" ,libxfixes)
4379 ("libxdamage" ,libxdamage)
4380 ("libxcomposite" ,libxcomposite)
4381 ("libxrandr" ,libxrandr)))
4382 (inputs
4383 `(("mesa" ,mesa)
4384 ("cairo" ,cairo)
4385 ("pango" ,pango)
4386 ("gstreamer" ,gstreamer)
31860852
KK
4387 ("gst-plugins-base" ,gst-plugins-base)
4388 ("wayland" ,wayland)))
ba421ab7
MW
4389 (arguments
4390 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4391 "--enable-wayland-egl-platform"
4392 "--enable-wayland-egl-server"
4393
ba421ab7
MW
4394 ;; Arrange to pass an absolute file name to
4395 ;; dlopen for libGL.so.
4396 (string-append "--with-gl-libname="
4397 (assoc-ref %build-inputs "mesa")
4398 "/lib/libGL.so"))
4399 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4400 ;; _FontTransOpen: Unable to Parse address
4401 ;; ${prefix}/share/fonts/X11/misc/
4402 #:tests? #f
4403 #; #:phases
4404 #;
4405 (modify-phases %standard-phases
4406 (add-before 'check 'start-xorg-server
4407 (lambda* (#:key inputs #:allow-other-keys)
4408 ;; The test suite requires a running X server.
4409 (system (format #f "~a/bin/Xvfb :1 &"
4410 (assoc-ref inputs "xorg-server")))
4411 (setenv "DISPLAY" ":1")
4412 #t)))))
4413 (home-page "http://www.cogl3d.org")
4414 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4415 (description
4416 "Cogl is a small library for using 3D graphics hardware to draw pretty
4417pictures. The API departs from the flat state machine style of OpenGL and is
4418designed to make it easy to write orthogonal components that can render
4419without stepping on each others toes.")
4420 (license (list license:expat ; most of the code
4421 license:bsd-3 ; cogl/cogl-point-in-poly.c
4422 license:sgifreeb2.0 ; cogl-path/tesselator/
4423 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4424
4425(define-public clutter
4426 (package
4427 (name "clutter")
6a88e4ee 4428 (version "1.26.2")
fb182b8a
MW
4429 (source
4430 (origin
4431 (method url-fetch)
4432 (uri (string-append "mirror://gnome/sources/" name "/"
4433 (version-major+minor version) "/"
4434 name "-" version ".tar.xz"))
4435 (sha256
4436 (base32
6a88e4ee 4437 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4438 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4439 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4440 (build-system gnu-build-system)
600233bd
LC
4441 (outputs '("out"
4442 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4443 (native-inputs
4444 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4445 ("gobject-introspection" ,gobject-introspection)
4446 ("pkg-config" ,pkg-config)
4447 ("xsltproc" ,libxslt)))
4448 (propagated-inputs
4449 `(("cogl" ,cogl)
4450 ("cairo" ,cairo)
4451 ("atk" ,atk)
4452 ("gtk+" ,gtk+)
4453 ("json-glib" ,json-glib)
4454 ("glib" ,glib)
4455 ("libxcomposite" ,libxcomposite)
4456 ("libxdamage" ,libxdamage)
4457 ("libxext" ,libxext)
4458 ("xinput" ,xinput)))
4459 (inputs
4460 `(("libxkbcommon" ,libxkbcommon)
4461 ("udev" ,eudev)))
4462 (arguments
600233bd
LC
4463 `(#:configure-flags (list "--enable-x11-backend=yes"
4464
4465 ;; This produces share/doc/{clutter,cally}.
4466 (string-append "--with-html-dir="
4467 (assoc-ref %outputs "doc")
4468 "/share/doc"))
fb182b8a
MW
4469 ;; XXX FIXME: Get test suite working. It would probably fail in the
4470 ;; same way the cogl tests fail, since clutter is based on cogl.
4471 #:tests? #f))
4472 (home-page "http://www.clutter-project.org")
476af713 4473 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4474 (description
476af713 4475 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4476creating fast, mainly 2D single window applications such as media box UIs,
4477presentations, kiosk style applications and so on.")
4478 (license license:lgpl2.0+)))
bf7f17ba
MW
4479
4480(define-public clutter-gtk
4481 (package
4482 (name "clutter-gtk")
5d1a3219 4483 (version "1.8.4")
bf7f17ba
MW
4484 (source
4485 (origin
4486 (method url-fetch)
4487 (uri (string-append "mirror://gnome/sources/" name "/"
4488 (version-major+minor version) "/"
4489 name "-" version ".tar.xz"))
4490 (sha256
4491 (base32
5d1a3219 4492 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4493 (build-system gnu-build-system)
4494 (native-inputs
4495 `(("pkg-config" ,pkg-config)
4496 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4497 (propagated-inputs
4498 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4499 `(("clutter" ,clutter)
4500 ("gtk+" ,gtk+)))
4501 (home-page "http://www.clutter-project.org")
476af713 4502 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4503 (description
476af713 4504 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4505creating fast, mainly 2D single window applications such as media box UIs,
4506presentations, kiosk style applications and so on.")
4507 (license license:lgpl2.0+)))
86d6a893
MW
4508
4509(define-public clutter-gst
4510 (package
4511 (name "clutter-gst")
ba07ac19 4512 (version "3.0.27")
86d6a893
MW
4513 (source
4514 (origin
4515 (method url-fetch)
f010f89b 4516 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4517 (version-major+minor version) "/"
f010f89b 4518 "clutter-gst-" version ".tar.xz"))
86d6a893 4519 (sha256
ba07ac19 4520 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4521 (build-system gnu-build-system)
4522 (native-inputs
ba07ac19 4523 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4524 ("pkg-config" ,pkg-config)
4525 ("gobject-introspection" ,gobject-introspection)))
4526 (inputs
4527 `(("clutter" ,clutter)
4528 ("gstreamer" ,gstreamer)
4529 ("gst-plugins-base" ,gst-plugins-base)))
4530 (home-page "http://www.clutter-project.org")
4531 (synopsis "Integration library for using GStreamer with Clutter")
4532 (description
4533 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4534It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4535implements the ClutterGstPlayer interface using playbin. Clutter is an
4536OpenGL-based interactive canvas library.")
86d6a893 4537 (license license:lgpl2.0+)))
607a04ae 4538
30dc88d9
LC
4539(define-public libchamplain
4540 (package
4541 (name "libchamplain")
5564b2c5 4542 (version "0.12.16")
30dc88d9
LC
4543 (source (origin
4544 (method url-fetch)
4545 (uri (string-append
4546 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4547 version ".tar.xz"))
4548 (sha256
4549 (base32
5564b2c5 4550 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4551 (build-system gnu-build-system)
f7c6833f
LF
4552 (arguments '(#:configure-flags '("--enable-vala")))
4553 (native-inputs
4554 `(("gobject-introspection" ,gobject-introspection)
4555 ("pkg-config" ,pkg-config)
4556 ("vala" ,vala)))
30dc88d9
LC
4557 (propagated-inputs
4558 `(("libsoup" ,libsoup)
4559 ("sqlite" ,sqlite)
4560 ("clutter" ,clutter)
4561 ("clutter-gtk" ,clutter-gtk)
4562 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4563 ("cairo" ,cairo)
4564 ("gtk+3" ,gtk+)
4565 ("glib" ,glib)))
f032d0be 4566 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4567 (synopsis "C library providing a ClutterActor to display maps")
4568 (description
4569 "libchamplain is a C library providing a ClutterActor to display maps.
4570It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4571and Perl bindings are also available. It supports numerous free map sources
4572such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4573 (license license:lgpl2.1+)))
4574
607a04ae
MW
4575(define-public gom
4576 (package
4577 (name "gom")
0510440b 4578 (version "0.3.2")
607a04ae
MW
4579 (source
4580 (origin
4581 (method url-fetch)
6c8a0b6f 4582 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4583 (version-major+minor version) "/"
6c8a0b6f 4584 "gom-" version ".tar.xz"))
607a04ae
MW
4585 (sha256
4586 (base32
0510440b 4587 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4588 (build-system gnu-build-system)
4589 (native-inputs
4590 `(("intltool" ,intltool)
4591 ("pkg-config" ,pkg-config)
4592 ("gobject-introspection" ,gobject-introspection)))
4593 (inputs
4594 `(("glib" ,glib)
4595 ("gdk-pixbuf" ,gdk-pixbuf)
4596 ("sqlite" ,sqlite)))
4597 ;; XXX TODO: Figure out how to run the test suite.
4598 (arguments `(#:tests? #f))
4599 (home-page "https://wiki.gnome.org/Projects/Gom")
4600 (synopsis "Object mapper from GObjects to SQLite")
4601 (description
4602 "Gom provides an object mapper from GObjects to SQLite. It helps you
4603write applications that need to store structured data as well as make complex
4604queries upon that data.")
4605 (license license:lgpl2.1+)))
b7a3cf11 4606
865aacc9 4607(define-public libgnome-games-support
f09520db 4608 (package
865aacc9 4609 (name "libgnome-games-support")
4c6d15cf 4610 (version "1.4.4")
f09520db
SB
4611 (source (origin
4612 (method url-fetch)
2d8dca9d 4613 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4614 (version-major+minor version) "/"
2d8dca9d 4615 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4616 (sha256
4617 (base32
4c6d15cf 4618 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4619 (build-system gnu-build-system)
4620 (arguments
4621 '(#:phases
4622 (modify-phases %standard-phases
4623 (add-before 'check 'pre-check
4624 (lambda _
865aacc9 4625 ;; Tests require a writable HOME.
f09520db
SB
4626 (setenv "HOME" (getcwd))
4627 #t)))))
4628 (native-inputs
4629 `(("intltool" ,intltool)
4630 ("pkg-config" ,pkg-config)
4631 ("vala" ,vala)))
4632 (propagated-inputs
865aacc9 4633 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4634 `(("gtk+" ,gtk+)
4635 ("libgee" ,libgee)))
4636 (home-page "https://www.gnome.org/")
4637 (synopsis "Useful functionality shared among GNOME games")
4638 (description
865aacc9 4639 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4640GNOME Games, but it may be used by others.")
4641 (license license:lgpl3+)))
4642
b7a3cf11
SB
4643(define-public gnome-klotski
4644 (package
4645 (name "gnome-klotski")
c1e419c4 4646 (version "3.32.0")
b7a3cf11
SB
4647 (source (origin
4648 (method url-fetch)
4649 (uri (string-append "mirror://gnome/sources/" name "/"
4650 (version-major+minor version) "/"
4651 name "-" version ".tar.xz"))
4652 (sha256
4653 (base32
c1e419c4
KK
4654 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4655 (build-system meson-build-system)
4656 (arguments
4657 '(#:glib-or-gtk? #t
4658 #:phases
4659 (modify-phases %standard-phases
4660 (add-after 'unpack 'skip-gtk-update-icon-cache
4661 ;; Don't create 'icon-theme.cache'.
4662 (lambda _
4663 (substitute* "build-aux/meson_post_install.py"
4664 (("gtk-update-icon-cache") (which "true")))
4665 #t)))))
b7a3cf11
SB
4666 (native-inputs
4667 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4668 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4669 ("intltool" ,intltool)
4670 ("itstool" ,itstool)
bcb354ad 4671 ("pkg-config" ,pkg-config)
c1e419c4 4672 ("vala" ,vala)
bcb354ad 4673 ("xmllint" ,libxml2)))
b7a3cf11
SB
4674 (inputs
4675 `(("gtk+" ,gtk+)
f4eae76f 4676 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4677 ("librsvg" ,librsvg)))
4678 (home-page "https://wiki.gnome.org/Apps/Klotski")
4679 (synopsis "Sliding block puzzles")
4680 (description
4681 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4682the patterned block to the area bordered by green markers. To do so, you will
4683need to slide other blocks out of the way. Complete each puzzle in as few moves
4684as possible!")
4685 (license license:gpl2+)))
8d4791bf
MW
4686
4687(define-public grilo
4688 (package
4689 (name "grilo")
a865e938 4690 (version "0.3.10")
8d4791bf
MW
4691 (source
4692 (origin
4693 (method url-fetch)
4694 (uri (string-append "mirror://gnome/sources/" name "/"
4695 (version-major+minor version) "/"
4696 name "-" version ".tar.xz"))
4697 (sha256
4698 (base32
a865e938 4699 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4700 (build-system meson-build-system)
8d4791bf
MW
4701 (native-inputs
4702 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4703 ("intltool" ,intltool)
4704 ("pkg-config" ,pkg-config)
d48d4c98
KK
4705 ("gobject-introspection" ,gobject-introspection)
4706 ("gtk-doc" ,gtk-doc)
4707 ("vala" ,vala)))
8d4791bf 4708 (inputs
6d7273a0
KK
4709 `(("cyrus-sasl" ,cyrus-sasl)
4710 ("glib" ,glib)
8d4791bf
MW
4711 ("gtk+" ,gtk+)
4712 ("libxml2" ,libxml2)
6d7273a0 4713 ("liboauth" ,liboauth)
8d4791bf
MW
4714 ("libsoup" ,libsoup)
4715 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4716 (native-search-paths
4717 (list (search-path-specification
4718 (variable "GRL_PLUGIN_PATH")
4719 (files (list (string-append "lib/grilo-"
4720 (version-major+minor version)))))))
d48d4c98 4721 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4722 (synopsis "Framework for discovering and browsing media")
4723 (description
4724 "Grilo is a framework focused on making media discovery and browsing easy
4725for application developers.")
4726 (license license:lgpl2.1+)))
7b212526
MW
4727
4728(define-public grilo-plugins
4729 (package
4730 (name "grilo-plugins")
281f6b3a 4731 (version "0.3.10")
7b212526
MW
4732 (source
4733 (origin
4734 (method url-fetch)
4735 (uri (string-append "mirror://gnome/sources/" name "/"
4736 (version-major+minor version) "/"
4737 name "-" version ".tar.xz"))
4738 (sha256
4739 (base32
281f6b3a
RG
4740 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4741 (build-system meson-build-system)
7b212526 4742 (native-inputs
281f6b3a
RG
4743 `(("gettext" ,gettext-minimal)
4744 ("glib:bin" ,glib "bin")
4745 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4746 ("itstool" ,itstool)
4747 ("pkg-config" ,pkg-config)))
281f6b3a 4748 ;; TODO: ahavi, gstreamer
7b212526
MW
4749 (inputs
4750 `(("grilo" ,grilo)
281f6b3a
RG
4751 ;("gmime" ,gmime) ; unused
4752 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4753 ("gom" ,gom)
281f6b3a
RG
4754 ;("gssdp" ,gssdp) ; unused
4755 ;("gupnp" ,gupnp) ; unused
4756 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4757 ("json-glib" ,json-glib)
4758 ("avahi" ,avahi)
281f6b3a
RG
4759 ("libgdata" ,libgdata)
4760 ("libmediaart" ,libmediaart)
4761 ;("librest" ,rest) ; unused
7b212526 4762 ("libsoup" ,libsoup)
281f6b3a
RG
4763 ("totam-pl-parser" ,totem-pl-parser)
4764 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4765 (arguments
281f6b3a
RG
4766 `(#:glib-or-gtk? #t
4767 ;;Disable lua-factory as it needs missing dependencies
4768 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4769 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4770 (synopsis "Plugins for the Grilo media discovery library")
4771 (description
4772 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4773for application developers. This package provides plugins for common media
4774discovery protocols.")
7b212526 4775 (license license:lgpl2.1+)))
4e3fc547
MW
4776
4777(define-public totem
4778 (package
4779 (name "totem")
995ef5ea 4780 (version "3.32.1")
4e3fc547
MW
4781 (source
4782 (origin
4783 (method url-fetch)
4784 (uri (string-append "mirror://gnome/sources/" name "/"
4785 (version-major+minor version) "/"
4786 name "-" version ".tar.xz"))
4787 (sha256
4788 (base32
995ef5ea 4789 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4790 (build-system meson-build-system)
4e3fc547
MW
4791 (native-inputs
4792 `(("pkg-config" ,pkg-config)
4793 ("desktop-file-utils" ,desktop-file-utils)
4794 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4795 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4796 ("intltool" ,intltool)
bcb354ad 4797 ("itstool" ,itstool)
995ef5ea
KK
4798 ("xmllint" ,libxml2)
4799 ("python-pylint" ,python-pylint)
4800 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4801 (propagated-inputs
4802 `(("dconf" ,dconf)))
4803 (inputs
4804 `(("gtk+" ,gtk+)
4805 ("gdk-pixbuf" ,gdk-pixbuf)
4806 ("atk" ,atk)
4807 ("cairo" ,cairo)
4808 ("dbus-glib" ,dbus-glib)
4809 ("clutter" ,clutter)
4810 ("clutter-gtk" ,clutter-gtk)
4811 ("clutter-gst" ,clutter-gst)
6a6db57f 4812 ("xorgproto" ,xorgproto)
4e3fc547
MW
4813 ("libxxf86vm" ,libxxf86vm)
4814 ("libxtst" ,libxtst)
4815 ("libxrandr" ,libxrandr)
4816 ("libxml2" ,libxml2)
4817 ("libsoup" ,libsoup)
4818 ("libpeas" ,libpeas)
4819 ("librsvg" ,librsvg)
4820 ("lirc" ,lirc)
4821 ("gnome-desktop" ,gnome-desktop)
4822 ("gstreamer" ,gstreamer)
4823 ("gst-plugins-base" ,gst-plugins-base)
4824 ("gst-plugins-good" ,gst-plugins-good)
4825 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4826 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4827 ("python" ,python)
995ef5ea 4828 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4829 ("totem-pl-parser" ,totem-pl-parser)
4830 ("grilo" ,grilo)
4831 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4832 ("vala" ,vala)))
4833 (arguments
7ad81b8b
LC
4834 `(#:glib-or-gtk? #t
4835
4836 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4837 ;; all that.
7ad81b8b 4838 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4839
4840 ;; Do not build .a files for the plugins, it's
4841 ;; completely useless. This saves 2 MiB.
7ad81b8b 4842 "--default-library" "shared")
ec5c24f9 4843 #:phases
4e3fc547 4844 (modify-phases %standard-phases
d51b19ad
EF
4845 (add-after 'unpack 'skip-gtk-update-icon-cache
4846 ;; Don't create 'icon-theme.cache'.
4847 (lambda _
4848 (substitute* "meson_post_install.py"
4849 (("gtk-update-icon-cache") "true"))
4850 #t))
6368eb39
DM
4851 (add-before
4852 'install 'disable-cache-generation
4853 (lambda _
4854 (setenv "DESTDIR" "/")
4855 #t))
995ef5ea
KK
4856 (add-before
4857 'check 'pre-check
4858 (lambda _
4859 ;; Tests require a running X server.
4860 (system "Xvfb :1 &")
4861 (setenv "DISPLAY" ":1")
4862 #t))
4e3fc547
MW
4863 (add-after
4864 'install 'wrap-totem
4865 (lambda* (#:key inputs outputs #:allow-other-keys)
4866 (let ((out (assoc-ref outputs "out"))
4867 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4868 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4869 (wrap-program (string-append out "/bin/totem")
4870 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4871 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4872 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4873 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4874 #t)))))
4875 (home-page "https://wiki.gnome.org/Apps/Videos")
4876 (synopsis "Simple media player for GNOME based on GStreamer")
4877 (description "Totem is a simple yet featureful media player for GNOME
4878which can read a large number of file formats.")
4879 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4880 ;; to be used and distributed together with GStreamer and Totem. See
4881 ;; file://COPYING in the source distribution for details.
4882 (license license:gpl2+)))
f0afb0c8
DH
4883
4884(define-public rhythmbox
4885 (package
4886 (name "rhythmbox")
8190e1ed 4887 (version "3.4.3")
f0afb0c8
DH
4888 (source (origin
4889 (method url-fetch)
4890 (uri (string-append "mirror://gnome/sources/" name "/"
4891 (version-major+minor version) "/"
4892 name "-" version ".tar.xz"))
4893 (sha256
4894 (base32
8190e1ed 4895 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
4896 (build-system glib-or-gtk-build-system)
4897 (arguments
4898 `(#:configure-flags
4899 (list "--enable-lirc"
4900 "--enable-python"
4901 "--enable-vala"
4902 "--with-brasero"
4903 "--with-gudev"
4904 "--with-libsecret")
4905 #:phases
4906 (modify-phases %standard-phases
4907 (add-after
4908 'install 'wrap-rhythmbox
4909 (lambda* (#:key inputs outputs #:allow-other-keys)
4910 (let ((out (assoc-ref outputs "out"))
4911 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4912 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4913 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4914 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4915 (wrap-program (string-append out "/bin/rhythmbox")
4916 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4917 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4918 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4919 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4920 #t)))))
4921 (propagated-inputs
4922 `(("dconf" ,dconf)))
4923 (native-inputs
bcb354ad
SB
4924 `(("itstool" ,itstool)
4925 ("intltool" ,intltool)
f0afb0c8
DH
4926 ("glib" ,glib "bin")
4927 ("gobject-introspection" ,gobject-introspection)
4928 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4929 ("pkg-config" ,pkg-config)
4930 ("xmllint" ,libxml2)))
f0afb0c8
DH
4931 (inputs
4932 `(("json-glib" ,json-glib)
4933 ("tdb" ,tdb)
4934 ("gnome-desktop" ,gnome-desktop)
4935 ("python" ,python)
4936 ("python-pygobject" ,python2-pygobject)
4937 ("vala" ,vala)
4938 ("gmime" ,gmime)
f0afb0c8
DH
4939 ("adwaita-icon-theme" ,adwaita-icon-theme)
4940 ("grilo" ,grilo)
4941 ("grilo-plugins" ,grilo-plugins)
4942 ("gstreamer" ,gstreamer)
4943 ("gst-plugins-base" ,gst-plugins-base)
4944 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4945 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4946 ("libgudev" ,libgudev)
f0afb0c8
DH
4947 ;;("libmtp" ,libmtp) FIXME: Not detected
4948 ("libsecret" ,libsecret)
4949 ("libsoup" ,libsoup)
4950 ("libnotify" ,libnotify)
4951 ("libpeas" ,libpeas)
4952 ("lirc" ,lirc)
4953 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4954 ;;("clutter" ,clutter)
4955 ;;("clutter-gtk" ,clutter-gtk)
4956 ;;("clutter-gst" ,clutter-gst)
4957 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4958 ("atk" ,atk)
4959 ("pango" ,pango)
4960 ("gtk+" ,gtk+)
4961 ;; TODO:
4962 ;; * libgpod
4963 ;; * mx
f0afb0c8
DH
4964 ("brasero" ,brasero)))
4965 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4966 (synopsis "Music player for GNOME")
4967 (description "Rhythmbox is a music playing application for GNOME. It
4968supports playlists, song ratings, and any codecs installed through gstreamer.")
4969 (license license:gpl2+)))
f70d8383
DH
4970
4971(define-public eog
4972 (package
4973 (name "eog")
b0f24a82 4974 (version "3.32.2")
f70d8383
DH
4975 (source (origin
4976 (method url-fetch)
4977 (uri (string-append "mirror://gnome/sources/" name "/"
4978 (version-major+minor version) "/"
4979 name "-" version ".tar.xz"))
4980 (sha256
4981 (base32
b0f24a82 4982 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 4983 (build-system meson-build-system)
f70d8383 4984 (arguments
34c44a34
RW
4985 `(#:configure-flags
4986 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
4987 (list (string-append "-Dc_link_args=-Wl,-rpath="
4988 (assoc-ref %outputs "out") "/lib/eog"))
4989 #:phases
f70d8383 4990 (modify-phases %standard-phases
7a034665
EF
4991 (add-after 'unpack 'skip-gtk-update-icon-cache
4992 ;; Don't create 'icon-theme.cache'.
4993 (lambda _
4994 (substitute* "meson_post_install.py"
4995 (("gtk-update-icon-cache") "true"))
4996 #t))
61fb581f
RW
4997 (add-after 'install 'wrap-eog
4998 (lambda* (#:key outputs #:allow-other-keys)
4999 (let ((out (assoc-ref outputs "out"))
5000 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5001 (wrap-program (string-append out "/bin/eog")
5002 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5003 #t)))))
f70d8383
DH
5004 (propagated-inputs
5005 `(("dconf" ,dconf)))
5006 (native-inputs
5007 `(("intltool" ,intltool)
b3546174 5008 ("itstool" ,itstool)
f70d8383
DH
5009 ("glib" ,glib "bin")
5010 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5011 ("pkg-config" ,pkg-config)
5012 ("xmllint" ,libxml2)))
f70d8383
DH
5013 (inputs
5014 `(("gnome-desktop" ,gnome-desktop)
5015 ("shared-mime-info" ,shared-mime-info)
5016 ("adwaita-icon-theme" ,adwaita-icon-theme)
5017 ("exempi" ,exempi)
5018 ("lcms" ,lcms)
5019 ("libexif" ,libexif)
5020 ("libpeas" ,libpeas)
5021 ("libjpeg" ,libjpeg)
5022 ("librsvg" ,librsvg)
5023 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5024 ("gtk+" ,gtk+)))
5025 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5026 (synopsis "GNOME image viewer")
5027 (description "Eye of GNOME is the GNOME image viewer. It
5028supports image conversion, rotation, and slideshows.")
5029 (license license:gpl2+)))
41af5e7b 5030
0c3f8cb8
LC
5031(define-public eog-plugins
5032 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5033 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5034 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5035 ;; 'XDG_DATA_DIRS' appropriately set.
5036 (package
5037 (name "eog-plugins")
54b74cc6 5038 (version "3.26.4")
0c3f8cb8
LC
5039 (source (origin
5040 (method url-fetch)
f3b88ed2 5041 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5042 (version-major+minor version) "/"
f3b88ed2 5043 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5044 (sha256
5045 (base32
54b74cc6 5046 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5047 (build-system gnu-build-system)
5048 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5049 (synopsis "Extensions for the Eye of GNOME image viewer")
5050 (native-inputs
5051 `(("pkg-config" ,pkg-config)
5052 ("gettext" ,gnu-gettext)))
5053 (inputs
5054 `(("eog" ,eog)
5055 ("glib" ,glib)
5056 ("gtk+" ,gtk+)
5057 ("libpeas" ,libpeas)
5058 ("libexif" ,libexif)
5059 ("libchamplain" ,libchamplain)))
5060 (description
5061 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5062notably:
5063
5064@itemize
5065@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5066@item @dfn{Map}, which displays a map of where the picture was taken on the
5067side panel;
5068@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5069@end itemize\n")
5070
5071 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5072 ;; long suspicious byte stream that goes to a
5073 ;; ".gresource.eog_postasa_plugin" ELF section.
5074 (license license:gpl2+)))
5075
41af5e7b
SB
5076(define-public libgudev
5077 (package
5078 (name "libgudev")
b78f5118 5079 (version "232")
41af5e7b
SB
5080 (source (origin
5081 (method url-fetch)
5082 (uri (string-append "mirror://gnome/sources/" name "/"
5083 version "/" name "-" version ".tar.xz"))
5084 (sha256
5085 (base32
b78f5118 5086 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5087 (build-system gnu-build-system)
b78f5118
RW
5088 (arguments
5089 '(#:configure-flags
5090 ;; umockdev depends on libgudev.
5091 (list "--disable-umockdev")))
41af5e7b
SB
5092 (native-inputs
5093 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5094 ("gobject-introspection" ,gobject-introspection)
5095 ("pkg-config" ,pkg-config)))
5096 (propagated-inputs
5097 `(("glib" ,glib))) ; required by gudev-1.0.pc
5098 (inputs
5099 `(("udev" ,eudev)))
5100 (home-page "https://wiki.gnome.org/Projects/libgudev")
5101 (synopsis "GObject bindings for libudev")
5102 (description
5103 "This library provides GObject bindings for libudev. It was originally
5104part of udev-extras, then udev, then systemd. It's now a project on its own.")
5105 (license license:lgpl2.1+)))
3dc8828f
SB
5106
5107(define-public gvfs
5108 (package
5109 (name "gvfs")
12fe4846 5110 (version "1.40.1")
3dc8828f
SB
5111 (source (origin
5112 (method url-fetch)
1d68eb32 5113 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5114 (version-major+minor version) "/"
1d68eb32 5115 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5116 (sha256
5117 (base32
12fe4846 5118 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5119 (build-system meson-build-system)
3dc8828f 5120 (arguments
e762d943
RW
5121 '(#:glib-or-gtk? #t
5122 #:configure-flags
5123 (list "-Dsystemduserunitdir=no"
5124 "-Dtmpfilesdir=no"
5125 ;; Otherwise, the RUNPATH will lack the final path component.
5126 (string-append "-Dc_link_args=-Wl,-rpath="
5127 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5128 (native-inputs
5129 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5130 ("gettext" ,gettext-minimal)
5131 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5132 ("pkg-config" ,pkg-config)
5133 ("xsltproc" ,libxslt)))
5134 (inputs
5135 `(("avahi" ,avahi)
5136 ("docbook-xml" ,docbook-xml-4.2)
5137 ("docbook-xsl" ,docbook-xsl)
5138 ("dbus" ,dbus)
e762d943 5139 ("elogind" ,elogind)
3dc8828f 5140 ("fuse" ,fuse)
24a78aa6 5141 ("gcr" ,gcr)
3dc8828f 5142 ("glib" ,glib)
e762d943 5143 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5144 ("libarchive" ,libarchive)
5145 ("libbluray" ,libbluray)
8852ca24 5146 ("libcap" ,libcap)
3dc8828f
SB
5147 ("libcdio-paranoia" ,libcdio-paranoia)
5148 ("libgcrypt" ,libgcrypt)
e762d943 5149 ("libgdata" ,libgdata)
3dc8828f
SB
5150 ("libgphoto2" ,libgphoto2)
5151 ("libgudev" ,libgudev)
0ab9f949 5152 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5153 ("libmtp" ,libmtp)
e762d943 5154 ("libnfs" ,libnfs)
3dc8828f
SB
5155 ("libsecret" ,libsecret)
5156 ("libsmbclient" ,samba)
5157 ("libsoup" ,libsoup)
5158 ("libxml2" ,libxml2)
e762d943 5159 ("openssh" ,openssh)
8852ca24 5160 ("polkit" ,polkit)
3dc8828f
SB
5161 ("udisks" ,udisks)))
5162 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5163 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5164 (description
8f65585b 5165 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5166abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5167to all applications using the GIO API. It also supports exposing the GVFS
5168mounts to non-GIO applications using FUSE.
5169
5170GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5171DAV, and others.")
5172 (license license:lgpl2.0+)))
7c88b6bd
AW
5173
5174(define-public gusb
5175 (package
5176 (name "gusb")
536b3274 5177 (version "0.3.0")
7c88b6bd 5178 (source (origin
bbfb36f9
EF
5179 (method git-fetch)
5180 (uri (git-reference
5181 (url "https://github.com/hughsie/libgusb.git")
5182 (commit version)))
5183 (file-name (git-file-name name version))
7c88b6bd
AW
5184 (sha256
5185 (base32
bbfb36f9 5186 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5187 (build-system meson-build-system)
7c88b6bd 5188 (native-inputs
536b3274 5189 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5190 ("pkg-config" ,pkg-config)
5191 ("vala" ,vala)
7c88b6bd
AW
5192 ("gtk-doc" ,gtk-doc)))
5193 (propagated-inputs
5194 ;; Both of these are required by gusb.pc.
5195 `(("glib" ,glib)
5196 ("libusb" ,libusb)))
5197 (arguments
536b3274 5198 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5199 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5200 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5201 (description
5202 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5203asynchronous control, bulk and interrupt transfers with proper cancellation
5204and integration into a mainloop. This makes it easy to integrate low level
5205USB transfers with your high-level application or system daemon.")
5206 (license license:lgpl2.1+)))
0abe1d86
AW
5207
5208(define-public simple-scan
5209 (package
5210 (name "simple-scan")
4afb7dd9 5211 (version "3.34.2")
d9f6d587
TGR
5212 (source
5213 (origin
5214 (method url-fetch)
5215 (uri (string-append "mirror://gnome/sources/simple-scan/"
5216 (version-major+minor version) "/"
5217 "simple-scan-" version ".tar.xz"))
5218 (sha256
4afb7dd9 5219 (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp"))))
d9f6d587
TGR
5220 (build-system meson-build-system)
5221 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5222 (arguments
5223 '(#:glib-or-gtk? #t))
0abe1d86
AW
5224 (inputs
5225 `(("gtk" ,gtk+)
5226 ("zlib" ,zlib)
5227 ("cairo" ,cairo)
c501f592 5228 ("colord" ,colord)
0abe1d86
AW
5229 ("gdk-pixbuf" ,gdk-pixbuf)
5230 ("gusb" ,gusb)
4c928743 5231 ("libsane" ,sane-backends)))
0abe1d86 5232 (native-inputs
b94a6ca0 5233 `(("gettext" ,gettext-minimal)
0abe1d86 5234 ("itstool" ,itstool)
c501f592 5235 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5236 ("pkg-config" ,pkg-config)
bcb354ad
SB
5237 ("vala" ,vala)
5238 ("xmllint" ,libxml2)))
dff0eedb 5239 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5240 (synopsis "Document and image scanner")
d9f6d587
TGR
5241 (description
5242 "Document Scanner is an easy-to-use application that lets you connect your
5243scanner and quickly capture images and documents in an appropriate format. It
5244supports any scanner for which a suitable SANE driver is available, which is
5245almost all of them.")
0abe1d86 5246 (license license:gpl3+)))
7549f984 5247
ab466d79
RW
5248(define-public eolie
5249 (package
5250 (name "eolie")
fa8ef3ed 5251 (version "0.9.63")
ab466d79
RW
5252 (source (origin
5253 (method url-fetch)
00014781 5254 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5255 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5256 "eolie-" version ".tar.xz"))
ab466d79
RW
5257 (sha256
5258 (base32
fa8ef3ed 5259 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5260 (build-system meson-build-system)
ab466d79 5261 (arguments
00014781
RW
5262 `(#:glib-or-gtk? #t
5263 #:phases
ab466d79 5264 (modify-phases %standard-phases
f0c68100
EF
5265 (add-after 'unpack 'skip-gtk-update-icon-cache
5266 ;; Don't create 'icon-theme.cache'.
5267 (lambda _
5268 (substitute* "meson_post_install.py"
5269 (("gtk-update-icon-cache") "true"))
5270 #t))
ab466d79
RW
5271 (add-after 'wrap 'wrap-more
5272 (lambda* (#:key inputs outputs #:allow-other-keys)
5273 (let* ((out (assoc-ref outputs "out"))
5274 ;; These libraries must be on LD_LIBRARY_PATH.
5275 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5276 "atk" "gtk+" "gsettings-desktop-schemas"
5277 "gobject-introspection"))
5278 (path (string-join
5279 (map (lambda (lib)
5280 (string-append (assoc-ref inputs lib) "/lib"))
5281 libs)
5282 ":")))
5283 (wrap-program (string-append out "/bin/eolie")
5284 `("LD_LIBRARY_PATH" ":" prefix (,path))
5285 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5286 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5287 #t)))))
5288 (native-inputs
f85ca6ed 5289 `(("intltool" ,intltool)
ab466d79 5290 ("itstool" ,itstool)
d95f1041 5291 ("pkg-config" ,pkg-config)
d95f1041 5292 ("python" ,python)
f0c68100 5293 ("glib:bin" ,glib "bin")))
ab466d79
RW
5294 (inputs
5295 `(("gobject-introspection" ,gobject-introspection)
5296 ("glib-networking" ,glib-networking)
5297 ("cairo" ,cairo)
5298 ("gtk+" ,gtk+)
5299 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5300 ("python" ,python-wrapper)
d72f76df 5301 ("python-dateutil" ,python-dateutil)
00014781 5302 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5303 ("python-pygobject" ,python-pygobject)
5304 ("python-pycairo" ,python-pycairo)
00014781 5305 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5306 ("libsecret" ,libsecret)
5307 ("gtkspell3" ,gtkspell3)
5308 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5309 ("webkitgtk" ,webkitgtk)))
166b2c97 5310 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5311 (synopsis "Web browser for GNOME")
5312 (description
5313 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5314a secret password store, an adblocker, and a modern UI.")
5315 (license license:gpl3+)))
5316
7549f984
SB
5317(define-public epiphany
5318 (package
5319 (name "epiphany")
60680365 5320 (version "3.32.5")
7549f984
SB
5321 (source (origin
5322 (method url-fetch)
dd3266ec 5323 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5324 (version-major+minor version) "/"
dd3266ec 5325 "epiphany-" version ".tar.xz"))
7549f984
SB
5326 (sha256
5327 (base32
60680365 5328 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5329
5330 (build-system meson-build-system)
7549f984
SB
5331 (arguments
5332 ;; FIXME: tests run under Xvfb, but fail with:
5333 ;; /src/bookmarks/ephy-bookmarks/create:
5334 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5335 ;; subsystem
5336 ;; FAIL
6f48d9db 5337 '(#:tests? #f
e19f9c24 5338 #:glib-or-gtk? #t
bb7ff88f
EF
5339 #:phases
5340 (modify-phases %standard-phases
5341 (add-after 'unpack 'skip-gtk-update-icon-cache
5342 ;; Don't create 'icon-theme.cache'.
5343 (lambda _
5344 (substitute* "post_install.py"
5345 (("gtk-update-icon-cache") "true"))
5346 #t)))
e19f9c24
LF
5347 #:configure-flags
5348 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5349 (list (string-append "-Dc_link_args=-Wl,-rpath="
5350 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5351 (propagated-inputs
5352 `(("dconf" ,dconf)))
7549f984 5353 (native-inputs
fc5c5b92
R
5354 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5355 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5356 ("intltool" ,intltool)
7549f984 5357 ("itstool" ,itstool)
bcb354ad
SB
5358 ("pkg-config" ,pkg-config)
5359 ("xmllint" ,libxml2)))
7549f984
SB
5360 (inputs
5361 `(("avahi" ,avahi)
5362 ("gcr" ,gcr)
fc5c5b92 5363 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5364 ("glib-networking" ,glib-networking)
5365 ("gnome-desktop" ,gnome-desktop)
5366 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5367 ("json-glib" ,json-glib)
7549f984 5368 ("iso-codes" ,iso-codes)
8748e29c 5369 ("libdazzle" ,libdazzle)
7549f984
SB
5370 ("libnotify" ,libnotify)
5371 ("libsecret" ,libsecret)
7549f984 5372 ("libxslt" ,libxslt)
fc5c5b92 5373 ("nettle" ,nettle) ; for hogweed
7549f984 5374 ("sqlite" ,sqlite)
f85ca6ed 5375 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5376 (home-page "https://wiki.gnome.org/Apps/Web")
5377 (synopsis "GNOME web browser")
5378 (description
5379 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5380principles are simplicity and standards compliance.")
5381 (license license:gpl2+)))
a3856b2c
SB
5382
5383(define-public d-feet
5384 (package
5385 (name "d-feet")
458e9221 5386 (version "0.3.14")
a3856b2c
SB
5387 (source (origin
5388 (method url-fetch)
5389 (uri (string-append "mirror://gnome/sources/" name "/"
5390 (version-major+minor version) "/"
5391 name "-" version ".tar.xz"))
5392 (sha256
5393 (base32
458e9221 5394 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5395 (build-system glib-or-gtk-build-system)
5396 (arguments
5397 '(#:out-of-source? #f ; tests need to run in the source directory.
5398 #:phases
5399 (modify-phases %standard-phases
5400 (add-before
5401 'check 'pre-check
86aff791 5402 (lambda _
a3856b2c
SB
5403 ;; The test suite requires a running X server.
5404 (system "Xvfb :1 &")
5405 (setenv "DISPLAY" ":1")
5406 ;; Don't fail on missing '/etc/machine-id'.
5407 (setenv "DBUS_FATAL_WARNINGS" "0")
5408 ;; tests.py and window.py don't meet E402:
5409 ;; E402 module level import not at top of file
5410 (substitute* "src/tests/Makefile"
86aff791
MW
5411 (("--ignore=E123") "--ignore=E123,E402"))
5412 #t))
a3856b2c
SB
5413 (add-after
5414 'install 'wrap-program
5415 (lambda* (#:key outputs #:allow-other-keys)
5416 (let ((prog (string-append (assoc-ref outputs "out")
5417 "/bin/d-feet")))
5418 (wrap-program prog
5419 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5420 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5421 #t))))))
a3856b2c
SB
5422 (native-inputs
5423 `(("intltool" ,intltool)
5424 ("itstool" ,itstool)
5425 ("pkg-config" ,pkg-config)
5426 ("python-pep8" ,python-pep8)
5427 ("xmllint" ,libxml2)
ff337525 5428 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5429 (inputs
5430 `(("gobject-introspection" ,gobject-introspection)
5431 ("gtk+" ,gtk+)
5432 ("python" ,python-wrapper)
458e9221 5433 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5434 ("python-pygobject" ,python-pygobject)))
5435 (home-page "https://wiki.gnome.org/Apps/DFeet")
5436 (synopsis "D-Bus debugger")
5437 (description
5438 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5439of running programs and invoke methods on those interfaces.")
5440 (license license:gpl2+)))
c3b97bd9
SB
5441
5442(define-public yelp-xsl
5443 (package
5444 (name "yelp-xsl")
b3640e79 5445 (version "3.32.1")
c3b97bd9
SB
5446 (source (origin
5447 (method url-fetch)
5448 (uri (string-append "mirror://gnome/sources/" name "/"
5449 (version-major+minor version) "/"
5450 name "-" version ".tar.xz"))
5451 (sha256
5452 (base32
b3640e79 5453 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5454 (build-system gnu-build-system)
5455 (native-inputs
5456 `(("intltool" ,intltool)
5457 ("itstool" ,itstool)
5458 ("xmllint" ,libxml2)))
5459 (home-page "https://wiki.gnome.org/Apps/Yelp")
5460 (synopsis "XSL stylesheets for Yelp")
5461 (description
5462 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5463to format Docbook and Mallard documents.")
5464 (license license:gpl2+)))
de3d612a
SB
5465
5466(define-public yelp
5467 (package
5468 (name "yelp")
1f1b6d60 5469 (version "3.32.2")
de3d612a
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
1f1b6d60 5477 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5478 (build-system glib-or-gtk-build-system)
5479 (native-inputs
5480 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5481 ("intltool" ,intltool)
5482 ("itstool" ,itstool)
5483 ("pkg-config" ,pkg-config)))
5484 (propagated-inputs
5485 `(("dconf" ,dconf)))
5486 (inputs
ad1b7d8b
SB
5487 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5488 ("libxslt" ,libxslt)
de3d612a 5489 ("sqlite" ,sqlite)
4c28ca1d
SB
5490 ("webkitgtk" ,webkitgtk)
5491 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5492 (home-page "https://wiki.gnome.org/Apps/Yelp")
5493 (synopsis "GNOME help browser")
5494 (description
5495 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5496man, info, and HTML documents. It can locate documents according to the
5497freedesktop.org help system specification.")
5498 (license license:gpl2+)))
122d0d10
SB
5499
5500(define-public yelp-tools
5501 (package
5502 (name "yelp-tools")
2089bca5 5503 (version "3.28.0")
122d0d10
SB
5504 (source (origin
5505 (method url-fetch)
5506 (uri (string-append "mirror://gnome/sources/" name "/"
5507 (version-major+minor version) "/"
5508 name "-" version ".tar.xz"))
5509 (sha256
5510 (base32
2089bca5 5511 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5512 (build-system gnu-build-system)
5513 (native-inputs
5514 `(("pkg-config" ,pkg-config)))
5515 (propagated-inputs
5516 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5517 `(("itstool" ,itstool)
5518 ("xmllint" ,libxml2)
5519 ("xsltproc" ,libxslt)))
5520 (inputs
5521 `(("yelp-xsl" ,yelp-xsl)))
5522 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5523 (synopsis "Yelp documentation tools")
5524 (description
5525 "Yelp-tools is a collection of scripts and build utilities to help create,
5526manage, and publish documentation for Yelp and the web. Most of the heavy
5527lifting is done by packages like yelp-xsl and itstool. This package just
5528wraps things up in a developer-friendly way.")
5529 (license license:gpl2+)))
af8f9f23 5530
4ed041d9
MB
5531(define-public yelp-tools/fixed
5532 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5533 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5534 ;; the next rebuild cycle.
5535 (hidden-package
5536 (package/inherit
5537 yelp-tools
5538 (propagated-inputs
5539 `(("itstool" ,itstool/fixed)
5540 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5541
af8f9f23
RW
5542(define-public libgee
5543 (package
5544 (name "libgee")
4c2c5ae6 5545 (version "0.20.2")
af8f9f23
RW
5546 (source (origin
5547 (method url-fetch)
84a1b007 5548 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5549 (version-major+minor version) "/"
84a1b007 5550 "libgee-" version ".tar.xz"))
af8f9f23
RW
5551 (sha256
5552 (base32
4c2c5ae6 5553 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
5554 (build-system gnu-build-system)
5555 (arguments
5556 `(#:phases
5557 (modify-phases %standard-phases
5558 (add-after 'unpack 'fix-introspection-install-dir
5559 (lambda* (#:key outputs #:allow-other-keys)
5560 (let ((out (assoc-ref outputs "out")))
5561 (substitute* "gee/Makefile.in"
5562 (("@INTROSPECTION_GIRDIR@")
5563 (string-append out "/share/gir-1.0/"))
5564 (("@INTROSPECTION_TYPELIBDIR@")
5565 (string-append out "/lib/girepository-1.0/")))))))))
5566 (native-inputs
5567 `(("glib" ,glib "bin")
5568 ("pkg-config" ,pkg-config)))
5569 (inputs
5570 `(("glib" ,glib)
5571 ("gobject-introspection" ,gobject-introspection)))
5572 (home-page "https://wiki.gnome.org/Projects/Libgee")
5573 (synopsis "GObject collection library")
5574 (description
5575 "Libgee is a utility library providing GObject-based interfaces and
5576classes for commonly used data structures.")
5577 (license license:lgpl2.1+)))
b0f9c4b8
RW
5578
5579(define-public gexiv2
5580 (package
5581 (name "gexiv2")
b1a8b408 5582 (version "0.12.0")
b0f9c4b8
RW
5583 (source (origin
5584 (method url-fetch)
5585 (uri (string-append "mirror://gnome/sources/" name "/"
5586 (version-major+minor version) "/"
5587 name "-" version ".tar.xz"))
5588 (sha256
5589 (base32
b1a8b408 5590 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5591 (build-system meson-build-system)
b0f9c4b8 5592 (native-inputs
b1a8b408
KK
5593 `(("gcr" ,gcr)
5594 ("glib" ,glib "bin")
5595 ("pkg-config" ,pkg-config)
5596 ("vala" ,vala)))
b0f9c4b8
RW
5597 (propagated-inputs
5598 ;; Listed in "Requires" section of gexiv2.pc
5599 `(("exiv2" ,exiv2)))
5600 (inputs
5601 `(("glib" ,glib)
5602 ("gobject-introspection" ,gobject-introspection)))
5603 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5604 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5605 (description
5606 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5607allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5608metadata in photo and video files of various formats.")
5609 (license license:gpl2+)))
fed5a689
RW
5610
5611(define-public shotwell
5612 (package
5613 (name "shotwell")
a1c6fb52 5614 (version "0.30.7")
fed5a689
RW
5615 (source (origin
5616 (method url-fetch)
5497d682 5617 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5618 (version-major+minor version) "/"
5497d682 5619 "shotwell-" version ".tar.xz"))
fed5a689
RW
5620 (sha256
5621 (base32
a1c6fb52 5622 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l"))))
3b79afa6
KK
5623 (build-system meson-build-system)
5624 (arguments
5a0beca3
EF
5625 '(#:glib-or-gtk? #t
5626 #:phases
5627 (modify-phases %standard-phases
5628 (add-after 'unpack 'skip-gtk-update-icon-cache
5629 (lambda _
5630 (substitute* "build-aux/meson/postinstall.py"
5631 (("gtk-update-icon-cache") (which "true"))
5632 (("update-desktop-database") (which "true")))
5633 #t)))))
735b8db6
TGR
5634 (propagated-inputs
5635 `(("dconf" ,dconf)))
fed5a689 5636 (native-inputs
5a0beca3
EF
5637 `(("gettext" ,gettext-minimal)
5638 ("glib:bin" ,glib "bin")
735b8db6 5639 ("itstool" ,itstool)
3b79afa6 5640 ("pkg-config" ,pkg-config)
735b8db6 5641 ("vala" ,vala)))
fed5a689 5642 (inputs
5a0beca3
EF
5643 `(("gcr" ,gcr)
5644 ("gexiv2" ,gexiv2)
fed5a689 5645 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5646 ("gstreamer" ,gstreamer)
5647 ("json-glib" ,json-glib)
dfb0323d 5648 ("libgdata" ,libgdata)
fed5a689 5649 ("libgee" ,libgee)
5a0beca3
EF
5650 ("libgphoto2" ,libgphoto2)
5651 ("libgudev" ,libgudev)
fed5a689 5652 ("libraw" ,libraw)
fed5a689
RW
5653 ("libsoup" ,libsoup)
5654 ("libxml2" ,libxml2)
5a0beca3
EF
5655 ("sqlite" ,sqlite)
5656 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5657 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5658 (synopsis "Photo manager for GNOME 3")
5659 (description
5660 "Shotwell is a digital photo manager designed for the GNOME desktop
5661environment. It allows you to import photos from disk or camera, organize
5662them by keywords and events, view them in full-window or fullscreen mode, and
5663share them with others via social networking and more.")
5664 (license license:lgpl2.1+)))
293ff8b2
DT
5665
5666(define-public file-roller
5667 (package
5668 (name "file-roller")
dcae4270 5669 (version "3.32.3")
293ff8b2
DT
5670 (source (origin
5671 (method url-fetch)
f89a27c6 5672 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5673 (version-major+minor version) "/"
f89a27c6 5674 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5675 (sha256
5676 (base32
dcae4270 5677 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5678 (build-system meson-build-system)
293ff8b2 5679 (native-inputs
0a500745
RW
5680 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5681 ("intltool" ,intltool)
4c96e5d1 5682 ("itstool" ,itstool)
0a500745
RW
5683 ("pkg-config" ,pkg-config)
5684 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5685 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5686 ;; TODO: Add libnautilus.
5687 (inputs
5688 `(("gtk+" ,gtk+)
5689 ("gdk-pixbuf" ,gdk-pixbuf)
5690 ("json-glib" ,json-glib)
5691 ("libarchive" ,libarchive)
5692 ("libnotify" ,libnotify)
4c96e5d1 5693 ("nettle" ,nettle)
293ff8b2
DT
5694 ("libxml2" ,libxml2)))
5695 (synopsis "Graphical archive manager for GNOME")
5696 (description "File Roller is an archive manager for the GNOME desktop
5697environment that allows users to view, unpack, and create compressed archives
5698such as gzip tarballs.")
5699 (home-page "http://fileroller.sourceforge.net/")
5700 (license license:gpl2+)))
7ce49365
SB
5701
5702(define-public gnome-session
5703 (package
5704 (name "gnome-session")
1fc2ec79 5705 (version "3.32.0")
7ce49365
SB
5706 (source (origin
5707 (method url-fetch)
5708 (uri (string-append "mirror://gnome/sources/" name "/"
5709 (version-major+minor version) "/"
5710 name "-" version ".tar.xz"))
5711 (sha256
5712 (base32
1fc2ec79 5713 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5714 (arguments
df278071
RW
5715 '(#:glib-or-gtk? #t
5716 #:phases
2914af3c
AW
5717 (modify-phases %standard-phases
5718 (add-before 'configure 'pre-configure
5719 (lambda* (#:key outputs #:allow-other-keys)
5720 ;; Use elogind instead of systemd.
df278071
RW
5721 (substitute* "meson.build"
5722 (("libsystemd-login") "libelogind")
5723 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5724 (substitute* "gnome-session/gsm-systemd.c"
5725 (("#include <systemd/sd-login.h>")
5726 "#include <elogind/sd-login.h>"))
df278071 5727 ;; Remove uses of the systemd daemon.
803ab416
SB
5728 (substitute* "gnome-session/gsm-autostart-app.c"
5729 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5730 #t))
5731 (add-after 'install 'wrap-gnome-session
5732 (lambda* (#:key inputs outputs #:allow-other-keys)
5733 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5734 (let ((glib (assoc-ref inputs "glib:bin"))
5735 (out (assoc-ref outputs "out")))
5736 (wrap-program (string-append out "/bin/gnome-session")
5737 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5738 #t))))
6cbc8d57 5739
2914af3c 5740 #:configure-flags
df278071
RW
5741 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5742 "-Dman=false" ; FIXME: disabled because of docbook validation error
5743 "-Dsystemd_journal=false")))
5744 (build-system meson-build-system)
7ce49365
SB
5745 (native-inputs
5746 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5747 ("pkg-config" ,pkg-config)
5748 ("intltool" ,intltool)
df278071
RW
5749 ("xsltproc" ,libxslt)
5750 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5751 ("docbook-xsl" ,docbook-xsl)
5752 ("docbook-xml" ,docbook-xml)
5753 ("xmlto" ,xmlto)))
7ce49365 5754 (inputs
2914af3c
AW
5755 `(("elogind" ,elogind)
5756 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5757 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5758 ("gtk+" ,gtk+)
5759 ("json-glib" ,json-glib)
5760 ("libsm" ,libsm)
5761 ("libxcomposite" ,libxcomposite)
5762 ("libxtst" ,libxtst)
5763 ("mesa" ,mesa)
5764 ("upower" ,upower)
5765 ("xtrans" ,xtrans)))
5766 (synopsis "Session manager for GNOME")
5767 (description
5768 "This package contains the GNOME session manager, as well as a
5769configuration program to choose applications starting on login.")
5770 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5771 (license license:gpl2+)))
f47ba77e
SB
5772
5773(define-public gjs
5774 (package
5775 (name "gjs")
d054fbf5 5776 (version "1.56.2")
f47ba77e
SB
5777 (source (origin
5778 (method url-fetch)
5779 (uri (string-append "mirror://gnome/sources/" name "/"
5780 (version-major+minor version) "/"
5781 name "-" version ".tar.xz"))
5782 (sha256
5783 (base32
d054fbf5 5784 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5785 (build-system gnu-build-system)
5786 (arguments
5787 '(#:phases
5788 (modify-phases %standard-phases
5789 (add-before
5790 'check 'pre-check
5791 (lambda _
fc119619
MW
5792 ;; The test suite requires a running X server.
5793 (system "Xvfb :1 &")
5794 (setenv "DISPLAY" ":1")
5795
f47ba77e
SB
5796 ;; For the missing /etc/machine-id.
5797 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5798
144f94d0
KK
5799 ;; Our mozjs-38 package does not compile the required Intl API
5800 ;; support for these failing tests.
5801 (substitute* "installed-tests/js/testLocale.js"
5802 ((".*toBeDefined.*") "")
5803 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5804 (substitute* "installed-tests/scripts/testCommandLine.sh"
5805 (("Valentín") "")
5806 (("☭") ""))
f47ba77e
SB
5807 #t)))))
5808 (native-inputs
8a831c6f 5809 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5810 ("pkg-config" ,pkg-config)
5811 ("xmllint" ,libxml2)
5812 ;; For testing
5813 ("dbus-launch" ,dbus)
5814 ("uuidgen" ,util-linux)
ebebee94 5815 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5816 (propagated-inputs
5817 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5818 `(("cairo" ,cairo)
5819 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5820 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5821 (inputs
5822 `(("gtk+" ,gtk+)
5823 ("readline" ,readline)))
5824 (synopsis "Javascript bindings for GNOME")
f032d0be 5825 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5826 (description
5827 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5828javascript engine and the GObject introspection framework.")
5829 (license license:gpl2+)))
329d731b
DH
5830
5831(define-public gedit
5832 (package
5833 (name "gedit")
480c9226 5834 (version "3.32.2")
329d731b
DH
5835 (source (origin
5836 (method url-fetch)
5837 (uri (string-append "mirror://gnome/sources/" name "/"
5838 (version-major+minor version) "/"
5839 name "-" version ".tar.xz"))
5840 (sha256
5841 (base32
480c9226
KK
5842 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5843 (build-system meson-build-system)
329d731b 5844 (arguments
480c9226
KK
5845 `(#:glib-or-gtk? #t
5846 #:configure-flags
5847 ;; Otherwise, the RUNPATH will lack the final path component.
5848 (list (string-append "-Dc_link_args=-Wl,-rpath="
5849 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5850
5851 ;; XXX: Generated .h files are sometimes used before being built.
5852 #:parallel-build? #f
5853
480c9226 5854 #:phases
329d731b 5855 (modify-phases %standard-phases
480c9226
KK
5856 (add-after 'unpack 'skip-gtk-update-icon-cache
5857 ;; Don't create 'icon-theme.cache'.
5858 (lambda _
5859 (substitute* "build-aux/meson/post_install.py"
5860 (("gtk-update-icon-cache") (which "true")))
5861 #t))
5862 (add-after 'unpack 'patch-libgd-fetch
5863 (lambda* (#:key inputs #:allow-other-keys)
5864 (let ((libgd (assoc-ref inputs "libgd")))
5865 ;; Calling git is unnecessary because libgd is fetched as a
5866 ;; native input to this package.
5867 (substitute* "meson.build"
5868 ((".*git.*") ""))
5869 (copy-recursively libgd "subprojects/libgd")
5870 #t)))
5871 (add-after 'install 'wrap-gedit
5872 (lambda* (#:key inputs outputs #:allow-other-keys)
5873 (let ((out (assoc-ref outputs "out"))
5874 (gtksourceview (assoc-ref inputs "gtksourceview"))
5875 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5876 (python-path (getenv "PYTHONPATH")))
5877 (wrap-program (string-append out "/bin/gedit")
5878 ;; For plugins.
5879 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5880 `("PYTHONPATH" ":" prefix (,python-path))
5881 ;; For language-specs.
5882 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5883 "/share")))))
5884 #t)))))
329d731b
DH
5885 (propagated-inputs
5886 `(("dconf" ,dconf)))
5887 (native-inputs
480c9226
KK
5888 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5889 ("intltool" ,intltool)
b3546174 5890 ("itstool" ,itstool)
480c9226 5891 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5892 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5893 ("libgd"
5894 ,(origin
5895 (method git-fetch)
5896 (uri (git-reference
5897 (url "https://gitlab.gnome.org/GNOME/libgd")
5898 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5899 (file-name (git-file-name "libgd" version))
5900 (sha256
5901 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5902 ("pkg-config" ,pkg-config)))
5903 (inputs
5904 `(("glib" ,glib)
0d2df50c 5905 ("gspell" ,gspell)
329d731b 5906 ("gtk+" ,gtk+)
480c9226 5907 ("gtksourceview" ,gtksourceview)
329d731b
DH
5908 ("libpeas" ,libpeas)
5909 ("libxml2" ,libxml2)
329d731b
DH
5910 ("iso-codes" ,iso-codes)
5911 ("python-pygobject" ,python-pygobject)
5912 ("python" ,python)
5913 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5914 ("libx11" ,libx11)
5915 ("vala" ,vala)
5916 ("adwaita-icon-theme" ,adwaita-icon-theme)
5917 ("libsoup" ,libsoup)
5918 ("gnome-desktop" ,gnome-desktop)))
5919 (home-page "https://wiki.gnome.org/Apps/Gedit")
5920 (synopsis "GNOME text editor")
5921 (description "While aiming at simplicity and ease of use, gedit is a
5922powerful general purpose text editor.")
5923 (license license:gpl2+)))
b7179363
SB
5924
5925(define-public zenity
5926 (package
5927 (name "zenity")
4f581bd0 5928 (version "3.32.0")
b7179363
SB
5929 (source (origin
5930 (method url-fetch)
5958df04 5931 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5932 (version-major+minor version) "/"
5958df04 5933 "zenity-" version ".tar.xz"))
b7179363
SB
5934 (sha256
5935 (base32
4f581bd0 5936 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5937 (build-system gnu-build-system)
5938 (native-inputs
b94a6ca0 5939 `(("gettext" ,gettext-minimal)
b7179363
SB
5940 ("itstool" ,itstool)
5941 ("pkg-config" ,pkg-config)))
5942 (inputs
5943 `(("libnotify" ,libnotify)
5944 ("webkitgtk" ,webkitgtk)))
5945 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5946 (home-page "https://www.gnome.org")
b7179363
SB
5947 (description
5948 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5949to display dialog boxes from the commandline and shell scripts.")
5950 (license license:lgpl2.0+)))
60c3627c
SB
5951
5952(define-public mutter
5953 (package
5954 (name "mutter")
edf43f68 5955 (version "3.32.2")
60c3627c 5956 (source (origin
86c44e72
KK
5957 (method url-fetch)
5958 (uri (string-append "mirror://gnome/sources/" name "/"
5959 (version-major+minor version) "/"
5960 name "-" version ".tar.xz"))
60c3627c
SB
5961 (sha256
5962 (base32
edf43f68 5963 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5964 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5965 ;; versions of cogl and clutter. As a result, many of the inputs,
5966 ;; propagated-inputs, and configure flags used in cogl and clutter are
5967 ;; needed here as well.
edf43f68 5968 (build-system meson-build-system)
60c3627c 5969 (arguments
edf43f68
KK
5970 '(;; XXX: All mutter tests fail with the following error:
5971 ;; Settings schema 'org.gnome.mutter' is not installed
5972 #:tests? #f
5973 #:glib-or-gtk? #t
5974 #:configure-flags
5975 ;; Otherwise, the RUNPATH will lack the final path component.
5976 (list (string-append "-Dc_link_args=-Wl,-rpath="
5977 (assoc-ref %outputs "out") "/lib:"
5978 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
5979
5980 ;; The following flags are needed for the bundled clutter
edf43f68 5981 (string-append "-Dxwayland_path="
d633f2f6
RH
5982 (assoc-ref %build-inputs "xorg-server-xwayland")
5983 "/bin/Xwayland")
5984
a88d5a0c 5985 ;; the remaining flags are needed for the bundled cogl
edf43f68 5986 (string-append "-Dopengl_libname="
a88d5a0c 5987 (assoc-ref %build-inputs "mesa")
f23052a6
DC
5988 "/lib/libGL.so"))
5989 #:phases
5990 (modify-phases %standard-phases
edf43f68
KK
5991 (add-after 'unpack 'disable-werror
5992 (lambda _
5993 ;; XXX: build fails with [-Werror]:
5994 ;; backends/meta-cursor-renderer.c:112:5: error:
5995 ;; implicit declaration of function ?roundf?
5996 (substitute* "meson.build"
5997 (("'-Werror=.*',") ""))
5998 #t))
86c44e72
KK
5999 ;; Replace references to systemd libraries to elogind references.
6000 (add-before 'configure 'use-elogind
6001 (lambda _
edf43f68 6002 (substitute* (list "meson.build"
86c44e72
KK
6003 "src/backends/native/meta-launcher.c"
6004 "src/core/main.c")
6005 (("systemd") "elogind"))
6006 #t)))))
60c3627c
SB
6007 (native-inputs
6008 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6009 ("gobject-introspection" ,gobject-introspection)
6010 ("intltool" ,intltool)
f23052a6 6011 ("pkg-config" ,pkg-config)
edf43f68 6012 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6013 ;; For git build
6014 ("autoconf" ,autoconf)
6015 ("automake" ,automake)
6016 ("libtool" ,libtool)))
60c3627c 6017 (propagated-inputs
a88d5a0c
MW
6018 `(;; libmutter.pc refers to these:
6019 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6020 ("gtk+" ,gtk+)
6021 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6022 ("atk" ,atk)
6023 ("cairo" ,cairo)
6024 ("gdk-pixbuf" ,gdk-pixbuf)
6025 ("glib" ,glib)
a88d5a0c
MW
6026 ("json-glib" ,json-glib)
6027 ("libinput" ,libinput)
6028 ("libx11" ,libx11)
6029 ("libxcomposite" ,libxcomposite)
6030 ("libxdamage" ,libxdamage)
6031 ("libxext" ,libxext)
6032 ("libxfixes" ,libxfixes)
6033 ("libxkbcommon" ,libxkbcommon)
6034 ("libxrandr" ,libxrandr)
6035 ("mesa" ,mesa)
6036 ("pango" ,pango)
6037 ("udev" ,eudev)
a88d5a0c 6038 ("xinput" ,xinput)))
60c3627c 6039 (inputs
86c44e72
KK
6040 `(("elogind" ,elogind)
6041 ("gnome-desktop" ,gnome-desktop)
edf43f68 6042 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6043 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6044 ("libgudev" ,libgudev)
60c3627c
SB
6045 ("libice" ,libice)
6046 ("libsm" ,libsm)
edf43f68 6047 ("libwacom" ,libwacom)
60c3627c 6048 ("libxkbfile" ,libxkbfile)
a88d5a0c 6049 ("libxrandr" ,libxrandr)
86c44e72 6050 ("libxtst" ,libxtst)
edf43f68 6051 ("pipewire" ,pipewire)
60c3627c
SB
6052 ("startup-notification" ,startup-notification)
6053 ("upower-glib" ,upower)
6054 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6055 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6056 ("zenity" ,zenity)))
6057 (synopsis "Window and compositing manager")
f032d0be 6058 (home-page "https://www.gnome.org")
60c3627c
SB
6059 (description
6060 "Mutter is a window and compositing manager that displays and manages your
6061desktop via OpenGL. Mutter combines a sophisticated display engine using the
6062Clutter toolkit with solid window-management logic inherited from the Metacity
6063window manager.")
86c44e72 6064 (license license:gpl2+)))
685cee87
SB
6065
6066(define-public gnome-online-accounts
6067 (package
6068 (name "gnome-online-accounts")
aa200347 6069 (version "3.32.1")
685cee87
SB
6070 (source (origin
6071 (method url-fetch)
6072 (uri (string-append "mirror://gnome/sources/" name "/"
6073 (version-major+minor version) "/"
6074 name "-" version ".tar.xz"))
6075 (sha256
6076 (base32
aa200347 6077 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 6078 (outputs '("out" "lib"))
685cee87 6079 (build-system glib-or-gtk-build-system)
14c297fd
TS
6080 (arguments
6081 `(#:configure-flags
6082 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6083 #:phases
6084 (modify-phases %standard-phases
6085 (add-before 'configure 'patch-libgoa-output
6086 (lambda* (#:key outputs #:allow-other-keys)
6087 (let ((lib (assoc-ref outputs "lib")))
6088 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6089 (("@prefix@") lib)
6090 (("@exec_prefix@") lib)
6091 (("@libdir@") (string-append lib "/lib"))
6092 (("@includedir@") (string-append lib "/include"))
6093 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6094 ;; Make sure gobject-introspection knows about the output
6095 ;; too (see <https://bugs.gnu.org/36535>).
6096 (setenv "outputs" "out lib")
14c297fd 6097 #t))))))
685cee87
SB
6098 (native-inputs
6099 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6100 ("gobject-introspection" ,gobject-introspection)
6101 ("intltool" ,intltool)
6102 ("pkg-config" ,pkg-config)
ebb2873d 6103 ("vala" ,vala)
685cee87
SB
6104 ("xsltproc" ,libxslt)))
6105 (propagated-inputs
6106 `(("glib" ,glib) ; required by goa-1.0.pc
6107 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6108 (inputs
6109 `(("docbook-xsl" ,docbook-xsl)
6110 ("json-glib" ,json-glib)
6111 ("libsecret" ,libsecret)
6112 ("rest" ,rest)
685cee87
SB
6113 ("webkitgtk" ,webkitgtk)))
6114 (synopsis "Single sign-on framework for GNOME")
6115 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6116 (description
6117 "GNOME Online Accounts provides interfaces so that applications and
6118libraries in GNOME can access the user's online accounts. It has providers for
6119Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6120Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6121 (license license:lgpl2.0+)))
df217748
SB
6122
6123(define-public evolution-data-server
6124 (package
6125 (name "evolution-data-server")
2196a8d4 6126 (version "3.32.4")
df217748
SB
6127 (source (origin
6128 (method url-fetch)
6129 (uri (string-append "mirror://gnome/sources/" name "/"
6130 (version-major+minor version) "/"
6131 name "-" version ".tar.xz"))
e1f174ae 6132 (patches (search-patches "evolution-data-server-locales.patch"))
df217748
SB
6133 (sha256
6134 (base32
2196a8d4 6135 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6136 (build-system cmake-build-system)
df217748 6137 (arguments
b468eedc
RW
6138 '(#:configure-flags
6139 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6140 (runpaths (map (lambda (s)
6141 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6142 '("addressbook-backends" "calendar-backends"
6143 "camel-providers" "credential-modules"
6144 "registry-modules"))))
6145 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6146 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6147 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6148 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6149 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6150 (string-append lib "/evolution-data-server;")
6151 (string-join runpaths ";"))
6152 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6153 #:phases
6154 (modify-phases %standard-phases
b468eedc
RW
6155 (add-after 'unpack 'disable-failing-tests
6156 (lambda _
6157 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6158 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6159 (delete-file-recursively "tests/book-migration")
6160 (substitute* "tests/CMakeLists.txt"
6161 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6162 ;; tests/libebook/client/test-book-client-view-operations:8077):
6163 ;; e-data-server-WARNING **:
6164 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6165 ;; runtime check failed:
6166 ;; (!g_main_context_pending (closure->main_context))
6167 (substitute* "tests/libebook/client/CMakeLists.txt"
6168 (("test-book-client-view-operations") ""))
b468eedc 6169 #t))
743aebd7 6170 (add-after 'unpack 'patch-paths
df217748 6171 (lambda _
b468eedc
RW
6172 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6173 "tests/libedata-book/data-test-utils.c"
6174 "tests/libedata-book/test-book-cache-utils.c"
6175 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6176 (("/bin/rm") (which "rm")))
ac033c7b
MB
6177 #t))
6178 (add-before 'configure 'dont-override-rpath
6179 (lambda _
6180 (substitute* "CMakeLists.txt"
6181 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6182 ;; Remove it so the configure flag is respected.
6183 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6184 #t)))))
df217748
SB
6185 (native-inputs
6186 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6187 ("gobject-introspection" ,gobject-introspection)
6188 ("gperf" ,gperf)
6189 ("intltool" ,intltool)
6190 ("pkg-config" ,pkg-config)
a73c1cf8 6191 ("vala" ,vala)
743aebd7 6192 ("python" ,python-wrapper)))
df217748
SB
6193 (propagated-inputs
6194 ;; These are all in the Requires field of .pc files.
6195 `(("gtk+" ,gtk+)
6196 ("libical" ,libical)
6197 ("libsecret" ,libsecret)
6198 ("libsoup" ,libsoup)
6199 ("nss" ,nss)
6200 ("sqlite" ,sqlite)))
6201 (inputs
6202 `(("bdb" ,bdb)
6203 ("gcr" ,gcr)
14c297fd 6204 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6205 ("json-glib" ,json-glib)
b468eedc 6206 ("libcanberra" ,libcanberra)
743aebd7
MB
6207 ("libgweather" ,libgweather)
6208 ("mit-krb5" ,mit-krb5)
891199c6
MW
6209 ("openldap" ,openldap)
6210 ("webkitgtk" ,webkitgtk)))
df217748
SB
6211 (synopsis "Store address books and calendars")
6212 (home-page "https://wiki.gnome.org/Apps/Evolution")
6213 (description
6214 "This package provides a unified backend for programs that work with
6215contacts, tasks, and calendar information. It was originally developed for
6216Evolution (hence the name), but is now used by other packages as well.")
6217 (license license:lgpl2.0)))
bd7dfafa
SB
6218
6219(define-public caribou
6220 (package
6221 (name "caribou")
fe964bb5 6222 (version "0.4.21")
bd7dfafa
SB
6223 (source (origin
6224 (method url-fetch)
6225 (uri (string-append "mirror://gnome/sources/" name "/"
6226 (version-major+minor version) "/"
6227 name "-" version ".tar.xz"))
6228 (sha256
6229 (base32
fe964bb5 6230 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6231 (build-system glib-or-gtk-build-system)
6232 (arguments
6233 '(#:phases
6234 (modify-phases %standard-phases
6235 (add-before
6236 'build 'pre-build
6237 (lambda* (#:key outputs #:allow-other-keys)
6238 (let ((out (assoc-ref outputs "out")))
6239 ;; Use absolute shared library path in Caribou-1.0.typelib.
6240 (substitute* "libcaribou/Makefile"
6241 (("--shared-library=libcaribou.so")
6242 (string-append "--shared-library="
6243 out "/lib/libcaribou.so")))
6244 #t)))
6245 (add-after 'install 'wrap-programs
6246 (lambda* (#:key outputs #:allow-other-keys)
6247 (let* ((out (assoc-ref outputs "out"))
6248 (python-path (getenv "PYTHONPATH"))
6249 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6250 (for-each
6251 (lambda (prog)
6252 (wrap-program prog
6253 `("PYTHONPATH" ":" prefix (,python-path))
6254 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6255 (list (string-append out "/bin/caribou-preferences")
6256 (string-append out "/libexec/antler-keyboard"))))
6257 #t)))))
6258 (native-inputs
6259 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6260 ("gobject-introspection" ,gobject-introspection)
6261 ("intltool" ,intltool)
6262 ("pkg-config" ,pkg-config)
6263 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
6264 ("vala" ,vala)
6265 ("xsltproc" ,libxslt)))
6266 (propagated-inputs
6267 ;; caribou-1.0.pc refers to all these.
6268 `(("libgee" ,libgee)
6269 ("libxklavier" ,libxklavier)
6270 ("libxtst" ,libxtst)
6271 ("gtk+" ,gtk+)))
6272 (inputs
6273 `(("clutter" ,clutter)
6274 ("dconf" ,dconf)
6275 ("gtk+-2" ,gtk+-2)
6276 ("python-pygobject" ,python2-pygobject)))
6277 (synopsis "Text entry and UI navigation application")
6278 (home-page "https://wiki.gnome.org/Projects/Caribou")
6279 (description
6280 "Caribou is an input assistive technology intended for switch and pointer
6281users.")
6282 (license license:lgpl2.1)))
ba5dd105 6283
ba5dd105
SB
6284(define-public network-manager
6285 (package
6286 (name "network-manager")
6425d87a 6287 (version "1.18.4")
ba5dd105
SB
6288 (source (origin
6289 (method url-fetch)
6290 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6291 (version-major+minor version) "/"
6292 "NetworkManager-" version ".tar.xz"))
7d1861e2 6293 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6294 (sha256
6295 (base32
6425d87a 6296 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6297 (modules '((guix build utils)))
fd070f35 6298 (snippet
02710a9b
RW
6299 '(begin
6300 (substitute* "src/devices/wwan/nm-modem-manager.c"
6301 (("systemd") "elogind"))
6302 #t))))
ba5dd105
SB
6303 (build-system gnu-build-system)
6304 (outputs '("out"
6305 "doc")) ; 8 MiB of gtk-doc HTML
6306 (arguments
6307 '(#:configure-flags
6308 (let ((out (assoc-ref %outputs "out"))
6309 (doc (assoc-ref %outputs "doc"))
6310 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6311 "/sbin/dhclient")))
02710a9b
RW
6312 (list "--with-libnm-glib" ; needed by network-manager-applet
6313 "--with-systemd-journal=no"
6314 "--with-session-tracking=elogind"
6315 "--with-suspend-resume=elogind"
fd070f35
CM
6316 "--with-consolekit=no"
6317 "--with-crypto=gnutls"
ba5dd105
SB
6318 "--disable-config-plugin-ibft"
6319 "--sysconfdir=/etc"
6320 "--localstatedir=/var"
6321 (string-append "--with-udev-dir="
6322 out "/lib/udev")
6323 (string-append "--with-dbus-sys-dir="
6324 out "/etc/dbus-1/system.d")
6325 (string-append "--with-html-dir="
6326 doc "/share/gtk-doc/html")
6327 (string-append "--with-dhclient=" dhclient)))
6328 #:phases
6329 (modify-phases %standard-phases
02710a9b
RW
6330 ;; This bare "ls" invocation breaks some tests.
6331 (add-after 'unpack 'patch-ls-invocation
6332 (lambda _
6333 (substitute* "build-aux/ltmain.sh"
6334 (("`ls -")
6335 (string-append "`" (which "ls") " -")))
6336 #t))
b4f59d87
AW
6337 (add-before 'configure 'pre-configure
6338 (lambda _
6339 ;; These tests try to test aspects of network-manager's
6340 ;; functionality within restricted containers, but they don't
6341 ;; cope with being already in the Guix build jail as that jail
6342 ;; lacks some features that they would like to proxy over (like
6343 ;; a /sys mount).
d04687dc
HG
6344 (substitute* '("Makefile.in")
6345 (("src/platform/tests/test-address-linux") " ")
6346 (("src/platform/tests/test-cleanup-linux") " ")
6347 (("src/platform/tests/test-link-linux") " ")
6348 (("src/platform/tests/test-route-linux") " ")
02710a9b 6349 (("src/devices/tests/test-acd") "")
d04687dc
HG
6350 (("src/devices/tests/test-arping") " ")
6351 (("src/devices/tests/test-lldp") " ")
6352 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6353 #t))
45f80fce
RW
6354 (add-after 'unpack 'delete-failing-tests
6355 (lambda _
02710a9b 6356 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6357 ;; ERROR:libnm-core/tests/test-general.c:5842:
6358 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6359 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6360 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6361 ;; ERROR:libnm-core/tests/test-setting.c:907:
6362 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6363 (substitute* "Makefile.in"
6364 (("libnm-core/tests/test-general") " ")
6365 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6366 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6367 #t))
ba5dd105
SB
6368 (add-before 'check 'pre-check
6369 (lambda _
6370 ;; For the missing /etc/machine-id.
6371 (setenv "DBUS_FATAL_WARNINGS" "0")
6372 #t))
6373 (replace 'install
6374 (lambda _
45f80fce
RW
6375 (invoke "make"
6376 "sysconfdir=/tmp"
6377 "rundir=/tmp"
6378 "statedir=/tmp"
6379 "nmstatedir=/tmp/nm"
6380 "install")
6381 #t)))))
b93502d6
DC
6382 (propagated-inputs
6383 `(("glib" ,glib)))
ba5dd105
SB
6384 (native-inputs
6385 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6386 ("gobject-introspection" ,gobject-introspection)
d04687dc 6387 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6388 ("intltool" ,intltool)
d04687dc
HG
6389 ("libxslt" ,libxslt)
6390 ("libxml2" ,libxml2)
ba5dd105
SB
6391 ("pkg-config" ,pkg-config)
6392 ;; For testing.
6393 ("python" ,python-wrapper)
6394 ("python-dbus" ,python-dbus)
6395 ("python-pygobject" ,python-pygobject)))
6396 (inputs
02710a9b
RW
6397 `(("coreutils" ,coreutils) ; for ls
6398 ("curl" ,curl)
856ca567
KK
6399 ("cyrus-sasl" ,cyrus-sasl)
6400 ("dbus-glib" ,dbus-glib)
ba5dd105 6401 ("dnsmasq" ,dnsmasq)
856ca567 6402 ("eudev" ,eudev)
ba5dd105
SB
6403 ("gnutls" ,gnutls)
6404 ("iptables" ,iptables)
6405 ("isc-dhcp" ,isc-dhcp)
d04687dc 6406 ("jansson" ,jansson)
ba5dd105
SB
6407 ("libgcrypt" ,libgcrypt)
6408 ("libgudev" ,libgudev)
6409 ("libndp" ,libndp)
6410 ("libnl" ,libnl)
6411 ("libsoup" ,libsoup)
142bdcbc 6412 ("modem-manager" ,modem-manager)
c27e02bf 6413 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6414 ("polkit" ,polkit)
6415 ("ppp" ,ppp)
6416 ("readline" ,readline)
fd070f35
CM
6417 ("util-linux" ,util-linux)
6418 ("elogind" ,elogind)))
ba5dd105 6419 (synopsis "Network connection manager")
f032d0be 6420 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6421 (description
6422 "NetworkManager is a system network service that manages your network
6423devices and connections, attempting to keep active network connectivity when
6424available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6425devices, and provides VPN integration with a variety of different VPN
6426services.")
29d2f451
LC
6427 (license license:gpl2+)
6428 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6429
f2b96b3a
LC
6430(define-public network-manager-openvpn
6431 (package
6432 (name "network-manager-openvpn")
be1c4b07 6433 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6434 (version "1.8.10")
f2b96b3a
LC
6435 (source (origin
6436 (method url-fetch)
6437 (uri (string-append
6438 "mirror://gnome/sources/NetworkManager-openvpn/"
6439 (version-major+minor version)
6440 "/NetworkManager-openvpn-" version ".tar.xz"))
6441 (sha256
6442 (base32
7d87eede 6443 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6444 (build-system gnu-build-system)
6445 (arguments
633422b0
JL
6446 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6447 #:phases
6448 (modify-phases %standard-phases
6449 (add-after 'configure 'patch-path
6450 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6451 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6452 "/sbin/openvpn"))
6453 (modprobe (string-append (assoc-ref inputs "kmod")
6454 "/bin/modprobe"))
6455 (pretty-ovpn (string-append "\"" ovpn "\"")))
6456 (for-each
6457 (lambda (file)
6458 (substitute* file
6459 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6460 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6461 (("\"/sbin/openvpn\"") pretty-ovpn)
6462 (("/sbin/modprobe") modprobe)))
6463 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6464 #t)))))
f2b96b3a
LC
6465 (native-inputs
6466 `(("pkg-config" ,pkg-config)
6467 ("intltool" ,intltool)))
6468 (inputs
6469 `(("gtk+" ,gtk+)
633422b0 6470 ("kmod" ,kmod)
f2b96b3a
LC
6471 ("openvpn" ,openvpn)
6472 ("network-manager" ,network-manager)
6473 ("network-manager-applet" ,network-manager-applet) ;for libnma
6474 ("libsecret" ,libsecret)))
6475 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6476 (synopsis "OpenVPN plug-in for NetworkManager")
6477 (description
6478 "This extension of NetworkManager allows it to take care of connections
6479to virtual private networks (VPNs) via OpenVPN.")
6480 (license license:gpl2+)
6481 (properties `((upstream-name . "NetworkManager-openvpn")))))
6482
d376129f
JL
6483(define-public network-manager-vpnc
6484 (package
6485 (name "network-manager-vpnc")
6486 (version "1.2.6")
6487 (source (origin
6488 (method url-fetch)
6489 (uri (string-append
6490 "mirror://gnome/sources/NetworkManager-vpnc/"
6491 (version-major+minor version)
6492 "/NetworkManager-vpnc-" version ".tar.xz"))
6493 (sha256
6494 (base32
6495 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6496 (build-system gnu-build-system)
6497 (arguments
6498 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6499 #:phases
6500 (modify-phases %standard-phases
6501 (add-after 'configure 'patch-path
6502 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6503 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6504 "/sbin/vpnc"))
6505 (modprobe (string-append (assoc-ref inputs "kmod")
6506 "/bin/modprobe"))
6507 (pretty-ovpn (string-append "\"" vpnc "\"")))
6508 (substitute* "src/nm-vpnc-service.c"
6509 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6510 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6511 (("\"/sbin/vpnc\"") pretty-ovpn)
6512 (("/sbin/modprobe") modprobe)))
6513 #t)))))
6514 (native-inputs
6515 `(("pkg-config" ,pkg-config)
6516 ("intltool" ,intltool)))
6517 (inputs
6518 `(("gtk+" ,gtk+)
6519 ("kmod" ,kmod)
6520 ("vpnc" ,vpnc)
6521 ("network-manager" ,network-manager)
6522 ("network-manager-applet" ,network-manager-applet) ;for libnma
6523 ("libsecret" ,libsecret)))
6524 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6525 (synopsis "VPNC plug-in for NetworkManager")
6526 (description
6527 "Support for configuring virtual private networks based on VPNC.
6528Compatible with Cisco VPN concentrators configured to use IPsec.")
6529 (license license:gpl2+)
6530 (properties `((upstream-name . "NetworkManager-vpnc")))))
6531
8378c87a
EF
6532(define-public network-manager-openconnect
6533 (package
6534 (name "network-manager-openconnect")
6535 (version "1.2.6")
6536 (source (origin
6537 (method url-fetch)
6538 (uri (string-append
6539 "mirror://gnome/sources/NetworkManager-openconnect/"
6540 (version-major+minor version)
6541 "/NetworkManager-openconnect-" version ".tar.xz"))
6542 (sha256
6543 (base32
6544 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6545 (build-system gnu-build-system)
6546 (arguments
6547 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6548 #:phases
6549 (modify-phases %standard-phases
6550 (add-after 'configure 'patch-path
6551 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6552 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6553 "/sbin/openconnect"))
6554 (modprobe (string-append (assoc-ref inputs "kmod")
6555 "/bin/modprobe"))
6556 (pretty-ovpn (string-append "\"" openconnect "\"")))
6557 (substitute* "src/nm-openconnect-service.c"
6558 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6559 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6560 (("/sbin/modprobe") modprobe)))
6561 #t)))))
6562 (native-inputs
6563 `(("intltool" ,intltool)
6564 ("network-manager-applet" ,network-manager-applet) ;for libnma
6565 ("pkg-config" ,pkg-config)))
6566 (inputs
6567 `(("gcr" ,gcr)
6568 ("gtk+" ,gtk+)
6569 ("kmod" ,kmod)
6570 ("libsecret" ,libsecret)
6571 ("libxml2" ,libxml2)
6572 ("network-manager" ,network-manager)
6573 ("openconnect" ,openconnect)))
6574 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6575 (synopsis "OpenConnect plug-in for NetworkManager")
6576 (description
6577 "This extension of NetworkManager allows it to take care of connections
6578to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6579Cisco's AnyConnect SSL VPN.")
6580 (license license:gpl2+)
e52b9534
LC
6581 (properties `((upstream-name . "NetworkManager-openconnect")
6582
6583 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6584 ;; file refers to account "nm-openconnect". Specify it here
6585 ;; so that 'network-manager-service-type' creates it.
6586 (user-accounts . ("nm-openconnect"))))))
8378c87a 6587
e5e1df4d
DC
6588(define-public mobile-broadband-provider-info
6589 (package
6590 (name "mobile-broadband-provider-info")
310c89e3 6591 (version "20190116")
e5e1df4d
DC
6592 (source (origin
6593 (method url-fetch)
6594 (uri (string-append
6595 "mirror://gnome/sources/"
6596 "mobile-broadband-provider-info/" version "/"
6597 "mobile-broadband-provider-info-" version ".tar.xz"))
6598 (sha256
6599 (base32
310c89e3 6600 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6601 (build-system gnu-build-system)
6602 (arguments
310c89e3 6603 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6604 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6605 (synopsis "Database of broadband connection configuration")
6606 (description "Database of broadband connection configuration.")
6607 (license license:public-domain)))
6608
4d62a9d3
SB
6609(define-public network-manager-applet
6610 (package
6611 (name "network-manager-applet")
8fc3a337 6612 (version "1.8.24")
4d62a9d3
SB
6613 (source (origin
6614 (method url-fetch)
3df63444 6615 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6616 (version-major+minor version) "/"
3df63444 6617 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6618 (sha256
6619 (base32
8fc3a337 6620 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6621 (build-system meson-build-system)
6622 (arguments
be1c4b07
TGR
6623 '(#:configure-flags
6624 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6625 (list "-Dlibnm_gtk=true")
6626 #:glib-or-gtk? #t))
4d62a9d3
SB
6627 (native-inputs
6628 `(("intltool" ,intltool)
cd7f718e 6629 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6630 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6631 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6632 ("pkg-config" ,pkg-config)))
6633 (propagated-inputs
6634 ;; libnm-gtk.pc refers to all these.
6635 `(("dbus-glib" ,dbus-glib)
6636 ("gtk+" ,gtk+)
6637 ("network-manager" ,network-manager)))
6638 (inputs
cd7f718e
RW
6639 `(("gcr" ,gcr)
6640 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6641 ("libgudev" ,libgudev)
6642 ("libnotify" ,libnotify)
2116bfb3 6643 ("libsecret" ,libsecret)
240cee8a
KK
6644 ("libselinux" ,libselinux)
6645 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6646 ("modem-manager" ,modem-manager)
6647 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6648 (synopsis "Applet for managing network connections")
f032d0be 6649 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6650 (description
6651 "This package contains a systray applet for NetworkManager. It displays
6652the available networks and allows users to easily switch between them.")
6653 (license license:gpl2+)))
56196594
RW
6654
6655(define-public libxml++
6656 (package
6657 (name "libxml++")
8344a85e 6658 (version "3.0.1")
56196594
RW
6659 (source (origin
6660 (method url-fetch)
6661 (uri (string-append "mirror://gnome/sources/" name "/"
6662 (version-major+minor version) "/"
6663 name "-" version ".tar.xz"))
6664 (sha256
6665 (base32
8344a85e 6666 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6667 (build-system gnu-build-system)
6668 ;; libxml++-3.0.pc refers to all these.
6669 (propagated-inputs
6670 `(("libxml2" ,libxml2)
6671 ("glibmm" ,glibmm)))
6672 (native-inputs
6673 `(("perl" ,perl)
6674 ("pkg-config" ,pkg-config)))
6675 (home-page "http://libxmlplusplus.sourceforge.net/")
6676 (synopsis "C++ wrapper for XML parser library libxml2")
6677 (description
6678 "This package provides a C++ wrapper for the XML parser library
6679libxml2.")
6680 (license license:lgpl2.1+)))
df12f04a 6681
b61d9627
AW
6682(define-public libxml++-2
6683 (package
6684 (inherit libxml++)
6685 (name "libxml++")
6686 (version "2.40.1")
6687 (source (origin
6688 (method url-fetch)
6689 (uri (string-append "mirror://gnome/sources/" name "/"
6690 (version-major+minor version) "/"
6691 name "-" version ".tar.xz"))
6692 (sha256
6693 (base32
6694 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6695
df12f04a
SB
6696(define-public gdm
6697 (package
6698 (name "gdm")
bcca95dc 6699 (version "3.32.0")
df12f04a
SB
6700 (source (origin
6701 (method url-fetch)
6702 (uri (string-append "mirror://gnome/sources/" name "/"
6703 (version-major+minor version) "/"
6704 name "-" version ".tar.xz"))
6705 (sha256
6706 (base32
bcca95dc 6707 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6708 (build-system glib-or-gtk-build-system)
df12f04a
SB
6709 (arguments
6710 '(#:configure-flags
af37e6bb 6711 `("--without-plymouth"
957dbc0a 6712 "--disable-systemd-journal"
51bc8357
TS
6713
6714 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6715 ;; instead of having to replace it (i.e., stopping the mingetty
6716 ;; service for TTY 1 before starting GDM).
6717 "--with-initial-vt=7"
6718
89c86562
TS
6719 ;; Use '/etc/environment' for locale settings instead of the
6720 ;; systemd-specific '/etc/locale.conf'.
6721 "--with-lang-file=/etc/environment"
6722
b74ef0ba
RW
6723 ,(string-append "--with-udevdir="
6724 (assoc-ref %outputs "out") "/lib/udev")
6725
af37e6bb
AW
6726 "--localstatedir=/var"
6727 ,(string-append "--with-default-path="
6728 (string-join '("/run/setuid-programs"
6729 "/run/current-system/profile/bin"
6730 "/run/current-system/profile/sbin")
957dbc0a
AW
6731 ":"))
6732 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6733 ;; XDG_DATA_DIRS so that it finds its schemas.
6734 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6735 #:phases
6736 (modify-phases %standard-phases
6737 (add-before
6738 'configure 'pre-configure
e8c6e771 6739 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6740 ;; We don't have <systemd/sd-daemon.h>.
6741 (substitute* '("common/gdm-log.c"
6742 "daemon/gdm-server.c"
6743 "daemon/gdm-session-worker.c"
6744 "daemon/gdm-session-worker-job.c")
6745 (("#include <systemd/sd-daemon\\.h>") ""))
6746 ;; Use elogind for sd-login.
6747 (substitute* '("common/gdm-common.c"
6748 "daemon/gdm-manager.c"
6749 "libgdm/gdm-user-switching.c")
6750 (("#include <systemd/sd-login\\.h>")
6751 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6752 ;; Check for elogind.
6753 (substitute* '("configure")
6754 (("libsystemd")
6755 "libelogind"))
af37e6bb
AW
6756 ;; Look for system-installed sessions in
6757 ;; /run/current-system/profile/share.
6758 (substitute* '("libgdm/gdm-sessions.c"
6759 "daemon/gdm-session.c"
6760 "daemon/gdm-display.c"
6761 "daemon/gdm-launch-environment.c")
6762 (("DATADIR \"/x")
6763 "\"/run/current-system/profile/share/x")
6764 (("DATADIR \"/wayland")
6765 "\"/run/current-system/profile/share/wayland")
6766 (("DATADIR \"/gnome")
6767 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6768 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6769 "GDM_DBUS_DAEMON"
c9ff92b5 6770 "GDM_X_SERVER"
41fa9f18 6771 "GDM_X_SESSION"
c9ff92b5
TS
6772 ;; XXX: Remove this once GNOME Shell is
6773 ;; a dependency of GDM.
6774 "XDG_DATA_DIRS")))
6775 (substitute* "daemon/gdm-session.c"
6776 (("set_up_session_environment \\(self\\);")
6777 (apply string-append
6778 "set_up_session_environment (self);\n"
6779 (map (lambda (name)
6780 (string-append
6781 "gdm_session_set_environment_variable "
6782 "(self, \"" name "\","
6783 "g_getenv (\"" name "\"));\n"))
6784 propagate)))))
a430a350
TS
6785 ;; Find the configuration file using an environment variable.
6786 (substitute* '("common/gdm-settings.c")
e0e6756f 6787 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6788 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6789 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6790 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6791 ;; Use service-supplied path to X.
6792 (substitute* '("daemon/gdm-server.c")
6793 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6794 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6795 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6796 (("\"dbus-daemon\"")
6797 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6798 (("X_SERVER")
41fa9f18
TS
6799 "g_getenv (\"GDM_X_SERVER\")")
6800 (("GDMCONFDIR \"/Xsession\"")
6801 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6802 ;; Use an absolute path for GNOME Session.
6803 (substitute* "daemon/gdm-launch-environment.c"
6804 (("\"gnome-session\"")
6805 (string-append "\"" (assoc-ref inputs "gnome-session")
6806 "/bin/gnome-session\"")))
e8c6e771
TS
6807 ;; Do not automatically select the placeholder session.
6808 (substitute* "daemon/gdm-session.c"
6809 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6810 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6811 "(g_strcmp0(search_dirs[i], \""
6812 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6813 "\") == 0 && "
6814 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6815 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6816 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6817 #t))
8caa4589
TS
6818 ;; GDM requires that there be at least one desktop entry
6819 ;; file. This phase installs a hidden one that simply
6820 ;; fails. This enables users to use GDM with a
6821 ;; '~/.xsession' script with no other desktop entry files.
6822 ;; See <https://bugs.gnu.org/35068>.
6823 (add-after 'install 'install-placeholder-desktop-entry
6824 (lambda* (#:key inputs outputs #:allow-other-keys)
6825 (let* ((out (assoc-ref outputs "out"))
6826 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6827 (fail (string-append sessions "/fail.desktop")))
6828 (mkdir-p sessions)
6829 (with-output-to-file fail
6830 (lambda ()
6831 (for-each
6832 display
6833 '("[Desktop Entry]\n"
6834 "Encoding=UTF-8\n"
6835 "Type=Application\n"
6836 "Name=Fail\n"
6837 "Comment=This session fails immediately.\n"
6838 "NoDisplay=true\n"
6839 "Exec=false\n"))))
6840 #t)))
69544798
TS
6841 ;; GDM needs GNOME Session to run these applications. We link
6842 ;; their autostart files in `share/gdm/greeter/autostart'
6843 ;; because GDM explicitly tells GNOME Session to look there.
6844 ;;
6845 ;; XXX: GNOME Shell should be linked here too, but currently
6846 ;; GNOME Shell depends on GDM.
6847 (add-after 'install 'link-autostart-files
6848 (lambda* (#:key inputs outputs #:allow-other-keys)
6849 (let* ((out (assoc-ref outputs "out"))
6850 (autostart (string-append out "/share/gdm/"
6851 "greeter/autostart"))
6852 (settings (assoc-ref inputs "gnome-settings-daemon")))
6853 (mkdir-p autostart)
6854 (with-directory-excursion autostart
6855 (for-each (lambda (desktop)
6856 (symlink desktop (basename desktop)))
6857 (find-files (string-append settings "/etc/xdg"))))
6858 #t))))))
df12f04a
SB
6859 (native-inputs
6860 `(("dconf" ,dconf)
6861 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6862 ("gobject-introspection" ,gobject-introspection)
6863 ("intltool" ,intltool)
6864 ("itstool" ,itstool)
6865 ("pkg-config" ,pkg-config)
6866 ("xmllint" ,libxml2)))
6867 (inputs
6868 `(("accountsservice" ,accountsservice)
6869 ("check" ,check) ; for testing
6870 ("elogind" ,elogind)
def6d6b6 6871 ("gnome-session" ,gnome-session)
69544798 6872 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6873 ("gtk+" ,gtk+)
6874 ("iso-codes" ,iso-codes)
6875 ("libcanberra" ,libcanberra)
6876 ("linux-pam" ,linux-pam)))
6877 (synopsis "Display manager for GNOME")
f032d0be 6878 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6879 (description
6880 "GNOME Display Manager is a system service that is responsible for
6881providing graphical log-ins and managing local and remote displays.")
6882 (license license:gpl2+)))
8e1dd04f
SB
6883
6884(define-public libgtop
6885 (package
6886 (name "libgtop")
015fc036 6887 (version "2.40.0")
8e1dd04f
SB
6888 (source (origin
6889 (method url-fetch)
59487fc2 6890 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6891 (version-major+minor version) "/"
59487fc2 6892 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6893 (sha256
6894 (base32
015fc036 6895 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6896 (build-system gnu-build-system)
6897 (native-inputs
6898 `(("gobject-introspection" ,gobject-introspection)
6899 ("intltool" ,intltool)
6900 ("perl" ,perl)
6901 ("pkg-config" ,pkg-config)))
6902 (propagated-inputs
6903 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6904 (synopsis "Portable system access library")
6905 (home-page "https://www.gnome.org/")
6906 (description
6907 "LibGTop is a library to get system specific data such as CPU and memory
6908usage and information about running processes.")
6909 (license license:gpl2+)))
b96c4260
SB
6910
6911(define-public gnome-bluetooth
6912 (package
6913 (name "gnome-bluetooth")
723afae6 6914 (version "3.32.1")
b96c4260
SB
6915 (source (origin
6916 (method url-fetch)
6917 (uri (string-append "mirror://gnome/sources/" name "/"
6918 (version-major+minor version) "/"
6919 name "-" version ".tar.xz"))
6920 (sha256
6921 (base32
723afae6 6922 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6923 (build-system meson-build-system)
b96c4260
SB
6924 (native-inputs
6925 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6926 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6927 ("gobject-introspection" ,gobject-introspection)
6928 ("intltool" ,intltool)
6929 ("pkg-config" ,pkg-config)
6930 ("xmllint" ,libxml2)))
6931 (propagated-inputs
6932 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6933 `(("glib" ,glib)
6934 ("gtk+" ,gtk+)))
b96c4260 6935 (inputs
723afae6
KK
6936 `(("eudev" ,eudev)
6937 ("libcanberra" ,libcanberra)
b96c4260
SB
6938 ("libnotify" ,libnotify)))
6939 (synopsis "GNOME Bluetooth subsystem")
6940 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6941 (description
6942 "This package contains tools for managing and manipulating Bluetooth
6943devices using the GNOME desktop.")
6944 (license license:lgpl2.1+)))
b645146f
SB
6945
6946(define-public gnome-control-center
6947 (package
6948 (name "gnome-control-center")
a6938bac 6949 (version "3.32.2")
b645146f
SB
6950 (source (origin
6951 (method url-fetch)
6952 (uri (string-append "mirror://gnome/sources/" name "/"
6953 (version-major+minor version) "/"
6954 name "-" version ".tar.xz"))
6955 (sha256
6956 (base32
a6938bac 6957 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6958 (build-system meson-build-system)
b645146f 6959 (arguments
59dac026
RW
6960 '(#:glib-or-gtk? #t
6961 #:configure-flags
64c70430
KK
6962 (list "-Dcheese=false"
6963 (string-append "-Dgnome_session_libexecdir="
6964 (assoc-ref %build-inputs "gnome-session")
6965 "/libexec"))
59dac026 6966 #:phases
b645146f
SB
6967 (modify-phases %standard-phases
6968 (add-before 'configure 'patch-paths
6969 (lambda* (#:key inputs #:allow-other-keys)
6970 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6971 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6972 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6973 (nm-applet (assoc-ref inputs "network-manager-applet"))
6974 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6975 (substitute* "panels/datetime/tz.h"
6976 (("/usr/share/zoneinfo/zone.tab")
6977 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6978 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6979 (("/usr/share/locale")
6980 (string-append libc "/share/locale")))
1df38cfc
LC
6981 (substitute* "panels/region/cc-region-panel.c"
6982 (("\"gkbd-keyboard-display")
6983 (string-append "\"" libgnomekbd
6984 "/bin/gkbd-keyboard-display")))
341225ac
LC
6985 (substitute* '("panels/network/net-device-wifi.c"
6986 "panels/network/net-device.c"
6987 "panels/network/connection-editor/net-connection-editor.c")
6988 (("\"nm-connection-editor")
6989 (string-append "\"" nm-applet
6990 "/bin/nm-connection-editor")))
1acd107c
FP
6991 (substitute* '("panels/user-accounts/run-passwd.c")
6992 (("/usr/bin/passwd")
6993 "/run/setuid-programs/passwd"))
64c70430
KK
6994 (substitute* "panels/info/cc-info-overview-panel.c"
6995 (("DATADIR \"/gnome/gnome-version.xml\"")
6996 (string-append "\"" gnome-desktop
6997 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
6998 #t))))))
6999 (native-inputs
7000 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7001 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7002 ("intltool" ,intltool)
7003 ("pkg-config" ,pkg-config)
a6938bac
KK
7004 ("xsltproc" ,libxslt)
7005 ;; For tests
7006 ("hicolor-icon-theme" ,hicolor-icon-theme)
7007 ("python-dbusmock" ,python-dbusmock)
7008 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7009 (inputs
7010 `(("accountsservice" ,accountsservice)
7011 ("clutter-gtk" ,clutter-gtk)
7012 ("colord-gtk" ,colord-gtk)
7013 ("cups" ,cups)
7014 ("dconf" ,dconf)
7015 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7016 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7017 ("gnome-bluetooth" ,gnome-bluetooth)
7018 ("gnome-desktop" ,gnome-desktop)
7019 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7020 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7021 ("gnome-session" ,gnome-session)
b645146f
SB
7022 ("gnome-settings-daemon" ,gnome-settings-daemon)
7023 ("grilo" ,grilo)
a6938bac 7024 ("gsound" ,gsound)
b645146f
SB
7025 ("ibus" ,ibus)
7026 ("libcanberra" ,libcanberra)
1df38cfc 7027 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7028 ("libgudev" ,libgudev)
7029 ("libgtop" ,libgtop)
7030 ("libpwquality" ,libpwquality)
982c0b36 7031 ("libsecret" ,libsecret)
b645146f
SB
7032 ("libsoup" ,libsoup)
7033 ("libxml2" ,libxml2)
7034 ("libwacom" ,libwacom)
7035 ("mesa" ,mesa)
7036 ("mit-krb5" ,mit-krb5)
7037 ("modem-manager" ,modem-manager)
7038 ("network-manager-applet" ,network-manager-applet)
7039 ("polkit" ,polkit)
7040 ("pulseaudio" ,pulseaudio)
7041 ("smbclient" ,samba)
7042 ("tzdata" ,tzdata)
982c0b36 7043 ("udisks" ,udisks)
b645146f
SB
7044 ("upower" ,upower)))
7045 (synopsis "Utilities to configure the GNOME desktop")
7046 (home-page "https://www.gnome.org/")
7047 (description
7048 "This package contains configuration applets for the GNOME desktop,
7049allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7050properties, sound setup, desktop theme and background, user interface
7051properties, screen resolution, and other GNOME parameters.")
7052 (license license:gpl2+)))
a4df5756
SB
7053
7054(define-public gnome-shell
7055 (package
7056 (name "gnome-shell")
d5e615ca 7057 (version "3.32.2")
a4df5756
SB
7058 (source (origin
7059 (method url-fetch)
7060 (uri (string-append "mirror://gnome/sources/" name "/"
7061 (version-major+minor version) "/"
7062 name "-" version ".tar.xz"))
7063 (sha256
7064 (base32
d5e615ca 7065 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7066 (patches (search-patches "gnome-shell-theme.patch"))
7067 (modules '((guix build utils)))
7068 (snippet
7069 #~(begin
a76d0f03
LC
7070 ;; Copy images for use on the GDM log-in screen.
7071 (copy-file #$(file-append %artwork-repository
7072 "/slim/0.x/background.png")
7073 "data/theme/guix-background.png")
45fef894
LC
7074 (copy-file #$(file-append %artwork-repository
7075 "/logo/Guix-horizontal-white.svg")
7076 "data/theme/guix-logo.svg")
a76d0f03 7077 #t))))
2b0c755d 7078 (build-system meson-build-system)
a4df5756 7079 (arguments
08185081
MB
7080 `(#:glib-or-gtk? #t
7081 #:disallowed-references ((,glib "bin")
11e1df56
LC
7082 ,inkscape ,libxslt
7083 ,ruby-sass)
2b0c755d
RW
7084 #:configure-flags
7085 (list "-Dsystemd=false"
7086 ;; Otherwise, the RUNPATH will lack the final path component.
7087 (string-append "-Dc_link_args=-Wl,-rpath="
7088 (assoc-ref %outputs "out")
7089 "/lib/gnome-shell"))
11e1df56 7090
08185081 7091 #:modules ((guix build meson-build-system)
11e1df56
LC
7092 (guix build utils)
7093 (srfi srfi-1))
7094
2b0c755d 7095 #:phases
a4df5756 7096 (modify-phases %standard-phases
2b0c755d 7097 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7098 (lambda* (#:key outputs #:allow-other-keys)
7099 (let* ((out (assoc-ref outputs "out"))
7100 (keysdir (string-append
7101 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7102 (substitute* "meson.build"
7103 (("keysdir =.*")
7104 (string-append "keysdir = '" keysdir "'\n")))
7105 #t)))
ebfe259f
MB
7106 (add-before 'configure 'convert-logo-to-png
7107 (lambda* (#:key inputs #:allow-other-keys)
7108 ;; Convert the logo from SVG to PNG.
7109 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7110 "data/theme/guix-logo.svg")))
ba00235a 7111 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7112 (lambda* (#:key inputs #:allow-other-keys)
7113 (substitute* "js/misc/ibusManager.js"
7114 (("'ibus-daemon'")
7115 (string-append "'" (assoc-ref inputs "ibus")
7116 "/bin/ibus-daemon'")))
d6fda4d3
LC
7117 (substitute* "js/ui/status/keyboard.js"
7118 (("'gkbd-keyboard-display'")
7119 (string-append "'" (assoc-ref inputs "libgnomekbd")
7120 "/bin/gkbd-keyboard-display'")))
2472cdec 7121 #t))
2b0c755d
RW
7122 (add-before 'check 'pre-check
7123 (lambda* (#:key inputs #:allow-other-keys)
7124 ;; Tests require a running X server.
7125 (system "Xvfb :1 &")
7126 (setenv "DISPLAY" ":1")
7127 #t))
7128 (add-after 'install 'wrap-programs
7129 (lambda* (#:key inputs outputs #:allow-other-keys)
7130 (let ((out (assoc-ref outputs "out"))
7131 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7132 (python-path (getenv "PYTHONPATH")))
7133 (wrap-program (string-append out "/bin/gnome-shell")
7134 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7135 ;; FIXME: gnome-shell loads these libraries with unqualified
7136 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7137 ;; alternative might be to patch gnome-shell.
7138 `("LD_LIBRARY_PATH" ":" prefix
7139 ,(map (lambda (pkg)
7140 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7141 '("gdk-pixbuf"
7142 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7143 (for-each
7144 (lambda (prog)
7145 (wrap-program (string-append out "/bin/" prog)
7146 `("PYTHONPATH" ":" prefix (,python-path))
7147 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7148 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7149 #t)))
11e1df56
LC
7150 (replace 'glib-or-gtk-wrap
7151 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7152 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7153 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7154 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7155 ;; phase. Fix that since we don't need these.
7156 (wrap #:inputs (fold alist-delete inputs
7157 '("inkscape" "intltool" "glib:bin"))
7158 #:outputs outputs)))))))
a4df5756
SB
7159 (native-inputs
7160 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7161 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7162 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7163 ("inkscape" ,inkscape)
a4df5756
SB
7164 ("intltool" ,intltool)
7165 ("pkg-config" ,pkg-config)
7166 ("python" ,python)
2b0c755d
RW
7167 ("ruby-sass" ,ruby-sass)
7168 ("sassc" ,sassc)
a76d0f03 7169 ("xsltproc" ,libxslt)
2b0c755d 7170 ;; For tests
0b4504f6 7171 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7172 (inputs
7173 `(("accountsservice" ,accountsservice)
7174 ("caribou" ,caribou)
7175 ("docbook-xsl" ,docbook-xsl)
7176 ("evolution-data-server" ,evolution-data-server)
7177 ("gcr" ,gcr)
7178 ("gdm" ,gdm)
c5db31d4 7179 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7180 ("gjs" ,gjs)
7181 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7182 ("gnome-desktop" ,gnome-desktop)
7183 ("gnome-settings-daemon" ,gnome-settings-daemon)
7184 ("gst-plugins-base" ,gst-plugins-base)
7185 ("ibus" ,ibus)
7186 ("libcanberra" ,libcanberra)
7187 ("libcroco" ,libcroco)
d6fda4d3 7188 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7189 ("libgweather" ,libgweather)
7190 ("libsoup" ,libsoup)
7191 ("mesa-headers" ,mesa-headers)
7192 ("mutter" ,mutter)
7193 ("network-manager-applet" ,network-manager-applet)
7194 ("polkit" ,polkit)
7195 ("pulseaudio" ,pulseaudio)
7196 ("python-pygobject" ,python-pygobject)
7197 ("startup-notification" ,startup-notification)
7198 ("telepathy-logger" ,telepathy-logger)
7199 ("upower" ,upower)
30e760f0
MB
7200 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7201 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7202 ("librsvg" ,librsvg)
2b0c755d 7203 ("geoclue" ,geoclue)))
a4df5756
SB
7204 (synopsis "Desktop shell for GNOME")
7205 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7206 (description
7207 "GNOME Shell provides core user interface functions for the GNOME desktop,
7208like switching to windows and launching applications.")
7209 (license license:gpl2+)))
c3f29bc9
RS
7210
7211(define-public gtk-vnc
7212 (package
7213 (name "gtk-vnc")
965ff023 7214 (version "0.9.0")
c3f29bc9
RS
7215 (source
7216 (origin
7217 (method url-fetch)
7218 (uri (string-append "mirror://gnome/sources/" name "/"
7219 (version-major+minor version) "/"
7220 name "-" version ".tar.xz"))
7221 (sha256
7222 (base32
965ff023 7223 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7224 (build-system gnu-build-system)
7225 (arguments
7226 '(#:configure-flags '("--with-gtk=3.0")))
7227 (propagated-inputs
7228 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7229 (inputs
7230 `(("cyrus-sasl" ,cyrus-sasl)
7231 ("gnutls" ,gnutls)
7232 ("libgcrypt" ,libgcrypt)
7233 ("pulseaudio" ,pulseaudio)))
7234 (native-inputs
7235 `(("glib:bin" ,glib "bin")
7236 ("gobject-introspection" ,gobject-introspection)
7237 ("intltool" ,intltool)
7238 ("pkg-config" ,pkg-config)
2f17e939 7239 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7240 ("vala" ,vala)))
7241 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7242 (synopsis "VNC viewer widget for GTK+")
7243 (description
7244 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7245applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7246GTK-VNC implements client side RFB protocol and authentication extensions such
7247as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7248 (license license:lgpl2.1+)))
8b877545 7249
dc69fe18
MW
7250(define-public gnome-autoar
7251 (package
7252 (name "gnome-autoar")
c7da8510 7253 (version "0.2.3")
dc69fe18
MW
7254 (source (origin
7255 (method url-fetch)
7256 (uri (string-append "mirror://gnome/sources/" name "/"
7257 (version-major+minor version) "/"
7258 name "-" version ".tar.xz"))
7259 (sha256
7260 (base32
c7da8510 7261 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7262 (build-system glib-or-gtk-build-system)
7263 (native-inputs
7264 `(("gnome-common" ,gnome-common)
7265 ("gobject-introspection" ,gobject-introspection)
7266 ("pkg-config" ,pkg-config)))
7267 (propagated-inputs
7268 `(("libarchive" ,libarchive))) ; XXX document why
7269 (inputs
0a6e9e13 7270 `(("gtk+" ,gtk+)))
dc69fe18
MW
7271 (synopsis "Archives integration support for GNOME")
7272 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7273 (description
7274 "GNOME Autoar is a library which makes creating and extracting archives
7275easy, safe, and automatic.")
7276 (license license:lgpl2.1+)))
7277
b64e217f
MW
7278(define-public tracker
7279 (package
7280 (name "tracker")
5ada561c 7281 (version "2.2.2")
b64e217f
MW
7282 (source (origin
7283 (method url-fetch)
b5b0fd23 7284 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7285 (version-major+minor version) "/"
b5b0fd23 7286 "tracker-" version ".tar.xz"))
b64e217f
MW
7287 (sha256
7288 (base32
5ada561c
KK
7289 "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6"))))
7290 (build-system meson-build-system)
c8bdf589 7291 (arguments
5ada561c
KK
7292 `(#:glib-or-gtk? #t
7293 #:configure-flags
7294 ;; Otherwise, the RUNPATH will lack the final path component.
7295 (list (string-append "-Dc_link_args=-Wl,-rpath="
7296 (assoc-ref %outputs "out") "/lib:"
7297 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7298 #:phases
c8bdf589
RW
7299 (modify-phases %standard-phases
7300 (add-after 'unpack 'disable-broken-tests
7301 (lambda _
c8bdf589
RW
7302 ;; These fail because the SPARQL backend could not be loaded.
7303 ;; That's because /etc/machine-id is missing, but
7304 ;; DBUS_FATAL_WARNINGS does not help here.
5ada561c
KK
7305 (substitute* "tests/libtracker-sparql/meson.build"
7306 (("'sparql',") ""))
7307 (substitute* "tests/tracker-steroids/meson.build"
7308 (("test\\(.*") ""))
c8bdf589
RW
7309 #t))
7310 ;; Two tests fail if LANG is not set.
7311 (add-before 'check 'pre-check
7312 (lambda _
7313 (setenv "LANG" "en_US.UTF-8")
7314 ;; For the missing /etc/machine-id.
7315 (setenv "DBUS_FATAL_WARNINGS" "0")
7316 #t)))))
b64e217f 7317 (native-inputs
5ada561c
KK
7318 `(("glib:bin" ,glib "bin")
7319 ("gnome-common" ,gnome-common)
b64e217f 7320 ("gobject-introspection" ,gobject-introspection)
5ada561c 7321 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7322 ("intltool" ,intltool)
7323 ("pkg-config" ,pkg-config)
7324 ("vala" ,vala)))
7325 (inputs
7326 `(("gtk+" ,gtk+)
7327 ("dbus" ,dbus)
44ed6284 7328 ("sqlite" ,sqlite)
c8bdf589 7329 ("python" ,python)
b64e217f 7330 ("poppler" ,poppler)
b64e217f
MW
7331 ("libpng" ,libpng)
7332 ("libtiff" ,libtiff)
b64e217f 7333 ("zlib" ,zlib)
b64e217f 7334 ("libxml2" ,libxml2)
b64e217f 7335 ("libunistring" ,libunistring)
0ef48cd9 7336 ("json-glib" ,json-glib)
b64e217f 7337 ("openjpeg" ,openjpeg-1)
b64e217f 7338 ("libseccomp" ,libseccomp)
0ef48cd9 7339 ("libsoup" ,libsoup)
5ada561c
KK
7340 ("libuuid" ,util-linux)
7341 ("network-manager" ,network-manager)))
b64e217f
MW
7342 (synopsis "Metadata database, indexer and search tool")
7343 (home-page "https://wiki.gnome.org/Projects/Tracker")
7344 (description
7345 "Tracker is an advanced framework for first class objects with associated
7346metadata and tags. It provides a one stop solution for all metadata, tags,
7347shared object databases, search tools and indexing.")
7348 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7349 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7350 (license (list license:gpl2+
7351 license:lgpl2.1+
7352 license:lgpl2.0+))))
7353
03be9874
KK
7354(define-public tracker-miners
7355 (package
7356 (name "tracker-miners")
7357 (version "2.2.2")
7358 (source (origin
7359 (method url-fetch)
7360 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7361 (version-major+minor version)
7362 "/tracker-miners-" version ".tar.xz"))
7363 (sha256
7364 (base32
7365 "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw"))))
7366 (build-system meson-build-system)
7367 (arguments
7368 `(#:glib-or-gtk? #t
7369 #:configure-flags
7370 (list "-Dminer_rss=false" ; libgrss is required.
7371 ;; Ensure the RUNPATH contains all installed library locations.
7372 (string-append "-Dc_link_args=-Wl,-rpath="
7373 (assoc-ref %outputs "out")
7374 "/lib/tracker-miners-2.0")
7375 ;; TODO: Enable functional tests. Currently, the following error
7376 ;; appears:
7377 ;; Exception: The functional tests require DConf to be the default
7378 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7379 "-Dfunctional_tests=false")))
7380 (native-inputs
7381 `(("dbus" ,dbus)
7382 ("intltool" ,intltool)
7383 ("glib:bin" ,glib "bin")
7384 ("gobject-introspection" ,gobject-introspection)
7385 ("pkg-config" ,pkg-config)
7386 ("python-pygobject" ,python-pygobject)))
7387 (inputs
7388 `(("exempi" ,exempi)
7389 ("ffmpeg" ,ffmpeg)
7390 ("flac" ,flac)
7391 ("giflib" ,giflib)
7392 ("glib" ,glib)
7393 ("gstreamer" ,gstreamer)
7394 ("icu4c" ,icu4c)
7395 ("libcue" ,libcue)
7396 ("libexif" ,libexif)
7397 ("libgsf" ,libgsf)
7398 ("libgxps" ,libgxps)
7399 ("libiptcdata" ,libiptcdata)
7400 ("libjpeg" ,libjpeg)
7401 ("libosinfo" ,libosinfo)
7402 ("libpng" ,libpng)
7403 ("libseccomp" ,libseccomp)
7404 ("libtiff" ,libtiff)
7405 ("libvorbis" ,libvorbis)
7406 ("libxml2" ,libxml2)
7407 ("poppler" ,poppler)
7408 ("taglib" ,taglib)
7409 ("totem-pl-parser" ,totem-pl-parser)
7410 ("tracker" ,tracker)
7411 ("upower" ,upower)
7412 ("zlib" ,zlib)))
7413 (synopsis "Metadata database, indexer and search tool")
7414 (home-page "https://wiki.gnome.org/Projects/Tracker")
7415 (description
7416 "Tracker is an advanced framework for first class objects with associated
7417metadata and tags. It provides a one stop solution for all metadata, tags,
7418shared object databases, search tools and indexing.")
7419 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7420 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7421 (license (list license:gpl2+
7422 license:lgpl2.1+
7423 license:lgpl2.0+))))
7424
8b877545
RS
7425(define-public nautilus
7426 (package
7427 (name "nautilus")
d682c599 7428 (version "3.32.3")
8b877545
RS
7429 (source (origin
7430 (method url-fetch)
7431 (uri (string-append "mirror://gnome/sources/" name "/"
7432 (version-major+minor version) "/"
7433 name "-" version ".tar.xz"))
7434 (sha256
7435 (base32
d682c599 7436 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7437 (build-system meson-build-system)
8b877545 7438 (arguments
35e2d0cf 7439 '(#:glib-or-gtk? #t
8b877545
RS
7440 ;; XXX: FAIL: check-nautilus
7441 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7442 #:tests? #f))
7443 (native-inputs
35e2d0cf
R
7444 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7445 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7446 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7447 ("gobject-introspection" ,gobject-introspection)
7448 ("intltool" ,intltool)
7449 ("pkg-config" ,pkg-config)))
8b877545 7450 (inputs
8b877545 7451 `(("dconf" ,dconf)
caf6c363 7452 ("gexiv2" ,gexiv2)
dd05e731 7453 ("gvfs" ,gvfs)
8b877545
RS
7454 ("exempi" ,exempi)
7455 ("gnome-desktop" ,gnome-desktop)
09d88905 7456 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7457 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7458 ("libseccomp" ,libseccomp)
35e2d0cf 7459 ("libselinux" ,libselinux)
09d88905 7460 ("tracker" ,tracker)
3cafb9d4 7461 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7462 ;; XXX: gtk+ is required by libnautilus-extension.pc
7463 ;;
7464 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7465 ;; package. See:
7466 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7467 ("gtk+" ,gtk+)
8b877545
RS
7468 ("libexif" ,libexif)
7469 ("libxml2" ,libxml2)))
7470 (synopsis "File manager for GNOME")
7471 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7472 (description
7473 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7474design and behaviour, giving the user a simple way to navigate and manage its
7475files.")
7476 (license license:gpl2+)))
3c697ffd
JR
7477
7478(define-public baobab
7479 (package
7480 (name "baobab")
e0c5f20c 7481 (version "3.32.0")
3c697ffd
JR
7482 (source (origin
7483 (method url-fetch)
7484 (uri (string-append
7485 "mirror://gnome/sources/" name "/"
7486 (version-major+minor version) "/"
7487 name "-" version ".tar.xz"))
7488 (sha256
7489 (base32
e0c5f20c 7490 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7491 (build-system meson-build-system)
7492 (arguments
7493 '(#:glib-or-gtk? #t))
3c697ffd
JR
7494 (native-inputs
7495 `(("intltool" ,intltool)
7496 ("pkg-config" ,pkg-config)
d233d373
RJ
7497 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7498 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7499 ("itstool" ,itstool)
7500 ("xmllint" ,libxml2)
7501 ("glib" ,glib "bin")
7502 ("vala" ,vala)))
7503 (inputs
7504 `(("gtk+" ,gtk+)))
7505 (synopsis "Disk usage analyzer for GNOME")
7506 (description
7507 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7508usage in the GNOME desktop environment. It can easily scan device volumes or
7509a specific user-requested directory branch (local or remote). Once the scan
7510is complete it provides a graphical representation of each selected folder.")
7511 (home-page "https://wiki.gnome.org/Apps/Baobab")
7512 (license license:gpl2+)))
dc050251 7513
fdba447c
RS
7514(define-public gnome-backgrounds
7515 (package
7516 (name "gnome-backgrounds")
e04e8a8c 7517 (version "3.32.0")
fdba447c
RS
7518 (source
7519 (origin
7520 (method url-fetch)
7521 (uri (string-append "mirror://gnome/sources/" name "/"
7522 (version-major+minor version) "/"
7523 name "-" version ".tar.xz"))
7524 (sha256
7525 (base32
e04e8a8c 7526 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7527 (build-system meson-build-system)
fdba447c
RS
7528 (native-inputs
7529 `(("intltool" ,intltool)))
e04e8a8c 7530 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7531 (synopsis "Background images for the GNOME desktop")
7532 (description
7533 "GNOME backgrounds package contains a collection of graphics files which
7534can be used as backgrounds in the GNOME Desktop environment. Additionally,
7535the package creates the proper framework and directory structure so that you
7536can add your own files to the collection.")
7537 (license (list license:gpl2+
7538 license:cc-by2.0
7539 license:cc-by-sa2.0
7540 license:cc-by-sa3.0))))
7541
b784b1a9
RS
7542(define-public gnome-screenshot
7543 (package
7544 (name "gnome-screenshot")
6acf4033 7545 (version "3.32.0")
b784b1a9
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
6acf4033 7554 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7555 (build-system meson-build-system)
b784b1a9
RS
7556 (native-inputs
7557 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7558 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7559 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7560 ("intltool" ,intltool)
8356aefa 7561 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7562 ("pkg-config" ,pkg-config)))
7563 (inputs
7564 `(("gtk+" ,gtk+)
7565 ("libcanberra" ,libcanberra)
7566 ("libx11" ,libx11)
7567 ("libxext" ,libxext)))
676e7cb4 7568 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7569 (synopsis "Take pictures of your screen")
7570 (description
7571 "GNOME Screenshot is a utility used for taking screenshots of the entire
7572screen, a window or a user defined area of the screen, with optional
7573beautifying border effects.")
7574 (license license:gpl2+)))
7575
66d59111
RS
7576(define-public dconf-editor
7577 (package
7578 (name "dconf-editor")
66261451 7579 (version "3.32.0")
66d59111
RS
7580 (source
7581 (origin
7582 (method url-fetch)
7583 (uri (string-append "mirror://gnome/sources/" name "/"
7584 (version-major+minor version) "/"
7585 name "-" version ".tar.xz"))
7586 (sha256
7587 (base32
66261451 7588 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7589 (build-system meson-build-system)
86f2124b
LC
7590 (arguments
7591 '(#:phases (modify-phases %standard-phases
7592 (add-before 'configure 'set-glib-minimum-version
7593 (lambda _
7594 ;; Change the minimum required GLib version so that
7595 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7596 ;; do that, it complains that "55" is not an even
7597 ;; number. See <https://bugs.gnu.org/37503>.
7598 (substitute* "editor/meson.build"
7599 (("2\\.55\\.1") "2.60.0"))
7600 #t)))))
66d59111
RS
7601 (native-inputs
7602 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7603 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7604 ("intltool" ,intltool)
294ff39d
RW
7605 ("pkg-config" ,pkg-config)
7606 ("vala" ,vala)))
66d59111
RS
7607 (inputs
7608 `(("dconf" ,dconf)
7609 ("gtk+" ,gtk+)
7610 ("libxml2" ,libxml2)))
7611 (home-page "https://git.gnome.org/browse/dconf-editor")
7612 (synopsis "Graphical editor for GNOME's dconf configuration system")
7613 (description
7614 "Dconf-editor is a graphical tool for browsing and editing the dconf
7615configuration system for GNOME. It allows users to configure desktop
7616software that do not provide their own configuration interface.")
7617 (license license:lgpl2.1+)))
7618
96d36f38
AW
7619(define-public gnome-default-applications
7620 (package
7621 (name "gnome-default-applications")
7622 (version "0")
7623 (build-system trivial-build-system)
7624 (source #f)
7625 (propagated-inputs
8ad4f0aa
LC
7626 `(("nautilus" ,nautilus)
7627 ("evince" ,evince)))
96d36f38
AW
7628 (arguments
7629 `(#:modules ((guix build utils))
7630 #:builder
7631 (begin
7632 (use-modules (guix build utils))
7633 (let* ((out (assoc-ref %outputs "out"))
7634 (apps (string-append out "/share/applications")))
7635 (mkdir-p apps)
7636 (call-with-output-file (string-append apps "/defaults.list")
7637 (lambda (port)
7638 (format port "[Default Applications]\n")
8ad4f0aa
LC
7639 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7640 (format port "application/pdf=evince.desktop\n")
7641 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7642 #t))))
7643 (synopsis "Default MIME type associations for the GNOME desktop")
7644 (description
7645 "Given many installed packages which might handle a given MIME type, a
7646user running the GNOME desktop probably has some preferences: for example,
7647that folders be opened by default by the Nautilus file manager, not the Baobab
7648disk usage analyzer. This package establishes that set of default MIME type
7649associations for GNOME.")
7650 (license license:gpl3+)
7651 (home-page #f)))
7652
3f1ed953
RG
7653(define-public libgovirt
7654 (package
7655 (name "libgovirt")
7656 (version "0.3.6")
7657 (source (origin
7658 (method url-fetch)
7659 (uri (string-append "mirror://gnome/sources/" name "/"
7660 (version-major+minor version) "/"
7661 name "-" version ".tar.xz"))
7662 (sha256
7663 (base32
7664 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7665 (build-system glib-or-gtk-build-system)
7666 (native-inputs
7667 `(("gettext" ,gettext-minimal)
7668 ("glib:bin" ,glib "bin")
7669 ("gobject-introspection" ,gobject-introspection)
7670 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7671 ("gtk+:bin" ,gtk+ "bin")
7672 ("pkg-config" ,pkg-config)))
7673 (inputs
7674 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7675 ("librest" ,rest)))
7676 (synopsis "GoVirt Library")
7677 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7678 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7679 (license license:gpl2+)))
7680
8672e5e9
RG
7681(define-public gnome-weather
7682 (package
7683 (name "gnome-weather")
7684 (version "3.34.0")
7685 (source (origin
7686 (method url-fetch)
7687 (uri (string-append "mirror://gnome/sources/" name "/"
7688 (version-major+minor version) "/"
7689 name "-" version ".tar.xz"))
7690 (sha256
7691 (base32
7692 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7693 (build-system meson-build-system)
7694 (native-inputs
7695 `(("gettext" ,gettext-minimal)
7696 ("glib:bin" ,glib "bin")
7697 ("gobject-introspection" ,gobject-introspection)
7698 ("gtk+:bin" ,gtk+ "bin")
7699 ("pkg-config" ,pkg-config)))
7700 (inputs
7701 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7702 ("appstream-glib" ,appstream-glib)
7703 ("geoclue" ,geoclue)
7704 ("gdk-pixbuf" ,gdk-pixbuf)
7705 ("gjs" ,gjs)
7706 ("gnome-desktop" ,gnome-desktop)
7707 ("libgweather" ,libgweather)))
7708 (synopsis "Weather monitoring for GNOME desktop")
7709 (description "GNOME Weather is a small application that allows you to
7710monitor the current weather conditions for your city, or anywhere in the
7711world.")
7712 (home-page "https://wiki.gnome.org/Apps/Weather")
7713 (license license:gpl2+)))
7714
dc050251
SB
7715(define-public gnome
7716 (package
7717 (name "gnome")
7718 (version (package-version gnome-shell))
7719 (source #f)
7720 (build-system trivial-build-system)
e3cfef22 7721 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7722 (propagated-inputs
8d8c6bff 7723 ;; TODO: Add or remove packages according to:
a8cda7f5 7724 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7725 `(
8d8c6bff 7726 ;; GNOME-Core-OS-Services
7922b6f7 7727 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7728 ("network-manager" ,network-manager)
7729 ("packagekit" ,packagekit)
7730 ("upower" ,upower)
7731 ;; GNOME-Core-Shell
7732 ("adwaita-icon-theme" ,adwaita-icon-theme)
7733 ("gdm" ,gdm)
7734 ("glib-networking" ,glib-networking)
7735 ("gnome-backgrounds" ,gnome-backgrounds)
7736 ("gnome-bluetooth" ,gnome-bluetooth)
7737 ("gnome-control-center" ,gnome-control-center)
7738 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7739 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
8d8c6bff 7740 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7741 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7742 ("gnome-session" ,gnome-session)
7743 ("gnome-settings-daemon" ,gnome-settings-daemon)
7744 ("gnome-shell-extensions" ,gnome-shell-extensions)
7745 ("gnome-shell" ,gnome-shell)
7746 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7747 ("gnome-user-docs" ,gnome-user-docs)
a8cda7f5 7748 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7749 ("gvfs" ,gvfs)
7750 ("mutter" ,mutter)
7751 ("orca" ,orca)
7752 ;; GNOME-Core-Utilities
7753 ("baobab" ,baobab)
7754 ("cheese" ,cheese)
7755 ("eog" ,eog)
7756 ("epiphany" ,epiphany)
7757 ("evince" ,evince)
7758 ("file-roller" ,file-roller)
7759 ("gedit" ,gedit)
7760 ("gnome-calculator" ,gnome-calculator)
7761 ("gnome-calendar" ,gnome-calendar)
7762 ("gnome-characters" ,gnome-characters)
7763 ("gnome-clocks" ,gnome-clocks)
7764 ("gnome-contacts" ,gnome-contacts)
7765 ("gnome-disk-utility" ,gnome-disk-utility)
7766 ("gnome-font-viewer" ,gnome-font-viewer)
7767 ("gnome-maps" ,gnome-maps)
7768 ("gnome-screenshot" ,gnome-screenshot)
7769 ("gnome-system-monitor" ,gnome-system-monitor)
7770 ("gnome-terminal" ,gnome-terminal)
7771 ("nautilus" ,nautilus)
7772 ("simple-scan" ,simple-scan)
7773 ("totem" ,totem)
7922b6f7
RG
7774 ("yelp" ,yelp)
7775 ;; Others
7776 ("hicolor-icon-theme" ,hicolor-icon-theme)
7777 ("gnome-online-accounts" ,gnome-online-accounts)))
fe4e698d 7778 (synopsis "The GNU desktop environment")
dc050251
SB
7779 (home-page "https://www.gnome.org/")
7780 (description
fe4e698d
LC
7781 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7782applications for browsing the web, editing text and images, creating
7783documents and diagrams, playing media, scanning, and much more.")
dc050251 7784 (license license:gpl2+)))
4a526711
DT
7785
7786(define-public byzanz
7787 ;; The last stable release of Byzanz was in 2011, but there have been many
7788 ;; useful commits made to the Byzanz repository since then that it would be
7789 ;; silly to use such an old release.
7790 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7791 (package
7792 (name "byzanz")
7793 (version (string-append "0.2-1." (string-take commit 7)))
7794 (source (origin
7795 (method git-fetch)
7796 (uri (git-reference
5f13bf09 7797 (url "https://git.gnome.org/browse/byzanz")
4a526711 7798 (commit commit)))
5a6527e4 7799 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7800 (sha256
7801 (base32
7802 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7803 (build-system glib-or-gtk-build-system)
7804 (arguments
7805 '(#:phases
7806 (modify-phases %standard-phases
189be331 7807 (replace 'bootstrap
4a526711
DT
7808 (lambda _
7809 ;; The build system cleverly detects that we're not building from
7810 ;; a release tarball and turns on -Werror for GCC.
7811 ;; Unsurprisingly, there is a warning during compilation that
7812 ;; causes the build to fail unnecessarily, so we remove the flag.
7813 (substitute* '("configure.ac")
7814 (("-Werror") ""))
7815 ;; The autogen.sh script in gnome-common will run ./configure
7816 ;; by default, which is problematic because source shebangs
7817 ;; have not yet been patched.
7818 (setenv "NOCONFIGURE" "t")
7819 (zero? (system* "sh" "autogen.sh")))))))
7820 (native-inputs
7821 `(("autoconf" ,autoconf)
7822 ("automake" ,automake)
7823 ("gnome-common" ,gnome-common)
7824 ("intltool" ,intltool)
7825 ("libtool" ,libtool)
7826 ("pkg-config" ,pkg-config)
7827 ("which" ,which)))
7828 (inputs
7829 `(("glib" ,glib)
7830 ("gstreamer" ,gstreamer)
7831 ("gst-plugins-base" ,gst-plugins-base)
7832 ("gtk+" ,gtk+)))
7833 (synopsis "Desktop recording program")
7834 (description "Byzanz is a simple desktop recording program with a
7835command-line interface. It can record part or all of an X display for a
7836specified duration and save it as a GIF encoded animated image file.")
7837 (home-page "https://git.gnome.org/browse/byzanz")
7838 (license license:gpl2+))))
3a9a4c51 7839
0ec171ec
MS
7840(define-public gsound
7841 (package
7842 (name "gsound")
7843 (version "1.0.2")
7844 (source (origin
7845 (method url-fetch)
7846 (uri (string-append "mirror://gnome/sources/" name "/"
7847 (version-major+minor version) "/"
7848 name "-" version ".tar.xz"))
7849 (sha256
7850 (base32
7851 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7852 (build-system glib-or-gtk-build-system)
7853 (native-inputs
7854 `(("pkg-config" ,pkg-config)
7855 ("gobject-introspection" ,gobject-introspection)
7856 ("vala" ,vala)))
7857 (inputs
7858 `(("glib" ,glib)
7859 ("libcanberra" ,libcanberra)))
7860 (home-page "https://wiki.gnome.org/Projects/GSound")
7861 (synopsis "GObject wrapper for libcanberra")
7862 (description
7863 "GSound is a small library for playing system sounds. It's designed to be
7864used via GObject Introspection, and is a thin wrapper around the libcanberra C
7865library.")
7866 (license license:lgpl2.1+)))
7867
3a9a4c51
RS
7868(define-public libzapojit
7869 (package
7870 (name "libzapojit")
7871 (version "0.0.3")
7872 (source (origin
7873 (method url-fetch)
7874 (uri (string-append "mirror://gnome/sources/" name "/"
7875 (version-major+minor version) "/"
7876 name "-" version ".tar.xz"))
7877 (sha256
7878 (base32
7879 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7880 (build-system gnu-build-system)
7881 (native-inputs
7882 `(("gobject-introspection" ,gobject-introspection)
7883 ("intltool" ,intltool)
7884 ("pkg-config" ,pkg-config)))
7885 (inputs
14c297fd 7886 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7887 ("json-glib" ,json-glib)
7888 ("rest" ,rest)))
7889 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7890 (synopsis "Library for accessing SkyDrive and Hotmail")
7891 (description
7892 "Libzapojit is a GLib-based library for accessing online service APIs of
7893Microsoft SkyDrive and Hotmail, using their REST protocols.")
7894 (license license:lgpl2.1+)))
9365ee1c 7895
60e2a9ae
MS
7896(define-public gnome-clocks
7897 (package
7898 (name "gnome-clocks")
c76d0dbc 7899 (version "3.32.0")
60e2a9ae
MS
7900 (source (origin
7901 (method url-fetch)
7902 (uri (string-append "mirror://gnome/sources/" name "/"
7903 (version-major+minor version) "/"
7904 name "-" version ".tar.xz"))
7905 (sha256
7906 (base32
c76d0dbc 7907 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7908 (build-system meson-build-system)
7909 (arguments
7910 '(#:glib-or-gtk? #t))
7911 (native-inputs
7912 `(("vala" ,vala)
7913 ("pkg-config" ,pkg-config)
7914 ("glib" ,glib "bin") ; for glib-compile-resources
7915 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7916 ("desktop-file-utils" ,desktop-file-utils)
7917 ("gettext" ,gettext-minimal)
7918 ("itstool" ,itstool)))
7919 (inputs
7920 `(("glib" ,glib)
7921 ("gtk+" ,gtk+)
7922 ("gsound" ,gsound)
7923 ("geoclue" ,geoclue)
7924 ("geocode-glib" ,geocode-glib)
7925 ("libgweather" ,libgweather)
7926 ("gnome-desktop" ,gnome-desktop)))
7927 (home-page "https://wiki.gnome.org/Apps/Clocks")
7928 (synopsis "GNOME's clock application")
7929 (description
7930 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7931desktop. It supports world clock, stop watch, alarms, and count down timer.")
7932 (license license:gpl3+)))
7933
3c474897
KY
7934(define-public gnome-calendar
7935 (package
7936 (name "gnome-calendar")
339b59bf 7937 (version "3.32.2")
3c474897
KY
7938 (source (origin
7939 (method url-fetch)
7940 (uri (string-append "mirror://gnome/sources/" name "/"
7941 (version-major+minor version) "/"
7942 name "-" version ".tar.xz"))
7943 (sha256
7944 (base32
339b59bf 7945 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7946 (build-system meson-build-system)
7947 (arguments
7948 '(#:glib-or-gtk? #t
7949 ;; gnome-calendar has to be installed before the tests can be run
7950 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
7951 #:tests? #f))
3c474897 7952 (native-inputs
a49d3e37
MS
7953 `(("gettext" ,gettext-minimal)
7954 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
7955 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
7956 ("pkg-config" ,pkg-config)))
7957 (inputs
a49d3e37 7958 `(("evolution-data-server" ,evolution-data-server)
14c297fd 7959 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
7960 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7961 ("libdazzle" ,libdazzle)
b63c06f1 7962 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
7963 ("libgweather" ,libgweather)
7964 ("geoclue" ,geoclue)))
3c474897
KY
7965 (home-page "https://wiki.gnome.org/Apps/Calendar")
7966 (synopsis "GNOME's calendar application")
7967 (description
7968 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 7969desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
7970 (license license:gpl3+)))
7971
57b14665
MS
7972(define-public gnome-todo
7973 (package
7974 (name "gnome-todo")
9f3c6c88 7975 (version "3.28.1")
57b14665
MS
7976 (source (origin
7977 (method url-fetch)
7978 (uri (string-append "mirror://gnome/sources/" name "/"
7979 (version-major+minor version) "/"
7980 name "-" version ".tar.xz"))
7981 (sha256
7982 (base32
9f3c6c88 7983 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
7984 (build-system meson-build-system)
7985 (arguments
7986 '(#:glib-or-gtk? #t
7987 #:phases (modify-phases %standard-phases
7988 (add-after
7989 'install 'wrap-gnome-todo
7990 (lambda* (#:key inputs outputs #:allow-other-keys)
7991 (let ((out (assoc-ref outputs "out"))
7992 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7993 (python-path (getenv "PYTHONPATH")))
7994 (wrap-program (string-append out "/bin/gnome-todo")
7995 ;; XXX: gi plugins are broken.
7996 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
7997 ;; For plugins.
7998 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7999 `("PYTHONPATH" ":" prefix (,python-path))))
8000 #t)))))
8001 (native-inputs
8002 `(("gettext" ,gettext-minimal)
8003 ("gobject-introspection" ,gobject-introspection)
8004 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8005 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8006 ("pkg-config" ,pkg-config)))
8007 (inputs
8008 `(("rest" ,rest) ; For Todoist plugin
8009 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8010 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8011 ("libical" ,libical)
8012 ("libpeas" ,libpeas)
8013 ("python-pygobject" ,python-pygobject)
8014 ("evolution-data-server" ,evolution-data-server)
14c297fd 8015 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8016 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8017 (home-page "https://wiki.gnome.org/Apps/Todo")
8018 (synopsis "GNOME's ToDo Application")
8019 (description
8020 "GNOME To Do is a simplistic personal task manager designed to perfectly
8021fit the GNOME desktop.")
8022 (license license:gpl3+)))
8023
ab179eaf
SB
8024(define-public gnome-dictionary
8025 (package
8026 (name "gnome-dictionary")
cf81ddef 8027 (version "3.26.1")
ab179eaf
SB
8028 (source (origin
8029 (method url-fetch)
8030 (uri (string-append "mirror://gnome/sources/" name "/"
8031 (version-major+minor version) "/"
8032 name "-" version ".tar.xz"))
8033 (sha256
8034 (base32
cf81ddef
LC
8035 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8036 (build-system meson-build-system)
2776b5d5
MB
8037 (arguments '(#:glib-or-gtk? #t
8038 #:phases (modify-phases %standard-phases
8039 (add-after 'unpack 'patch-install-script
8040 (lambda _
8041 ;; This script attempts to compile glib schemas
8042 ;; and create an empty MIME database. We do
8043 ;; that elsewhere, so prevent it from running.
8044 (substitute* "build-aux/post-install.sh"
8045 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8046 #t)))))
ab179eaf
SB
8047 (native-inputs
8048 `(("glib:bin" ,glib "bin")
8049 ("gobject-introspection" ,gobject-introspection)
8050 ("intltool" ,intltool)
8051 ("itstool" ,itstool)
8052 ("pkg-config" ,pkg-config)
8053 ("xmllint" ,libxml2)))
8054 (inputs
8055 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8056 ("gtk+" ,gtk+)))
8057 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8058 (synopsis "Look up words in dictionary sources")
8059 (description
8060 "GNOME Dictionary can look for the definition or translation of a word in
8061existing databases over the internet.")
8062 (license license:gpl3+)))
8063
d13f3a03 8064(define-public gnome-tweaks
9365ee1c 8065 (package
d13f3a03 8066 (name "gnome-tweaks")
652af676 8067 (version "3.32.0")
9365ee1c
JN
8068 (source (origin
8069 (method url-fetch)
d13f3a03 8070 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8071 (version-major+minor version) "/"
d13f3a03
RW
8072 "gnome-tweaks-" version ".tar.xz"))
8073 (patches
8074 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8075 (sha256
8076 (base32
652af676 8077 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8078 (build-system meson-build-system)
9365ee1c 8079 (arguments
d13f3a03
RW
8080 `(#:glib-or-gtk? #t
8081 #:configure-flags '("-Dlocalstatedir=/tmp"
8082 "-Dsysconfdir=/tmp")
9365ee1c 8083 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8084 ,@%meson-build-system-modules)
8085 #:phases
8086 (modify-phases %standard-phases
8087 (add-after 'install 'wrap
8088 (@@ (guix build python-build-system) wrap))
8089 (add-after 'wrap 'wrap-gi-typelib
8090 (lambda* (#:key inputs outputs #:allow-other-keys)
8091 (let ((out (assoc-ref outputs "out"))
8092 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8093 (wrap-program (string-append out "/bin/gnome-tweaks")
8094 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8095 #t)))))
9365ee1c 8096 (native-inputs
c7fc414e
RH
8097 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8098 ("intltool" ,intltool)
9365ee1c
JN
8099 ("pkg-config" ,pkg-config)))
8100 (inputs
c7fc414e
RH
8101 `(("gnome-desktop" ,gnome-desktop)
8102 ("gtk+" ,gtk+)
9365ee1c
JN
8103 ("gobject-introspection" ,gobject-introspection)
8104 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8105 ("libnotify" ,libnotify)
8106 ("libsoup" ,libsoup)
8107 ("nautilus" ,nautilus)
8108 ("python" ,python)
8109 ("python-pygobject" ,python-pygobject)))
9365ee1c 8110 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8111 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8112 (description
d13f3a03 8113 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8114GNOME 3. This includes things like the fonts used in user interface elements,
8115alternative user interface themes, changes in window management behavior,
8116GNOME Shell appearance and extension, etc.")
8117 (license license:gpl3+)))
813f814a 8118
d13f3a03
RW
8119;; This package has been renamed by upstream.
8120(define-public gnome-tweak-tool
8121 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
8122
32ac717c
DT
8123(define-public gnome-shell-extensions
8124 (package
8125 (name "gnome-shell-extensions")
ae4c05e0 8126 (version "3.32.1")
32ac717c
DT
8127 (source (origin
8128 (method url-fetch)
8129 (uri (string-append "mirror://gnome/sources/" name "/"
8130 (version-major+minor version) "/"
8131 name "-" version ".tar.xz"))
8132 (sha256
8133 (base32
ae4c05e0 8134 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8135 (build-system meson-build-system)
32ac717c 8136 (arguments
100f625b 8137 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8138 (native-inputs
c9ea8873
LP
8139 `(("glib:bin" ,glib "bin")
8140 ("intltool" ,intltool)
32ac717c
DT
8141 ("pkg-config" ,pkg-config)))
8142 (propagated-inputs
c9ea8873 8143 `(("glib" ,glib)))
32ac717c
DT
8144 (synopsis "Extensions for GNOME Shell")
8145 (description "GNOME Shell extensions modify and extend GNOME Shell
8146functionality and behavior.")
8147 (home-page "https://extensions.gnome.org/")
8148 (license license:gpl3+)))
8149
813f814a
DT
8150(define-public arc-theme
8151 (package
8152 (name "arc-theme")
37781323 8153 (version "20190917")
813f814a 8154 (source (origin
a18f8eaf
BH
8155 (method git-fetch)
8156 (uri (git-reference
8157 (url "https://github.com/NicoHood/arc-theme.git")
8158 (commit version)))
8159 (file-name (git-file-name name version))
813f814a
DT
8160 (sha256
8161 (base32
37781323 8162 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8163 (build-system gnu-build-system)
d88884fa
EF
8164 (arguments
8165 '(#:phases
8166 (modify-phases %standard-phases
8167 ;; autogen.sh calls configure at the end of the script.
8168 (replace 'bootstrap
8169 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
8170 (native-inputs
8171 `(("autoconf" ,autoconf)
8172 ("automake" ,automake)
a18f8eaf
BH
8173 ("glib" ,glib "bin") ; for glib-compile-resources
8174 ("gnome-shell" ,gnome-shell)
8175 ("gtk+" ,gtk+)
8176 ("inkscape" ,inkscape)
8177 ("optipng" ,optipng)
8178 ("pkg-config" ,pkg-config)
8179 ("sassc" ,sassc)))
813f814a
DT
8180 (synopsis "A flat GTK+ theme with transparent elements")
8181 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
81822, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8183like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8184 (home-page "https://github.com/horst3180/arc-theme")
8185 ;; No "or later" language found.
a18f8eaf 8186 (license license:gpl3+)))
9987c57c 8187
d935e6a1 8188(define-public faba-icon-theme
9987c57c 8189 (package
d935e6a1 8190 (name "faba-icon-theme")
2eee7ee3 8191 (version "4.3")
d935e6a1
BT
8192 (source
8193 (origin
757e4027
TGR
8194 (method git-fetch)
8195 (uri (git-reference
8196 (url "https://github.com/snwh/faba-icon-theme.git")
8197 (commit (string-append "v" version))))
8198 (file-name (git-file-name name version))
d935e6a1 8199 (sha256
757e4027 8200 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8201 (build-system meson-build-system)
9987c57c 8202 (arguments
82da291a 8203 `(#:phases
9987c57c 8204 (modify-phases %standard-phases
82da291a 8205 (add-before 'configure 'disable-post-install
9987c57c 8206 (lambda _
82da291a
JL
8207 (substitute* "meson.build"
8208 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8209 (native-inputs
8210 `(("autoconf" ,autoconf)
8211 ("automake" ,automake)))
d935e6a1
BT
8212 (synopsis "Faba icon theme")
8213 (description
8214 "Faba is a minimal icon set used as a basis for other themes such as
8215Moka")
8216 (home-page "https://snwh.org/moka")
8217 (license (list license:lgpl3+
8218 license:cc-by-sa4.0))))
8219
9987c57c
DT
8220(define-public moka-icon-theme
8221 (package
8b0e4177 8222 (inherit faba-icon-theme)
9987c57c 8223 (name "moka-icon-theme")
105a3625 8224 (version "5.4.0")
8c3f2170
TGR
8225 (source
8226 (origin
8227 (method git-fetch)
8228 (uri (git-reference
8229 (url "https://github.com/snwh/moka-icon-theme.git")
8230 (commit (string-append "v" version))))
8231 (file-name (git-file-name name version))
8232 (sha256
8233 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8234 (propagated-inputs
8235 ;; Moka is based on Faba by using it as a fallback icon set instead of
8236 ;; bundling it, so we need to add it as a propagated input.
8237 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8238 (synopsis "Moka icon theme")
8239 (description "Moka is a stylized desktop icon set, designed to be clear,
8240simple and consistent.")
fedde43b
BT
8241 (license (list license:gpl3+
8242 license:cc-by-sa4.0))))
6fd8f8d6
DT
8243
8244(define-public arc-icon-theme
8245 (package
8246 (name "arc-icon-theme")
c4180240 8247 (version "20161122")
bbf66cbf
TGR
8248 (source
8249 (origin
8250 (method git-fetch)
8251 (uri (git-reference
8252 (url "https://github.com/horst3180/arc-icon-theme.git")
8253 (commit version)))
8254 (file-name (git-file-name name version))
8255 (sha256
8256 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8257 (build-system gnu-build-system)
9e1ede95
JL
8258 (arguments
8259 `(#:phases
8260 (modify-phases %standard-phases
8261 (add-after 'unpack 'disable-configure-during-bootstrap
8262 (lambda _
8263 (substitute* "autogen.sh"
8264 (("^\"\\$srcdir/configure\".*") ""))
8265 #t)))))
6fd8f8d6
DT
8266 (native-inputs
8267 `(("autoconf" ,autoconf)
8268 ("automake" ,automake)))
8269 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8270 (propagated-inputs
8271 `(("moka-icon-theme" ,moka-icon-theme)))
8272 (synopsis "Arc icon theme")
8273 (description "The Arc icon theme provides a set of icons matching the
8274style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8275the Moka icon theme.")
8276 (home-page "https://github.com/horst3180/arc-icon-theme")
8277 (license license:gpl3+)))
6064a4e8
LF
8278
8279(define-public folks
8280 (package
8281 (name "folks")
d23495fa 8282 (version "0.11.4")
6064a4e8
LF
8283 (source (origin
8284 (method url-fetch)
8285 (uri (string-append
e5f4796e 8286 "mirror://gnome/sources/folks/"
6064a4e8 8287 (version-major+minor version) "/"
e5f4796e 8288 "folks-" version ".tar.xz"))
6064a4e8
LF
8289 (sha256
8290 (base32
d23495fa 8291 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8292 (build-system glib-or-gtk-build-system)
8293 (inputs
8294 `(("bdb" ,bdb)
8295 ("dbus-glib" ,dbus-glib)
8296 ("evolution-data-server" ,evolution-data-server)
8297 ("glib" ,glib)
8298 ("libgee" ,libgee)
8299 ("telepathy-glib" ,telepathy-glib)))
8300 (native-inputs
8301 `(("gobject-introspection" ,gobject-introspection)
8302 ("intltool" ,intltool)
8303 ("pkg-config" ,pkg-config)
8304 ("vala" ,vala)))
8305 (synopsis "Library to aggregate data about people")
8306 (description "Libfolks is a library that aggregates information about people
8307from multiple sources (e.g., Telepathy connection managers for IM contacts,
8308Evolution Data Server for local contacts, libsocialweb for web service contacts,
8309etc.) to create metacontacts. It's written in Vala, which generates C code when
8310compiled.")
8311 (home-page "https://wiki.gnome.org/Projects/Folks")
8312 (license license:lgpl2.1+)))
01ea778f
LF
8313
8314(define-public gfbgraph
8315 (package
8316 (name "gfbgraph")
8317 (version "0.2.3")
8318 (source (origin
8319 (method url-fetch)
8320 (uri (string-append
237d4cf7 8321 "mirror://gnome/sources/gfbgraph/"
01ea778f 8322 (version-major+minor version) "/"
237d4cf7 8323 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8324 (sha256
8325 (base32
8326 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8327 (build-system glib-or-gtk-build-system)
8328 (arguments
8329 `(#:tests? #f ; Tests appear to require the network.
8330 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8331 #:configure-flags '("--disable-gtk-doc"
8332 "--disable-static"
8333 "--enable-introspection")))
8334 (native-inputs
8335 `(("pkg-config" ,pkg-config)
8336 ("gobject-introspection" ,gobject-introspection)))
8337 (inputs
8338 `(("json-glib" ,json-glib)
14c297fd 8339 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8340 ("rest" ,rest)))
8341 (synopsis "GLib/GObject wrapper for the Facebook API")
8342 (description "This library allows you to use the Facebook API from
8343GLib/GObject code.")
8344 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8345 (license license:lgpl2.1+)))
3920868c 8346
8347(define-public libgnomekbd
8348 (package
8349 (name "libgnomekbd")
70f2b0f9 8350 (version "3.26.1")
3920868c 8351 (source (origin
8352 (method url-fetch)
d47fa82d 8353 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8354 (version-major+minor version) "/"
d47fa82d 8355 "libgnomekbd-" version ".tar.xz"))
3920868c 8356 (sha256
8357 (base32
70f2b0f9 8358 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8359 (build-system gnu-build-system)
8360 (native-inputs
8361 `(("pkg-config" ,pkg-config)
8362 ("glib" ,glib "bin")
8363 ("intltool" ,intltool)))
8364 (propagated-inputs
8365 ;; Referred to in .h files and .pc.
8366 `(("glib" ,glib)
8367 ("gtk+" ,gtk+)
8368 ("libxklavier" ,libxklavier)))
8369 (home-page "https://www.gnome.org")
8370 (synopsis "GNOME keyboard configuration library")
8371 (description
8372 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8373environment, which can notably display keyboard layouts.")
8374 (license license:lgpl2.0+)))
85327d0d 8375
8376;;; This package is no longer maintained:
8377;;; https://wiki.gnome.org/Attic/LibUnique
8378;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8379;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8380(define-public libunique
8381 (package
8382 (name "libunique")
8383 (version "3.0.2")
8384 (source (origin
8385 (method url-fetch)
8386 (uri (string-append "mirror://gnome/sources/" name "/"
8387 (version-major+minor version) "/"
8388 name "-" version ".tar.xz"))
8389 (sha256
8390 (base32
8391 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8392 (build-system glib-or-gtk-build-system)
8393 (arguments
8394 `(#:configure-flags '("--disable-static"
8395 "--disable-dbus" ; use gdbus
8396 "--enable-introspection")))
8397 (native-inputs
8398 `(("pkg-config" ,pkg-config)
8399 ("gobject-introspection" ,gobject-introspection)
8400 ("glib:bin" ,glib "bin")
8401 ("gtk-doc" ,gtk-doc)))
8402 (propagated-inputs
8403 ;; Referred to in .h files and .pc.
8404 `(("gtk+" ,gtk+)))
8405 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8406 (synopsis "Library for writing single instance applications")
8407 (description
8408 "Libunique is a library for writing single instance applications. If you
8409launch a single instance application twice, the second instance will either just
8410quit or will send a message to the running instance. Libunique makes it easy to
8411write this kind of application, by providing a base class, taking care of all
8412the IPC machinery needed to send messages to a running instance, and also
8413handling the startup notification side.")
8414 (license license:lgpl2.1+)))
54021cd8
RS
8415
8416(define-public gnome-calculator
8417 (package
8418 (name "gnome-calculator")
07ace641 8419 (version "3.32.2")
54021cd8
RS
8420 (source
8421 (origin
8422 (method url-fetch)
8423 (uri (string-append "mirror://gnome/sources/" name "/"
8424 (version-major+minor version) "/"
8425 name "-" version ".tar.xz"))
8426 (sha256
8427 (base32
07ace641 8428 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8429 (build-system meson-build-system)
8430 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8431 (native-inputs
8432 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8433 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8434 ("intltool" ,intltool)
8435 ("itstool" ,itstool)
2d475910 8436 ("vala" ,vala)
54021cd8
RS
8437 ("pkg-config" ,pkg-config)))
8438 (inputs
112e9083 8439 `(("glib" ,glib)
07ace641 8440 ("gtksourceview" ,gtksourceview)
54021cd8 8441 ("libsoup" ,libsoup)
112e9083 8442 ("libxml2" ,libxml2)
2c2da7ec 8443 ("mpc" ,mpc)
54021cd8
RS
8444 ("mpfr" ,mpfr)))
8445 (home-page "https://wiki.gnome.org/Apps/Calculator")
8446 (synopsis "Desktop calculator")
8447 (description
8448 "Calculator is an application that solves mathematical equations and
8449is suitable as a default application in a Desktop environment.")
8450 (license license:gpl3)))
0bd69759
RS
8451
8452(define-public xpad
8453 (package
8454 (name "xpad")
c85626bb 8455 (version "5.1.0")
0bd69759
RS
8456 (source
8457 (origin
8458 (method url-fetch)
08fda9c6
R
8459 (uri (string-append "https://launchpad.net/xpad/trunk/"
8460 version "/+download/"
0bd69759
RS
8461 name "-" version ".tar.bz2"))
8462 (sha256
8463 (base32
c85626bb 8464 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8465 (build-system gnu-build-system)
8466 (native-inputs
08fda9c6
R
8467 `(("autoconf" ,autoconf)
8468 ("automake" ,automake)
8469 ("gtk+:bin" ,gtk+ "bin")
8470 ("intltool" ,intltool)
0bd69759
RS
8471 ("pkg-config" ,pkg-config)))
8472 (inputs
c72647fb 8473 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8474 ("libsm" ,libsm)))
8475 (home-page "https://wiki.gnome.org/Apps/Xpad")
8476 (synopsis "Virtual sticky note")
8477 (description
8478 "Xpad is a sticky note that strives to be simple, fault tolerant,
8479and customizable. Xpad consists of independent pad windows, each is
8480basically a text box in which notes can be written.")
8481 (license license:gpl3+)))
3ad7dce1
RS
8482
8483(define-public gucharmap
c60063ea
RW
8484 (let ((unicode-files
8485 '(("Blocks.txt"
1f8b5515 8486 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8487 ("DerivedAge.txt"
1f8b5515 8488 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8489 ("NamesList.txt"
1f8b5515 8490 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8491 ("Scripts.txt"
1f8b5515 8492 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8493 ("UnicodeData.txt"
1f8b5515 8494 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8495 ("Unihan.zip"
1f8b5515 8496 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8497 (package
8498 (name "gucharmap")
1f8b5515 8499 (version "12.0.1")
c60063ea
RW
8500 (source
8501 (origin
8502 (method url-fetch)
8503 (uri (string-append "mirror://gnome/sources/" name "/"
8504 (version-major+minor version) "/"
8505 name "-" version ".tar.xz"))
8506 (sha256
8507 (base32
1f8b5515 8508 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8509 (build-system glib-or-gtk-build-system)
8510 (arguments
8511 `(#:modules ((ice-9 match)
8512 (guix build glib-or-gtk-build-system)
8513 (guix build utils))
8514 #:configure-flags
8515 (list "--with-unicode-data=../unicode-data")
8516 #:phases
8517 (modify-phases %standard-phases
8518 (add-after 'unpack 'prepare-unicode-data
8519 (lambda* (#:key inputs #:allow-other-keys)
8520 (mkdir-p "../unicode-data")
8521 (with-directory-excursion "../unicode-data"
8522 (for-each (match-lambda
8523 ((file _)
8524 (install-file (assoc-ref inputs file) ".")))
8525 ',unicode-files))
8526 #t)))))
8527 (native-inputs
8528 `(("desktop-file-utils" ,desktop-file-utils)
8529 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8530 ("gobject-introspection" ,gobject-introspection)
8531 ("intltool" ,intltool)
8532 ("itstool" ,itstool)
8533 ("pkg-config" ,pkg-config)
8534 ,@(map (match-lambda
8535 ((file hash)
8536 `(,file
8537 ,(origin
8538 (method url-fetch)
8539 (uri (string-append
1f8b5515 8540 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8541 file))
8542 (sha256 (base32 hash))))))
8543 unicode-files)
8544 ("unzip" ,unzip)))
8545 (inputs
8546 `(("gtk+" ,gtk+)
8547 ("xmllint" ,libxml2)))
8548 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8549 (synopsis "Unicode character picker and font browser")
8550 (description
8551 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8552characters and categories for the installed fonts, and to examine their
8553detailed properties. It is an easy way to find the character you might
8554only know by its Unicode name or code point.")
c60063ea 8555 (license license:gpl3+))))
04ce840a
RS
8556
8557(define-public bluefish
8558 (package
8559 (name "bluefish")
ea8afaf3 8560 (version "2.2.10")
04ce840a
RS
8561 (source
8562 (origin
8563 (method url-fetch)
8564 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8565 name "-" version ".tar.gz"))
8566 (sha256
8567 (base32
ea8afaf3 8568 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8569 (build-system gnu-build-system)
8570 (native-inputs
8571 `(("desktop-file-utils" ,desktop-file-utils)
8572 ("intltool" ,intltool)
8573 ("pkg-config" ,pkg-config)))
8574 (inputs
8575 `(("enchant" ,enchant)
8576 ("gtk+" ,gtk+)
8577 ("python" ,python-2)
8578 ("xmllint" ,libxml2)
8579 ("gucharmap" ,gucharmap)))
8580 (home-page "http://bluefish.openoffice.nl")
8581 (synopsis "Web development studio")
8582 (description
8583 "Bluefish is an editor targeted towards programmers and web developers,
8584with many options to write web sites, scripts and other code.
8585Bluefish supports many programming and markup languages.")
8586 (license license:gpl3+)))
1f6a73ee
RS
8587
8588(define-public gnome-system-monitor
8589 (package
8590 (name "gnome-system-monitor")
083cffaf 8591 (version "3.32.1")
1f6a73ee
RS
8592 (source
8593 (origin
8594 (method url-fetch)
8595 (uri (string-append "mirror://gnome/sources/" name "/"
8596 (version-major+minor version) "/"
8597 name "-" version ".tar.xz"))
8598 (sha256
8599 (base32
083cffaf 8600 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8601 (build-system meson-build-system)
8602 (arguments
8603 '(#:glib-or-gtk? #t
8604 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8605 (native-inputs
8606 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8607 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8608 ("intltool" ,intltool)
8609 ("itstool" ,itstool)
8610 ("libgtop" ,libgtop)
4985d9aa 8611 ("polkit" ,polkit)
1f6a73ee
RS
8612 ("pkg-config" ,pkg-config)))
8613 (inputs
8614 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8615 ("gtk+" ,gtk+)
8616 ("gtkmm" ,gtkmm)
8617 ("librsvg" ,librsvg)
4985d9aa
RW
8618 ("libxml2" ,libxml2)
8619 ("libwnck" ,libwnck)))
1f6a73ee
RS
8620 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8621 (synopsis "Process viewer and system resource monitor for GNOME")
8622 (description
8623 "GNOME System Monitor is a GNOME process viewer and system monitor with
8624an attractive, easy-to-use interface. It has features, such as a tree view
8625for process dependencies, icons for processes, the ability to hide processes,
8626graphical time histories of CPU/memory/swap usage and the ability to
8627kill/reinice processes.")
8628 (license license:gpl2+)))
3e00ac47
SB
8629
8630(define-public python-pyatspi
8631 (package
8632 (name "python-pyatspi")
4f937a32 8633 (version "2.34.0")
3e00ac47
SB
8634 (source (origin
8635 (method url-fetch)
8636 (uri (string-append
8637 "mirror://gnome/sources/pyatspi/"
8638 (version-major+minor version)
8639 "/pyatspi-" version ".tar.xz"))
8640 (sha256
8641 (base32
4f937a32 8642 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8643 (build-system gnu-build-system)
b95af3f6
JL
8644 (arguments
8645 `(#:phases
8646 (modify-phases %standard-phases
8647 (add-before 'build 'fix-atk-load
8648 (lambda _
8649 (substitute* "pyatspi/__init__.py"
8650 (("from gi.repository import Atspi")
8651 "gi.require_version('Gtk', '3.0')
8652from gi.repository import Gtk
8653from gi.repository import Atspi"))
8654 #t)))))
3e00ac47
SB
8655 (native-inputs
8656 `(("pkg-config" ,pkg-config)))
8657 (inputs
8658 `(("python" ,python)
8659 ("python-pygobject" ,python-pygobject)))
8660 (synopsis "Python client bindings for D-Bus AT-SPI")
8661 (home-page "https://wiki.linuxfoundation.org/accessibility\
8662/atk/at-spi/at-spi_on_d-bus")
8663 (description
8664 "This package includes a python client library for the AT-SPI D-Bus
8665accessibility infrastructure.")
8666 (license license:lgpl2.0)
8667 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8668
8669(define-public orca
8670 (package
8671 (name "orca")
089e8585 8672 (version "3.32.0")
53201c0d
SB
8673 (source (origin
8674 (method url-fetch)
8675 (uri (string-append
8676 "mirror://gnome/sources/" name "/"
8677 (version-major+minor version) "/"
8678 name "-" version ".tar.xz"))
8679 (sha256
8680 (base32
089e8585 8681 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8682 (build-system glib-or-gtk-build-system)
8683 (arguments
8684 '(#:phases
8685 (modify-phases %standard-phases
8686 (add-before 'configure 'qualify-xkbcomp
8687 (lambda* (#:key inputs #:allow-other-keys)
8688 (let ((xkbcomp (string-append
8689 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8690 (substitute* "src/orca/orca.py"
8691 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8692 #t))
8693 (add-after 'install 'wrap-orca
8694 (lambda* (#:key outputs #:allow-other-keys)
8695 (let* ((out (assoc-ref outputs "out"))
8696 (prog (string-append out "/bin/orca")))
8697 (wrap-program prog
8698 `("GI_TYPELIB_PATH" ":" prefix
8699 (,(getenv "GI_TYPELIB_PATH")))
8700 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8701 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8702 `("PYTHONPATH" ":" prefix
8703 (,(getenv "PYTHONPATH")))))
8704 #t)))))
8705 (native-inputs
8706 `(("intltool" ,intltool)
8707 ("itstool" ,itstool)
8708 ("pkg-config" ,pkg-config)
8709 ("xmllint" ,libxml2)))
8710 (inputs
8711 `(("at-spi2-atk" ,at-spi2-atk)
8712 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8713 ("gstreamer" ,gstreamer)
8714 ("gst-plugins-base" ,gst-plugins-base)
8715 ("gst-plugins-good" ,gst-plugins-good)
8716 ("gtk+" ,gtk+)
8717 ("python" ,python)
8718 ("python-pygobject" ,python-pygobject)
8719 ("python-pyatspi" ,python-pyatspi)
8720 ("python-speechd" ,speech-dispatcher)
8721 ("xkbcomp" ,xkbcomp)))
8722 (synopsis
8723 "Screen reader for individuals who are blind or visually impaired")
8724 (home-page "https://wiki.gnome.org/Projects/Orca")
8725 (description
8726 "Orca is a screen reader that provides access to the graphical desktop
8727via speech and refreshable braille. Orca works with applications and toolkits
8728that support the Assistive Technology Service Provider Interface (AT-SPI).")
8729 (license license:lgpl2.1+)))
411ba511
LC
8730
8731(define-public gspell
8732 (package
8733 (name "gspell")
7a6bbe9b 8734 (version "1.8.2")
411ba511
LC
8735 (source (origin
8736 (method url-fetch)
8737 (uri (string-append "mirror://gnome/sources/" name "/"
8738 (version-major+minor version) "/"
8739 name "-" version ".tar.xz"))
8740 (sha256
8741 (base32
7a6bbe9b 8742 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8743 (patches (search-patches "gspell-dash-test.patch"))))
8744 (build-system glib-or-gtk-build-system)
8745 (arguments
8746 '(#:phases
8747 (modify-phases %standard-phases
8748 (add-before 'check 'pre-check
8749 (lambda* (#:key inputs #:allow-other-keys)
8750 ;; Tests require a running X server.
8751 (system "Xvfb :1 &")
8752 (setenv "DISPLAY" ":1")
8753
8754 ;; For the missing /etc/machine-id.
8755 (setenv "DBUS_FATAL_WARNINGS" "0")
8756
8757 ;; Allow Enchant and its Aspell backend to find the en_US
8758 ;; dictionary.
8759 (setenv "ASPELL_DICT_DIR"
8760 (string-append (assoc-ref inputs "aspell-dict-en")
8761 "/lib/aspell"))
8762 #t)))))
8763 (inputs
eccd35be 8764 `(("gtk+" ,gtk+)
a801ae4c
TGR
8765 ("glib" ,glib)
8766 ("iso-codes" ,iso-codes)))
411ba511
LC
8767 (native-inputs
8768 `(("glib" ,glib "bin")
26ba3f07 8769 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8770 ("pkg-config" ,pkg-config)
8771 ("xmllint" ,libxml2)
8772
8773 ;; For tests.
a801ae4c 8774 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8775 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8776 (propagated-inputs
9b1bb757 8777 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8778 (home-page "https://wiki.gnome.org/Projects/gspell")
8779 (synopsis "GNOME's alternative spell checker")
8780 (description
8781 "gspell provides a flexible API to add spell-checking to a GTK+
8782application. It provides a GObject API, spell-checking to text entries and
8783text views, and buttons to choose the language.")
8784 (license license:gpl2+)))
d1d739fa
CM
8785
8786(define-public gnome-planner
8787 (package
8788 (name "gnome-planner")
8789 (version "0.14.6")
8790 (source (origin
8791 (method url-fetch)
8792 (uri (string-append "mirror://gnome/sources/planner/"
8793 (version-major+minor version) "/planner-"
8794 version ".tar.xz"))
8795 (sha256
8796 (base32
8797 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8798 (build-system glib-or-gtk-build-system)
8799 (arguments
8800 ;; Disable the Python bindings because the Planner program functions
8801 ;; without them, and (as of 2017-06-13) we have not packaged all of
8802 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8803 `(#:configure-flags
8804 (list "--disable-python"
8805 ,@(if (string=? "aarch64-linux" (%current-system))
8806 '("--build=aarch64-unknown-linux-gnu")
8807 '()))))
d1d739fa
CM
8808 (inputs
8809 `(("libgnomecanvas" ,libgnomecanvas)
8810 ("libgnomeui" ,libgnomeui)
8811 ("libglade" ,libglade)
8812 ("gnome-vfs" ,gnome-vfs)
8813 ("gconf" ,gconf)
8814 ("libxml2" ,libxml2)
8815 ("libxslt" ,libxslt)
8816 ("gtk+" ,gtk+)
8817 ("glib" ,glib)))
8818 (native-inputs
8819 `(("intltool" ,intltool)
8820 ("scrollkeeper" ,scrollkeeper)
8821 ("pkg-config" ,pkg-config)))
8822 (home-page "https://wiki.gnome.org/Apps/Planner")
8823 (synopsis "Project management software for the GNOME desktop")
8824 (description
8825 "GNOME Planner is a project management tool based on the Work Breakdown
8826Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8827the resources, tasks, and constraints that you define, Planner generates
8828various views into a project. For example, Planner can show a Gantt chart of
8829the project. It can show a detailed summary of tasks including their
8830duration, cost, and current progress. It can also show a report of resource
8831utilization that highlights under-utilized and over-utilized resources. These
8832views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8833 (license license:gpl2+)))
64fce637
RS
8834
8835(define-public lollypop
8836 (package
8837 (name "lollypop")
ca32627a 8838 (version "1.2.7")
64fce637
RS
8839 (source
8840 (origin
8841 (method url-fetch)
b98eace8 8842 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 8843 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 8844 "lollypop-" version ".tar.xz"))
64fce637 8845 (sha256
ca32627a 8846 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 8847 (build-system meson-build-system)
64fce637
RS
8848 (arguments
8849 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
8850 ,@%meson-build-system-modules)
8851 #:glib-or-gtk? #t
5fc9b6c1
EF
8852 #:tests? #f ; no test suite
8853 #:phases
8854 (modify-phases %standard-phases
5fc9b6c1
EF
8855 (add-after 'install 'wrap-program
8856 (lambda* (#:key outputs #:allow-other-keys)
8857 (let ((out (assoc-ref outputs "out"))
8858 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8859 (wrap-program (string-append out "/bin/lollypop")
8860 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8861 #t))
8ac8b3b3
TGR
8862 (add-after 'install 'wrap-python
8863 (@@ (guix build python-build-system) wrap))
8864 (add-after 'install 'wrap-glib-or-gtk
8865 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
8866 (native-inputs
8867 `(("intltool" ,intltool)
8868 ("itstool" ,itstool)
aa498fc0
TD
8869 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8870 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8871 ("pkg-config" ,pkg-config)))
8872 (inputs
8873 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8874 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8875 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8876 ("libnotify" ,libnotify)
8877 ("libsecret" ,libsecret)
8878 ("libsoup" ,libsoup)
8879 ("python" ,python)
8880 ("python-beautifulsoup4" ,python-beautifulsoup4)
8881 ("python-gst" ,python-gst)
d029afdd 8882 ("python-pil" ,python-pillow)
64fce637 8883 ("python-pycairo" ,python-pycairo)
7460f346 8884 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8885 ("python-pylast" ,python-pylast)
8886 ("totem-pl-parser" ,totem-pl-parser)
8887 ("webkitgtk" ,webkitgtk)))
8888 (propagated-inputs
8889 `(;; gst-plugins-base is required to start Lollypop,
8890 ;; the others are required to play streaming.
64fce637
RS
8891 ("gst-plugins-good" ,gst-plugins-good)
8892 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8893 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8894 (synopsis "GNOME music playing application")
8895 (description
8896 "Lollypop is a music player designed to play well with GNOME desktop.
8897Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8898from artists and tracks from the web. It also fetches cover artworks
8899automatically and it can stream songs from online music services and charts.")
8900 (license license:gpl3+)))
d831d49d
AW
8901
8902(define-public gnome-video-effects
8903 (package
8904 (name "gnome-video-effects")
8905 (version "0.4.3")
8906 (source (origin
8907 (method url-fetch)
8908 (uri (string-append "mirror://gnome/sources/" name "/"
8909 (version-major+minor version) "/" name "-"
8910 version ".tar.xz"))
8911 (sha256
8912 (base32
8913 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8914 (build-system glib-or-gtk-build-system)
8915 (arguments
8916 `(#:out-of-source? #f))
8917 (native-inputs
8918 `(("glib:bin" ,glib "bin")
8919 ("intltool" ,intltool)
8920 ("gettext" ,gettext-minimal)
8921 ("pkg-config" ,pkg-config)))
8922 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8923 (synopsis "Video effects for Cheese and other GNOME applications")
8924 (description
8925 "A collection of GStreamer video filters and effects to be used in
8926photo-booth-like software, such as Cheese.")
8927 (license license:gpl2+)))
3511c780
AW
8928
8929(define-public cheese
8930 (package
8931 (name "cheese")
dd33b337 8932 (version "3.32.1")
3511c780
AW
8933 (source (origin
8934 (method url-fetch)
8935 (uri (string-append "mirror://gnome/sources/" name "/"
8936 (version-major+minor version) "/" name "-"
8937 version ".tar.xz"))
8938 (sha256
8939 (base32
dd33b337 8940 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8941 (arguments
8942 ;; Tests require GDK.
8943 `(#:tests? #f
8944 #:phases
8945 (modify-phases %standard-phases
8946 (add-before 'install 'skip-gtk-update-icon-cache
8947 (lambda _
8948 ;; Don't create 'icon-theme.cache'
8949 (substitute* "Makefile"
8950 (("gtk-update-icon-cache") (which "true")))
8951 #t))
8952 (add-after 'install 'wrap-cheese
8953 (lambda* (#:key inputs outputs #:allow-other-keys)
8954 (let ((out (assoc-ref outputs "out"))
8955 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8956 (wrap-program (string-append out "/bin/cheese")
8957 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8958 #t)))))
8959 (build-system glib-or-gtk-build-system)
8960 (native-inputs
8961 `(("glib:bin" ,glib "bin")
8962 ("intltool" ,intltool)
8963 ("itstool" ,itstool)
8964 ("libxml2" ,libxml2)
8965 ("pkg-config" ,pkg-config)
8966 ("vala" ,vala)))
8967 (propagated-inputs
6a19f03e
RW
8968 `(("gnome-video-effects" ,gnome-video-effects)
8969 ("clutter" ,clutter)
3511c780
AW
8970 ("clutter-gst" ,clutter-gst)
8971 ("clutter-gtk" ,clutter-gtk)
6a19f03e 8972 ("libcanberra" ,libcanberra)
3511c780
AW
8973 ("gdk-pixbuf" ,gdk-pixbuf)
8974 ("glib" ,glib)
6a19f03e
RW
8975 ("gstreamer" ,gstreamer)))
8976 (inputs
8977 `(("gnome-desktop" ,gnome-desktop)
3511c780 8978 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
8979 ("gst-plugins-base" ,gst-plugins-base)
8980 ("gst-plugins-bad" ,gst-plugins-bad)
8981 ("gtk+" ,gtk+)
3511c780
AW
8982 ("libx11" ,libx11)
8983 ("libxtst" ,libxtst)))
8984 (home-page "https://wiki.gnome.org/Apps/Cheese")
8985 (synopsis "Webcam photo booth software for GNOME")
8986 (description
8987 "Cheese uses your webcam to take photos and videos. Cheese can also
8988apply fancy special effects and lets you share the fun with others.")
8989 (license license:gpl2+)))
3c5dbd2b 8990
8991(define-public sound-juicer
8992 (package
8993 (name "sound-juicer")
8994 (version "3.24.0")
8995 (source
8996 (origin
8997 (method url-fetch)
8998 (uri (string-append "mirror://gnome/sources/" name "/"
8999 (version-major+minor version) "/"
9000 name "-" version ".tar.xz"))
9001 (sha256
9002 (base32
9003 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9004 (build-system glib-or-gtk-build-system)
9005 (native-inputs
9006 `(("desktop-file-utils" ,desktop-file-utils)
9007 ("intltool" ,intltool)
9008 ("itstool" ,itstool)
9009 ("pkg-config" ,pkg-config)
9010 ("xmllint" ,libxml2)))
9011 (inputs
9012 `(("gtk+" ,gtk+)
9013 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9014 ("gstreamer" ,gstreamer)
9015 ("gst-plugins-base" ,gst-plugins-base)
9016 ("gst-plugins-good" ,gst-plugins-good)
9017 ("iso-codes" ,iso-codes)
9018 ("libbrasero-media3" ,brasero)
9019 ("libcanberra" ,libcanberra)
9020 ("libdiscid" ,libdiscid)
9021 ("libmusicbrainz" ,libmusicbrainz)
9022 ("neon" ,neon)))
9023 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9024 (synopsis "Audio music cd ripper")
9025 (description "Sound Juicer extracts audio from compact discs and convert it
9026into audio files that a personal computer or digital audio player can play.
9027It supports ripping to any audio codec supported by a GStreamer plugin, such as
9028mp3, Ogg Vorbis and FLAC")
9029 (license license:gpl2+)))
4e3fdeb7 9030
0d3f1708
CB
9031(define-public soundconverter
9032 (package
9033 (name "soundconverter")
fa75a213 9034 (version "3.0.1")
0d3f1708
CB
9035 (source
9036 (origin
9037 (method url-fetch)
9038 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9039 version "/+download/"
9040 "soundconverter-" version ".tar.xz"))
9041
9042 (sha256
fa75a213 9043 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9044 (patches
9045 (search-patches
9046 "soundconverter-remove-gconf-dependency.patch"))))
9047 (build-system glib-or-gtk-build-system)
9048 (arguments
9049 `(#:imported-modules ((guix build python-build-system)
9050 (guix build glib-or-gtk-build-system)
9051 ,@%gnu-build-system-modules)
9052
9053 #:modules ((guix build glib-or-gtk-build-system)
9054 (guix build utils)
9055 ((guix build gnu-build-system) #:prefix gnu:)
9056 ((guix build python-build-system) #:prefix python:))
9057
9058 #:phases
9059 (modify-phases %standard-phases
0d3f1708
CB
9060 (add-after 'install 'wrap-soundconverter-for-python
9061 (assoc-ref python:%standard-phases 'wrap))
9062 (add-after 'install 'wrap-soundconverter
9063 (lambda* (#:key inputs outputs #:allow-other-keys)
9064 (let ((out (assoc-ref outputs "out"))
9065 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9066 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9067 (wrap-program (string-append out "/bin/soundconverter")
9068 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9069 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9070 #t)))))
9071 (native-inputs
9072 `(("intltool" ,intltool)
9073 ("pkg-config" ,pkg-config)
9074 ("glib:bin" ,glib "bin")))
9075 (inputs
9076 `(("gtk+" ,gtk+)
9077 ("python" ,python)
9078 ("python-pygobject" ,python-pygobject)
9079 ("gstreamer" ,gstreamer)
9080 ("gst-plugins-base" ,gst-plugins-base)))
9081 (home-page "http://soundconverter.org/")
9082 (synopsis "Convert between audio formats with a graphical interface")
9083 (description
9084 "SoundConverter supports converting between many audio formats including
9085Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9086configurable file renaming. ")
9087 (license license:gpl3)))
9088
4e3fdeb7 9089(define-public workrave
89f2d736
TGR
9090 (package
9091 (name "workrave")
aa51d92c 9092 (version "1.10.34")
89f2d736
TGR
9093 (source
9094 (origin
9095 (method git-fetch)
9096 (uri (git-reference
9097 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9098 (commit (string-append "v" (string-map
9099 (match-lambda (#\. #\_) (chr chr))
9100 version)))))
89f2d736
TGR
9101 (file-name (git-file-name name version))
9102 (sha256
aa51d92c 9103 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 9104 (build-system glib-or-gtk-build-system)
d1c96847
MC
9105 (inputs `(("glib" ,glib)
9106 ("gtk+" ,gtk+)
9107 ("gdk-pixbuf" ,gdk-pixbuf)
9108 ("gtkmm" ,gtkmm)
9109 ("glibmm" ,glibmm)
9110 ("libx11" ,libx11)
9111 ("libxtst" ,libxtst)
9112 ("dconf" ,dconf)
9113 ("libice" ,libice)
9114 ("libsm" ,libsm)
9115 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9116 (native-inputs `(("boost" ,boost)
89f2d736
TGR
9117 ("pkg-config" ,pkg-config)
9118 ("gettext" ,gnu-gettext)
9119 ("autoconf" ,autoconf)
9120 ("autoconf-archive" , autoconf-archive)
9121 ("automake" ,automake)
9122 ("libtool" ,libtool)
9123 ("intltool" ,intltool)
89f2d736 9124 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9125 ("python3" ,python-3)
9126 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9127 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9128 (description
9129 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9130repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9131micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9132 (home-page "http://www.workrave.org")
9133 (license license:gpl3+)))
312afa7d
LC
9134
9135(define-public ghex
9136 (package
9137 (name "ghex")
3748992a 9138 (version "3.18.4")
312afa7d
LC
9139 (source (origin
9140 (method url-fetch)
2fbab848 9141 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9142 (version-major+minor version) "/"
2fbab848 9143 "ghex-" version ".tar.xz"))
312afa7d
LC
9144 (sha256
9145 (base32
3748992a
KK
9146 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9147 (build-system meson-build-system)
9148 (arguments
9149 '(#:glib-or-gtk? #t
9150 #:phases
9151 (modify-phases %standard-phases
9152 (add-after 'unpack 'skip-gtk-update-icon-cache
9153 ;; Don't create 'icon-theme.cache'.
9154 (lambda _
9155 (substitute* "meson_post_install.py"
9156 (("gtk-update-icon-cache") (which "true")))
9157 #t)))))
312afa7d
LC
9158 (native-inputs
9159 `(("pkg-config" ,pkg-config)
3748992a 9160 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9161 ("gnome-common" ,gnome-common)
9162 ("which" ,which)
9163 ("intltool" ,intltool)
9164 ("yelp-tools" ,yelp-tools)
2fbab848 9165 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9166 (inputs
9167 `(("atk" ,atk)
9168 ("gtk" ,gtk+)))
9169 (synopsis "GNOME hexadecimal editor")
9170 (description "The GHex program can view and edit files in two ways:
9171hexadecimal or ASCII. It is useful for editing binary files in general.")
9172 (home-page "https://wiki.gnome.org/Apps/Ghex")
9173 (license license:gpl2)))
4b2ed6c2
RW
9174
9175(define-public libdazzle
9176 (package
9177 (name "libdazzle")
64fa66ba 9178 (version "3.33.90")
4b2ed6c2
RW
9179 (source (origin
9180 (method url-fetch)
687b4909 9181 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9182 (version-major+minor version) "/"
687b4909 9183 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9184 (sha256
9185 (base32
64fa66ba 9186 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9187 (build-system meson-build-system)
9188 (arguments
9189 `(#:phases
9190 (modify-phases %standard-phases
4b2ed6c2
RW
9191 (add-before 'check 'pre-check
9192 (lambda _
9193 ;; Tests require a running X server.
9194 (system "Xvfb :1 &")
9195 (setenv "DISPLAY" ":1")
9196 #t)))))
9197 (native-inputs
687b4909 9198 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9199 ("pkg-config" ,pkg-config)
687b4909 9200 ;; For tests.
ff337525 9201 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9202 (inputs
9203 `(("glib" ,glib)
9204 ("gobject-introspection" ,gobject-introspection)
9205 ("gtk+" ,gtk+)
9206 ("vala" ,vala)))
9207 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9208 (synopsis "Companion library to GObject and Gtk+")
9209 (description "The libdazzle library is a companion library to GObject and
9210Gtk+. It provides various features that the authors wish were in the
9211underlying library but cannot for various reasons. In most cases, they are
9212wildly out of scope for those libraries. In other cases, they are not quite
9213generic enough to work for everyone.")
9214 (license license:gpl3+)))
7d3bb433
RW
9215
9216(define-public evolution
9217 (package
9218 (name "evolution")
06141f83 9219 (version "3.32.4")
7d3bb433
RW
9220 (source (origin
9221 (method url-fetch)
9222 (uri (string-append "mirror://gnome/sources/evolution/"
9223 (version-major+minor version) "/"
9224 "evolution-" version ".tar.xz"))
9225 (sha256
9226 (base32
06141f83 9227 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9228 (build-system cmake-build-system)
9229 (arguments
5229bea1
KK
9230 `(#:imported-modules (,@%cmake-build-system-modules
9231 (guix build glib-or-gtk-build-system))
9232 #:modules ((guix build cmake-build-system)
9233 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9234 (guix build utils))
9235 #:configure-flags
7d3bb433 9236 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9237 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9238 ; in four years and cannot be built.
5229bea1
KK
9239 #:phases
9240 (modify-phases %standard-phases
9241 ;; The build system attempts to install user interface modules to the
9242 ;; output directory of the "evolution-data-server" package. This
9243 ;; change redirects that change.
9244 (add-after 'unpack 'patch-ui-module-dir
9245 (lambda* (#:key outputs #:allow-other-keys)
9246 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9247 (("\\$\\{edsuimoduledir\\}")
9248 (string-append (assoc-ref outputs "out")
9249 "/lib/evolution-data-server/ui-modules")))
9250 #t))
9251 (add-after 'install 'glib-or-gtk-compile-schemas
9252 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9253 (add-after 'install 'glib-or-gtk-wrap
9254 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9255 (native-inputs
ad6e168b 9256 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9257 ("pkg-config" ,pkg-config)
9258 ("intltool" ,intltool)
9259 ("itstool" ,itstool)))
9260 (inputs
9261 `(("enchant" ,enchant)
9262 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9263 ("gcr" ,gcr)
ad6e168b 9264 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9265 ("gnome-autoar" ,gnome-autoar)
9266 ("gnome-desktop" ,gnome-desktop)
9267 ("gtkspell3" ,gtkspell3)
9268 ("highlight" ,highlight)
9269 ("libcanberra" ,libcanberra)
b63c06f1 9270 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9271 ("libgweather" ,libgweather)
9272 ("libnotify" ,libnotify)
9273 ("libsoup" ,libsoup)
9274 ("nss" ,nss)
9275 ("openldap" ,openldap)
9276 ("webkitgtk" ,webkitgtk)
9277 ("ytnef" ,ytnef)))
9278 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9279 (synopsis "Manage your email, contacts and schedule")
9280 (description "Evolution is a personal information management application
9281that provides integrated mail, calendaring and address book
9282functionality.")
9283 ;; See COPYING for details.
23dbe621 9284 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9285 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9286 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9287
9288(define-public gthumb
9289 (package
9290 (name "gthumb")
8280676b 9291 (version "3.8.2")
169d63f5
AT
9292 (source (origin
9293 (method url-fetch)
9294 (uri (string-append "mirror://gnome/sources/gthumb/"
9295 (version-major+minor version) "/"
9296 "gthumb-" version ".tar.xz"))
9297 (sha256
9298 (base32
8280676b 9299 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9300 (build-system meson-build-system)
9301 (arguments
9302 `(#:glib-or-gtk? #t
9303 #:configure-flags
9304 ;; Ensure the RUNPATH contains all installed library locations.
9305 (list (string-append "-Dc_link_args=-Wl,-rpath="
9306 (assoc-ref %outputs "out")
9307 "/lib/gthumb/extensions")
9308 (string-append "-Dcpp_link_args=-Wl,-rpath="
9309 (assoc-ref %outputs "out")
9310 "/lib/gthumb/extensions"))))
9311 (native-inputs
9312 `(("pkg-config" ,pkg-config)
9313 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9314 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9315 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9316 ("intltool" ,intltool)
9317 ("itstool" ,itstool)))
9318 (inputs
9319 `(("exiv2" ,exiv2)
9320 ("gtk" ,gtk+)
9321 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9322 ("gstreamer" ,gstreamer)
9323 ("clutter" ,clutter)
9324 ("clutter-gst" ,clutter-gst)
9325 ("clutter-gtk" ,clutter-gtk)
9326 ("libjpeg" ,libjpeg)
9327 ("libtiff" ,libtiff)
9328 ("libraw" ,libraw)))
9329 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9330 (synopsis "GNOME image viewer and browser")
9331 (description "GThumb is an image viewer, browser, organizer, editor and
9332advanced image management tool")
9333 (license license:gpl2+)))
08be02be
AT
9334
9335(define-public terminator
9336 (package
9337 (name "terminator")
9338 (version "1.91")
9339 (source (origin
9340 (method url-fetch)
9341 (uri (string-append "https://launchpad.net/" name "/"
9342 "gtk3/" version "/" "+download/"
9343 name "-" version ".tar.gz"))
9344 (sha256
9345 (base32
9346 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9347 (build-system python-build-system)
9348 (native-inputs
9349 `(("intltool" ,intltool)
9350 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9351 ("gettext" ,gettext-minimal)
9352 ("pkg-config" ,pkg-config)))
9353 (inputs
9354 `(("cairo" ,cairo)
9355 ("gobject-introspection" ,gobject-introspection)
96681d4b 9356 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9357 ("python2-pycairo" ,python2-pycairo)
9358 ("python2-pygobject" ,python2-pygobject)
9359 ("python2-psutil" ,python2-psutil)
9360 ("vte" ,vte)))
9361 (arguments
96681d4b
TGR
9362 `(#:python ,python-2 ; Python 3 isn't supported
9363 #:imported-modules ((guix build glib-or-gtk-build-system)
9364 ,@%python-build-system-modules)
9365 #:modules ((guix build python-build-system)
9366 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9367 (guix build utils))
08be02be
AT
9368 #:phases
9369 (modify-phases %standard-phases
9370 (add-after
9371 'install 'wrap-program
9372 (lambda* (#:key outputs #:allow-other-keys)
9373 (let ((prog (string-append (assoc-ref outputs "out")
9374 "/bin/terminator")))
9375 (wrap-program prog
9376 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9377 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9378 #t)))
9379 (add-after 'wrap-program 'glib-or-gtk-wrap
9380 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9381 (home-page "https://gnometerminator.blogspot.com/")
9382 (synopsis "Store and run multiple GNOME terminals in one window")
9383 (description
9384 "Terminator allows you to run multiple GNOME terminals in a grid and
9385+tabs, and it supports drag and drop re-ordering of terminals.")
9386 (license license:gpl2)))
213315d4
JF
9387
9388(define-public libhandy
9389 (package
9390 (name "libhandy")
f6501b9f 9391 (version "0.0.12")
213315d4
JF
9392 (source
9393 (origin
9394 (method git-fetch)
9395 (uri (git-reference
9396 (url "https://source.puri.sm/Librem5/libhandy")
9397 (commit (string-append "v" version))))
9398 (file-name (git-file-name name version))
9399 (sha256
f6501b9f 9400 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9401 (build-system meson-build-system)
9402 (arguments
9403 `(#:configure-flags
9404 '("-Dglade_catalog=disabled"
9405 "-Dgtk_doc=true")
9406 #:phases
9407 (modify-phases %standard-phases
213315d4
JF
9408 (add-before 'check 'pre-check
9409 (lambda _
9410 ;; Tests require a running X server.
9411 (system "Xvfb :1 &")
9412 (setenv "DISPLAY" ":1")
9413 #t)))))
9414 (inputs
9415 `(("gtk+" ,gtk+)))
9416 (native-inputs
9417 `(("glib:bin" ,glib "bin")
9418 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9419 ("vala" ,vala)
9420 ("gtk-doc" ,gtk-doc)
9421 ("pkg-config" ,pkg-config)
9422 ("gettext" ,gettext-minimal)
d41ee146
TGR
9423
9424 ;; Test suite dependencies.
ff337525 9425 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9426 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9427 (home-page "https://source.puri.sm/Librem5/libhandy")
9428 (synopsis "Library full of GTK+ widgets for mobile phones")
9429 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9430interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9431for usage on small and big screens.")
213315d4 9432 (license license:lgpl2.1+)))
a830d14d
GL
9433
9434(define-public libgit2-glib
9435 (package
9436 (name "libgit2-glib")
9437 (version "0.28.0.1")
9438 (source (origin
9439 (method url-fetch)
9440 (uri (string-append "mirror://gnome/sources/" name "/"
9441 (version-major+minor version) "/"
9442 name "-" version ".tar.xz"))
9443 (sha256
9444 (base32
9445 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
9446 (build-system meson-build-system)
9447 (native-inputs
9448 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9449 ("gobject-introspection" ,gobject-introspection)
9450 ("intltool" ,intltool)
9451 ("libssh2" ,libssh2)
9452 ("pkg-config" ,pkg-config)
9453 ("python-pygobject" ,python-pygobject)
9454 ("python-wrapper" ,python-wrapper)
9455 ("vala" ,vala)))
9456 (inputs
9457 `(("glib" ,glib)
9458 ("libgit2" ,libgit2)))
9459 (synopsis "GLib wrapper around the libgit2 Git access library")
9460 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9461access library. It only implements the core plumbing functions, not really the
9462higher level porcelain stuff.")
9463 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9464 (license license:gpl2+)))
93beace0 9465
08db81c9
LP
9466(define-public gitg
9467 (package
9468 (name "gitg")
9469 (version "3.32.1")
9470 (source (origin
9471 (method url-fetch)
9472 (uri (string-append "mirror://gnome/sources/" name "/"
9473 (version-major+minor version) "/"
9474 name "-" version ".tar.xz"))
9475 (sha256
9476 (base32
9477 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9478 (build-system meson-build-system)
9479 (arguments
9480 `(#:glib-or-gtk? #t
9481 #:phases
9482 (modify-phases %standard-phases
9483 (add-after 'unpack 'disable-post-install-partially
9484 (lambda _
9485 (substitute* "meson_post_install.py"
9486 (("'python'") ; there are no python sources to compile
9487 (string-append "'" (which "true") "'"))
9488 (("gtk-update-icon-cache") (which "true")))
9489 #t))
9490 (add-after 'unpack 'fix-test-sources
9491 (lambda _
9492 (substitute* "tests/libgitg/test-commit.vala"
9493 (("/bin/bash") (which "bash")))
9494 #t))
9495 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9496 (lambda* (#:key outputs #:allow-other-keys)
9497 (let ((prog (string-append (assoc-ref outputs "out")
9498 "/bin/gitg")))
9499 (wrap-program prog
9500 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9501 #t))))))
9502 (inputs
9503 `(("glib" ,glib)
9504 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9505 ("gtk+" ,gtk+)
9506 ("gtkspell3" ,gtkspell3)
9507 ("gtksourceview" ,gtksourceview-3)
9508 ("json-glib" ,json-glib)
9509 ("libdazzle" ,libdazzle)
9510 ("libgee" ,libgee)
9511 ("libgit2" ,libgit2) ; propagated by libgit2-glib
9512 ("libgit2-glib" ,libgit2-glib)
9513 ("libpeas" ,libpeas)
9514 ("libsecret" ,libsecret)
9515 ("libsoup" ,libsoup)
9516 ("libxml2" ,libxml2)))
9517 (native-inputs
9518 `(("glib:bin" ,glib "bin")
9519 ("gtk+:bin" ,gtk+ "bin")
9520 ("gobject-introspection" ,gobject-introspection)
9521 ("intltool" ,intltool)
9522 ("pkg-config" ,pkg-config)
9523 ("vala" ,vala)))
9524 (synopsis "Graphical user interface for git")
9525 (description
9526 "gitg is a graphical user interface for git. It aims at being a small,
9527fast and convenient tool to visualize the history of git repositories.
9528Besides visualization, gitg also provides several utilities to manage your
9529repository and commit your work.")
9530 (home-page "https://wiki.gnome.org/Apps/Gitg")
9531 (license license:gpl2+)))
9532
1e600ed0
RW
9533(define-public gamin
9534 (package
9535 (name "gamin")
9536 (version "0.1.10")
9537 (source (origin
9538 (method url-fetch)
9539 (uri (string-append "mirror://gnome/sources/" name "/"
9540 (version-major+minor version) "/"
9541 name "-" version ".tar.bz2"))
9542 (sha256
9543 (base32
9544 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9545 (build-system gnu-build-system)
9546 (arguments
9547 `(#:phases
9548 (modify-phases %standard-phases
9549 (add-after 'unpack 'remove-deprecated-macro
9550 (lambda _
9551 (substitute* '("server/gam_node.c"
9552 "server/gam_subscription.h"
9553 "server/gam_node.h"
9554 "server/gam_subscription.c")
9555 (("G_CONST_RETURN") "const"))
9556 #t)))))
9557 (inputs
9558 `(("glib" ,glib)))
9559 (native-inputs
9560 `(("intltool" ,intltool)
9561 ("pkg-config" ,pkg-config)))
9562 (home-page "https://people.gnome.org/~veillard/gamin/")
9563 (synopsis "File alteration monitor")
9564 (description
9565 "Gamin is a file and directory monitoring system defined to be a subset
9566of the FAM (File Alteration Monitor) system. This is a service provided by a
9567library which allows to detect when a file or a directory has been modified.")
9568 (license license:gpl2+)))
9569
93beace0
DW
9570(define-public gnome-mahjongg
9571 (package
9572 (name "gnome-mahjongg")
9573 (version "3.35.1")
9574 (source (origin
9575 (method git-fetch)
9576 (uri (git-reference
9577 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9578 (commit version)))
9579 (file-name (git-file-name name version))
9580 (sha256
9581 (base32
9582 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9583 (build-system meson-build-system)
9584 (arguments
9585 `(#:glib-or-gtk? #t))
9586 (native-inputs
9587 `(("appstream-glib" ,appstream-glib)
9588 ("gettext" ,gettext-minimal)
9589 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9590 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9591 ("itstool" ,itstool)
9592 ("pkg-config" ,pkg-config)
9593 ("vala" ,vala)))
9594 (propagated-inputs
9595 `(("dconf" ,dconf)))
9596 (inputs
9597 `(("glib" ,glib)
9598 ("gtk+" ,gtk+)
9599 ("librsvg" ,librsvg)))
9600 (synopsis "Mahjongg tile-matching game")
9601 (description "GNOME Mahjongg is a game based on the classic Chinese
9602tile-matching game Mahjong. It features multiple board layouts, tile themes,
9603and a high score table.")
9604 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9605 (license license:gpl2+)))
f825476c 9606
76ea7632
RG
9607(define-public gnome-themes-extra
9608 (package
9609 (name "gnome-themes-extra")
9610 (version "3.28")
9611 (source
9612 (origin
9613 (method url-fetch)
9614 (uri (string-append "mirror://gnome/sources/" name "/"
9615 (version-major+minor version) "/" name "-"
9616 version ".tar.xz"))
9617 (sha256
9618 (base32
9619 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9620 (build-system gnu-build-system)
885424bf
RG
9621 (arguments
9622 '(#:configure-flags
9623 ;; Don't create 'icon-theme.cache'.
9624 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9625 (true (string-append coreutils "/bin/true")))
9626 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9627 (native-inputs
9628 `(("glib:bin" ,glib "bin")
9629 ("intltool" ,intltool)
9630 ("pkg-config" ,pkg-config)))
9631 (inputs
9632 `(("glib" ,glib)
9633 ("gtk+" ,gtk+)
9634 ("gtk+-2" ,gtk+-2)
9635 ("librsvg" ,librsvg)
9636 ("libxml2" ,libxml2)))
9637 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9638 (synopsis "GNOME Extra Themes")
9639 (description "This package provides themes and related elements that don't
9640really fit in other upstream packages. It offers legacy support for GTK+ 2
9641versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9642index files needed for Adwaita to be used outside of GNOME.")
9643 (license license:lgpl2.1+)))
9644
f825476c
LP
9645(define-public polari
9646 (package
9647 (name "polari")
9648 (version "3.32.2")
9649 (source (origin
9650 (method url-fetch)
9651 (uri (string-append "mirror://gnome/sources/polari/"
9652 (version-major+minor version)
9653 "/polari-" version ".tar.xz"))
9654 (sha256
9655 (base32
9656 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9657 (build-system meson-build-system)
9658 (arguments
9659 `(#:glib-or-gtk? #t
9660 #:phases
9661 (modify-phases %standard-phases
9662 (add-after 'unpack 'skip-gtk-update-icon-cache
9663 (lambda _
9664 (substitute* "meson/meson-postinstall.sh"
9665 (("gtk-update-icon-cache") (which "true")))
9666 #t))
9667 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9668 (lambda* (#:key outputs #:allow-other-keys)
9669 (let ((prog (string-append (assoc-ref outputs "out")
9670 "/bin/polari")))
9671 (wrap-program prog
9672 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9673 #t))))))
9674 (inputs
9675 `(("glib" ,glib)
9676 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9677 ("gspell" ,gspell)
9678 ("gtk+" ,gtk+)
9679 ("gjs" ,gjs)
9680 ("libsecret" ,libsecret)
9681 ("libsoup" ,libsoup)
9682 ("telepathy-glib" ,telepathy-glib)
9683 ("telepathy-logger" ,telepathy-logger)))
9684 (native-inputs
9685 `(("glib:bin" ,glib "bin")
9686 ("gobject-introspection" ,gobject-introspection)
9687 ("intltool" ,intltool)
9688 ("pkg-config" ,pkg-config)
9689 ("yelp-tools" ,yelp-tools)))
9690 (propagated-inputs
9691 `(("telepathy-idle" ,telepathy-idle)
9692 ("telepathy-mission-control" ,telepathy-mission-control)))
9693 (synopsis "Simple IRC Client")
9694 (description
9695 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9696integrate seamlessly with the GNOME desktop.")
9697 (home-page "https://wiki.gnome.org/Apps/Polari")
9698 (license license:gpl2+)))