gnu: Add gupnp.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
44a06c94 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
7d3bb433 11;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
0528f70d 14;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
ec47c07d 37;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
aa51d92c 42;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
ad6e168b 43;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
4e868d22 45;;; Copyright © 2019 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
995b7261
AE
49;;;
50;;; This file is part of GNU Guix.
51;;;
52;;; GNU Guix is free software; you can redistribute it and/or modify it
53;;; under the terms of the GNU General Public License as published by
54;;; the Free Software Foundation; either version 3 of the License, or (at
55;;; your option) any later version.
56;;;
57;;; GNU Guix is distributed in the hope that it will be useful, but
58;;; WITHOUT ANY WARRANTY; without even the implied warranty of
59;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60;;; GNU General Public License for more details.
61;;;
62;;; You should have received a copy of the GNU General Public License
63;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
64
65(define-module (gnu packages gnome)
ed19903d 66 #:use-module (gnu packages)
ba5dd105 67 #:use-module (gnu packages admin)
411ba511 68 #:use-module (gnu packages aspell)
75016d07 69 #:use-module (gnu packages autotools)
7b212526 70 #:use-module (gnu packages avahi)
b29909b4 71 #:use-module (gnu packages backup)
6a180f6f 72 #:use-module (gnu packages base)
1e33331c 73 #:use-module (gnu packages bash)
5698b8b8 74 #:use-module (gnu packages bison)
aa51d92c 75 #:use-module (gnu packages boost)
5fc9b6c1 76 #:use-module (gnu packages build-tools)
df217748 77 #:use-module (gnu packages calendar)
b29909b4 78 #:use-module (gnu packages cdrom)
df12f04a 79 #:use-module (gnu packages check)
d61a894b 80 #:use-module (gnu packages cmake)
b29909b4 81 #:use-module (gnu packages compression)
8f523eb9 82 #:use-module (gnu packages crates-io)
23a22af6 83 #:use-module (gnu packages cups)
6e1bb642 84 #:use-module (gnu packages curl)
c3f29bc9 85 #:use-module (gnu packages cyrus-sasl)
6e1bb642 86 #:use-module (gnu packages databases)
255d1bbe 87 #:use-module (gnu packages dbm)
c769cf9f 88 #:use-module (gnu packages djvu)
ba5dd105 89 #:use-module (gnu packages dns)
b4ce6300 90 #:use-module (gnu packages docbook)
b29909b4 91 #:use-module (gnu packages documentation)
329d731b 92 #:use-module (gnu packages enchant)
b29909b4
TGR
93 #:use-module (gnu packages flex)
94 #:use-module (gnu packages fonts)
e762d943 95 #:use-module (gnu packages file-systems)
a56be436 96 #:use-module (gnu packages fontutils)
b29909b4 97 #:use-module (gnu packages freedesktop)
dfc407f3 98 #:use-module (gnu packages game-development)
fed5a689 99 #:use-module (gnu packages gettext)
b29909b4
TGR
100 #:use-module (gnu packages ghostscript)
101 #:use-module (gnu packages gl)
995b7261 102 #:use-module (gnu packages glib)
c1354b90 103 #:use-module (gnu packages gnupg)
23a22af6 104 #:use-module (gnu packages gnuzilla)
8d8c6bff 105 #:use-module (gnu packages geo)
b29909b4
TGR
106 #:use-module (gnu packages gperf)
107 #:use-module (gnu packages graphviz)
85f5dc19 108 #:use-module (gnu packages gstreamer)
d9c1a22b 109 #:use-module (gnu packages gtk)
6b888eff 110 #:use-module (gnu packages guile)
b645146f 111 #:use-module (gnu packages ibus)
03be9874 112 #:use-module (gnu packages icu4c)
b29909b4
TGR
113 #:use-module (gnu packages image)
114 #:use-module (gnu packages imagemagick)
115 #:use-module (gnu packages inkscape)
9cc98f8a 116 #:use-module (gnu packages iso-codes)
b29909b4 117 #:use-module (gnu packages kerberos)
85f5dc19 118 #:use-module (gnu packages libcanberra)
b64e217f 119 #:use-module (gnu packages libunistring)
75016d07 120 #:use-module (gnu packages libusb)
b29909b4 121 #:use-module (gnu packages linux)
4e3fc547 122 #:use-module (gnu packages lirc)
7b212526 123 #:use-module (gnu packages lua)
b29909b4 124 #:use-module (gnu packages mail)
03be9874 125 #:use-module (gnu packages mp3)
b29909b4 126 #:use-module (gnu packages multiprecision)
64fce637 127 #:use-module (gnu packages music)
b29909b4
TGR
128 #:use-module (gnu packages ncurses)
129 #:use-module (gnu packages nettle)
ba5dd105 130 #:use-module (gnu packages networking)
5fc9b6c1 131 #:use-module (gnu packages ninja)
aff0cce9 132 #:use-module (gnu packages nss)
b29909b4 133 #:use-module (gnu packages openldap)
b645146f 134 #:use-module (gnu packages password-utils)
de1215e2 135 #:use-module (gnu packages pcre)
b29909b4 136 #:use-module (gnu packages pdf)
27477d2d 137 #:use-module (gnu packages perl)
f70d8383 138 #:use-module (gnu packages photo)
995b7261 139 #:use-module (gnu packages pkg-config)
b29909b4
TGR
140 #:use-module (gnu packages polkit)
141 #:use-module (gnu packages popt)
7d3bb433 142 #:use-module (gnu packages pretty-print)
23a22af6 143 #:use-module (gnu packages pulseaudio)
995b7261 144 #:use-module (gnu packages python)
00014781
RW
145 #:use-module (gnu packages python-crypto)
146 #:use-module (gnu packages python-web)
44d10b1f 147 #:use-module (gnu packages python-xyz)
cce0da5e 148 #:use-module (gnu packages rdesktop)
b29909b4 149 #:use-module (gnu packages readline)
a76d0f03 150 #:use-module (gnu packages ruby)
ec47c07d 151 #:use-module (gnu packages rust)
b29909b4 152 #:use-module (gnu packages samba)
75016d07 153 #:use-module (gnu packages scanner)
240cee8a 154 #:use-module (gnu packages selinux)
c27e02bf 155 #:use-module (gnu packages slang)
b29909b4
TGR
156 #:use-module (gnu packages speech)
157 #:use-module (gnu packages spice)
cd0322a3 158 #:use-module (gnu packages sqlite)
4a1bf090 159 #:use-module (gnu packages ssh)
8f9ac901 160 #:use-module (gnu packages tex)
33dc54b0 161 #:use-module (gnu packages time)
a7fd7b68 162 #:use-module (gnu packages tls)
3c5dbd2b 163 #:use-module (gnu packages version-control)
b29909b4 164 #:use-module (gnu packages video)
59132b80 165 #:use-module (gnu packages virtualization)
f2b96b3a 166 #:use-module (gnu packages vpn)
a18f8eaf 167 #:use-module (gnu packages web)
b29909b4
TGR
168 #:use-module (gnu packages web)
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
b29909b4 174 #:use-module (gnu packages xorg)
a76d0f03 175 #:use-module (gnu artwork)
8f523eb9 176 #:use-module (guix build-system cargo)
b29909b4
TGR
177 #:use-module (guix build-system cmake)
178 #:use-module (guix build-system glib-or-gtk)
179 #:use-module (guix build-system gnu)
180 #:use-module (guix build-system meson)
08be02be 181 #:use-module (guix build-system python)
b29909b4
TGR
182 #:use-module (guix build-system trivial)
183 #:use-module (guix download)
184 #:use-module (guix git-download)
185 #:use-module ((guix licenses) #:prefix license:)
186 #:use-module (guix packages)
187 #:use-module (guix utils)
a76d0f03 188 #:use-module (guix gexp)
8f523eb9
EF
189 #:use-module (guix monads)
190 #:use-module (guix store)
4e3fdeb7 191 #:use-module (ice-9 match)
c024ae36 192 #:use-module (srfi srfi-1))
85f5dc19
AE
193
194(define-public brasero
195 (package
196 (name "brasero")
e2bf423a 197 (version "3.12.2")
85f5dc19
AE
198 (source (origin
199 (method url-fetch)
d1df7554 200 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 201 (version-major+minor version) "/"
d1df7554 202 "brasero-" version ".tar.xz"))
85f5dc19
AE
203 (sha256
204 (base32
e2bf423a 205 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 206 (build-system glib-or-gtk-build-system)
e8627cd9
DH
207 (arguments
208 `(#:configure-flags (list
209 (string-append "--with-girdir="
210 (assoc-ref %outputs "out")
211 "/share/gir-1.0")
212 (string-append "--with-typelibdir="
213 (assoc-ref %outputs "out")
ce426deb
TD
214 "/lib/girepository-1.0"))
215 #:phases
216 (modify-phases %standard-phases
217 (add-before 'configure 'embed-growisofs
218 (lambda* (#:key inputs #:allow-other-keys)
219 (substitute* "plugins/growisofs/burn-growisofs.c"
220 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 221 #t)))))
85f5dc19
AE
222 (propagated-inputs
223 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
224 (native-inputs
225 `(("intltool" ,intltool)
ba549e17 226 ("itstool" ,itstool)
426adbe8 227 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 228 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 229 ("pkg-config" ,pkg-config)))
85f5dc19 230 (inputs
ce426deb
TD
231 `(("dvd+rw-tools" ,dvd+rw-tools)
232 ("glib" ,glib)
85f5dc19
AE
233 ("gnome-doc-utils" ,gnome-doc-utils)
234 ("gstreamer" ,gstreamer)
235 ("gst-plugins-base" ,gst-plugins-base)
236 ("gtk+" ,gtk+)
85f5dc19
AE
237 ("libcanberra" ,libcanberra)
238 ("libice" ,libice)
239 ("libnotify" ,libnotify)
240 ("libsm" ,libsm)
e8627cd9 241 ("libxml2" ,libxml2)
e8627cd9 242 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 243 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
244 (synopsis "CD/DVD burning tool for Gnome")
245 (description "Brasero is an application to burn CD/DVD for the Gnome
246Desktop. It is designed to be as simple as possible and has some unique
247features to enable users to create their discs easily and quickly.")
1dd26275 248 (license license:gpl2+)))
995b7261 249
29ae18db
RG
250(define-public gnome-color-manager
251 (package
252 (name "gnome-color-manager")
253 (version "3.32.0")
254 (source (origin
255 (method url-fetch)
256 (uri (string-append "mirror://gnome/sources/" name "/"
257 (version-major+minor version) "/"
258 name "-" version ".tar.xz"))
259 (sha256
260 (base32
261 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
262 (build-system meson-build-system)
263 (arguments
264 `(#:glib-or-gtk? #t
265 #:phases
266 (modify-phases %standard-phases
267 (add-before
268 'check 'pre-check
269 (lambda _
270 ;; Tests require a running X server.
271 (system "Xvfb :1 &")
272 (setenv "DISPLAY" ":1")
273 #t)))))
274 (native-inputs
275 `(("desktop-file-utils" ,desktop-file-utils)
276 ("gettext" ,gettext-minimal)
277 ("glib:bin" ,glib "bin")
278 ("gtk+:bin" ,gtk+ "bin")
279 ("itstool" ,itstool)
280 ("pkg-config" ,pkg-config)
281 ("xorg-server" ,xorg-server-for-tests)))
282 (inputs
283 `(("adwaita-icon-theme" ,adwaita-icon-theme)
284 ("appstream-glib" ,appstream-glib)
285 ("colord-gtk" ,colord-gtk)
286 ("exiv2" ,exiv2)
287 ("gnome-desktop" ,gnome-desktop)
288 ("libcanberra" ,libcanberra)
289 ("libexif" ,libexif)
290 ("libtiff" ,libtiff)
291 ("libxrandr" ,libxrandr)
292 ("libxtst" ,libxtst)
293 ("libxxf86vm" ,libxxf86vm)
294 ("vte" ,vte)
295 ("xorgproto" ,xorgproto)))
296 (synopsis "Color profile manager for the GNOME desktop")
297 (description "GNOME Color Manager is a session framework that makes
298it easy to manage, install and generate color profiles
299in the GNOME desktop.")
300 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 301 (license license:gpl2+)))
29ae18db 302
e05471a1
RG
303(define-public gnome-online-miners
304 (package
305 (name "gnome-online-miners")
306 (version "3.30.0")
307 (source (origin
308 (method url-fetch)
309 (uri (string-append "mirror://gnome/sources/" name "/"
310 (version-major+minor version) "/"
311 name "-" version ".tar.xz"))
312 (sha256
313 (base32
314 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
315 (build-system glib-or-gtk-build-system)
316 (native-inputs
317 `(("gettext" ,gettext-minimal)
318 ("glib:bin" ,glib "bin")
29ae18db 319 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
320 ("gtk+:bin" ,gtk+ "bin")
321 ("pkg-config" ,pkg-config)))
322 (inputs
323 `(("gnome-online-accounts" ,gnome-online-accounts)
324 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
325 ("grilo" ,grilo)
326 ("libgdata" ,libgdata)
327 ("libgfbgraph" ,gfbgraph)
328 ("libzapojit" ,libzapojit)
329 ("rest" ,rest)
330 ("tracker" ,tracker)))
331 (synopsis "Web Crawlers for GNOME")
332 (description "GNOME Online Miners provides a set of crawlers that
333go through your online content and index them locally in Tracker.
334It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
335 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 336 (license license:gpl2+)))
e05471a1 337
e2aed29c
RG
338(define-public gssdp
339 (package
340 (name "gssdp")
341 (version "1.2.2")
342 (source (origin
343 (method url-fetch)
344 (uri (string-append "mirror://gnome/sources/" name "/"
345 (version-major+minor version) "/"
346 name "-" version ".tar.xz"))
347 (sha256
348 (base32
349 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
350 (build-system meson-build-system)
351 (native-inputs
352 `(("gettext" ,gettext-minimal)
353 ("glib:bin" ,glib "bin")
354 ("gobject-introspection" ,gobject-introspection)
355 ("gtk-doc" ,gtk-doc)
356 ("pkg-config" ,pkg-config)
357 ("vala" ,vala)))
358 (inputs
359 `(("gtk+" ,gtk+)
360 ("libsoup" ,libsoup)))
361 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
362Protocol} for GNOME")
363 (description "This package provides a library to handle resource discovery
364and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
365a debugging tool, @command{gssdp-device-sniffer}.")
366 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
367 (license license:lgpl2.0+)))
368
291a85b2
RG
369(define-public gupnp
370 (package
371 (name "gupnp")
372 (version "1.2.2")
373 (source (origin
374 (method url-fetch)
375 (uri (string-append "mirror://gnome/sources/" name "/"
376 (version-major+minor version) "/"
377 name "-" version ".tar.xz"))
378 (sha256
379 (base32
380 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
381 (build-system meson-build-system)
382 (native-inputs
383 `(("gettext" ,gettext-minimal)
384 ("glib:bin" ,glib "bin")
385 ("gobject-introspection" ,gobject-introspection)
386 ("gtk-doc" ,gtk-doc)
387 ("pkg-config" ,pkg-config)
388 ("vala" ,vala)))
389 (inputs
390 `(("gssdp" ,gssdp)
391 ("gtk+" ,gtk+)
392 ("libsoup" ,libsoup)))
393 (synopsis "PnP API for GNOME")
394 (description "This package provides GUPnP, an object-oriented framework
395for creating UPnP devices and control points, written in C using
396@code{GObject} and @code{libsoup}.")
397 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
398 (license license:lgpl2.0+)))
399
02ebbca8
RG
400(define-public libmediaart
401 (package
402 (name "libmediaart")
403 (version "1.9.4")
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 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
412 (build-system gnu-build-system)
413 (native-inputs
414 `(("glib:bin" ,glib "bin")
415 ("pkg-config" ,pkg-config)))
416 (inputs
417 `(("gdk-pixbuf" ,gdk-pixbuf)
418 ("gettext" ,gettext-minimal)
419 ("gobject-introspection" ,gobject-introspection)
420 ("gtk+:doc", gtk+ "doc")
421 ("vala" ,vala)))
422 (synopsis "Media art library for the GNOME desktop")
423 (description
424 "The libmediaart library is the foundation for media art caching,
425extraction, and lookup for applications on the desktop.")
426 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
427 (license license:lgpl2.1+)))
428
a26680eb
RG
429(define-public gnome-initial-setup
430 (package
431 (name "gnome-initial-setup")
432 (version "3.32.1")
433 (source (origin
434 (method url-fetch)
435 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
436 (version-major+minor version)
437 "/gnome-initial-setup-" version ".tar.xz"))
438 (sha256
439 (base32
440 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
441 (build-system meson-build-system)
442 (arguments
a65cc579
DM
443 '(#:configure-flags '(;; Enable camera support for user selfie.
444 "-Dcheese=auto"
445 "-Dsystemd=false")))
a26680eb
RG
446 (native-inputs
447 `(("gettext" ,gettext-minimal)
448 ("glib:bin" ,glib "bin")
449 ("gobject-introspection" ,gobject-introspection)
450 ("gtk+:bin" ,gtk+ "bin")
451 ("pkg-config" ,pkg-config)))
452 (inputs
453 `(("accountsservice" ,accountsservice)
454 ;("adwaita-icon-theme" ,adwaita-icon-theme)
455 ("gdm" ,gdm)
456 ("geoclue" ,geoclue)
457 ("gnome-desktop" ,gnome-desktop)
458 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
459 ("gnome-online-accounts" ,gnome-online-accounts)
460 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
461 ("gstreamer" ,gstreamer)
462 ("ibus" ,ibus)
463 ("json-glib" ,json-glib)
464 ("krb5" ,mit-krb5)
465 ("libgweather" ,libgweather)
466 ("libsecret" ,libsecret)
467 ("network-manager" ,network-manager)
468 ("network-manager-applet" ,network-manager-applet)
469 ("packagekit" ,packagekit)
470 ("polkit" ,polkit)
471 ("pwquality" ,libpwquality)
472 ("rest" ,rest)
473 ("upower" ,upower)
474 ("webkitgtk" ,webkitgtk)))
475 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
476 (description "This package provides a set-up wizard when a
477user logs into GNOME for the first time. It typically provides a
478tour of all gnome components and allows the user to set them up.")
a26680eb
RG
479 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
480 (license license:gpl2)))
481
b5f01392
RG
482(define-public gnome-user-share
483 (package
484 (name "gnome-user-share")
485 (version "3.33.1")
486 (source (origin
487 (method url-fetch)
488 (uri (string-append "mirror://gnome/sources/" name "/"
489 (version-major+minor version) "/"
490 name "-" version ".tar.xz"))
491 (sha256
492 (base32
493 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
494 (build-system meson-build-system)
495 (arguments
496 `(#:glib-or-gtk? #t
497 #:configure-flags
498 `("-Dsystemd=false"
499 ;; Enable nautilus extension for file sharing.
500 "-Dnautilus_extension=true")))
501 (native-inputs
502 `(("gettext" ,gettext-minimal)
503 ("glib:bin" ,glib "bin")
504 ("gobject-introspection" ,gobject-introspection)
505 ("gtk+:bin" ,gtk+ "bin")
506 ("pkg-config" ,pkg-config)
507 ("yelp-tools" ,yelp-tools)))
508 (inputs
509 `(("glib" ,glib)
510 ("gnome-bluetooth" ,gnome-bluetooth)
511 ("gtk+" ,gtk+)
512 ("libcanberra" ,libcanberra)
513 ("libnotify" ,libnotify)
514 ("nautilus" ,nautilus))) ; For nautilus extension.
515 (synopsis "File sharing for GNOME desktop")
516 (description "GNOME User Share is a small package that binds together
517various free software projects to bring easy to use user-level file
518sharing to the masses.")
519 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
520 (license license:gpl2)))
521
30416265
RG
522(define-public gnome-menus
523 (package
524 (name "gnome-menus")
525 (version "3.32.0")
526 (source (origin
527 (method url-fetch)
528 (uri (string-append "mirror://gnome/sources/gnome-menus/"
529 (version-major+minor version) "/"
530 name "-" version ".tar.xz"))
531 (sha256
532 (base32
533 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
534 (build-system gnu-build-system)
535 (native-inputs
536 `(("gettext" ,gettext-minimal)
537 ("glib" ,glib)
538 ("pkg-config" ,pkg-config)))
539 (synopsis "Menu support for GNOME desktop")
540 (description "GNOME Menus contains the libgnome-menu library, the layout
541configuration files for the GNOME menu, as well as a simple menu editor.")
542 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 543 (license license:lgpl2.0+)))
30416265 544
d61a894b
CB
545(define-public deja-dup
546 (package
547 (name "deja-dup")
548 (version "34.3")
549 (source (origin
550 (method url-fetch)
551 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
552 (sha256
553 (base32
554 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
555 (patches
556 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
557 (build-system glib-or-gtk-build-system)
558 (arguments
559 `(#:modules ((guix build gnu-build-system)
560 ((guix build cmake-build-system) #:prefix cmake:)
561 (guix build glib-or-gtk-build-system)
562 (guix build utils))
563 #:imported-modules (,@%glib-or-gtk-build-system-modules
564 (guix build cmake-build-system))
565 #:test-target "test"
566 #:configure-flags (list (string-append
567 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
568 (string-append
569 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
570 #:phases
571 (modify-phases %standard-phases
572 (add-after 'unpack 'patch-lockfile-deletion
573 (lambda rest
574 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
575 (("/bin/rm")
576 (which "rm")))))
577 (replace 'configure
578 (assoc-ref cmake:%standard-phases 'configure))
579 (delete 'check) ;; Fails due to issues with DBus
580 (add-after 'install 'wrap-deja-dup
581 (lambda* (#:key inputs outputs #:allow-other-keys)
582 (let ((python (assoc-ref inputs "python"))
583 (python-path (getenv "PYTHONPATH"))
584 (duplicity (assoc-ref inputs "duplicity"))
585 (out (assoc-ref outputs "out")))
586 (for-each
587 (lambda (program)
588 (wrap-program program
589 `("PATH" ":" prefix (,(string-append python "/bin")
590 ,(string-append duplicity "/bin"))))
591 (wrap-program program
592 `("PYTHONPATH" ":" prefix (,python-path))))
593
594 (find-files (string-append out "/bin")))
595 #t))))))
596 (inputs
597 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
598 ("gobject-introspection" ,gobject-introspection)
599 ("duplicity" ,duplicity)
61506fe5 600 ("python" ,python-2)
d61a894b
CB
601 ("python-pygobject" ,python2-pygobject)
602 ("gtk+" ,gtk+)
603 ("libnotify" ,libnotify)
604 ("libpeas" ,libpeas)
605 ("libsecret" ,libsecret)
606 ("packagekit" ,packagekit)))
607 (native-inputs
608 `(("pkg-config" ,pkg-config)
609 ("vala" ,vala)
610 ("gettext" ,gettext-minimal)
611 ("itstool" ,itstool)
612 ("intltool" ,intltool)
c69959f0 613 ("cmake" ,cmake-minimal)))
d61a894b
CB
614 (home-page "https://launchpad.net/deja-dup")
615 (synopsis "Simple backup tool, for regular encrypted backups")
616 (description
617 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
618uses duplicity as the backend, which supports incremental backups and storage
619either on a local, or remote machine via a number of methods.")
620 (license license:gpl3+)))
621
823b77fb
RG
622(define-public gnome-user-docs
623 (package
624 (name "gnome-user-docs")
625 (version "3.32.3")
626 (source
627 (origin
628 (method url-fetch)
629 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
630 (version-major+minor version)
631 "/gnome-user-docs-" version ".tar.xz"))
632 (sha256
633 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
634 (build-system gnu-build-system)
635 (native-inputs
636 `(("gettext" ,gettext-minimal)
637 ("itstool" ,itstool)
638 ("pkg-config" ,pkg-config)
639 ("xmllint" ,libxml2)))
640 (synopsis "User documentation for the GNOME desktop")
641 (description
642 "The GNOME User Documentation explains how to use the GNOME desktop and its
643components. It covers usage and setup of the core GNOME programs by end-users
644and system administrators.")
645 (home-page "https://live.gnome.org/DocumentationProject")
646 (license license:cc-by3.0)))
647
be93299d
RG
648(define-public gnome-getting-started-docs
649 (package
650 (name "gnome-getting-started-docs")
651 (version "3.32.2")
652 (source
653 (origin
654 (method url-fetch)
655 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
656 (version-major+minor version)
657 "/gnome-getting-started-docs-" version ".tar.xz"))
658 (sha256
659 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
660 (build-system gnu-build-system)
661 (native-inputs
662 `(("gettext" ,gettext-minimal)
663 ("itstool" ,itstool)
664 ("pkg-config" ,pkg-config)
665 ("xmllint" ,libxml2)))
666 (synopsis "Help to get new users started with the GNOME desktop")
667 (description
668 "The GNOME Getting Started Documentation contains GNOME's intuitive
669\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
670
671It is normally used together with @command{gnome-initial-setup}, but is also
672useful as a tutorial and users' guide for new or less experienced users.")
673 (home-page "https://live.gnome.org/DocumentationProject")
674 (license license:cc-by-sa3.0)))
675
a56be436
RJ
676(define-public dia
677 ;; This version from GNOME's repository includes fixes for compiling with
678 ;; recent versions of the build tools. The latest activity on the
679 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
680 ;; fixes in 2016.
681 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
682 (package
683 (name "dia")
914c8cdf 684 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
685 (source (origin
686 (method git-fetch)
687 (uri (git-reference
914c8cdf 688 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 689 (commit commit)))
914c8cdf 690 (file-name (git-file-name name version))
a56be436
RJ
691 (sha256
692 (base32
693 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
694 (build-system gnu-build-system)
695 (inputs
a315afa3 696 `(("freetype" ,freetype)
a56be436
RJ
697 ("gdk-pixbuf" ,gdk-pixbuf)
698 ("gtk+" ,gtk+-2)
a315afa3 699 ("libart-lgpl" ,libart-lgpl)
a56be436 700 ("libxml2" ,libxml2)
a315afa3 701 ("pango" ,pango)))
a56be436 702 (native-inputs
a315afa3 703 `(("autoconf" ,autoconf)
a56be436 704 ("automake" ,automake)
a315afa3
EF
705 ("intltool" ,intltool)
706 ("glib" ,glib "bin")
a56be436
RJ
707 ("libtool" ,libtool)
708 ("perl" ,perl)
a315afa3 709 ("pkg-config" ,pkg-config)
a56be436
RJ
710 ("python-wrapper" ,python-wrapper)))
711 (arguments
712 `(#:phases
713 (modify-phases %standard-phases
4b3e91de 714 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 715 (lambda _
4b3e91de
EF
716 (setenv "NOCONFIGURE" "true")
717 #t)))))
a56be436
RJ
718 (home-page "https://wiki.gnome.org/Apps/Dia")
719 (synopsis "Diagram creation for GNOME")
720 (description "Dia can be used to draw different types of diagrams, and
721includes support for UML static structure diagrams (class diagrams), entity
722relationship modeling, and network diagrams. The program supports various file
723formats like PNG, SVG, PDF and EPS.")
724 (license license:gpl2+))))
725
d0b19e44
RW
726;; This is the unstable release, but it is required for the current stable
727;; release of gvfs (1.38.1).
adc5cb1b
KK
728(define-public libgdata
729 (package
730 (name "libgdata")
d0b19e44 731 (version "0.17.9")
adc5cb1b
KK
732 (source (origin
733 (method url-fetch)
734 (uri (string-append "mirror://gnome/sources/" name "/"
735 (version-major+minor version) "/"
736 name "-" version ".tar.xz"))
737 (sha256
738 (base32
d0b19e44 739 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
740 (build-system gnu-build-system)
741 (arguments
742 '(#:phases
743 (modify-phases %standard-phases
448052b7
TGR
744 (add-before 'check 'disable-failing-tests
745 (lambda _
746 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
747 ;; They have been removed in libgdata 0.17.6, so just do the same.
748 (substitute* "gdata/tests/Makefile"
749 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
750 #t)))))
751 (native-inputs
752 `(("glib:bin" ,glib "bin")
753 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
754 ("intltool" ,intltool)
755 ("pkg-config" ,pkg-config)
756 ("uhttpmock" ,uhttpmock)))
757 (inputs
758 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 759 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
760 (propagated-inputs
761 `(("gcr" ,gcr)
d0b19e44 762 ("glib" ,glib)
14c297fd 763 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 764 ("json-glib" ,json-glib)
adc5cb1b 765 ("liboauth" ,liboauth)
d0b19e44 766 ("libsoup" ,libsoup)
adc5cb1b
KK
767 ("libxml2" ,libxml2)))
768 (home-page "https://wiki.gnome.org/Projects/libgdata")
769 (synopsis "Library for accessing online service APIs")
770 (description
771 "libgdata is a GLib-based library for accessing online service APIs using
772the GData protocol — most notably, Google's services. It provides APIs to
773access the common Google services, and has full asynchronous support.")
774 (license license:lgpl2.1+)))
775
94e10cf4
KK
776(define-public libgxps
777 (package
778 (name "libgxps")
66470a5a 779 (version "0.3.1")
94e10cf4
KK
780 (source (origin
781 (method url-fetch)
7f10628c 782 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
783 (version-major+minor version) "/"
784 name "-" version ".tar.xz"))
785 (sha256
786 (base32
66470a5a 787 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 788 (build-system meson-build-system)
94e10cf4
KK
789 (native-inputs
790 `(("gobject-introspection" ,gobject-introspection)
791 ("pkg-config" ,pkg-config)))
792 (inputs
c8d62d93 793 `(("gtk+" ,gtk+)
b6b3e512 794 ("libjpeg" ,libjpeg-turbo)
94e10cf4 795 ("lcms" ,lcms)
0a6e9e13 796 ("libtiff" ,libtiff)))
c8d62d93
MB
797 (propagated-inputs
798 ;; In Requires of libgxps.pc.
799 `(("cairo" ,cairo)
800 ("glib" ,glib)
801 ("libarchive" ,libarchive)))
94e10cf4
KK
802 (home-page "https://wiki.gnome.org/Projects/libgxps")
803 (synopsis "GObject-based library for handling and rendering XPS documents")
804 (description
805 "libgxps is a GObject-based library for handling and rendering XPS
806documents. This package also contains binaries that can convert XPS documents
807to other formats.")
808 (license license:lgpl2.1+)))
809
4e09f57a
RG
810(define-public gnome-characters
811 (package
812 (name "gnome-characters")
813 (version "3.30.0")
814 (source
815 (origin
816 (method url-fetch)
817 (uri (string-append "mirror://gnome/sources/"
818 "gnome-characters/" (version-major+minor version)
819 "/gnome-characters-" version ".tar.xz"))
820 (sha256
821 (base32
822 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
823 (build-system meson-build-system)
5757c641 824 (arguments
825 `(#:glib-or-gtk? #t
826 #:phases (modify-phases %standard-phases
827 (add-after 'install 'wrap
828 (lambda* (#:key outputs #:allow-other-keys)
829 ;; GNOME Characters needs Typelib files from GTK and
830 ;; gnome-desktop.
831 (wrap-program (string-append (assoc-ref outputs "out")
832 "/bin/gnome-characters")
833 `("GI_TYPELIB_PATH" ":" prefix
834 (,(getenv "GI_TYPELIB_PATH"))))
835 #t)))))
4e09f57a
RG
836 (native-inputs
837 `(("gettext" ,gettext-minimal)
838 ("glib:bin" ,glib "bin")
839 ("gtk+:bin" ,gtk+ "bin")
840 ("pkg-config" ,pkg-config)
841 ("python" ,python-minimal)))
842 (inputs
843 `(("gjs" ,gjs)
844 ("gtk+" ,gtk+)
5757c641 845 ("libunistring" ,libunistring)
846 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
847 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
848 (synopsis "Find and insert unusual characters")
849 (description "Characters is a simple utility application to find
850and insert unusual characters. It allows you to quickly find the
851character you are looking for by searching for keywords.")
852 (license license:bsd-3)))
853
7aab13f1
ML
854(define-public gnome-common
855 (package
856 (name "gnome-common")
af83490d 857 (version "3.18.0")
7aab13f1
ML
858 (source
859 (origin
860 (method url-fetch)
861 (uri (string-append "mirror://gnome/sources/" name "/"
862 (version-major+minor version) "/"
863 name "-" version ".tar.xz"))
864 (sha256
865 (base32
af83490d 866 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
867 (build-system gnu-build-system)
868 (home-page "https://www.gnome.org/")
869 (synopsis "Bootstrap GNOME modules built from Git")
870 (description "gnome-common contains various files needed to bootstrap
871GNOME modules built from Git. It contains a common \"autogen.sh\" script that
872can be used to configure a source directory checked out from Git and some
873commonly used macros.")
874 (license license:gpl2+)))
875
4e868d22
RG
876(define-public gnome-contacts
877 (package
878 (name "gnome-contacts")
6a6138b2 879 (version "3.32.1")
4e868d22
RG
880 (source (origin
881 (method url-fetch)
882 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
883 (version-major+minor version) "/"
884 name "-" version ".tar.xz"))
885 (sha256
886 (base32
6a6138b2 887 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
888 (build-system meson-build-system)
889 (arguments
890 `(#:phases
891 (modify-phases %standard-phases
892 (add-after 'unpack 'generate-vapis
893 (lambda* (#:key inputs #:allow-other-keys)
894 ;; To generate goa's missing .vapi file
895 (define goa
896 (assoc-ref inputs "gnome-online-accounts:lib"))
897
898 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
899 "--library=goa-1.0"
900 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
901 #t)))))
902 (native-inputs
903 `(("glib:bin" ,glib "bin")
904 ("gtk+:bin" ,gtk+ "bin")
905 ("pkg-config" ,pkg-config)))
906 (inputs
907 `(("cheese" ,cheese)
908 ("docbook-xml" ,docbook-xml)
909 ("dockbook-xsl" ,docbook-xsl)
910 ("evolution-data-server" ,evolution-data-server)
911 ("gettext" ,gettext-minimal)
912 ("gnome-desktop" ,gnome-desktop)
913 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
914 ("gobject-introspection" ,gobject-introspection)
915 ("gst-plugins-base" ,gst-plugins-base)
916 ("gtk+" ,gtk+)
917 ("libgee" ,libgee)
918 ("libxslt" ,libxslt)
919 ("telepathy-glib" ,telepathy-glib)
920 ("vala" ,vala)))
921 (propagated-inputs
922 `(("folks", folks)
923 ("telepathy-mission-control" ,telepathy-mission-control)))
924 (synopsis "GNOME's integrated address book")
925 (description
926 "GNOME Contacts organizes your contact information from online and
927offline sources, providing a centralized place for managing your contacts.")
928 (home-page "https://wiki.gnome.org/Apps/Contacts")
929 (license license:gpl2+)))
930
9cc98f8a
CR
931(define-public gnome-desktop
932 (package
933 (name "gnome-desktop")
e8a26caa 934 (version "3.32.2")
9cc98f8a
CR
935 (source
936 (origin
937 (method url-fetch)
b38e45d8
EB
938 (uri (string-append "mirror://gnome/sources/" name "/"
939 (version-major+minor version) "/"
9cc98f8a
CR
940 name "-" version ".tar.xz"))
941 (sha256
942 (base32
e8a26caa
KK
943 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
944 (build-system meson-build-system)
a0fe7c06
CB
945 (arguments
946 '(#:phases
947 (modify-phases %standard-phases
948 (add-before 'configure 'patch-path
949 (lambda* (#:key inputs #:allow-other-keys)
950 (let ((libc (assoc-ref inputs "libc")))
951 (substitute* "libgnome-desktop/gnome-languages.c"
952 (("\"locale\"")
953 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
954 #t)))
955 (add-before 'check 'pre-check
956 (lambda* (#:key inputs #:allow-other-keys)
957 ;; Tests require a running X server and locales.
958 (system "Xvfb :1 &")
959 (setenv "DISPLAY" ":1")
960 (setenv "GUIX_LOCPATH"
961 (string-append (assoc-ref inputs "glibc-locales")
962 "/lib/locale"))
963 #t)))))
9cc98f8a 964 (native-inputs
e8a26caa
KK
965 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
966 ("glibc-locales" ,glibc-locales) ; for tests
967 ("gobject-introspection" ,gobject-introspection)
a8340482 968 ("itstool" ,itstool)
bcb354ad
SB
969 ("intltool" ,intltool)
970 ("pkg-config" ,pkg-config)
e8a26caa
KK
971 ("xmllint" ,libxml2)
972 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
973 (propagated-inputs
974 ;; Required by gnome-desktop-3.0.pc.
975 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 976 ("gtk+" ,gtk+)
9cc98f8a 977 ("iso-codes" ,iso-codes)
9863ce20 978 ("libseccomp" ,libseccomp)
9cc98f8a 979 ("libx11" ,libx11)
e8a26caa
KK
980 ("xkeyboard-config" ,xkeyboard-config)))
981 (inputs
982 `(("gdk-pixbuf" ,gdk-pixbuf)
983 ("glib" ,glib)
9cc98f8a
CR
984 ("libxext" ,libxext)
985 ("libxkbfile" ,libxkbfile)
e8a26caa 986 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
987 (home-page "https://www.gnome.org/")
988 (synopsis
35b9e423 989 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
990 (description
991 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
992on the desktop, but that cannot live in the platform for various reasons.
993There is no API or ABI guarantee, although we are doing our best to provide
994stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
995
996The gnome-about program helps find which version of GNOME is installed.")
997 ; Some bits under the LGPL.
1dd26275 998 (license license:gpl2+)))
9cc98f8a 999
995b7261
AE
1000(define-public gnome-doc-utils
1001 (package
1002 (name "gnome-doc-utils")
1003 (version "0.20.10")
1004 (source
1005 (origin
1006 (method url-fetch)
b38e45d8
EB
1007 (uri (string-append "mirror://gnome/sources/" name "/"
1008 (version-major+minor version) "/"
995b7261
AE
1009 name "-" version ".tar.xz"))
1010 (sha256
1011 (base32
1012 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1013 (build-system gnu-build-system)
c4c4cc05 1014 (native-inputs
995b7261 1015 `(("intltool" ,intltool)
b4ce6300 1016 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1017 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1018 ("libxml2" ,libxml2)
1019 ("libxslt" ,libxslt)
1020 ("pkg-config" ,pkg-config)
1021 ("python-2" ,python-2)))
995b7261
AE
1022 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1023 (synopsis
1024 "Documentation utilities for the Gnome project")
1025 (description
1026 "Gnome-doc-utils is a collection of documentation utilities for the
1027Gnome project. It includes xml2po tool which makes it easier to translate
1028and keep up to date translations of documentation.")
1dd26275 1029 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1030
6c4f7022
DC
1031(define-public gnome-disk-utility
1032 (package
1033 (name "gnome-disk-utility")
e106d0a6 1034 (version "3.32.1")
6c4f7022
DC
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append "mirror://gnome/sources/" name "/"
1038 (version-major+minor version) "/"
1039 name "-" version ".tar.xz"))
1040 (sha256
1041 (base32
e106d0a6 1042 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1043 (build-system meson-build-system)
321c73c3
EF
1044 (arguments
1045 '(#:phases
1046 (modify-phases %standard-phases
1047 (add-after 'unpack 'skip-gtk-update-icon-cache
1048 ;; Don't create 'icon-theme.cache'.
1049 (lambda _
1050 (substitute* "meson_post_install.py"
1051 (("gtk-update-icon-cache") "true"))
1052 #t)))))
6c4f7022
DC
1053 (native-inputs
1054 `(("glib:bin" ,glib "bin")
1055 ("intltool" ,intltool)
1056 ("pkg-config" ,pkg-config)
1057 ("docbook-xml" ,docbook-xml)
1058 ("docbook-xsl" ,docbook-xsl)
1059 ("libxml2" ,libxml2)
1060 ("libxslt" ,libxslt)))
1061 (inputs
1062 `(("glib" ,glib)
1063 ("appstream-glib" ,appstream-glib)
1064 ("gnome-settings-daemon" ,gnome-settings-daemon)
1065 ("gtk+" ,gtk+)
1066 ("libcanberra" ,libcanberra)
1067 ("libdvdread" ,libdvdread)
1068 ("libnotify" ,libnotify)
1069 ("libpwquality" ,libpwquality)
1070 ("libsecret" ,libsecret)
1071 ("udisks" ,udisks)))
1072 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1073 (synopsis "Disk management utility for GNOME")
1074 (description "Disk management utility for GNOME.")
1075 (license license:gpl2+)))
1076
3d217317
RG
1077(define-public gnome-font-viewer
1078 (package
1079 (name "gnome-font-viewer")
1080 (version "3.30.0")
1081 (source (origin
1082 (method url-fetch)
1083 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1084 (version-major+minor version)
1085 "/gnome-font-viewer-" version ".tar.xz"))
1086 (sha256
1087 (base32
1088 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1089 (build-system meson-build-system)
1090 (arguments
1091 '(#:phases
1092 (modify-phases %standard-phases
1093 (add-after 'unpack 'patch-post-install-script
1094 (lambda _
1095 (substitute* "meson-postinstall.sh"
1096 (("update-desktop-database") (which "true")))
1097 #t)))))
1098 (native-inputs
1099 `(("gettext" ,gettext-minimal)
1100 ("glib:bin" ,glib "bin")
1101 ("pkg-config" ,pkg-config)))
1102 (inputs
1103 `(("glib" ,glib)
1104 ("gnome-desktop" ,gnome-desktop)
1105 ("gtk+" ,gtk+)))
1106 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1107 (synopsis "GNOME Fonts")
1108 (description "Application to show you the fonts installed on your computer
1109for your use as thumbnails. Selecting any thumbnails shows the full view of how
1110the font would look under various sizes.")
1111 (license license:gpl2+)))
1112
8ff49011
RW
1113(define-public gcr
1114 (package
1115 (name "gcr")
bea6b829 1116 (version "3.28.1")
8ff49011 1117 (source (origin
0daf0efb
RW
1118 (method url-fetch)
1119 (uri (string-append "mirror://gnome/sources/" name "/"
1120 (version-major+minor version) "/"
1121 name "-" version ".tar.xz"))
1122 (sha256
1123 (base32
bea6b829 1124 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1125 (patches
1126 (list
1127 ;; This patch solves an ordering issue that showed up when
1128 ;; running the test suite against newer Glib 2.60. See
1129 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1130 (origin
1131 (method url-fetch)
1132 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1133 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1134 (file-name "gcr-hashtable-ordering.patch")
1135 (sha256
1136 (base32
1137 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1138 (build-system gnu-build-system)
1139 (arguments
0daf0efb
RW
1140 '(#:phases
1141 (modify-phases %standard-phases
1142 ;; These fail because /var/lib/dbus/machine-id is not present in the
1143 ;; build environment.
1144 (add-after 'unpack 'disable-failing-tests
1145 (lambda _
1146 (substitute* "gcr/test-system-prompt.c"
1147 (("g_test_add") "//")
1148 (("return.*") "return 0;"))
1149 #t))
1150 (add-before 'check 'pre-check
1151 (lambda _
1152 ;; Some tests expect to write to $HOME.
1153 (setenv "HOME" "/tmp")
1154 #t)))))
8ff49011
RW
1155 (inputs
1156 `(("dbus" ,dbus)
0daf0efb 1157 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1158 ("libgcrypt" ,libgcrypt)))
1159 (native-inputs
0daf0efb 1160 `(("python" ,python-2) ;for tests
8ff49011
RW
1161 ("pkg-config" ,pkg-config)
1162 ("glib" ,glib "bin")
2af4f5b0
SB
1163 ("gobject-introspection" ,gobject-introspection)
1164 ("intltool" ,intltool)
0daf0efb 1165 ("libxml2" ,libxml2)
bea6b829 1166 ("vala" ,vala)
2af4f5b0 1167 ("xsltproc" ,libxslt)))
8ff49011
RW
1168 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1169 (propagated-inputs
1170 `(("p11-kit" ,p11-kit)
1171 ("glib" ,glib)
1172 ("gtk+" ,gtk+)))
f032d0be 1173 (home-page "https://www.gnome.org")
8ff49011
RW
1174 (synopsis "Libraries for displaying certificates and accessing key stores")
1175 (description
1176 "The GCR package contains libraries used for displaying certificates and
1177accessing key stores. It also provides the viewer for crypto files on the
1178GNOME Desktop.")
1179 (license license:lgpl2.1+)))
1180
c1354b90
LC
1181(define-public libgnome-keyring
1182 (package
1183 (name "libgnome-keyring")
5e8aec2c 1184 (version "3.12.0")
c1354b90
LC
1185 (source (origin
1186 (method url-fetch)
b38e45d8
EB
1187 (uri (string-append "mirror://gnome/sources/" name "/"
1188 (version-major+minor version) "/"
1189 name "-" version ".tar.xz"))
c1354b90
LC
1190 (sha256
1191 (base32
5e8aec2c 1192 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1193 (build-system gnu-build-system)
c1354b90 1194 (inputs
c4c4cc05 1195 `(("libgcrypt" ,libgcrypt)
c1354b90 1196 ("dbus" ,dbus)))
c4c4cc05
JD
1197 (native-inputs
1198 `(("pkg-config" ,pkg-config)
426adbe8 1199 ("glib" ,glib "bin")
c4c4cc05 1200 ("intltool" ,intltool)))
c1354b90
LC
1201 (propagated-inputs
1202 ;; Referred to in .h files and .pc.
1203 `(("glib" ,glib)))
f032d0be 1204 (home-page "https://www.gnome.org")
c1354b90
LC
1205 (synopsis "Accessing passwords from the GNOME keyring")
1206 (description
1207 "Client library to access passwords from the GNOME keyring.")
1208
1209 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1210 (license license:lgpl2.0+)))
c1354b90 1211
e99a3d6f
RW
1212(define-public gnome-keyring
1213 (package
1214 (name "gnome-keyring")
ab35cc6e 1215 (version "3.28.2")
e99a3d6f
RW
1216 (source (origin
1217 (method url-fetch)
1218 (uri (string-append "mirror://gnome/sources/" name "/"
1219 (version-major+minor version) "/"
1220 name "-" version ".tar.xz"))
1221 (sha256
1222 (base32
ab35cc6e 1223 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1224 (build-system gnu-build-system)
1225 (arguments
1226 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1227 ;not exist
1228 #:configure-flags
1229 (list
1230 (string-append "--with-pkcs11-config="
1231 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1232 (string-append "--with-pkcs11-modules="
1233 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1234 #:phases
1235 (modify-phases %standard-phases
ab35cc6e
RW
1236 (add-after 'unpack 'fix-/bin/sh-reference
1237 (lambda _
1238 (substitute* "po/Makefile.in.in"
1239 (("/bin/sh") (which "sh")))
1240 #t))
5120f24f
RW
1241 (add-after 'unpack 'fix-docbook
1242 (lambda* (#:key inputs #:allow-other-keys)
1243 (substitute* "docs/Makefile.am"
1244 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1245 (string-append (assoc-ref inputs "docbook-xsl")
1246 "/xml/xsl/docbook-xsl-"
1247 ,(package-version docbook-xsl)
1248 "/manpages/docbook.xsl")))
1249 (setenv "XML_CATALOG_FILES"
1250 (string-append (assoc-ref inputs "docbook-xml")
1251 "/xml/dtd/docbook/catalog.xml"))
1252 ;; Rerun the whole thing to avoid version mismatch ("This is
1253 ;; Automake 1.15.1, but the definition used by this
1254 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1255 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1256 (invoke "autoconf")
1257 (invoke "aclocal")
1258 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1259 (inputs
1260 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1261 ("linux-pam" ,linux-pam)
ab35cc6e 1262 ("openssh" ,openssh)
e99a3d6f
RW
1263 ("dbus" ,dbus)
1264 ("gcr" ,gcr)))
1265 (native-inputs
1266 `(("pkg-config" ,pkg-config)
1267 ("glib" ,glib "bin")
5120f24f 1268 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1269 ("python" ,python-2) ;for tests
1270 ("intltool" ,intltool)
1271 ("autoconf" ,autoconf)
1272 ("automake" ,automake)
1273 ("libxslt" ,libxslt) ;for documentation
1274 ("docbook-xml" ,docbook-xml-4.2)
1275 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1276 (home-page "https://www.gnome.org")
e99a3d6f
RW
1277 (synopsis "Daemon to store passwords and encryption keys")
1278 (description
1279 "gnome-keyring is a program that keeps passwords and other secrets for
1280users. It is run as a daemon in the session, similar to ssh-agent, and other
1281applications locate it via an environment variable or D-Bus.
1282
1283The program can manage several keyrings, each with its own master password,
1284and there is also a session keyring which is never stored to disk, but
1285forgotten when the session ends.")
1286 (license license:lgpl2.1+)))
1287
c1354b90
LC
1288(define-public evince
1289 (package
1290 (name "evince")
936d5642 1291 (version "3.34.2")
c1354b90
LC
1292 (source (origin
1293 (method url-fetch)
ac631328 1294 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1295 (version-major+minor version) "/"
ac631328 1296 "evince-" version ".tar.xz"))
c1354b90
LC
1297 (sha256
1298 (base32
936d5642 1299 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1300 (build-system glib-or-gtk-build-system)
c1354b90
LC
1301 (arguments
1302 `(#:configure-flags '("--disable-nautilus")
554b2dac
SB
1303 #:phases
1304 (modify-phases %standard-phases
1305 (add-before 'install 'skip-gtk-update-icon-cache
1306 ;; Don't create 'icon-theme.cache'.
1307 (lambda _
1308 (substitute* "data/Makefile"
1309 (("gtk-update-icon-cache") "true"))
1310 #t)))))
c1354b90 1311 (inputs
9a096881
KK
1312 `(("libarchive" ,libarchive)
1313 ("libgxps" ,libgxps)
1314 ("libspectre" ,libspectre)
c769cf9f 1315 ("djvulibre" ,djvulibre)
c1354b90
LC
1316 ("ghostscript" ,ghostscript)
1317 ("poppler" ,poppler)
c769cf9f
SB
1318 ("libtiff" ,libtiff)
1319 ;; TODO:
c769cf9f
SB
1320 ;; Build libkpathsea as a shared library for DVI support.
1321 ;; ("libkpathsea" ,texlive-bin)
1322 ("gnome-desktop" ,gnome-desktop)
c1354b90 1323 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1324 ("gspell" ,gspell)
c1354b90 1325 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1326 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1327 ("gdk-pixbuf" ,gdk-pixbuf)
1328 ("atk" ,atk)
1329 ("pango" ,pango)
1330 ("gtk+" ,gtk+)
1331 ("glib" ,glib)
1332 ("libxml2" ,libxml2)
c1354b90
LC
1333 ("libsm" ,libsm)
1334 ("libice" ,libice)
96e42467 1335 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1336 ("dconf" ,dconf)
1337 ("libcanberra" ,libcanberra)
c769cf9f 1338 ("libsecret" ,libsecret)
a271096b 1339
c1354b90
LC
1340 ;; For tests.
1341 ("dogtail" ,python2-dogtail)))
96e42467 1342 (native-inputs
bcb354ad
SB
1343 `(("itstool" ,itstool)
1344 ("intltool" ,intltool)
426adbe8 1345 ("glib" ,glib "bin")
bcb354ad
SB
1346 ("pkg-config" ,pkg-config)
1347 ("xmllint" ,libxml2)))
c1354b90 1348 (home-page
f032d0be 1349 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1350 (synopsis "GNOME's document viewer")
1351 (description
1352 "Evince is a document viewer for multiple document formats. It
1353currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1354of Evince is to replace the multiple document viewers that exist
96e42467 1355on the GNOME Desktop with a single simple application.")
1dd26275 1356 (license license:gpl2+)))
c1354b90 1357
22e32e69
AE
1358(define-public gsettings-desktop-schemas
1359 (package
1360 (name "gsettings-desktop-schemas")
c900dabd 1361 (version "3.32.0")
22e32e69
AE
1362 (source
1363 (origin
1364 (method url-fetch)
1365 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1366 (version-major+minor version) "/"
22e32e69
AE
1367 name "-" version ".tar.xz"))
1368 (sha256
1369 (base32
c900dabd
KK
1370 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1371 (build-system meson-build-system)
65209ffa
LC
1372 (arguments
1373 '(#:phases (modify-phases %standard-phases
1374 (add-after 'unpack 'set-adwaita-theme-file-name
1375 (lambda* (#:key inputs #:allow-other-keys)
1376 ;; Provide the correct file name of the default GNOME
1377 ;; background, 'adwaita-timed.xml'.
1378 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1379 (substitute* (find-files "schemas"
1380 "\\.gschema\\.xml\\.in$")
1381 (("@datadir@/backgrounds/gnome")
1382 (string-append theme "/share/backgrounds/gnome")))
1383 #t))))))
22e32e69 1384 (inputs
65209ffa
LC
1385 `(("glib" ,glib)
1386 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1387 (native-inputs
1388 `(("intltool" ,intltool)
426adbe8 1389 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1390 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1391 ("pkg-config" ,pkg-config)))
1392 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1393 (synopsis
1394 "GNOME settings for various desktop components")
1395 (description
1396 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1397for settings shared by various components of the GNOME desktop.")
1dd26275 1398 (license license:lgpl2.1+)))
22e32e69 1399
27477d2d
AE
1400(define-public icon-naming-utils
1401 (package
1402 (name "icon-naming-utils")
1403 (version "0.8.90")
1404 (source
1405 (origin
1406 (method url-fetch)
5cc3096c 1407 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1408 version ".tar.bz2"))
1409 (sha256
1410 (base32
1411 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1412 (build-system gnu-build-system)
1413 (inputs
1414 `(("perl" ,perl)
1415 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1416 (arguments
1417 '(#:phases
dc1d3cde
KK
1418 (modify-phases %standard-phases
1419 (add-after 'install 'set-load-paths
1420 ;; Tell 'icon-name-mapping' where XML::Simple is.
1421 (lambda* (#:key outputs #:allow-other-keys)
1422 (let* ((out (assoc-ref outputs "out"))
1423 (prog (string-append out "/libexec/icon-name-mapping")))
1424 (wrap-program
1425 prog
1426 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1427 #t)))))
27477d2d
AE
1428 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1429 (synopsis
1430 "Utility to implement the Freedesktop Icon Naming Specification")
1431 (description
1432 "To help with the transition to the Freedesktop Icon Naming
1433Specification, the icon naming utility maps the icon names used by the
1434GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1435 (license license:lgpl2.1+)))
27477d2d 1436
7d3f3651
AE
1437(define-public gnome-icon-theme
1438 (package
1439 (name "gnome-icon-theme")
b32f58dd 1440 (version "3.12.0")
7d3f3651
AE
1441 (source
1442 (origin
1443 (method url-fetch)
1444 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1445 (version-major+minor version) "/"
7d3f3651
AE
1446 name "-" version ".tar.xz"))
1447 (sha256
1448 (base32
b32f58dd 1449 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1450 (build-system gnu-build-system)
5613c27d
SB
1451 (arguments
1452 '(#:configure-flags
1453 ;; Don't create 'icon-theme.cache'.
1454 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1455 (true (string-append coreutils "/bin/true")))
1456 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1457 (native-inputs
5613c27d 1458 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1459 ("intltool" ,intltool)
1460 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1461 (home-page "https://wiki.gnome.org/Personalization")
1462 (synopsis "GNOME icon theme")
1463 (description "Icons for the GNOME desktop.")
1dd26275 1464 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1465
14eeefa2
SB
1466;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1467(define-public adwaita-icon-theme
1468 (package (inherit gnome-icon-theme)
1469 (name "adwaita-icon-theme")
9be59d7f 1470 (version "3.32.0")
14eeefa2
SB
1471 (source (origin
1472 (method url-fetch)
1473 (uri (string-append "mirror://gnome/sources/" name "/"
1474 (version-major+minor version) "/"
1475 name "-" version ".tar.xz"))
1476 (sha256
1477 (base32
9be59d7f 1478 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1479 (native-inputs
1480 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1481
ae792dba
RW
1482(define-public tango-icon-theme
1483 (package
1484 (name "tango-icon-theme")
1485 (version "0.8.90")
1486 (source (origin
1487 (method url-fetch)
1488 (uri (string-append "http://tango.freedesktop.org/releases/"
1489 "tango-icon-theme-" version ".tar.bz2"))
1490 (sha256
1491 (base32
1492 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1493 (build-system gnu-build-system)
1494 (native-inputs
1495 `(("icon-naming-utils" ,icon-naming-utils)
1496 ("intltool" ,intltool)
1497 ("imagemagick" ,imagemagick)
1498 ("pkg-config" ,pkg-config)))
1499 (home-page "http://tango-project.org/")
1500 (synopsis "Tango icon theme")
1501 (description "This is an icon theme that follows the Tango visual
1502guidelines.")
1503 (license license:public-domain)))
1504
9167f8e6
LC
1505(define-public shared-mime-info
1506 (package
1507 (name "shared-mime-info")
18138ab9 1508 (version "1.10")
9167f8e6
LC
1509 (source (origin
1510 (method url-fetch)
5cc3096c 1511 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1512 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1513 (sha256
1514 (base32
18138ab9 1515 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1516 (build-system gnu-build-system)
1517 (arguments
1518 ;; The build system appears not to be parallel-safe.
1519 '(#:parallel-build? #f))
1520 (inputs
1521 `(("glib" ,glib)
c4c4cc05 1522 ("libxml2" ,libxml2)))
9167f8e6 1523 (native-inputs
c4c4cc05
JD
1524 `(("intltool" ,intltool)
1525 ("pkg-config" ,pkg-config)))
57e7d748 1526 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1527 (synopsis "Database of common MIME types")
1528 (description
1529 "The shared-mime-info package contains the core database of common types
1530and the update-mime-database command used to extend it. It requires glib2 to
1531be installed for building the update command. Additionally, it uses intltool
1532for translations, though this is only a dependency for the maintainers. This
1533database is translated at Transifex.")
1dd26275 1534 (license license:gpl2+)))
9167f8e6 1535
dd1fcddc
CB
1536(define-public system-config-printer
1537 (package
1538 (name "system-config-printer")
fa01e10d 1539 (version "1.5.12")
a5643044
TGR
1540 (source
1541 (origin
1542 (method url-fetch)
1543 (uri (string-append
1544 "https://github.com/OpenPrinting/system-config-printer/releases/"
1545 "download/" version
1546 "/system-config-printer-" version ".tar.xz"))
1547 (sha256
fa01e10d 1548 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1549 (build-system glib-or-gtk-build-system)
1550 (arguments
1551 `(#:imported-modules ((guix build python-build-system)
1552 ,@%glib-or-gtk-build-system-modules)
1553 #:phases
1554 (modify-phases %standard-phases
1555 (add-after 'unpack 'patch-Makefile.am
1556 (lambda _
1557 ;; The Makefile generates some scripts, so set a valid shebang
1558 (substitute* "Makefile.am"
1559 (("/bin/bash") (which "bash")))
1560 (delete-file "configure")
1561 #t))
1562 (add-after 'unpack 'patch-docbook-xml
1563 (lambda* (#:key inputs #:allow-other-keys)
1564 ;; Modify the man XML otherwise xmlto tries to access the network
1565 (substitute* "man/system-config-printer.xml"
1566 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1567 (string-append (assoc-ref inputs "docbook-xml")
1568 "/xml/dtd/docbook/")))
1569 #t))
1570 (add-after 'install 'wrap-for-python
1571 (@@ (guix build python-build-system) wrap))
1572 (add-after 'install 'wrap
1573 (lambda* (#:key outputs #:allow-other-keys)
1574 (let ((out (assoc-ref outputs "out"))
1575 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1576 (for-each
1577 (lambda (program)
1578 (wrap-program program
1579 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1580 (map (lambda (name)
1581 (string-append out "/bin/" name))
1582 '("system-config-printer"
1583 "system-config-printer-applet"
1584 "install-printerdriver"
1585 "scp-dbus-service"))))
1586 #t)))))
1587 (inputs
1588 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1589 ("gobject-introspection" ,gobject-introspection)
1590 ("python" ,python)
1591 ("cups" ,cups)
1592 ("python-dbus" ,python-dbus)
1593 ("python-pygobject" ,python-pygobject)
1594 ("python-pycups" ,python-pycups)
1595 ("python-requests" ,python-requests)
1596 ("python-pycairo" ,python-pycairo)
1597 ("libnotify" ,libnotify)
1598 ("packagekit" ,packagekit)))
1599 (native-inputs
1600 `(("pkg-config" ,pkg-config)
1601 ("desktop-file-utils" ,desktop-file-utils)
1602 ("glib" ,glib)
1603 ("autoconf" ,autoconf)
1604 ("automake" ,automake)
1605 ("intltool" ,intltool)
1606 ("xmlto" ,xmlto)
1607 ("docbook-xml" ,docbook-xml-4.1.2)
1608 ("docbook-xsl" ,docbook-xsl)
1609 ("libxml2" ,libxml2)))
1610 (home-page "https://github.com/zdohnal/system-config-printer")
1611 (synopsis "CUPS administration tool")
1612 (description
1613 "system-config-printer is a CUPS administration tool. It's written in
1614Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1615configuring CUPS.")
1616 (license license:gpl2+)))
1617
bef4dd92
AE
1618(define-public hicolor-icon-theme
1619 (package
1620 (name "hicolor-icon-theme")
851cb6dd 1621 (version "0.17")
bef4dd92
AE
1622 (source
1623 (origin
1624 (method url-fetch)
5cc3096c 1625 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1626 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1627 (sha256
1628 (base32
851cb6dd 1629 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1630 (build-system gnu-build-system)
1631 (arguments
1632 `(#:tests? #f)) ; no check target
57e7d748 1633 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1634 (synopsis
1635 "Freedesktop icon theme")
1636 (description
1637 "Freedesktop icon theme.")
1dd26275 1638 (license license:gpl2)))
bef4dd92 1639
d9c1a22b
AE
1640(define-public libnotify
1641 (package
1642 (name "libnotify")
195bfa68 1643 (version "0.7.7")
d9c1a22b
AE
1644 (source
1645 (origin
1646 (method url-fetch)
1647 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1648 (version-major+minor version) "/"
d9c1a22b
AE
1649 name "-" version ".tar.xz"))
1650 (sha256
1651 (base32
195bfa68 1652 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1653 (build-system gnu-build-system)
6acf6cec
MB
1654 (arguments
1655 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1656 (propagated-inputs
1657 `(;; In Requires of libnotify.pc.
1658 ("gdk-pixbuf" ,gdk-pixbuf)
1659 ("glib" ,glib)))
d9c1a22b 1660 (inputs
7ef08efa 1661 `(("gtk+" ,gtk+)
c4c4cc05
JD
1662 ("libpng" ,libpng)))
1663 (native-inputs
426adbe8 1664 `(("pkg-config" ,pkg-config)
277a7d82
JN
1665 ("glib" ,glib "bin")
1666 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1667 (home-page "https://developer-next.gnome.org/libnotify/")
1668 (synopsis
1669 "GNOME desktop notification library")
1670 (description
1671 "Libnotify is a library that sends desktop notifications to a
35b9e423 1672notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1673notifications can be used to inform the user about an event or display
1674some form of information without getting in the user's way.")
1dd26275 1675 (license license:lgpl2.1+)))
7a8605ce
CR
1676
1677(define-public libpeas
1678 (package
1679 (name "libpeas")
db122a9b 1680 (version "1.22.0")
7a8605ce
CR
1681 (source
1682 (origin
1683 (method url-fetch)
1684 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1685 (version-major+minor version) "/"
7a8605ce
CR
1686 name "-" version ".tar.xz"))
1687 (sha256
1688 (base32
db122a9b 1689 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
7a8605ce 1690 (build-system gnu-build-system)
7a8605ce 1691 (inputs
2ed6522a
SB
1692 `(("gtk+" ,gtk+)
1693 ("glade" ,glade3)
2ed6522a
SB
1694 ("python" ,python)
1695 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1696 (native-inputs
1697 `(("pkg-config" ,pkg-config)
93622993 1698 ("glib:bin" ,glib "bin")
141aed80
LC
1699 ("gobject-introspection" ,gobject-introspection)
1700 ("intltool" ,intltool)))
55b7bbd8
LC
1701 (propagated-inputs
1702 ;; The .pc file "Requires" gobject-introspection.
1703 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1704 (home-page "https://wiki.gnome.org/Libpeas")
1705 (synopsis "GObject plugin system")
1706 (description
d1e4ad1b
TGR
1707 "Libpeas is a gobject-based plugin engine, targeted at giving every
1708application the chance to assume its own extensibility. It also has a set of
1709features including, but not limited to: multiple extension points; on-demand
1710(lazy) programming language support for C, Python and JS; simplicity of the
1711API.")
1dd26275 1712 (license license:lgpl2.0+)))
ed19903d
JD
1713
1714(define-public gtkglext
1715 (package
1716 (name "gtkglext")
1717 (version "1.2.0")
1718 (source (origin
1719 (method url-fetch)
0f971a04 1720 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1721 version "/gtkglext-" version ".tar.gz"))
1722 (sha256
1723 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1724 (patches (search-patches
1725 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1726 (build-system gnu-build-system)
14e2f61a
RW
1727 (arguments
1728 `(#:phases
1729 (modify-phases %standard-phases
1730 ;; Fix a collision between a local variable and a definition from
1731 ;; glibc's string.h.
1732 (add-after 'unpack 'fix-collision
1733 (lambda _
1734 (substitute* "gdk/gdkglshapes.c"
1735 ((" index") " triangle_index"))
1736 #t)))))
ed19903d
JD
1737 (inputs `(("gtk+" ,gtk+-2)
1738 ("mesa" ,mesa)
cc8b02f4 1739 ("glu" ,glu)
ed19903d
JD
1740 ("libx11" ,libx11)
1741 ("libxt" ,libxt)))
426adbe8
LC
1742 (native-inputs `(("pkg-config" ,pkg-config)
1743 ("glib" ,glib "bin")))
a83b6a06 1744 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1745 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1746 (synopsis "OpenGL extension to GTK+")
35b9e423 1747 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1748additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1749API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1750 (license license:lgpl2.1+)))
3600420e
JD
1751
1752(define-public glade3
1753 (package
1754 (name "glade")
c6571adb 1755 (version "3.22.1")
b38e45d8
EB
1756 (source (origin
1757 (method url-fetch)
1758 (uri (string-append "mirror://gnome/sources/" name "/"
1759 (version-major+minor version) "/"
f5ca44b8 1760 name "-" version ".tar.xz"))
3600420e 1761 (sha256
f714d9fe 1762 (base32
c6571adb 1763 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1764 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1765 (arguments
1766 `(#:tests? #f ; needs X, GL, and software rendering
1767 #:phases
1768 (modify-phases %standard-phases
1769 (add-before 'configure 'fix-docbook
1770 (lambda* (#:key inputs #:allow-other-keys)
1771 (substitute* "man/Makefile.in"
1772 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1773 (string-append (assoc-ref inputs "docbook-xsl")
1774 "/xml/xsl/docbook-xsl-"
1775 ,(package-version docbook-xsl)
1776 "/manpages/docbook.xsl")))
1777 #t)))))
3600420e 1778 (inputs
f5ca44b8 1779 `(("gtk+" ,gtk+)
3600420e
JD
1780 ("libxml2" ,libxml2)))
1781 (native-inputs
1782 `(("intltool" ,intltool)
f5ca44b8
RW
1783 ("itstool" ,itstool)
1784 ("libxslt" ,libxslt) ;for xsltproc
1785 ("docbook-xml" ,docbook-xml-4.2)
1786 ("docbook-xsl" ,docbook-xsl)
1787 ("python" ,python-2)
3600420e
JD
1788 ("pkg-config" ,pkg-config)))
1789 (home-page "https://glade.gnome.org")
1790 (synopsis "GTK+ rapid application development tool")
1791 (description "Glade is a rapid application development (RAD) tool to
1792enable quick & easy development of user interfaces for the GTK+ toolkit and
1793the GNOME desktop environment.")
1dd26275
LC
1794 (license license:lgpl2.0+)))
1795
1796(define-public libcroco
1797 (package
1798 (name "libcroco")
8bdacad2 1799 (version "0.6.13")
1dd26275
LC
1800 (source (origin
1801 (method url-fetch)
b38e45d8
EB
1802 (uri (string-append "mirror://gnome/sources/" name "/"
1803 (version-major+minor version) "/"
1804 name "-" version ".tar.xz"))
1dd26275
LC
1805 (sha256
1806 (base32
8bdacad2 1807 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
1808 (build-system gnu-build-system)
1809 (native-inputs
1810 `(("pkg-config" ,pkg-config)))
1811 (inputs
1812 `(("glib" ,glib)
1813 ("libxml2" ,libxml2)
1814 ("zlib" ,zlib)))
1815 (home-page "https://github.com/GNOME/libcroco")
1816 (synopsis "CSS2 parsing and manipulation library")
1817 (description
1818 "Libcroco is a standalone CSS2 parsing and manipulation library.
1819The parser provides a low level event driven SAC-like API and a CSS object
1820model like API. Libcroco provides a CSS2 selection engine and an experimental
1821XML/CSS rendering engine.")
1822
1823 ;; LGPLv2.1-only.
1824 (license license:lgpl2.1)))
25178594
LC
1825
1826(define-public libgsf
1827 (package
1828 (name "libgsf")
8d1644a1 1829 (version "1.14.46")
25178594
LC
1830 (source (origin
1831 (method url-fetch)
b38e45d8
EB
1832 (uri (string-append "mirror://gnome/sources/" name "/"
1833 (version-major+minor version) "/"
1834 name "-" version ".tar.xz"))
25178594
LC
1835 (sha256
1836 (base32
8d1644a1 1837 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
1838 (build-system gnu-build-system)
1839 (native-inputs
1840 `(("intltool" ,intltool)
1841 ("pkg-config" ,pkg-config)))
1842 (inputs
1843 `(("python" ,python)
1844 ("zlib" ,zlib)
1845 ("bzip2" ,bzip2)))
1846 (propagated-inputs
1847 `(("gdk-pixbuf" ,gdk-pixbuf)
1848 ("glib" ,glib)
1849 ("libxml2" ,libxml2)))
f032d0be 1850 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
1851 (synopsis "GNOME's Structured File Library")
1852 (description
1853 "Libgsf aims to provide an efficient extensible I/O abstraction for
1854dealing with different structured file formats.")
1855
1856 ;; LGPLv2.1-only.
1857 (license license:lgpl2.1)))
63016e7c
LC
1858
1859(define-public librsvg
f67417a1
MB
1860 (package
1861 (name "librsvg")
1862 (version "2.40.20")
1863 (source (origin
1864 (method url-fetch)
1865 (uri (string-append "mirror://gnome/sources/" name "/"
1866 (version-major+minor version) "/"
1867 name "-" version ".tar.xz"))
1868 (sha256
1869 (base32
1870 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
1871 (build-system gnu-build-system)
1872 (arguments
1873 `(#:configure-flags
1874 (list "--disable-static"
1875 "--enable-vala") ; needed for e.g. gnome-mines
1876 #:phases
1877 (modify-phases %standard-phases
1878 (add-before 'configure 'pre-configure
1879 (lambda* (#:key inputs #:allow-other-keys)
1880 (substitute* "gdk-pixbuf-loader/Makefile.in"
1881 ;; By default the gdk-pixbuf loader is installed under
1882 ;; gdk-pixbuf's prefix. Work around that.
1883 (("gdk_pixbuf_moduledir = .*$")
1884 (string-append "gdk_pixbuf_moduledir = "
1885 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1886 "loaders\n"))
1887 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1888 (("gdk_pixbuf_cache_file = .*$")
1889 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1890 #t))
1891 (add-before 'check 'remove-failing-tests
1892 (lambda _
1893 (with-directory-excursion "tests/fixtures/reftests"
1894 (for-each delete-file
1895 '(;; This test fails on i686:
1896 "svg1.1/masking-path-04-b.svg"
1897 ;; This test fails on armhf:
1898 "svg1.1/masking-mask-01-b.svg"
1899 ;; This test fails on aarch64:
1900 "bugs/777834-empty-text-children.svg")))
1901 #t)))))
1902 (native-inputs
1903 `(("pkg-config" ,pkg-config)
1904 ("vala" ,vala)
1905 ("glib" ,glib "bin") ; glib-mkenums, etc.
1906 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1907 (inputs
1908 `(("pango" ,pango)
1909 ("libcroco" ,libcroco)
1910 ("bzip2" ,bzip2)
1911 ("libgsf" ,libgsf)
1912 ("libxml2" ,libxml2)))
1913 (propagated-inputs
1914 ;; librsvg-2.0.pc refers to all of that.
1915 `(("cairo" ,cairo)
1916 ("gdk-pixbuf" ,gdk-pixbuf)
1917 ("glib" ,glib)))
1918 (home-page "https://wiki.gnome.org/LibRsvg")
1919 (synopsis "Render SVG files using Cairo")
1920 (description
1921 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
1922library.")
1923 (license license:lgpl2.0+)))
1924
8f523eb9
EF
1925(define* (computed-origin-method gexp-promise hash-algo hash
1926 #:optional (name "source")
1927 #:key (system (%current-system))
1928 (guile (default-guile)))
1929 "Return a derivation that executes the G-expression that results
1930from forcing GEXP-PROMISE."
1931 (mlet %store-monad ((guile (package->derivation guile system)))
1932 (gexp->derivation (or name "computed-origin")
1933 (force gexp-promise)
1934 #:graft? #f ;nothing to graft
1935 #:system system
1936 #:guile-for-build guile)))
1937
1938(define librsvg-next-source
1939 (let* ((version "2.46.3")
1940 (upstream-source (origin
1941 (method url-fetch)
1942 (uri (string-append "mirror://gnome/sources/librsvg/"
1943 (version-major+minor version) "/"
1944 "librsvg-" version ".tar.xz"))
1945 (sha256
1946 (base32
1947 "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))))
1948 (origin
1949 (method computed-origin-method)
1950 (file-name (string-append "librsvg-" version ".tar.xz"))
1951 (sha256 #f)
1952 (uri
1953 (delay
1954 (with-imported-modules '((guix build utils))
1955 #~(begin
1956 (use-modules (guix build utils))
1957 (set-path-environment-variable
1958 "PATH" '("bin")
1959 (list "/tmp"
1960 #+(canonical-package xz)
1961 #+(canonical-package gzip)
1962 #+(canonical-package tar)))
1963 (invoke "tar" "xvf" #+upstream-source)
1964 (with-directory-excursion (string-append "librsvg-" #$version)
1965 (for-each
1966 (lambda (crate)
1967 (delete-file-recursively (string-append "vendor/" (car crate)))
1968 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
1969 '(
1970;; aho-corasick 0.7
1971;; alga 0.9
1972;; approx 0.3
1973;; arrayvec 0.4
1974 ("atty" . #+(package-source rust-atty-0.2))
1975 ("autocfg" . #+(package-source rust-autocfg-0.1))
1976 ("bitflags" . #+(package-source rust-bitflags-1))
1977;; block 0.1
1978;; bstr 0.2
1979;; byteorder 1.3
1980;; cairo-rs 0.7
1981;; cairo-sys-rs 0.9
1982;; cast 0.2
1983 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
1984 ("clap" . #+(package-source rust-clap-2))
1985 ;("cloudabi" . #+(package-source rust-cloudabi-0.0))
1986;; criterion 0.2
1987;; criterion-plot 0.3
1988;; crossbeam-deque 0.7
1989;; crossbeam-epoch 0.7
1990;; crossbeam-queue 0.1
1991;; crossbeam-utils 0.6
1992;; cssparser 0.25
1993;; cssparser-macros 0.3
1994;; csv 1.1
1995;; csv-core 0.1
1996;; data-url 0.1
1997;; downcast-rs 1.0
1998 ("dtoa" . #+(package-source rust-dtoa-0.4))
1999;; dtoa-short 0.3
2000;; either 1.5
2001;; encoding 0.2
2002;; encoding-index-japanese 1.20141219.5
2003;; encoding-index-korean 1.20141219.5
2004;; encoding-index-simpchinese 1.20141219.5
2005;; encoding-index-singlebyte 1.20141219.5
2006;; encoding-index-tradchinese 1.20141219.5
2007;; encoding_index_tests 0.1
2008;; float-cmp 0.5
2009;; fragile 0.3
2010 ;("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
2011;; futf 0.1
2012;; gdk-pixbuf 0.7
2013;; gdk-pixbuf-sys 0.9
2014;; generic-array 0.12
2015;; gio 0.7
2016;; gio-sys 0.9
2017;; glib 0.8
2018;; glib-sys 0.9
2019;; gobject-sys 0.9
2020;; idna 0.2
2021;; itertools 0.8
2022 ("itoa" . #+(package-source rust-itoa-0.4))
2023 ;("language-tags" . #+(package-source rust-language-tags-0.2))
2024 ("lazy_static" . #+(package-source rust-lazy-static-1.3))
2025 ("libc" . #+(package-source rust-libc-0.2))
2026;; libm 0.1
2027;; locale_config 0.3
2028 ("log" . #+(package-source rust-log-0.4))
2029;; mac 0.1
2030;; malloc_buf 0.0
2031;; markup5ever 0.9
2032 ;("matches" . #+(package-source rust-matches-0.1))
2033;; matrixmultiply 0.2
2034;; memchr 2.2
2035;; memoffset 0.5
2036;; nalgebra 0.18
2037;; new_debug_unreachable 1.0
2038 ("nodrop" . #+(package-source rust-nodrop-0.1))
2039;; num-complex 0.2
2040 ("num-integer" . #+(package-source rust-num-integer-0.1))
2041;; num-rational 0.2
2042 ("num-traits" . #+(package-source rust-num-traits-0.2))
2043 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
2044;; objc 0.2
2045;; objc-foundation 0.1
2046;; objc_id 0.1
2047;; pango 0.7
2048;; pango-sys 0.9
2049;; pangocairo 0.8
2050;; pangocairo-sys 0.10
2051 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
2052;; phf 0.7.24
2053;; phf_codegen 0.7.24
2054;; phf_generator 0.7.24
2055;; phf_shared 0.7.24
2056 ;("pkg-config" . #+(package-source rust-pkg-config-0.3))
2057;; precomputed-hash 0.1
2058 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
2059;; procedural-masquerade 0.1
2060 ("quote" . #+(package-source rust-quote-1.0))
2061 ;("rand" . #+(package-source rust-rand-0.6))
2062 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
2063 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
2064 ("rand_core" . #+(package-source rust-rand-core-0.4))
2065 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
2066 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
2067 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
2068 ("rand_os" . #+(package-source rust-rand-os-0.1))
2069 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
2070 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
2071;; rand_xoshiro 0.1
2072 ;("rawpointer" . #+(package-source rust-rawpointer-0.1))
2073;; rayon 1.2
2074;; rayon-core 1.6
2075;; rctree 0.3
2076 ("rdrand" . #+(package-source rust-rdrand-0.4))
2077;; regex 1.3
2078;; regex-automata 0.1
2079 ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
2080;; rustc_version 0.2
2081 ("ryu" . #+(package-source rust-ryu-1.0))
2082 ("same-file" . #+(package-source rust-same-file-1.0))
2083 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
2084;; semver 0.9
2085 ;("semver-parser" . #+(package-source rust-semver-parser-0.7))
2086 ("serde" . #+(package-source rust-serde-1.0))
2087 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
2088 ("serde_json" . #+(package-source rust-serde-json-1.0))
2089;; siphasher 0.2
2090;; smallvec 0.6
2091;; string_cache 0.7
2092;; string_cache_codegen 0.4
2093;; string_cache_shared 0.3
2094 ("syn" . #+(package-source rust-syn-1.0))
2095;; tendril 0.4
2096 ("textwrap" . #+(package-source rust-textwrap-0.11))
2097 ;("thread_local" . #+(package-source rust-thread-local-0.3))
2098;; tinytemplate 1.0
2099 ;("typenum" . #+(package-source rust-typenum-1.10))
2100;; unicode-bidi 0.3
2101;; unicode-normalization 0.1
2102 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2103 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
2104;; url 2.1
2105;; utf-8 0.7
2106 ("walkdir" . #+(package-source rust-walkdir-2.2))
2107 ("winapi" . #+(package-source rust-winapi-0.3))
2108 ;("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
2109 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
2110 ;("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
2111;; xml-rs 0.8
2112 )))
2113 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2114 (force-output)
2115 (invoke "tar" "cfa" #$output
2116 ;; Avoid non-determinism in the archive. We set the
2117 ;; mtime of files in the archive to early 1980 because
2118 ;; the build process fails if the mtime of source
2119 ;; files is pre-1980, due to the creation of zip
2120 ;; archives.
2121 "--mtime=@315619200" ; 1980-01-02 UTC
2122 "--owner=root:0"
2123 "--group=root:0"
2124 "--sort=name"
2125 (string-append "librsvg-" #$version))
2126 #t)))))))
2127
f67417a1 2128(define-public librsvg-next
63016e7c
LC
2129 (package
2130 (name "librsvg")
cf9dad6c 2131 (version "2.46.3")
8f523eb9 2132 (source librsvg-next-source)
63016e7c
LC
2133 (build-system gnu-build-system)
2134 (arguments
d953418a
RW
2135 `(#:configure-flags
2136 (list "--disable-static"
2137 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2138 #:make-flags '("CC=gcc")
8f523eb9 2139 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2140 #:phases
b6239e45 2141 (modify-phases %standard-phases
8f523eb9 2142 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2143 (lambda _
8f523eb9
EF
2144 (use-modules (guix build cargo-utils))
2145 (substitute* "librsvg/Cargo.toml"
2146 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
b665a246 2147 (generate-all-checksums "vendor")
8f523eb9
EF
2148 (delete-file "Cargo.lock")
2149 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2150 (add-before 'configure 'pre-configure
2151 (lambda* (#:key inputs #:allow-other-keys)
2152 (substitute* "gdk-pixbuf-loader/Makefile.in"
2153 ;; By default the gdk-pixbuf loader is installed under
2154 ;; gdk-pixbuf's prefix. Work around that.
2155 (("gdk_pixbuf_moduledir = .*$")
2156 (string-append "gdk_pixbuf_moduledir = "
2157 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2158 "loaders\n"))
2159 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2160 (("gdk_pixbuf_cache_file = .*$")
2161 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2162 #t))
ec47c07d 2163 (add-before 'check 'remove-failing-tests
b6239e45 2164 (lambda _
64a153bd
MW
2165 (with-directory-excursion "tests/fixtures/reftests"
2166 (for-each delete-file
ec47c07d
MB
2167 '(;; The images produced by these tests differ slightly
2168 ;; from their reference counterparts due to differences
2169 ;; in the build environment (missing fonts, etc). See
2170 ;; <tests/README.md> for details.
2171 ;; These fail on x86_64.
2172 "svg1.1/coords-viewattr-02-b.svg"
2173 "svg1.1/filters-composite-04-f.svg"
2174 "svg1.1/filters-image-01-b.svg"
2175 "svg1.1/filters-conv-02-f.svg"
2176 "svg1.1/filters-conv-04-f.svg"
2177 ;; This test fails on i686:
64a153bd 2178 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2179 ;; This test fails on armhf:
2180 "svg1.1/masking-mask-01-b.svg"
64a153bd 2181 ;; This test fails on aarch64:
ec47c07d 2182 "bugs/777834-empty-text-children.svg")))
b6239e45 2183 #t)))))
63016e7c
LC
2184 (native-inputs
2185 `(("pkg-config" ,pkg-config)
64855281
MB
2186 ;; This is the minimum supported Rust version in Librsvg 2.46.
2187 ("rust" ,rust-1.34)
2188 ("cargo" ,rust-1.34 "cargo")
d953418a 2189 ("vala" ,vala)
44add1ce 2190 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2191 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2192 (inputs
2193 `(("pango" ,pango)
2194 ("libcroco" ,libcroco)
2195 ("bzip2" ,bzip2)
2196 ("libgsf" ,libgsf)
2197 ("libxml2" ,libxml2)))
2198 (propagated-inputs
2199 ;; librsvg-2.0.pc refers to all of that.
2200 `(("cairo" ,cairo)
2201 ("gdk-pixbuf" ,gdk-pixbuf)
2202 ("glib" ,glib)))
2203 (home-page "https://wiki.gnome.org/LibRsvg")
2204 (synopsis "Render SVG files using Cairo")
2205 (description
35b9e423 2206 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2207library.")
cf9dad6c 2208 (license license:lgpl2.1+)))
5698b8b8
JD
2209
2210(define-public libidl
2211 (package
2212 (name "libidl")
2213 (version "0.8.14")
2214 (source (origin
2215 (method url-fetch)
80a06e62
EF
2216 (uri (string-append "mirror://gnome/sources/libIDL/"
2217 (version-major+minor version) "/"
2218 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2219 (sha256
2220 (base32
2221 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2222 (build-system gnu-build-system)
2223 (inputs `(("glib" ,glib)))
2224 (native-inputs
2225 `(("pkg-config" ,pkg-config)
b3546174 2226 ("flex" ,flex)
5698b8b8
JD
2227 ("bison" ,bison)))
2228 (home-page "http://freecode.com/projects/libidl")
2229 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2230 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2231Definition Language (idl) files, which is a specification for defining
2232portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2233GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2234functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2235 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2236 (license license:lgpl2.0+)))
2237
2238
2239(define-public orbit2
2240 (package
2241 (name "orbit2")
2242 (version "2.14.19")
2243 (source (origin
2244 (method url-fetch)
2e6ecc5c 2245 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2246 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2247 (version-major+minor version) "/"
2248 upstream-name "-" version ".tar.bz2")))
5698b8b8 2249 (sha256
a124bbd2
SB
2250 (base32
2251 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2252 (build-system gnu-build-system)
2253 (arguments
a124bbd2 2254 `(#:configure-flags
8aad2e32
LC
2255 '(;; We don't need static libraries, plus they don't build reproducibly
2256 ;; (non-deterministic ordering of .o files in the archive.)
2257 "--disable-static"
2258
2259 ;; The programmer kindly gives us a hook to turn off deprecation
2260 ;; warnings ...
2261 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2262 ;; ... which they then completly ignore !!
2263 #:phases
dc1d3cde
KK
2264 (modify-phases %standard-phases
2265 (add-before 'configure 'ignore-deprecations
2266 (lambda _
2267 (substitute* "linc2/src/Makefile.in"
2268 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2269 #t)))))
5698b8b8
JD
2270 (inputs `(("glib" ,glib)
2271 ("libidl" ,libidl)))
2272 (native-inputs
2273 `(("pkg-config" ,pkg-config)))
2274 (home-page "https://projects.gnome.org/orbit2/")
2275 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2276 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2277featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2278 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2279 ;; a version. SOME of the code files have licence notices for GPLv2+.
2280 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2281 (license license:gpl2+)
2282 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2283
2284
2285(define-public libbonobo
2286 (package
2287 (name "libbonobo")
2288 (version "2.32.1")
2289 (source (origin
2290 (method url-fetch)
5becd025 2291 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2292 (version-major+minor version)
5becd025 2293 "/" name "-" version ".tar.bz2"))
5698b8b8 2294 (sha256
f1fc45a9 2295 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2296 (patches (search-patches
2297 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2298 (build-system gnu-build-system)
2299 (arguments
2300 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2301 `(#:configure-flags
2302 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2303 ;; ... which they then completly ignore !!
2304 #:phases
dc1d3cde
KK
2305 (modify-phases %standard-phases
2306 (add-before 'configure 'ignore-deprecations
2307 (lambda _
2308 (substitute* "activation-server/Makefile.in"
2309 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2310 #t)))
2311
2312 ;; There's apparently a race condition between the server stub
2313 ;; generation and linking of the example under 'samples/echo' that can
2314 ;; lead do undefined references when building in parallel, as reported
2315 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2316 ;; Thus, disable parallel builds.
2317 #:parallel-build? #f))
5698b8b8
JD
2318 (inputs `(("popt" ,popt)
2319 ("libxml2" ,libxml2)))
2320 ;; The following are Required by the .pc file
44add1ce 2321 (propagated-inputs
5698b8b8
JD
2322 `(("glib" ,glib)
2323 ("orbit2" ,orbit2)))
2324 (native-inputs
2325 `(("intltool" ,intltool)
2326 ("pkg-config" ,pkg-config)
221ed17a 2327 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2328 ("flex" ,flex)
2329 ("bison" ,bison)))
2330 (home-page "https://developer.gnome.org/libbonobo/")
2331 (synopsis "Framework for creating reusable components for use in GNOME applications")
2332 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2333use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2334 ;; Licence not explicitly stated. Source files contain no licence notices.
2335 ;; Tarball contains text of both GPLv2 and LGPLv2
2336 ;; GPLv2 covers both conditions
2337 (license license:gpl2+)))
2338
2339
2340(define-public gconf
2341 (package
2342 (name "gconf")
2343 (version "3.2.6")
2344 (source (origin
2345 (method url-fetch)
a124bbd2
SB
2346 (uri
2347 (let ((upstream-name "GConf"))
2348 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2349 (version-major+minor version) "/"
2350 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2351 (sha256
2352 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2353 (build-system gnu-build-system)
2e88d113 2354 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2355 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2356 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2357 ("orbit2" ,orbit2)))
5698b8b8
JD
2358 (native-inputs
2359 `(("intltool" ,intltool)
221ed17a 2360 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2361 ("pkg-config" ,pkg-config)))
2362 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2363 (synopsis "Store application preferences")
2364 (description "Gconf is a system for storing application preferences. It
2365is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2366 (license license:lgpl2.0+)
2367 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2368
2369
2370(define-public gnome-mime-data
2371 (package
2372 (name "gnome-mime-data")
2373 (version "2.18.0")
2374 (source (origin
2375 (method url-fetch)
b38e45d8
EB
2376 (uri (string-append "mirror://gnome/sources/" name "/"
2377 (version-major+minor version) "/"
2378 name "-" version ".tar.bz2"))
5698b8b8
JD
2379 (sha256
2380 (base32
2381 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2382 (build-system gnu-build-system)
2383 (native-inputs
2384 `(("perl" ,perl)
2385 ("intltool" ,intltool)))
3e6add96
LC
2386 (arguments
2387 '(#:phases (modify-phases %standard-phases
2388 (add-after 'configure 'use-our-intltool
2389 (lambda _
2390 ;; Do not use the bundled intltool commands, which lack
2391 ;; the "dotless @INC" fixes of our 'intltool' package.
2392 (substitute* (find-files "." "^Makefile$")
2393 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2394 (string-append "INTLTOOL_" tool " = intltool-"
2395 (string-downcase tool) "\n")))
2396 #t)))))
f032d0be 2397 (home-page "https://www.gnome.org")
35b9e423 2398 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2399 (description "GNOME Mime Data is a module which contains the base MIME
2400and Application database for GNOME. The data stored by this module is
2401designed to be accessed through the MIME functions in GnomeVFS.")
2402 (license license:gpl2+)))
2403
2404
2405(define-public gnome-vfs
2406 (package
2407 (name "gnome-vfs")
2408 (version "2.24.4")
2409 (source (origin
2410 (method url-fetch)
b38e45d8
EB
2411 (uri (string-append "mirror://gnome/sources/" name "/"
2412 (version-major+minor version) "/"
2413 name "-" version ".tar.bz2"))
5698b8b8 2414 (sha256
9e12bc34
MW
2415 (base32
2416 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2417 (build-system gnu-build-system)
2418 (arguments
db5127d8 2419 `(#:phases
dc1d3cde
KK
2420 (modify-phases %standard-phases
2421 (add-before 'configure 'ignore-deprecations
2422 (lambda _
2423 (substitute* '("libgnomevfs/Makefile.in"
2424 "daemon/Makefile.in")
2425 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2426 #t))
2427 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2428 (lambda _
2429 (substitute* "test/test-async-cancel.c"
2430 (("EXIT_FAILURE") "77"))
2431 #t)))))
2e6ecc5c 2432 (inputs `(("libxml2" ,libxml2)
5698b8b8 2433 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2434 ("gconf" ,gconf)
2435 ("gnome-mime-data" ,gnome-mime-data)
2436 ("zlib" ,zlib)))
2437 (native-inputs
221ed17a
EB
2438 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2439 ("intltool" ,intltool)
5698b8b8
JD
2440 ("pkg-config" ,pkg-config)))
2441 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2442 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2443 (description
2444 "GnomeVFS is the core library used to access files and folders in GNOME
2445applications. It provides a file system abstraction which allows applications
2446to access local and remote files with a single consistent API.")
5698b8b8
JD
2447 (license license:lgpl2.0+)))
2448
2449
2450
2451(define-public libgnome
2452 (package
2453 (name "libgnome")
2454 (version "2.32.1")
2455 (source (origin
2456 (method url-fetch)
b38e45d8
EB
2457 (uri (string-append "mirror://gnome/sources/" name "/"
2458 (version-major+minor version) "/"
2459 name "-" version ".tar.bz2"))
5698b8b8
JD
2460 (sha256
2461 (base32
17c3eea7
LC
2462 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2463 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2464 (build-system gnu-build-system)
2465 (arguments
2466 `(#:phases
dc1d3cde
KK
2467 (modify-phases %standard-phases
2468 (add-before 'configure 'enable-deprecated
2469 (lambda _
2470 (substitute* "libgnome/Makefile.in"
2471 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2472 #t)))))
25338e9f 2473 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2474 (native-inputs
221ed17a
EB
2475 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2476 ("intltool" ,intltool)
5698b8b8
JD
2477 ("pkg-config" ,pkg-config)))
2478 ;; The following are listed as Required in the .pc file
2479 ;; (except for libcanberra -- which seems to be oversight on the part
2480 ;; of the upstream developers -- anything that links against libgnome,
2481 ;; must also link against libcanberra
2482 (propagated-inputs
2483 `(("libcanberra" ,libcanberra)
2484 ("libbonobo" ,libbonobo)
2485 ("gconf" ,gconf)
a640d3d5
LC
2486 ("gnome-vfs" ,gnome-vfs)
2487 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2488 (home-page "https://developer.gnome.org/libgnome/")
2489 (synopsis "Useful routines for building applications")
2490 (description "The libgnome library provides a number of useful routines
2491for building modern applications, including session management, activation of
2492files and URIs, and displaying help.")
2493 (license license:lgpl2.0+)))
2494
2495
2496(define-public libart-lgpl
2497 (package
2498 (name "libart-lgpl")
76c9b6aa 2499 (version "2.3.21")
5698b8b8
JD
2500 (source (origin
2501 (method url-fetch)
2502 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2503 (string-append "mirror://gnome/sources/" upstream-name "/"
2504 (version-major+minor version) "/"
2505 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2506 (sha256
2507 (base32
76c9b6aa 2508 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2509 (build-system gnu-build-system)
2510 (native-inputs
2511 `(("pkg-config" ,pkg-config)))
2512 (home-page "https://people.gnome.org/~mathieu/libart")
2513 (synopsis "2D drawing library")
2e6ecc5c 2514 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2515high-quality vector-based 2D library with antialiasing and alpha composition.")
2516 (license license:lgpl2.0+)))
2517
2518
2519
2520(define-public libgnomecanvas
2521 (package
2522 (name "libgnomecanvas")
2523 (version "2.30.3")
2524 (source (origin
2525 (method url-fetch)
b38e45d8
EB
2526 (uri (string-append "mirror://gnome/sources/" name "/"
2527 (version-major+minor version) "/"
2528 name "-" version ".tar.gz"))
5698b8b8
JD
2529 (sha256
2530 (base32
2531 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2532 (build-system gnu-build-system)
2533 ;; Mentioned as Required in the .pc file
2534 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2535 ("gtk+" ,gtk+-2)))
2536 (native-inputs
2537 `(("intltool" ,intltool)
221ed17a 2538 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2539 ("pkg-config" ,pkg-config)))
2540 (home-page "https://developer.gnome.org/libgnomecanvas/")
2541 (synopsis "Flexible widget for creating interactive structured graphics")
2542 (description "The GnomeCanvas widget provides a flexible widget for
2543creating interactive structured graphics.")
2544 (license license:lgpl2.0+)))
2545
eadc734e
RW
2546(define-public libgnomecanvasmm
2547 (package
2548 (name "libgnomecanvasmm")
2549 (version "2.26.0")
2550 (source (origin
2551 (method url-fetch)
2552 (uri (string-append "mirror://gnome/sources/" name "/"
2553 (version-major+minor version) "/"
2554 name "-" version ".tar.bz2"))
2555 (sha256
2556 (base32
2557 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2558 (build-system gnu-build-system)
2559 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2560 (native-inputs
2561 `(("gtkmm-2" ,gtkmm-2)
2562 ("pkg-config" ,pkg-config)))
8e933cb3 2563 (home-page "https://gtkmm.org")
eadc734e
RW
2564 (synopsis "C++ bindings to the GNOME Canvas library")
2565 (description "C++ bindings to the GNOME Canvas library.")
2566 (license license:lgpl2.0+)))
2567
5698b8b8
JD
2568(define-public libgnomeui
2569 (package
2570 (name "libgnomeui")
2571 (version "2.24.5")
2572 (source (origin
2573 (method url-fetch)
b38e45d8
EB
2574 (uri (string-append "mirror://gnome/sources/" name "/"
2575 (version-major+minor version) "/"
2576 name "-" version ".tar.bz2"))
8fa1872a 2577 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2578 (sha256
2579 (base32
2580 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2581 (build-system gnu-build-system)
2582 ;; Mentioned as Required in the .pc file
0a38a497
AE
2583 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2584 ("libgnome" ,libgnome)
2585 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2586 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2587 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2588 ("popt" ,popt)
2589 ("libbonobo" ,libbonobo)
2590 ("libxml2" ,libxml2)
2591 ("libglade" ,libglade)))
2592 (native-inputs
221ed17a
EB
2593 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2594 ("intltool" ,intltool)
5698b8b8
JD
2595 ("pkg-config" ,pkg-config)))
2596 (home-page "https://developer.gnome.org/libgnomeui/")
2597 (synopsis "Additional widgets for applications")
35b9e423 2598 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2599applications. Many of the widgets from libgnomeui have already been
2600ported to GTK+.")
5698b8b8
JD
2601 (license license:lgpl2.0+)))
2602
2603(define-public libglade
2604 (package
2605 (name "libglade")
2606 (version "2.6.4")
2607 (source (origin
2608 (method url-fetch)
b38e45d8
EB
2609 (uri (string-append "mirror://gnome/sources/" name "/"
2610 (version-major+minor version) "/"
2611 name "-" version ".tar.bz2"))
5698b8b8
JD
2612 (sha256
2613 (base32
2614 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2615 (build-system gnu-build-system)
2616 (inputs
92dcc23d
AE
2617 `(("python" ,python))) ;; needed for the optional libglade-convert program
2618 (propagated-inputs
5698b8b8 2619 `(("gtk+-2" ,gtk+-2)
92dcc23d 2620 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2621 (native-inputs
2622 `(("pkg-config" ,pkg-config)))
2623 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2624 (synopsis "Load glade interfaces and access the glade built widgets")
2625 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2626graphical interfaces described in glade files and for accessing the
2627widgets built in the loading process.")
2628 (license license:gpl2+))) ; This is correct. GPL not LGPL
2629
2630(define-public libgnomeprint
eb497b66
LC
2631 ;; This library has been deprecated since 2006; see
2632 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2633 (package
2634 (name "libgnomeprint")
d19db454 2635 (version "2.18.8")
5698b8b8
JD
2636 (source (origin
2637 (method url-fetch)
b38e45d8
EB
2638 (uri (string-append "mirror://gnome/sources/" name "/"
2639 (version-major+minor version) "/"
2640 name "-" version ".tar.bz2"))
5698b8b8
JD
2641 (sha256
2642 (base32
d19db454 2643 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2644 (build-system gnu-build-system)
2645 (inputs
2646 `(("popt" ,popt)
2647 ("libart-lgpl" ,libart-lgpl)
2648 ("gtk+" ,gtk+-2)
44add1ce 2649 ("libxml2" ,libxml2)))
5698b8b8
JD
2650 (native-inputs
2651 `(("intltool" ,intltool)
221ed17a 2652 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2653 ("pkg-config" ,pkg-config)))
2654 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2655 (synopsis "Printing framework for GNOME")
eb497b66
LC
2656 (description
2657 "GNOME-print was a printing framework for GNOME. It has been deprecated
2658since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2659 (license license:lgpl2.0+)))
2660
2661
2662(define-public libgnomeprintui
eb497b66 2663 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2664 (package
2665 (name "libgnomeprintui")
36053d7f 2666 (version "2.18.6")
5698b8b8
JD
2667 (source (origin
2668 (method url-fetch)
b38e45d8
EB
2669 (uri (string-append "mirror://gnome/sources/" name "/"
2670 (version-major+minor version) "/"
2671 name "-" version ".tar.bz2"))
5698b8b8
JD
2672 (sha256
2673 (base32
36053d7f 2674 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2675 (build-system gnu-build-system)
2676 ;; Mentioned as Required in the .pc file
2677 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2678 (inputs `(("gtk+" ,gtk+-2)
2679 ("glib" ,glib)
2680 ("gnome-icon-theme" ,gnome-icon-theme)
2681 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2682 ("libxml2" ,libxml2)))
5698b8b8
JD
2683 (native-inputs
2684 `(("intltool" ,intltool)
2685 ("pkg-config" ,pkg-config)))
2686 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2687 (synopsis "Printing framework for GNOME")
eb497b66 2688 (description (package-description libgnomeprint))
5698b8b8
JD
2689 (license license:lgpl2.0+)))
2690
5698b8b8
JD
2691(define-public libbonoboui
2692 (package
2693 (name "libbonoboui")
2694 (version "2.24.5")
2695 (source (origin
2696 (method url-fetch)
b38e45d8
EB
2697 (uri (string-append "mirror://gnome/sources/" name "/"
2698 (version-major+minor version) "/"
2699 name "-" version ".tar.bz2"))
5698b8b8
JD
2700 (sha256
2701 (base32
2702 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2703 (build-system gnu-build-system)
2704 (arguments
2705 `(#:phases
dc1d3cde
KK
2706 (modify-phases %standard-phases
2707 (add-before 'check 'start-xserver
2708 (lambda* (#:key inputs #:allow-other-keys)
2709 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2710 (disp ":1"))
2711
2712 (setenv "HOME" (getcwd))
2713 (setenv "DISPLAY" disp)
2714 ;; There must be a running X server and make check doesn't start one.
2715 ;; Therefore we must do it.
2716 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2717 ;; Mentioned as Required by the .pc file
2718 (propagated-inputs `(("libxml2" ,libxml2)))
2719 (inputs
2720 `(("popt" ,popt)
2721 ("pangox-compat" ,pangox-compat)
2722 ("libgnome" ,libgnome)
2723 ("libgnomecanvas" ,libgnomecanvas)
2724 ("libglade" ,libglade)))
2725 (native-inputs
221ed17a
EB
2726 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2727 ("intltool" ,intltool)
ff337525 2728 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2729 ("pkg-config" ,pkg-config)))
2730 (home-page "https://developer.gnome.org/libbonoboui/")
2731 (synopsis "Some user interface controls using Bonobo")
2732 (description "The Bonobo UI library provides a number of user interface
2733controls using the Bonobo component framework.")
2734 (license license:lgpl2.0+)))
2735
fecbf86e
SB
2736(define-public libwnck
2737 (package
2738 (name "libwnck")
d3b40696 2739 (version "3.32.0")
fecbf86e
SB
2740 (source (origin
2741 (method url-fetch)
2742 (uri (string-append "mirror://gnome/sources/" name "/"
2743 (version-major+minor version) "/"
2744 name "-" version ".tar.xz"))
2745 (sha256
ad9b8987 2746 (base32
d3b40696
KK
2747 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2748 (build-system meson-build-system)
fecbf86e
SB
2749 (native-inputs
2750 `(("pkg-config" ,pkg-config)
d3b40696
KK
2751 ("glib" ,glib "bin") ; for glib-mkenums
2752 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2753 ("intltool" ,intltool)))
2754 (propagated-inputs
427476d5
SB
2755 `(("gtk+" ,gtk+)
2756 ("libxres" ,libxres)
2757 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2758 (home-page "https://developer.gnome.org/libwnck/")
2759 (synopsis "Window Navigator Construction Kit")
2760 (description
2761 "Libwnck is the Window Navigator Construction Kit, a library for use in
2762writing pagers, tasklists, and more generally applications that are dealing
2763with window management. It tries hard to respect the Extended Window Manager
2764Hints specification (EWMH).")
2765 (license license:lgpl2.0+)))
2766
2767;; stable version for gtk2, required by xfwm4.
dbb7a081 2768(define-public libwnck-2
fecbf86e
SB
2769 (package (inherit libwnck)
2770 (name "libwnck")
2771 (version "2.30.7")
2772 (source (origin
2773 (method url-fetch)
2774 (uri (string-append "mirror://gnome/sources/" name "/"
2775 (version-major+minor version) "/"
2776 name "-" version ".tar.xz"))
2777 (sha256
2778 (base32
2779 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2780 (build-system gnu-build-system)
2781 (native-inputs
2782 `(("pkg-config" ,pkg-config)
2783 ("intltool" ,intltool)))
fecbf86e 2784 (propagated-inputs
427476d5
SB
2785 `(("gtk+" ,gtk+-2)
2786 ("libxres" ,libxres)
2787 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2788
2789(define-public goffice
2790 (package
2791 (name "goffice")
09abffcc 2792 (version "0.10.46")
b804c61e
JD
2793 (source (origin
2794 (method url-fetch)
16243f0b 2795 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2796 (version-major+minor version) "/"
16243f0b 2797 "goffice-" version ".tar.xz"))
b804c61e 2798 (sha256
09abffcc 2799 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2800 (build-system gnu-build-system)
72a06d3e 2801 (outputs '("out"
355420c6 2802 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2803 (arguments
2804 '(#:configure-flags (list (string-append "--with-html-dir="
2805 (assoc-ref %outputs "doc")
2806 "/share/gtk-doc/html"))))
b804c61e
JD
2807 (inputs
2808 `(("gtk+" ,gtk+)
2809 ("libgsf" ,libgsf)
2810 ("librsvg" ,librsvg)
2811 ("libxslt" ,libxslt)
2812 ("libxml2" ,libxml2)))
2813 (native-inputs
2814 `(("intltool" ,intltool)
f280cdb1 2815 ("glib" ,glib "bin")
b804c61e
JD
2816 ("pkg-config" ,pkg-config)))
2817 (home-page "https://developer.gnome.org/goffice/")
2818 (synopsis "Document-centric objects and utilities")
2819 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2820 (license
b804c61e
JD
2821 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2822 ;; Note: NOT LGPL
2823 (list license:gpl2 license:gpl3))))
2824
c024ae36
RW
2825(define-public goffice-0.8
2826 (package (inherit goffice)
2827 (version "0.8.17")
2828 (source (origin
2829 (method url-fetch)
2830 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2831 (version-major+minor version) "/"
2832 (package-name goffice) "-" version ".tar.xz"))
2833 (sha256
2834 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2835 (arguments
2836 `(#:phases
dc1d3cde
KK
2837 (modify-phases %standard-phases
2838 (add-after 'unpack 'fix-pcre-check
2839 (lambda _
2840 ;; Only glib.h can be included directly. See
2841 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2842 (substitute* "configure"
2843 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2844
2845 ,@(package-arguments goffice)))
c024ae36
RW
2846 (propagated-inputs
2847 ;; libgoffice-0.8.pc mentions libgsf-1
2848 `(("libgsf" ,libgsf)))
2849 (inputs
2850 `(("gtk" ,gtk+-2)
2851 ,@(alist-delete "gtk" (package-inputs goffice))))))
2852
b804c61e
JD
2853(define-public gnumeric
2854 (package
2855 (name "gnumeric")
f0517b5d 2856 (version "1.12.46")
b804c61e
JD
2857 (source (origin
2858 (method url-fetch)
b7fd0217 2859 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2860 (version-major+minor version) "/"
b7fd0217 2861 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2862 (sha256
2863 (base32
f0517b5d 2864 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2865 (build-system glib-or-gtk-build-system)
b804c61e
JD
2866 (arguments
2867 `(;; The gnumeric developers don't worry much about failing tests.
2868 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2869 #:tests? #f
b804c61e 2870 #:phases
7bcbd40d
EF
2871 (modify-phases %standard-phases
2872 (add-before
2873 'configure 'pre-conf
2874 (lambda* (#:key outputs #:allow-other-keys)
2875 ;; Make install tries to write into the directory of goffice
2876 ;; I am informed that this only affects the possibility to embed a
2877 ;; spreadsheet inside an Abiword document. So presumably when we
2878 ;; package Abiword we'll have to refer it to this directory.
2879 (substitute* "configure"
2880 (("^GOFFICE_PLUGINS_DIR=.*")
2881 (string-append "GOFFICE_PLUGINS_DIR="
2882 (assoc-ref outputs "out")
2883 "/goffice/plugins"))))))))
b804c61e
JD
2884 (inputs
2885 `(("glib" ,glib)
2886 ("gtk+" ,gtk+)
2887 ("goffice" ,goffice)
2888 ("libgsf" ,libgsf)
7bcbd40d 2889 ("librsvg" ,librsvg)
b804c61e 2890 ("libxml2" ,libxml2)
7bcbd40d 2891 ("libxslt" ,libxslt)
2e4c5457 2892 ("python" ,python-2)
6983ba56 2893 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
2894 ("zlib" ,zlib)))
2895 (native-inputs
6983ba56 2896 `(("bison" ,bison)
1ed398d1 2897 ("docbook-xml" ,docbook-xml)
6983ba56 2898 ("intltool" ,intltool)
3a2efbc8 2899 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 2900 ("glib:bin" ,glib "bin")
b804c61e
JD
2901 ("pkg-config" ,pkg-config)))
2902 (home-page "http://www.gnumeric.org")
66672a45
LC
2903 (synopsis "Spreadsheet application")
2904 (description
2905 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
2906interoperable with other spreadsheet applications. It has a vast array of
2907features beyond typical spreadsheet functionality, such as support for linear
2908and non-linear solvers, statistical analysis, and telecommunication
2909engineering.")
2910 (license
b804c61e
JD
2911 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2912 (list license:gpl2 license:gpl3))))
6f885c05
FB
2913
2914(define-public gnome-themes-standard
2915 (package
2916 (name "gnome-themes-standard")
0b7b8fb0 2917 (version "3.22.3")
6f885c05
FB
2918 (source
2919 (origin
2920 (method url-fetch)
2e6ecc5c 2921 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
2922 (version-major+minor version) "/" name "-"
2923 version ".tar.xz"))
2924 (sha256
2925 (base32
0b7b8fb0 2926 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 2927 (build-system gnu-build-system)
8ac70c7f
SB
2928 (arguments
2929 '(#:configure-flags
2930 ;; Don't create 'icon-theme.cache'.
2931 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2932 (true (string-append coreutils "/bin/true")))
2933 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
2934 (inputs
2935 `(("gtk+" ,gtk+)
2936 ("gtk+-2" ,gtk+-2)
2937 ("librsvg" ,librsvg)
2938 ("libxml2" ,libxml2)
2939 ("glib" ,glib)))
2940 (native-inputs
2941 `(("intltool" ,intltool)
2942 ("glib:bin" ,glib "bin")
2943 ("pkg-config" ,pkg-config)))
6f885c05
FB
2944 (home-page "https://launchpad.net/gnome-themes-standard")
2945 (synopsis "Default GNOME 3 themes")
2946 (description
2947 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
2948 (license license:lgpl2.1+)))
5a659a48 2949
df90c701
RW
2950(define-public seahorse
2951 (package
2952 (name "seahorse")
bcea3c11 2953 (version "3.32.2")
df90c701
RW
2954 (source
2955 (origin
2956 (method url-fetch)
2957 (uri (string-append "mirror://gnome/sources/" name "/"
2958 (version-major+minor version) "/" name "-"
2959 version ".tar.xz"))
2960 (sha256
2961 (base32
bcea3c11 2962 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
2963 (patches (search-patches
2964 "seahorse-gkr-use-0-on-empty-flags.patch"))))
2965 (build-system meson-build-system)
2966 (arguments
bcea3c11
KK
2967 '(#:glib-or-gtk? #t
2968 #:phases
af561664
MÁAV
2969 (modify-phases %standard-phases
2970 (add-after 'unpack 'skip-gtk-update-icon-cache
2971 ;; Don't create 'icon-theme.cache'.
2972 (lambda _
2973 (substitute* "build-aux/meson_post_install.py"
2974 (("gtk-update-icon-cache") "true"))
2975 #t)))))
df90c701
RW
2976 (inputs
2977 `(("gtk+" ,gtk+)
2978 ("gcr" ,gcr)
34b979b9 2979 ("gnupg" ,gnupg)
df90c701 2980 ("gpgme" ,gpgme)
34b979b9 2981 ("openldap" ,openldap)
4a1bf090 2982 ("openssh" ,openssh)
af561664 2983 ("avahi" ,avahi)
bcea3c11 2984 ("libpwquality" ,libpwquality)
34b979b9
EF
2985 ("libsecret" ,libsecret)
2986 ("libsoup" ,libsoup)))
df90c701 2987 (native-inputs
af561664 2988 `(("gettext" ,gettext-minimal)
df90c701
RW
2989 ("glib:bin" ,glib "bin")
2990 ("itstool" ,itstool)
bcb354ad 2991 ("pkg-config" ,pkg-config)
af561664 2992 ("vala" ,vala)
bcb354ad 2993 ("xmllint" ,libxml2)))
bcea3c11 2994 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
2995 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
2996 (description
2997 "Seahorse is a GNOME application for managing encryption keys and
2998passwords in the GNOME keyring.")
2999 (license license:gpl2+)))
3000
5a659a48
SB
3001(define-public vala
3002 (package
3003 (name "vala")
2d6872f6 3004 (version "0.44.5")
5a659a48
SB
3005 (source (origin
3006 (method url-fetch)
3007 (uri (string-append "mirror://gnome/sources/" name "/"
3008 (version-major+minor version) "/"
3009 name "-" version ".tar.xz"))
3010 (sha256
3011 (base32
2d6872f6 3012 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3013 (build-system gnu-build-system)
1ea90625
SB
3014 (arguments
3015 '(#:phases
3016 (modify-phases %standard-phases
f4925a4f 3017 (add-before 'check 'pre-check
1ea90625
SB
3018 (lambda _
3019 (setenv "CC" "gcc")
8839b6be
RW
3020 (substitute* "valadoc/tests/testrunner.sh"
3021 (("export PKG_CONFIG_PATH=" m)
3022 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3023 ;; For missing '/etc/machine-id'.
3024 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3025 #t)))))
5a659a48
SB
3026 (native-inputs
3027 `(("pkg-config" ,pkg-config)
3028 ("flex" ,flex)
3029 ("bison" ,bison)
3030 ("xsltproc" ,libxslt)
3031 ("dbus" ,dbus) ; for dbus tests
3032 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3033 (inputs
3034 `(("graphviz" ,graphviz)))
5a659a48 3035 (propagated-inputs
8839b6be 3036 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3037 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3038 (synopsis "Compiler for the GObject type system")
3039 (description
3040 "Vala is a programming language that aims to bring modern programming
3041language features to GNOME developers without imposing any additional runtime
3042requirements and without using a different ABI compared to applications and
3043libraries written in C.")
3044 (license license:lgpl2.1+)))
ea57378f
SB
3045
3046(define-public vte
3047 (package
3048 (name "vte")
68c47474 3049 (version "0.58.3")
ea57378f
SB
3050 (source (origin
3051 (method url-fetch)
ac87ffb8 3052 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3053 (version-major+minor version) "/"
ac87ffb8 3054 "vte-" version ".tar.xz"))
ea57378f
SB
3055 (sha256
3056 (base32
68c47474
TGR
3057 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3058 (build-system meson-build-system)
ea57378f
SB
3059 (native-inputs
3060 `(("pkg-config" ,pkg-config)
3061 ("intltool" ,intltool)
3062 ("vala" ,vala)
3063 ("gobject-introspection" ,gobject-introspection)
68c47474 3064 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3065 ("gperf" ,gperf)
ea57378f
SB
3066 ("xmllint" ,libxml2)))
3067 (propagated-inputs
68c47474
TGR
3068 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3069 ("gnutls" ,gnutls) ; ditto
3070 ("pcre2" ,pcre2))) ; ditto
f032d0be 3071 (home-page "https://www.gnome.org/")
ea57378f
SB
3072 (synopsis "Virtual Terminal Emulator")
3073 (description
3074 "VTE is a library (libvte) implementing a terminal emulator widget for
3075GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3076gnome-terminal, but can also be used to embed a console/terminal in games,
3077editors, IDEs, etc.")
3078 (license license:lgpl2.1+)))
3079
c44fb4df
MO
3080(define-public vte-ng
3081 (package
3082 (inherit vte)
3083 (name "vte-ng")
24f4fcbe 3084 (version "0.58.2.a")
afd90f8d 3085 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3086 (source (origin
3087 (method git-fetch)
3088 (uri (git-reference (url home-page) (commit version)))
3089 (file-name (git-file-name name version))
3090 (sha256
3091 (base32
24f4fcbe
MB
3092 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3093 (build-system meson-build-system)
c44fb4df
MO
3094 (native-inputs
3095 `(("gtk-doc" ,gtk-doc)
c44fb4df 3096 ,@(package-native-inputs vte)))
c44fb4df 3097 (arguments
24f4fcbe 3098 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3099 (synopsis "Enhanced VTE terminal widget")
3100 (description
3101 "VTE is a library (libvte) implementing a terminal emulator widget for
3102GTK+, this fork provides additional functions exposed for keyboard text
3103selection and URL hints.")))
3104
2776d72c
EF
3105;; provides vte 2.90, required for some terminal emulators
3106;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3107;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3108;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3109;; pantheon-terminal, roxterm are not currently packaged
3110(define-public vte-0.36
3111 (package (inherit vte)
3112 (name "vte")
3113 (version "0.36.5")
3114 (source (origin
3115 (method url-fetch)
3116 (uri (string-append "mirror://gnome/sources/" name "/"
3117 (version-major+minor version) "/"
3118 name "-" version ".tar.xz"))
3119 (sha256
3120 (base32
3121 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3122 (propagated-inputs
3123 `(("gtk" ,gtk+)
3124 ("ncurses" ,ncurses)))))
3125
ea57378f
SB
3126;; stable version for gtk2, required by xfce4-terminal.
3127(define-public vte/gtk+-2
3128 (package (inherit vte)
3129 (name "vte")
3130 (version "0.28.2")
3131 (source (origin
3132 (method url-fetch)
3133 (uri (string-append "mirror://gnome/sources/" name "/"
3134 (version-major+minor version) "/"
3135 name "-" version ".tar.xz"))
3136 (sha256
3137 (base32
7d48938a
EF
3138 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3139 (patches (search-patches
3140 "vte-CVE-2012-2738-pt1.patch"
3141 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3142 (build-system gnu-build-system)
ea57378f
SB
3143 (arguments
3144 '(#:configure-flags '("--disable-python")))
3145 (native-inputs
3146 `(("pkg-config" ,pkg-config)
3147 ("intltool" ,intltool)
3148 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3149 (propagated-inputs
3150 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3151 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3152
cce0da5e
TD
3153(define-public vinagre
3154 (package
3155 (name "vinagre")
3156 (version "3.22.0")
3157 (source (origin
3158 (method url-fetch)
3159 (uri (string-append "mirror://gnome/sources/" name "/"
3160 (version-major+minor version) "/"
3161 name "-" version ".tar.xz"))
684f97f8
EF
3162 (patches (search-patches "vinagre-newer-freerdp.patch"
3163 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3164 (sha256
3165 (base32
3166 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3167 (build-system glib-or-gtk-build-system)
684f97f8 3168 (arguments
7f486d25
MC
3169 ;; Disable -Werror and such, to avoid build failures on compilation
3170 ;; warnings.
3171 '(#:configure-flags '("--enable-compile-warnings=minimum")
3172 #:phases
684f97f8 3173 (modify-phases %standard-phases
1839768c
EF
3174 (add-before 'install 'skip-gtk-update-icon-cache
3175 (lambda _
3176 ;; Don't create 'icon-theme.cache'
3177 (substitute* (find-files "." "^Makefile$")
3178 (("gtk-update-icon-cache") (which "true")))
3179 #t))
684f97f8
EF
3180 (add-after 'unpack 'patch-configure
3181 (lambda _
3182 (substitute* "configure"
3183 (("freerdp") "freerdp2"))
3184 #t)))))
cce0da5e
TD
3185 (native-inputs
3186 `(("pkg-config" ,pkg-config)
3187 ("intltool" ,intltool)
3188 ("itstool" ,itstool)
1839768c 3189 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3190 (inputs
3191 `(("libxml2" ,libxml2)
3192 ("gtk-vnc" ,gtk-vnc)
3193 ("gnome-keyring" ,gnome-keyring)
3194 ("libsecret" ,libsecret)
3195 ("freerdp" ,freerdp)
3196 ("spice" ,spice)
3197 ("spice-gtk" ,spice-gtk)
3198 ("telepathy-glib" ,telepathy-glib)
3199 ("vte" ,vte)))
cce0da5e
TD
3200 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3201 (synopsis "Remote desktop viewer for GNOME")
3202 (description "Vinagre is a remote display client supporting the VNC, SPICE
3203and RDP protocols.")
3204 (license license:gpl3+)))
3205
b47e1b20
FB
3206(define-public dconf
3207 (package
3208 (name "dconf")
1e33331c 3209 (version "0.32.0")
b47e1b20
FB
3210 (source (origin
3211 (method url-fetch)
3212 (uri (string-append
2e6ecc5c 3213 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3214 (version-major+minor version) "/"
3215 name "-" version ".tar.xz"))
3216 (sha256
f05c809f 3217 (base32
1e33331c 3218 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3219 (build-system meson-build-system)
bc036f4c
MB
3220 (propagated-inputs
3221 ;; In Requires of dconf.pc.
3222 `(("glib" ,glib)))
b47e1b20
FB
3223 (inputs
3224 `(("gtk+" ,gtk+)
bc036f4c 3225 ("dbus" ,dbus)))
b47e1b20 3226 (native-inputs
1e33331c
MB
3227 `(("bash-completion" ,bash-completion)
3228 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3229 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3230 ("docbook-xml" ,docbook-xml-4.2)
3231 ("docbook-xsl" ,docbook-xsl)
35fa923d 3232 ("glib:bin" ,glib "bin")
03676d6f 3233 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3234 ("pkg-config" ,pkg-config)
3235 ("vala" ,vala)))
b47e1b20
FB
3236 (arguments
3237 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3238 ; or /etc/machine-id.
35fa923d
MB
3239 #:glib-or-gtk? #t
3240 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3241 (home-page "https://developer.gnome.org/dconf")
3242 (synopsis "Low-level GNOME configuration system")
3243 (description "Dconf is a low-level configuration system. Its main purpose
3244is to provide a backend to GSettings on platforms that don't already have
3245configuration storage systems.")
e20e6b40 3246 (license license:lgpl2.1+)))
109da1c0
AE
3247
3248(define-public json-glib
3249 (package
3250 (name "json-glib")
4115e8ea 3251 (version "1.4.4")
109da1c0
AE
3252 (source (origin
3253 (method url-fetch)
3254 (uri (string-append "mirror://gnome/sources/" name "/"
3255 (version-major+minor version) "/"
3256 name "-" version ".tar.xz"))
3257 (sha256
3258 (base32
4115e8ea 3259 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3260 (build-system meson-build-system)
109da1c0 3261 (native-inputs
98afa184
MB
3262 `(("gettext" ,gettext-minimal)
3263 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3264 ("gobject-introspection" ,gobject-introspection)
3265 ("pkg-config" ,pkg-config)))
3266 (propagated-inputs
88c6b580 3267 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3268 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3269 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3270 (description
3271 "JSON-GLib is a C library based on GLib providing serialization and
3272deserialization support for the JavaScript Object Notation (JSON) format
3273described by RFC 4627. It provides parser and generator GObject classes and
3274various wrappers for the complex data types employed by JSON, such as arrays
3275and objects.")
109da1c0 3276 (license license:lgpl2.1+)))
6f96a359
SB
3277
3278(define-public libxklavier
3279 (package
3280 (name "libxklavier")
5f39050b 3281 (version "5.4")
6f96a359 3282 (source (origin
5f39050b 3283 ;; Note: There's no tarball at ftp.gnome.org for this version.
3284 (method git-fetch)
3285 (uri (git-reference
3286 (url "https://anongit.freedesktop.org/git/libxklavier")
3287 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3288 (sha256
3289 (base32
5f39050b 3290 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3291 (file-name (git-file-name name version))))
6f96a359
SB
3292 (build-system gnu-build-system)
3293 (arguments
5f39050b 3294 '(#:phases
3295 (modify-phases %standard-phases
3296 (add-after 'unpack 'no-configure
3297 (lambda* _
3298 (setenv "NOCONFIGURE" "1")
3299 #t)))
3300 #:configure-flags
6f96a359
SB
3301 (list (string-append "--with-xkb-base="
3302 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3303 "/share/X11/xkb")
3304 "--disable-xmodmap-support")))
6f96a359
SB
3305 (native-inputs
3306 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3307 ("gobject-introspection" ,gobject-introspection)
5f39050b 3308 ("pkg-config" ,pkg-config)
3309 ("gtk-doc" ,gtk-doc)
3310 ("intltool" ,intltool)
3311 ("which" ,which)
3312 ("autoconf" ,autoconf)
3313 ("automake" ,automake)
3314 ("libtool" ,libtool)))
6f96a359
SB
3315 (propagated-inputs
3316 ;; Required by libxklavier.pc.
3317 `(("glib" ,glib)
3318 ("libxml2" ,libxml2)))
3319 (inputs
3320 `(("iso-codes" ,iso-codes)
3321 ("libxi" ,libxi)
3322 ("libxkbfile" ,libxkbfile)
3323 ("xkbcomp" ,xkbcomp)
3324 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3325 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3326 (synopsis "High-level API for X Keyboard Extension")
3327 (description
3328 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3329Extension known as XKB. This library is intended to support XFree86 and other
3330commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3331indicators etc).")
3332 (license license:lgpl2.0+)))
619936a4
LC
3333
3334(define-public python2-rsvg
3335 ;; XXX: This is actually a subset of gnome-python-desktop.
3336 (package
3337 (name "python2-rsvg")
3338 (version "2.32.0")
3339 (source
3340 (origin
3341 (method url-fetch)
3342 (uri (string-append
3343 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3344 version ".tar.bz2"))
3345 (sha256
3346 (base32
3347 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3348 (build-system gnu-build-system)
3349 (native-inputs
3350 `(("pkg-config" ,pkg-config)))
3351 (inputs
3352 `(("python" ,python-2)
3353 ("python2-pygtk" ,python2-pygtk)
3354 ("librsvg" ,librsvg)))
f032d0be 3355 (home-page "https://www.gnome.org")
619936a4
LC
3356 (synopsis "Python bindings to librsvg")
3357 (description
3ad75446 3358 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3359library.")
3360
3361 ;; This is the license of the rsvg bindings. The license of each module
3362 ;; of gnome-python-desktop is given in 'COPYING'.
3363 (license license:lgpl2.1+)))
a31a6d22 3364
f2ca414a
SB
3365(define-public glib-networking
3366 (package
3367 (name "glib-networking")
0d75c64d 3368 (version "2.60.3")
f2ca414a
SB
3369 (source (origin
3370 (method url-fetch)
3371 (uri (string-append "mirror://gnome/sources/glib-networking/"
3372 (version-major+minor version) "/"
fb8fe1e8 3373 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3374 (sha256
3375 (base32
0d75c64d 3376 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3377 (build-system meson-build-system)
f2ca414a 3378 (arguments
0d75c64d 3379 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3380 (native-inputs
3381 `(("pkg-config" ,pkg-config)
3382 ("intltool" ,intltool)))
3383 (inputs
3384 `(("glib" ,glib)
3385 ("gnutls" ,gnutls)
4b8f1313 3386 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3387 (home-page "https://www.gnome.org")
f2ca414a
SB
3388 (synopsis "Network-related GIO modules")
3389 (description
3390 "This package contains various network related extensions for the GIO
3391library.")
3392 (license license:lgpl2.0+)))
3393
ca649680 3394(define-public rest
4510b2da 3395 (package
ca649680 3396 (name "rest")
a4194d16 3397 (version "0.8.1")
4510b2da
SB
3398 (source (origin
3399 (method url-fetch)
3400 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3401 (version-major+minor version) "/"
3402 name "-" version ".tar.xz"))
4510b2da
SB
3403 (sha256
3404 (base32
a4194d16 3405 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3406 (build-system gnu-build-system)
3407 (arguments
3408 '(#:tests? #f ; tests require internet connection
3409 #:configure-flags
3410 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3411 (native-inputs
3412 `(("glib-mkenums" ,glib "bin")
3413 ("gobject-introspection" ,gobject-introspection)
3414 ("pkg-config" ,pkg-config)))
3415 (propagated-inputs
3416 ;; rest-0.7.pc refers to all these.
3417 `(("glib" ,glib)
3418 ("libsoup" ,libsoup)
3419 ("libxml2" ,libxml2)))
24d6cc1d 3420 (home-page "https://www.gtk.org/")
4510b2da
SB
3421 (synopsis "RESTful web api query library")
3422 (description
3423 "This library was designed to make it easier to access web services that
3424claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3425libxml to ease remote use of the RESTful API.")
3426 (license license:lgpl2.1+)))
3427
6e1bb642
SB
3428(define-public libsoup
3429 (package
3430 (name "libsoup")
9ae87870 3431 (version "2.68.3")
6e1bb642
SB
3432 (source (origin
3433 (method url-fetch)
3434 (uri (string-append "mirror://gnome/sources/libsoup/"
3435 (version-major+minor version) "/"
c1b79b36 3436 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3437 (sha256
3438 (base32
9ae87870 3439 "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk"))))
eccaa8bf 3440 (build-system meson-build-system)
6e1bb642
SB
3441 (outputs '("out" "doc"))
3442 (arguments
2deb146f 3443 `(#:modules ((guix build utils)
eccaa8bf 3444 (guix build meson-build-system)
2deb146f
LC
3445 (ice-9 popen))
3446
f8026a79 3447 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3448 #:phases
3449 (modify-phases %standard-phases
eccaa8bf 3450 (add-after 'unpack 'adjust-tests
26c228f9 3451 (lambda _
eccaa8bf
MB
3452 ;; This test fails due to missing /etc/nsswitch.conf
3453 ;; in the build environment.
26c228f9
LC
3454 (substitute* "tests/socket-test.c"
3455 ((".*/sockets/unconnected.*") ""))
2deb146f 3456
f8026a79
MB
3457 ;; These fail because "subdomain.localhost" does not resolve in
3458 ;; the build environment.
3459 (substitute* "tests/hsts-test.c"
3460 ((".*/hsts/basic.*") "")
3461 ((".*/hsts/subdomains.*") "")
3462 ((".*/hsts/superdomain.*") "")
3463 ((".*/hsts/utf8-address.*") ""))
3464 (substitute* "tests/hsts-db-test.c"
3465 ((".*/hsts-db/subdomains.*") ""))
3466
2deb146f
LC
3467 ;; Generate a self-signed certificate that has "localhost" as its
3468 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3469 ;; 3.5.12, tests such as "ssl-tests" fail:
3470 ;;
3471 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3472 ;;
3473 ;; 'certtool' is interactive so we have to pipe it the answers.
3474 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3475 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3476 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3477 (for-each (lambda (line)
3478 (display line pipe)
3479 (newline pipe))
3480 '("" ;Common name
3481 "" ;UID
3482 "Guix" ;Organizational unit name
3483 "GNU" ;Organization name
3484 "" ;Locality name
3485 "" ;State or province
3486 "" ;Country
3487 "" ;subject's domain component (DC)
3488 "" ;E-mail
3489 "" ;serial number
3490 "-1" ;expiration time
3491 "N" ;belong to authority?
3492 "N" ;web client certificate?
3493 "N" ;IPsec IKE?
3494 "Y" ;web server certificate?
3495 "localhost" ;dnsName of subject
3496 "" ;dnsName of subject (end)
3497 "" ;URI of subject
3498 "127.0.0.1" ;IP address of subject
3499 "" ;signing?
06f5bc4e
MB
3500 "" ;encryption (RSA)?
3501 "" ;data encryption?
2deb146f
LC
3502 "" ;sign OCSP requests?
3503 "" ;sign code?
3504 "" ;time stamping?
3505 "" ;email protection?
3506 "" ;URI of the CRL distribution point
3507 "y" ;above info OK?
3508 ))
3509 (close-pipe pipe))
26c228f9 3510 #t))
eccaa8bf
MB
3511 (add-after 'install 'move-doc
3512 (lambda* (#:key outputs #:allow-other-keys)
3513 (let ((out (assoc-ref outputs "out"))
3514 (doc (assoc-ref outputs "doc")))
3515 (mkdir-p (string-append doc "/share"))
3516 (copy-recursively (string-append out "/share/gtk-doc")
3517 (string-append doc "/share/gtk-doc"))
3518 (delete-file-recursively (string-append out "/share/gtk-doc"))
3519 #t))))))
6e1bb642 3520 (native-inputs
26c228f9 3521 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3522 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3523 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3524 ("intltool" ,intltool)
3525 ("pkg-config" ,pkg-config)
3526 ("python" ,python-wrapper)
fd730590 3527 ("vala" ,vala)
6e1bb642
SB
3528 ;; These are needed for the tests.
3529 ;; FIXME: Add PHP once available.
3530 ("curl" ,curl)
2deb146f 3531 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3532 ("httpd" ,httpd)))
3533 (propagated-inputs
3534 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3535 `(("brotli" ,google-brotli)
3536 ("glib" ,glib)
249846bf 3537 ("libpsl" ,libpsl)
eccaa8bf 3538 ("libxml2" ,libxml2)
f8026a79
MB
3539 ("sqlite" ,sqlite)
3540 ("zlib" ,zlib)))
eccaa8bf
MB
3541 (inputs
3542 `(("glib-networking" ,glib-networking)
3543 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3544 (home-page "https://live.gnome.org/LibSoup/")
3545 (synopsis "GLib-based HTTP Library")
3546 (description
3547 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3548and the GLib main loop, to integrate well with GNOME applications.")
3549 (license license:lgpl2.0+)))
3550
bba229a3
SB
3551(define-public libsecret
3552 (package
3553 (name "libsecret")
b243d2f7 3554 (version "0.19.1")
bba229a3
SB
3555 (source (origin
3556 (method url-fetch)
3557 (uri (string-append
896dcbc7
EF
3558 "mirror://gnome/sources/libsecret/"
3559 (version-major+minor version) "/"
0ada4e29 3560 "libsecret-" version ".tar.xz"))
bba229a3
SB
3561 (sha256
3562 (base32
b243d2f7 3563 "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5"))))
bba229a3
SB
3564 (build-system gnu-build-system)
3565 (outputs '("out" "doc"))
3566 (arguments
3567 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3568 #:configure-flags
3569 (list (string-append "--with-html-dir="
3570 (assoc-ref %outputs "doc")
3571 "/share/gtk-doc/html"))))
3572 (native-inputs
c06ef010
MB
3573 `(("gettext" ,gettext-minimal)
3574 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3575 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3576 ("pkg-config" ,pkg-config)
3577 ("vala" ,vala)
3578 ("xsltproc" ,libxslt)))
3579 ;; These are needed for the tests.
3580 ;; FIXME: Add gjs once available.
3581 ;("dbus" ,dbus)
3582 ;("python2" ,python-2)
3583 ;("python2-dbus" ,python2-dbus)
3584 ;("python2-pygobject" ,python2-pygobject)
3585 ;("python2-pygobject-2" ,python2-pygobject-2)))
3586 (propagated-inputs
3587 `(("glib" ,glib))) ; required by libsecret-1.pc
3588 (inputs
3589 `(("docbook-xsl" ,docbook-xsl)
3590 ("libgcrypt" ,libgcrypt)
3591 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3592 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3593 (synopsis "GObject bindings for \"Secret Service\" API")
3594 (description
3595 "Libsecret is a GObject based library for storing and retrieving passwords
3596and other secrets. It communicates with the \"Secret Service\" using DBus.")
3597 (license license:lgpl2.1+)))
3598
b6821ee0 3599(define-public five-or-more
3600 (package
3601 (name "five-or-more")
d9795e93 3602 (version "3.32.0")
b6821ee0 3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append "mirror://gnome/sources/" name "/"
3607 (version-major+minor version) "/"
3608 name "-" version ".tar.xz"))
3609 (sha256
3610 (base32
d9795e93
KK
3611 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3612 (build-system meson-build-system)
3613 (arguments
3614 '(#:glib-or-gtk? #t
3615 #:phases
3616 (modify-phases %standard-phases
3617 (add-after 'unpack 'skip-gtk-update-icon-cache
3618 (lambda _
3619 (substitute* "meson_post_install.py"
3620 (("gtk-update-icon-cache") (which "true")))
3621 #t)))))
b6821ee0 3622 (native-inputs
3623 `(("pkg-config" ,pkg-config)
d9795e93 3624 ("appstream-glib" ,appstream-glib)
b6821ee0 3625 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3626 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3627 ("intltool" ,intltool)
3628 ("itstool" ,itstool)
d9795e93 3629 ("vala" ,vala)
b6821ee0 3630 ("xmllint" ,libxml2)))
3631 (inputs
3632 `(("gtk+" ,gtk+)
d9795e93 3633 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3634 ("librsvg" ,librsvg)))
3635 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3636 (synopsis "Logic puzzle game")
3637 (description "Five or More is a game where you try to align
3638 five or more objects of the same color and shape causing them to disappear.
3639 On every turn more objects will appear, until the board is full.
3640 Try to last as long as possible.")
3641 (license license:gpl2+)))
3642
a31a6d22
SB
3643(define-public gnome-mines
3644 (package
3645 (name "gnome-mines")
2d817e41 3646 (version "3.32.2")
a31a6d22
SB
3647 (source
3648 (origin
3649 (method url-fetch)
3650 (uri (string-append "mirror://gnome/sources/" name "/"
3651 (version-major+minor version) "/"
3652 name "-" version ".tar.xz"))
3653 (sha256
3654 (base32
2d817e41 3655 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3656 (build-system meson-build-system)
a31a6d22 3657 (arguments
2d817e41
KK
3658 '(#:glib-or-gtk? #t
3659 #:phases
a31a6d22 3660 (modify-phases %standard-phases
2d817e41
KK
3661 (add-after 'unpack 'skip-gtk-update-icon-cache
3662 (lambda _
3663 (substitute* "build-aux/meson_post_install.py"
3664 (("gtk-update-icon-cache") (which "true")))
3665 #t)))))
a31a6d22 3666 (native-inputs
8c0fab36
RW
3667 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3668 ("pkg-config" ,pkg-config)
a31a6d22
SB
3669 ("desktop-file-utils" ,desktop-file-utils)
3670 ("intltool" ,intltool)
bcb354ad 3671 ("itstool" ,itstool)
8c0fab36
RW
3672 ("vala" ,vala)
3673 ("yelp" ,yelp)
3674 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3675 (inputs
3676 `(("gtk+" ,gtk+)
73992962 3677 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3678 ("librsvg" ,librsvg)))
3679 (home-page "https://wiki.gnome.org/Apps/Mines")
3680 (synopsis "Minesweeper game")
3681 (description
3682 "Mines (previously gnomine) is a puzzle game where you locate mines
3683floating in an ocean using only your brain and a little bit of luck.")
3684 (license license:gpl2+)))
88f70665 3685
dfc407f3
KY
3686(define-public gnome-sudoku
3687 (package
3688 (name "gnome-sudoku")
7dc728c4 3689 (version "3.32.0")
dfc407f3
KY
3690 (source
3691 (origin
3692 (method url-fetch)
3693 (uri (string-append "mirror://gnome/sources/" name "/"
3694 (version-major+minor version) "/"
3695 name "-" version ".tar.xz"))
3696 (sha256
3697 (base32
7dc728c4
KK
3698 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3699 (build-system meson-build-system)
3700 (arguments
3701 '(#:glib-or-gtk? #t
3702 #:phases
3703 (modify-phases %standard-phases
3704 (add-after 'unpack 'skip-gtk-update-icon-cache
3705 (lambda _
3706 (substitute* "build-aux/post_install.py"
3707 (("gtk-update-icon-cache") (which "true")))
3708 #t)))))
dfc407f3
KY
3709 (native-inputs
3710 `(("pkg-config" ,pkg-config)
3711 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3712 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3713 ("intltool" ,intltool)
3714 ("itstool" ,itstool)
7dc728c4 3715 ("vala" ,vala)
dfc407f3
KY
3716 ("xmllint" ,libxml2)))
3717 (inputs
3718 `(("gtk+" ,gtk+)
3719 ("json-glib" ,json-glib)
3720 ("libgee" ,libgee)
3721 ("librsvg" ,librsvg)
3722 ("qqwing" ,qqwing)))
3723 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3724 (synopsis "Japanese logic game")
3725 (description
3726 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3727GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3728possible while still providing features that make playing difficult Sudoku
3729more fun.")
3730 (license license:gpl2+)))
3731
88f70665
AW
3732(define-public gnome-terminal
3733 (package
3734 (name "gnome-terminal")
7dee3942 3735 (version "3.32.2")
88f70665
AW
3736 (source
3737 (origin
3738 (method url-fetch)
3739 (uri (string-append "mirror://gnome/sources/" name "/"
3740 (version-major+minor version) "/"
3741 name "-" version ".tar.xz"))
3742 (sha256
3743 (base32
7dee3942 3744 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3745 (build-system glib-or-gtk-build-system)
3746 (arguments
3747 '(#:configure-flags
3748 (list "--disable-migration" "--disable-search-provider"
3749 "--without-nautilus-extension")
3750 #:phases
3751 (modify-phases %standard-phases
3a4de6b2 3752 (add-before 'configure 'patch-/bin/true
88f70665
AW
3753 (lambda _
3754 (substitute* "configure"
3755 (("/bin/true") (which "true"))))))))
3756 (native-inputs
3757 `(("pkg-config" ,pkg-config)
3758 ("desktop-file-utils" ,desktop-file-utils)
3759 ("intltool" ,intltool)
bcb354ad
SB
3760 ("itstool" ,itstool)
3761 ("xmllint" ,libxml2)))
68702167
MW
3762 (propagated-inputs
3763 `(("dconf" ,dconf)))
88f70665
AW
3764 (inputs
3765 `(("gtk+" ,gtk+)
3766 ("vte" ,vte)
3767 ("gnutls" ,gnutls)
88f70665
AW
3768 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3769 ("util-linux" ,util-linux)
3770 ("vala" ,vala)))
3771 (home-page "https://wiki.gnome.org/Apps/Terminal")
3772 (synopsis "Terminal emulator")
3773 (description
3774 "GNOME Terminal is a terminal emulator application for accessing a
3775UNIX shell environment which can be used to run programs available on
3776your system.
3777
3778It supports several profiles, multiple tabs and implements several
3779keyboard shortcuts.")
3780 (license license:gpl3+)))
75016d07
AW
3781
3782(define-public colord
3783 (package
3784 (name "colord")
f98be942 3785 (version "1.4.4")
75016d07
AW
3786 (source
3787 (origin
3788 (method url-fetch)
5cc3096c 3789 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3790 "colord-" version ".tar.xz"))
75016d07 3791 (sha256
f98be942 3792 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3793 (build-system meson-build-system)
75016d07 3794 (arguments
a68544a8
RW
3795 '(;; FIXME: One test fails:
3796 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3797 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3798 ;; application/x-zerosize
75016d07 3799 #:tests? #f
a68544a8
RW
3800 #:glib-or-gtk? #t
3801 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3802 ;; No dep on systemd.
a68544a8 3803 "-Dsystemd=false"
75016d07
AW
3804 ;; Wants to install to global completion dir;
3805 ;; punt.
a68544a8 3806 "-Dbash_completion=false"
a68544a8
RW
3807 "-Ddaemon_user=colord"
3808 "-Dsane=true"
dac26e22 3809 "-Dvapi=true"
6f20e2dc 3810 ;; Requires spotread.
a68544a8 3811 "-Dargyllcms_sensor=false"
6f20e2dc 3812 ;; TODO: Requires docbook2x.
a68544a8 3813 "-Dman=false")
75016d07
AW
3814 #:phases
3815 (modify-phases %standard-phases
a68544a8
RW
3816 (add-before 'configure 'patch-build-system
3817 (lambda* (#:key outputs #:allow-other-keys)
3818 (substitute* "rules/meson.build"
3819 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3820 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3821 #t))
3822 (add-before 'configure 'set-sqlite3-file-name
3823 (lambda* (#:key inputs #:allow-other-keys)
3824 ;; "colormgr dump" works by invoking the "sqlite3" command.
3825 ;; Record its absolute file name.
3826 (let ((sqlite (assoc-ref inputs "sqlite")))
3827 (substitute* "client/cd-util.c"
3828 (("\"sqlite3\"")
3829 (string-append "\"" sqlite "/bin/sqlite3\"")))
3830 #t))))))
75016d07 3831 (native-inputs
6f20e2dc 3832 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3833 ("gettext" ,gettext-minimal)
75016d07 3834 ("gobject-introspection" ,gobject-introspection)
a68544a8 3835 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3836 ("pkg-config" ,pkg-config)
3837 ("vala" ,vala)))
65cb2d61
SB
3838 (propagated-inputs
3839 ;; colord.pc refers to all these.
3840 `(("glib" ,glib)
6f20e2dc
TGR
3841 ("lcms" ,lcms)
3842 ("udev" ,eudev)))
75016d07 3843 (inputs
65cb2d61 3844 `(("dbus-glib" ,dbus-glib)
a68544a8 3845 ("gusb" ,gusb)
80c7dd1a 3846 ("libgudev" ,libgudev)
75016d07 3847 ("libusb" ,libusb)
75016d07 3848 ("polkit" ,polkit)
a68544a8 3849 ("python" ,python-wrapper)
6f20e2dc 3850 ("sqlite" ,sqlite)
4c928743 3851 ("sane-backends" ,sane-backends)))
57e7d748 3852 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3853 (synopsis "Color management service")
3854 (description "Colord is a system service that makes it easy to manage,
3855install and generate color profiles to accurately color manage input and
3856output devices.")
3857 (license license:gpl2+)))
7b2abd00
AW
3858
3859(define-public geoclue
3860 (package
3861 (name "geoclue")
b433c7b3 3862 (version "2.4.8")
7b2abd00
AW
3863 (source
3864 (origin
3865 (method url-fetch)
5cc3096c 3866 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
3867 "/releases/" (version-major+minor version) "/"
3868 name "-" version ".tar.xz"))
3869 (sha256
3870 (base32
b433c7b3 3871 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 3872 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
3873 (build-system glib-or-gtk-build-system)
3874 (arguments
3875 '(;; The tests want to run the system bus.
3876 #:tests? #f
3877 #:configure-flags (list ;; Disable bits requiring ModemManager.
3878 "--disable-3g-source"
3879 "--disable-cdma-source"
3880 "--disable-modem-gps-source"
3881 "--with-dbus-service-user=geoclue")
3882 #:phases
3883 (modify-phases %standard-phases
3a4de6b2 3884 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
3885 (lambda _
3886 (substitute* "configure"
e3eb53e7
MW
3887 (("/bin/true") (which "true")))
3888 #t)))))
7b2abd00
AW
3889 (native-inputs
3890 `(("pkg-config" ,pkg-config)
758798a9 3891 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
3892 ("intltool" ,intltool)))
3893 (inputs
54e911bc
SB
3894 `(("avahi" ,avahi)
3895 ("glib" ,glib)
7b2abd00
AW
3896 ("json-glib" ,json-glib)
3897 ("libsoup" ,libsoup)))
99adfd7d 3898 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
3899 (synopsis "Geolocation service")
3900 (description "Geoclue is a D-Bus service that provides location
3901information. The primary goal of the Geoclue project is to make creating
3902location-aware applications as simple as possible, while the secondary goal is
3903to ensure that no application can access location information without explicit
e881752c 3904permission from user.")
7b2abd00 3905 (license license:gpl2+)))
2bfe7437
AW
3906
3907(define-public geocode-glib
3908 (package
3909 (name "geocode-glib")
65de725f 3910 (version "3.26.1")
2bfe7437
AW
3911 (source (origin
3912 (method url-fetch)
3913 (uri (string-append "mirror://gnome/sources/geocode-glib/"
3914 (version-major+minor version) "/"
d485cdc0 3915 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
3916 (sha256
3917 (base32
65de725f 3918 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 3919 (build-system meson-build-system)
2bfe7437 3920 (arguments
a7dd0c02
RW
3921 `(#:phases
3922 (modify-phases %standard-phases
3923 ;; The tests require a bunch of locales.
3924 (add-before 'check 'set-locales
3925 (lambda* (#:key inputs #:allow-other-keys)
3926 (setenv "GUIX_LOCPATH"
3927 (string-append (assoc-ref inputs "glibc-locales")
3928 "/lib/locale"))
3929 #t)))))
2bfe7437
AW
3930 (native-inputs
3931 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
3932 ("glibc-locales" ,glibc-locales) ; for tests
3933 ("gettext" ,gettext-minimal)
2bfe7437 3934 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 3935 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
3936 ("pkg-config" ,pkg-config)
3937 ("json-glib" ,json-glib)))
3938 (propagated-inputs
3939 ;; geocode-glib-1.0.pc refers to GIO.
3940 `(("glib" ,glib)))
3941 (inputs
3942 `(("libsoup" ,libsoup)))
3943 (home-page "https://github.com/GNOME/geocode-glib/")
3944 (synopsis "Geocoding and reverse-geocoding library")
3945 (description
3946 "geocode-glib is a convenience library for geocoding (finding longitude,
3947and latitude from an address) and reverse geocoding (finding an address from
3948coordinates) using the Nominatim service. geocode-glib caches requests for
3949faster results and to avoid unnecessary server load.")
3950 (license license:lgpl2.0+)))
a1d5bb0e
AW
3951
3952(define-public upower
3953 (package
3954 (name "upower")
df45af90 3955 (version "0.99.11")
a1d5bb0e
AW
3956 (source (origin
3957 (method url-fetch)
df45af90 3958 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 3959 "upower-" version ".tar.xz"))
a1d5bb0e
AW
3960 (sha256
3961 (base32
df45af90 3962 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
fc1adab1 3963 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
3964 (build-system glib-or-gtk-build-system)
3965 (arguments
3966 '( ;; The tests want to contact the system bus, which can't be done in the
3967 ;; build environment. The integration test can run, but the last of
3968 ;; the up-self-tests doesn't. Disable tests for now.
3969 #:tests? #f
3970 #:configure-flags (list "--localstatedir=/var"
3971 (string-append "--with-udevrulesdir="
3972 (assoc-ref %outputs "out")
9ec54965 3973 "/lib/udev/rules.d"))))
a1d5bb0e 3974 (native-inputs
ebeabe2d
SB
3975 `(("gobject-introspection" ,gobject-introspection)
3976 ("pkg-config" ,pkg-config)
a1d5bb0e 3977 ("intltool" ,intltool)
55409295
LC
3978 ("python" ,python)
3979
3980 ;; For man pages.
3981 ("libxslt" ,libxslt) ;for 'xsltproc'
3982 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
3983 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 3984 (inputs
ea226291
SB
3985 `(("dbus-glib" ,dbus-glib)
3986 ("libgudev" ,libgudev)
a1d5bb0e 3987 ("libusb" ,libusb)))
d7a503fc
MB
3988 (propagated-inputs
3989 ;; In Requires of upower-glib.pc.
3990 `(("glib" ,glib)))
57e7d748 3991 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
3992 (synopsis "System daemon for managing power devices")
3993 (description
3994 "UPower is an abstraction for enumerating power devices,
3995listening to device events and querying history and statistics. Any
3996application or service on the system can access the org.freedesktop.UPower
3997service via the system message bus.")
3998 (license license:gpl2+)))
6a180f6f
AW
3999
4000(define-public libgweather
4001 (package
4002 (name "libgweather")
794ce8ea 4003 (version "3.28.3")
6a180f6f
AW
4004 (source (origin
4005 (method url-fetch)
4006 (uri (string-append "mirror://gnome/sources/" name "/"
4007 (version-major+minor version) "/"
4008 name "-" version ".tar.xz"))
4009 (sha256
4010 (base32
794ce8ea 4011 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4012 (build-system meson-build-system)
6a180f6f 4013 (arguments
cf6cbc34
RW
4014 `(#:tests? #f ; one of two tests requires network access
4015 #:configure-flags
4016 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4017 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4018 "/share/zoneinfo"))))
6a180f6f
AW
4019 (native-inputs
4020 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4021 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4022 ("pkg-config" ,pkg-config)
1d3fcf94 4023 ("vala" ,vala)
6a180f6f
AW
4024 ("intltool" ,intltool)))
4025 (propagated-inputs
4026 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4027 ;; libsoup.
4028 `(("gtk+" ,gtk+)
4029 ("gdk-pixbuf" ,gdk-pixbuf)
4030 ("libxml2" ,libxml2)
cf6cbc34 4031 ("libsoup" ,libsoup)
6a180f6f 4032 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4033 (inputs
4034 `(("tzdata" ,tzdata)))
6a180f6f
AW
4035 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4036 (synopsis "Location, time zone, and weather library for GNOME")
4037 (description
4038 "libgweather is a library to access weather information from online
4039services for numerous locations.")
4040 (license license:gpl2+)))
23a22af6
AW
4041
4042(define-public gnome-settings-daemon
4043 (package
4044 (name "gnome-settings-daemon")
4be0719f 4045 (version "3.32.1")
23a22af6
AW
4046 (source
4047 (origin
4048 (method url-fetch)
4049 (uri (string-append "mirror://gnome/sources/" name "/"
4050 (version-major+minor version) "/"
4051 name "-" version ".tar.xz"))
4052 (sha256
4053 (base32
4be0719f 4054 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4055 (build-system meson-build-system)
23a22af6 4056 (arguments
e644f9fa
RW
4057 `(#:glib-or-gtk? #t
4058 #:configure-flags
4059 (list (string-append "-Dudev_dir="
4060 (assoc-ref %outputs "out")
4d0e085b
RW
4061 "/lib/udev/rules.d/")
4062 ;; Otherwise, the RUNPATH will lack the final path component.
4063 (string-append "-Dc_link_args=-Wl,-rpath="
4064 (assoc-ref %outputs "out")
4065 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4066 ;; Color management test can't reach the colord system service.
23a22af6
AW
4067 #:tests? #f))
4068 (native-inputs
e644f9fa
RW
4069 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4070 ("pkg-config" ,pkg-config)
23a22af6
AW
4071 ("intltool" ,intltool)
4072 ("xsltproc" ,libxslt)
4073 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4074 ("docbook-xml" ,docbook-xml-4.2)
4075 ("docbook-xsl" ,docbook-xsl)))
4076 (inputs
e644f9fa
RW
4077 `(("alsa-lib" ,alsa-lib)
4078 ("colord" ,colord)
ea226291 4079 ("libgudev" ,libgudev)
23a22af6
AW
4080 ("upower" ,upower)
4081 ("polkit" ,polkit)
4082 ("pulseaudio" ,pulseaudio)
4083 ("libcanberra" ,libcanberra)
4084 ("libx11" ,libx11)
4085 ("libxtst" ,libxtst)
4086 ("lcms" ,lcms)
4087 ("libnotify" ,libnotify)
4088 ("geoclue" ,geoclue)
4089 ("geocode-glib" ,geocode-glib)
4090 ("libgweather" ,libgweather)
4091 ("gnome-desktop" ,gnome-desktop)
4092 ("nss" ,nss)
4093 ("cups" ,cups)
ec2b1921
AW
4094 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4095 ("libwacom" ,libwacom)
4096 ("librsvg" ,librsvg)
eee7878f 4097 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4098 ("wayland" ,wayland)
eee7878f 4099 ("network-manager" ,network-manager)))
f032d0be 4100 (home-page "https://www.gnome.org")
23a22af6
AW
4101 (synopsis "GNOME settings daemon")
4102 (description
4103 "This package contains the daemon responsible for setting the various
4104parameters of a GNOME session and the applications that run under it. It
4105handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4106settings, themes, mouse settings, and startup of other daemons.")
4107 (license license:gpl2+)))
1e7464a9
DH
4108
4109(define-public totem-pl-parser
4110 (package
4111 (name "totem-pl-parser")
77425f04 4112 (version "3.26.3")
1e7464a9
DH
4113 (source (origin
4114 (method url-fetch)
e980cbe9
MW
4115 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4116 (version-major+minor version) "/"
1e7464a9
DH
4117 "totem-pl-parser-" version ".tar.xz"))
4118 (sha256
4119 (base32
77425f04 4120 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4121 (build-system meson-build-system)
1e7464a9
DH
4122 (arguments
4123 ;; FIXME: Tests require gvfs.
4124 `(#:tests? #f))
4125 (native-inputs
4126 `(("intltool" ,intltool)
4127 ("glib" ,glib "bin")
4d6d8281 4128 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4129 ("pkg-config" ,pkg-config)))
22a6ad6a 4130 (propagated-inputs
1e7464a9
DH
4131 `(("glib" ,glib)
4132 ("gmime" ,gmime)
1e9b19dd
RW
4133 ("libarchive" ,libarchive)
4134 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4135 ("libxml2" ,libxml2)))
4136 (inputs
0a6e9e13 4137 `(("libsoup" ,libsoup)))
1e7464a9
DH
4138 (home-page "https://projects.gnome.org/totem")
4139 (synopsis "Library to parse and save media playlists for GNOME")
4140 (description "Totem-pl-parser is a GObjects-based library to parse and save
4141playlists in a variety of formats.")
4142 (license license:lgpl2.0+)))
4143
6b888eff
SB
4144(define-public aisleriot
4145 (package
4146 (name "aisleriot")
36ed9b46 4147 (version "3.22.9")
6b888eff
SB
4148 (source (origin
4149 (method url-fetch)
e43f622a 4150 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4151 (version-major+minor version) "/"
e43f622a 4152 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4153 (sha256
4154 (base32
36ed9b46 4155 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4156 (build-system glib-or-gtk-build-system)
4157 (arguments
4158 '(#:configure-flags
4159 '("--with-platform=gtk-only"
4160 "--with-card-theme-formats=svg")))
4161 (native-inputs
4162 `(("desktop-file-utils" ,desktop-file-utils)
4163 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4164 ("intltool" ,intltool)
4165 ("itstool" ,itstool)
4166 ("pkg-config" ,pkg-config)
4167 ("xmllint" ,libxml2)))
4168 (inputs
4169 `(("gtk+" ,gtk+)
226e57d6 4170 ("guile" ,guile-2.2)
6b888eff
SB
4171 ("libcanberra" ,libcanberra)
4172 ("librsvg" ,librsvg)))
4173 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4174 (synopsis "Solitaire card games")
4175 (description
4176 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4177which are easy to play with the aid of a mouse.")
4178 (license license:gpl3+)))
4a79e256 4179
f828d05b
KK
4180(define-public amtk
4181 (package
4182 (name "amtk")
09c4e43f 4183 (version "5.0.1")
f828d05b
KK
4184 (source (origin
4185 (method url-fetch)
bf92ba6b 4186 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4187 (version-major+minor version) "/"
bf92ba6b 4188 "amtk-" version ".tar.xz"))
f828d05b
KK
4189 (sha256
4190 (base32
09c4e43f 4191 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d"))))
f828d05b
KK
4192 (build-system gnu-build-system)
4193 (arguments
4194 '(#:configure-flags '("--enable-gtk-doc")))
4195 (native-inputs
4196 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4197 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4198 ("gtk-doc" ,gtk-doc)
4199 ("pkg-config" ,pkg-config)))
4200 (inputs
4201 `(("glib" ,glib)
4202 ("gtk+" ,gtk+)))
4203 (home-page "https://wiki.gnome.org/Projects/Amtk")
4204 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4205 (description
4206 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4207It is a basic GtkUIManager replacement based on GAction. It is suitable for
4208both a traditional UI or a modern UI with a GtkHeaderBar.")
4209 (license license:lgpl2.1+)))
4210
4a79e256
SB
4211(define-public devhelp
4212 (package
4213 (name "devhelp")
20db7a3d 4214 (version "3.32.0")
4a79e256
SB
4215 (source (origin
4216 (method url-fetch)
4217 (uri (string-append "mirror://gnome/sources/" name "/"
4218 (version-major+minor version) "/"
4219 name "-" version ".tar.xz"))
4220 (sha256
4221 (base32
20db7a3d 4222 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4223 (build-system meson-build-system)
35407f94 4224 (arguments
20db7a3d
KK
4225 '(#:glib-or-gtk? #t
4226 #:phases
35407f94
EF
4227 (modify-phases %standard-phases
4228 (add-after 'unpack 'skip-gtk-update-icon-cache
4229 ;; Don't create 'icon-theme.cache'.
4230 (lambda _
4231 (substitute* "meson_post_install.py"
4232 (("gtk-update-icon-cache") "true"))
4233 #t)))))
4a79e256
SB
4234 (native-inputs
4235 `(("intltool" ,intltool)
5dd12afc 4236 ("itstool" ,itstool)
11d28bd9
KK
4237 ("gobject-introspection" ,gobject-introspection)
4238 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4239 ("pkg-config" ,pkg-config)))
4240 (inputs
11d28bd9
KK
4241 `(("amtk" ,amtk)
4242 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4243 ("webkitgtk" ,webkitgtk)))
4244 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4245 (synopsis "API documentation browser for GNOME")
4246 (description
4247 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4248natively with GTK-Doc (the API reference system developed for GTK+ and used
4249throughout GNOME for API documentation).")
4250 (license license:gpl2+)))
ba421ab7
MW
4251
4252(define-public cogl
4253 (package
4254 (name "cogl")
54c69ae1 4255 (version "1.22.4")
ba421ab7
MW
4256 (source
4257 (origin
4258 (method url-fetch)
5754f0cf 4259 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4260 (version-major+minor version) "/"
5754f0cf 4261 "cogl-" version ".tar.xz"))
ba421ab7 4262 (sha256
54c69ae1 4263 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4264 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4265 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4266 (build-system gnu-build-system)
4267 (native-inputs
4268 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4269 ("gobject-introspection" ,gobject-introspection)
4270 ;;("xorg-server" ,xorg-server) ; for the test suite
4271 ("pkg-config" ,pkg-config)))
4272 (propagated-inputs
4273 `(("glib" ,glib)
4274 ("gdk-pixbuf" ,gdk-pixbuf)
4275 ("libx11" ,libx11)
4276 ("libxext" ,libxext)
4277 ("libxfixes" ,libxfixes)
4278 ("libxdamage" ,libxdamage)
4279 ("libxcomposite" ,libxcomposite)
4280 ("libxrandr" ,libxrandr)))
4281 (inputs
4282 `(("mesa" ,mesa)
4283 ("cairo" ,cairo)
4284 ("pango" ,pango)
4285 ("gstreamer" ,gstreamer)
31860852
KK
4286 ("gst-plugins-base" ,gst-plugins-base)
4287 ("wayland" ,wayland)))
ba421ab7
MW
4288 (arguments
4289 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4290 "--enable-wayland-egl-platform"
4291 "--enable-wayland-egl-server"
4292
ba421ab7
MW
4293 ;; Arrange to pass an absolute file name to
4294 ;; dlopen for libGL.so.
4295 (string-append "--with-gl-libname="
4296 (assoc-ref %build-inputs "mesa")
4297 "/lib/libGL.so"))
4298 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4299 ;; _FontTransOpen: Unable to Parse address
4300 ;; ${prefix}/share/fonts/X11/misc/
4301 #:tests? #f
4302 #; #:phases
4303 #;
4304 (modify-phases %standard-phases
4305 (add-before 'check 'start-xorg-server
4306 (lambda* (#:key inputs #:allow-other-keys)
4307 ;; The test suite requires a running X server.
4308 (system (format #f "~a/bin/Xvfb :1 &"
4309 (assoc-ref inputs "xorg-server")))
4310 (setenv "DISPLAY" ":1")
4311 #t)))))
4312 (home-page "http://www.cogl3d.org")
4313 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4314 (description
4315 "Cogl is a small library for using 3D graphics hardware to draw pretty
4316pictures. The API departs from the flat state machine style of OpenGL and is
4317designed to make it easy to write orthogonal components that can render
4318without stepping on each others toes.")
4319 (license (list license:expat ; most of the code
4320 license:bsd-3 ; cogl/cogl-point-in-poly.c
4321 license:sgifreeb2.0 ; cogl-path/tesselator/
4322 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4323
4324(define-public clutter
4325 (package
4326 (name "clutter")
6a88e4ee 4327 (version "1.26.2")
fb182b8a
MW
4328 (source
4329 (origin
4330 (method url-fetch)
4331 (uri (string-append "mirror://gnome/sources/" name "/"
4332 (version-major+minor version) "/"
4333 name "-" version ".tar.xz"))
4334 (sha256
4335 (base32
6a88e4ee 4336 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4337 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4338 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4339 (build-system gnu-build-system)
600233bd
LC
4340 (outputs '("out"
4341 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4342 (native-inputs
4343 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4344 ("gobject-introspection" ,gobject-introspection)
4345 ("pkg-config" ,pkg-config)
4346 ("xsltproc" ,libxslt)))
4347 (propagated-inputs
4348 `(("cogl" ,cogl)
4349 ("cairo" ,cairo)
4350 ("atk" ,atk)
4351 ("gtk+" ,gtk+)
4352 ("json-glib" ,json-glib)
4353 ("glib" ,glib)
4354 ("libxcomposite" ,libxcomposite)
4355 ("libxdamage" ,libxdamage)
4356 ("libxext" ,libxext)
4357 ("xinput" ,xinput)))
4358 (inputs
4359 `(("libxkbcommon" ,libxkbcommon)
4360 ("udev" ,eudev)))
4361 (arguments
600233bd
LC
4362 `(#:configure-flags (list "--enable-x11-backend=yes"
4363
4364 ;; This produces share/doc/{clutter,cally}.
4365 (string-append "--with-html-dir="
4366 (assoc-ref %outputs "doc")
4367 "/share/doc"))
fb182b8a
MW
4368 ;; XXX FIXME: Get test suite working. It would probably fail in the
4369 ;; same way the cogl tests fail, since clutter is based on cogl.
4370 #:tests? #f))
4371 (home-page "http://www.clutter-project.org")
476af713 4372 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4373 (description
476af713 4374 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4375creating fast, mainly 2D single window applications such as media box UIs,
4376presentations, kiosk style applications and so on.")
4377 (license license:lgpl2.0+)))
bf7f17ba
MW
4378
4379(define-public clutter-gtk
4380 (package
4381 (name "clutter-gtk")
5d1a3219 4382 (version "1.8.4")
bf7f17ba
MW
4383 (source
4384 (origin
4385 (method url-fetch)
4386 (uri (string-append "mirror://gnome/sources/" name "/"
4387 (version-major+minor version) "/"
4388 name "-" version ".tar.xz"))
4389 (sha256
4390 (base32
5d1a3219 4391 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4392 (build-system gnu-build-system)
4393 (native-inputs
4394 `(("pkg-config" ,pkg-config)
4395 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4396 (propagated-inputs
4397 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4398 `(("clutter" ,clutter)
4399 ("gtk+" ,gtk+)))
4400 (home-page "http://www.clutter-project.org")
476af713 4401 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4402 (description
476af713 4403 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4404creating fast, mainly 2D single window applications such as media box UIs,
4405presentations, kiosk style applications and so on.")
4406 (license license:lgpl2.0+)))
86d6a893
MW
4407
4408(define-public clutter-gst
4409 (package
4410 (name "clutter-gst")
ba07ac19 4411 (version "3.0.27")
86d6a893
MW
4412 (source
4413 (origin
4414 (method url-fetch)
f010f89b 4415 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4416 (version-major+minor version) "/"
f010f89b 4417 "clutter-gst-" version ".tar.xz"))
86d6a893 4418 (sha256
ba07ac19 4419 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4420 (build-system gnu-build-system)
4421 (native-inputs
ba07ac19 4422 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4423 ("pkg-config" ,pkg-config)
4424 ("gobject-introspection" ,gobject-introspection)))
4425 (inputs
4426 `(("clutter" ,clutter)
4427 ("gstreamer" ,gstreamer)
4428 ("gst-plugins-base" ,gst-plugins-base)))
4429 (home-page "http://www.clutter-project.org")
4430 (synopsis "Integration library for using GStreamer with Clutter")
4431 (description
4432 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4433It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4434implements the ClutterGstPlayer interface using playbin. Clutter is an
4435OpenGL-based interactive canvas library.")
86d6a893 4436 (license license:lgpl2.0+)))
607a04ae 4437
30dc88d9
LC
4438(define-public libchamplain
4439 (package
4440 (name "libchamplain")
5564b2c5 4441 (version "0.12.16")
30dc88d9
LC
4442 (source (origin
4443 (method url-fetch)
4444 (uri (string-append
4445 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4446 version ".tar.xz"))
4447 (sha256
4448 (base32
5564b2c5 4449 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4450 (build-system gnu-build-system)
f7c6833f
LF
4451 (arguments '(#:configure-flags '("--enable-vala")))
4452 (native-inputs
4453 `(("gobject-introspection" ,gobject-introspection)
4454 ("pkg-config" ,pkg-config)
4455 ("vala" ,vala)))
30dc88d9
LC
4456 (propagated-inputs
4457 `(("libsoup" ,libsoup)
4458 ("sqlite" ,sqlite)
4459 ("clutter" ,clutter)
4460 ("clutter-gtk" ,clutter-gtk)
4461 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4462 ("cairo" ,cairo)
4463 ("gtk+3" ,gtk+)
4464 ("glib" ,glib)))
f032d0be 4465 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4466 (synopsis "C library providing a ClutterActor to display maps")
4467 (description
4468 "libchamplain is a C library providing a ClutterActor to display maps.
4469It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4470and Perl bindings are also available. It supports numerous free map sources
4471such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4472 (license license:lgpl2.1+)))
4473
607a04ae
MW
4474(define-public gom
4475 (package
4476 (name "gom")
0510440b 4477 (version "0.3.2")
607a04ae
MW
4478 (source
4479 (origin
4480 (method url-fetch)
6c8a0b6f 4481 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4482 (version-major+minor version) "/"
6c8a0b6f 4483 "gom-" version ".tar.xz"))
607a04ae
MW
4484 (sha256
4485 (base32
0510440b 4486 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4487 (build-system gnu-build-system)
4488 (native-inputs
4489 `(("intltool" ,intltool)
4490 ("pkg-config" ,pkg-config)
4491 ("gobject-introspection" ,gobject-introspection)))
4492 (inputs
4493 `(("glib" ,glib)
4494 ("gdk-pixbuf" ,gdk-pixbuf)
4495 ("sqlite" ,sqlite)))
4496 ;; XXX TODO: Figure out how to run the test suite.
4497 (arguments `(#:tests? #f))
4498 (home-page "https://wiki.gnome.org/Projects/Gom")
4499 (synopsis "Object mapper from GObjects to SQLite")
4500 (description
4501 "Gom provides an object mapper from GObjects to SQLite. It helps you
4502write applications that need to store structured data as well as make complex
4503queries upon that data.")
4504 (license license:lgpl2.1+)))
b7a3cf11 4505
865aacc9 4506(define-public libgnome-games-support
f09520db 4507 (package
865aacc9 4508 (name "libgnome-games-support")
4c6d15cf 4509 (version "1.4.4")
f09520db
SB
4510 (source (origin
4511 (method url-fetch)
2d8dca9d 4512 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4513 (version-major+minor version) "/"
2d8dca9d 4514 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4515 (sha256
4516 (base32
4c6d15cf 4517 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4518 (build-system gnu-build-system)
4519 (arguments
4520 '(#:phases
4521 (modify-phases %standard-phases
4522 (add-before 'check 'pre-check
4523 (lambda _
865aacc9 4524 ;; Tests require a writable HOME.
f09520db
SB
4525 (setenv "HOME" (getcwd))
4526 #t)))))
4527 (native-inputs
4528 `(("intltool" ,intltool)
4529 ("pkg-config" ,pkg-config)
4530 ("vala" ,vala)))
4531 (propagated-inputs
865aacc9 4532 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4533 `(("gtk+" ,gtk+)
4534 ("libgee" ,libgee)))
4535 (home-page "https://www.gnome.org/")
4536 (synopsis "Useful functionality shared among GNOME games")
4537 (description
865aacc9 4538 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4539GNOME Games, but it may be used by others.")
4540 (license license:lgpl3+)))
4541
b7a3cf11
SB
4542(define-public gnome-klotski
4543 (package
4544 (name "gnome-klotski")
c1e419c4 4545 (version "3.32.0")
b7a3cf11
SB
4546 (source (origin
4547 (method url-fetch)
4548 (uri (string-append "mirror://gnome/sources/" name "/"
4549 (version-major+minor version) "/"
4550 name "-" version ".tar.xz"))
4551 (sha256
4552 (base32
c1e419c4
KK
4553 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4554 (build-system meson-build-system)
4555 (arguments
4556 '(#:glib-or-gtk? #t
4557 #:phases
4558 (modify-phases %standard-phases
4559 (add-after 'unpack 'skip-gtk-update-icon-cache
4560 ;; Don't create 'icon-theme.cache'.
4561 (lambda _
4562 (substitute* "build-aux/meson_post_install.py"
4563 (("gtk-update-icon-cache") (which "true")))
4564 #t)))))
b7a3cf11
SB
4565 (native-inputs
4566 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4567 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4568 ("intltool" ,intltool)
4569 ("itstool" ,itstool)
bcb354ad 4570 ("pkg-config" ,pkg-config)
c1e419c4 4571 ("vala" ,vala)
bcb354ad 4572 ("xmllint" ,libxml2)))
b7a3cf11
SB
4573 (inputs
4574 `(("gtk+" ,gtk+)
f4eae76f 4575 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4576 ("librsvg" ,librsvg)))
4577 (home-page "https://wiki.gnome.org/Apps/Klotski")
4578 (synopsis "Sliding block puzzles")
4579 (description
4580 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4581the patterned block to the area bordered by green markers. To do so, you will
4582need to slide other blocks out of the way. Complete each puzzle in as few moves
4583as possible!")
4584 (license license:gpl2+)))
8d4791bf
MW
4585
4586(define-public grilo
4587 (package
4588 (name "grilo")
a865e938 4589 (version "0.3.10")
8d4791bf
MW
4590 (source
4591 (origin
4592 (method url-fetch)
4593 (uri (string-append "mirror://gnome/sources/" name "/"
4594 (version-major+minor version) "/"
4595 name "-" version ".tar.xz"))
4596 (sha256
4597 (base32
a865e938 4598 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4599 (build-system meson-build-system)
8d4791bf
MW
4600 (native-inputs
4601 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4602 ("intltool" ,intltool)
4603 ("pkg-config" ,pkg-config)
d48d4c98
KK
4604 ("gobject-introspection" ,gobject-introspection)
4605 ("gtk-doc" ,gtk-doc)
4606 ("vala" ,vala)))
8d4791bf 4607 (inputs
6d7273a0
KK
4608 `(("cyrus-sasl" ,cyrus-sasl)
4609 ("glib" ,glib)
8d4791bf
MW
4610 ("gtk+" ,gtk+)
4611 ("libxml2" ,libxml2)
6d7273a0 4612 ("liboauth" ,liboauth)
8d4791bf
MW
4613 ("libsoup" ,libsoup)
4614 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4615 (native-search-paths
4616 (list (search-path-specification
4617 (variable "GRL_PLUGIN_PATH")
4618 (files (list (string-append "lib/grilo-"
4619 (version-major+minor version)))))))
d48d4c98 4620 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4621 (synopsis "Framework for discovering and browsing media")
4622 (description
4623 "Grilo is a framework focused on making media discovery and browsing easy
4624for application developers.")
4625 (license license:lgpl2.1+)))
7b212526
MW
4626
4627(define-public grilo-plugins
4628 (package
4629 (name "grilo-plugins")
22753632 4630 (version "0.3.3")
7b212526
MW
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append "mirror://gnome/sources/" name "/"
4635 (version-major+minor version) "/"
4636 name "-" version ".tar.xz"))
4637 (sha256
4638 (base32
22753632 4639 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
4640 (build-system gnu-build-system)
4641 (native-inputs
4642 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4643 ("intltool" ,intltool)
4644 ("itstool" ,itstool)
4645 ("pkg-config" ,pkg-config)))
4646 (inputs
4647 `(("grilo" ,grilo)
4648 ("glib" ,glib)
4649 ("libxml2" ,libxml2)
4650 ("sqlite" ,sqlite)
4651 ("gom" ,gom)
4652 ;; XXX TODO: Add oauth
4653 ;; XXX TODO: Add goa
4654 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
4655 ;; XXX TODO: Add lua (needs help finding it)
4656 ("json-glib" ,json-glib)
4657 ("avahi" ,avahi)
4658 ("gmime" ,gmime)
4659 ("libsoup" ,libsoup)
4660 ("libarchive" ,libarchive)
4661 ("totem-pl-parser" ,totem-pl-parser)))
4662 (arguments
4663 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
4664 %output
4665 "/lib/grilo-"
4666 ,(version-major+minor version)))
4667 ;; XXX FIXME: Try to get the test suite working. It appears to require
4668 ;; a working system dbus. Inside the build container, all tests fail
4669 ;; with: "assertion failed: (source)". Outside of the build container,
4670 ;; most tests succeed.
4671 #:tests? #f))
f032d0be 4672 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4673 (synopsis "Plugins for the Grilo media discovery library")
4674 (description
4675 "Grilo is a framework focused on making media discovery and browsing easy
4676for application developers.")
4677 (license license:lgpl2.1+)))
4e3fc547
MW
4678
4679(define-public totem
4680 (package
4681 (name "totem")
995ef5ea 4682 (version "3.32.1")
4e3fc547
MW
4683 (source
4684 (origin
4685 (method url-fetch)
4686 (uri (string-append "mirror://gnome/sources/" name "/"
4687 (version-major+minor version) "/"
4688 name "-" version ".tar.xz"))
4689 (sha256
4690 (base32
995ef5ea 4691 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4692 (build-system meson-build-system)
4e3fc547
MW
4693 (native-inputs
4694 `(("pkg-config" ,pkg-config)
4695 ("desktop-file-utils" ,desktop-file-utils)
4696 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4697 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4698 ("intltool" ,intltool)
bcb354ad 4699 ("itstool" ,itstool)
995ef5ea
KK
4700 ("xmllint" ,libxml2)
4701 ("python-pylint" ,python-pylint)
4702 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4703 (propagated-inputs
4704 `(("dconf" ,dconf)))
4705 (inputs
4706 `(("gtk+" ,gtk+)
4707 ("gdk-pixbuf" ,gdk-pixbuf)
4708 ("atk" ,atk)
4709 ("cairo" ,cairo)
4710 ("dbus-glib" ,dbus-glib)
4711 ("clutter" ,clutter)
4712 ("clutter-gtk" ,clutter-gtk)
4713 ("clutter-gst" ,clutter-gst)
6a6db57f 4714 ("xorgproto" ,xorgproto)
4e3fc547
MW
4715 ("libxxf86vm" ,libxxf86vm)
4716 ("libxtst" ,libxtst)
4717 ("libxrandr" ,libxrandr)
4718 ("libxml2" ,libxml2)
4719 ("libsoup" ,libsoup)
4720 ("libpeas" ,libpeas)
4721 ("librsvg" ,librsvg)
4722 ("lirc" ,lirc)
4723 ("gnome-desktop" ,gnome-desktop)
4724 ("gstreamer" ,gstreamer)
4725 ("gst-plugins-base" ,gst-plugins-base)
4726 ("gst-plugins-good" ,gst-plugins-good)
4727 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4728 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4729 ("python" ,python)
995ef5ea 4730 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4731 ("totem-pl-parser" ,totem-pl-parser)
4732 ("grilo" ,grilo)
4733 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4734 ("vala" ,vala)))
4735 (arguments
7ad81b8b
LC
4736 `(#:glib-or-gtk? #t
4737
4738 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4739 ;; all that.
7ad81b8b 4740 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4741
4742 ;; Do not build .a files for the plugins, it's
4743 ;; completely useless. This saves 2 MiB.
7ad81b8b 4744 "--default-library" "shared")
ec5c24f9 4745 #:phases
4e3fc547 4746 (modify-phases %standard-phases
d51b19ad
EF
4747 (add-after 'unpack 'skip-gtk-update-icon-cache
4748 ;; Don't create 'icon-theme.cache'.
4749 (lambda _
4750 (substitute* "meson_post_install.py"
4751 (("gtk-update-icon-cache") "true"))
4752 #t))
6368eb39
DM
4753 (add-before
4754 'install 'disable-cache-generation
4755 (lambda _
4756 (setenv "DESTDIR" "/")
4757 #t))
995ef5ea
KK
4758 (add-before
4759 'check 'pre-check
4760 (lambda _
4761 ;; Tests require a running X server.
4762 (system "Xvfb :1 &")
4763 (setenv "DISPLAY" ":1")
4764 #t))
4e3fc547
MW
4765 (add-after
4766 'install 'wrap-totem
4767 (lambda* (#:key inputs outputs #:allow-other-keys)
4768 (let ((out (assoc-ref outputs "out"))
4769 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4770 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4771 (wrap-program (string-append out "/bin/totem")
4772 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4773 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4774 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4775 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4776 #t)))))
4777 (home-page "https://wiki.gnome.org/Apps/Videos")
4778 (synopsis "Simple media player for GNOME based on GStreamer")
4779 (description "Totem is a simple yet featureful media player for GNOME
4780which can read a large number of file formats.")
4781 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4782 ;; to be used and distributed together with GStreamer and Totem. See
4783 ;; file://COPYING in the source distribution for details.
4784 (license license:gpl2+)))
f0afb0c8
DH
4785
4786(define-public rhythmbox
4787 (package
4788 (name "rhythmbox")
8190e1ed 4789 (version "3.4.3")
f0afb0c8
DH
4790 (source (origin
4791 (method url-fetch)
4792 (uri (string-append "mirror://gnome/sources/" name "/"
4793 (version-major+minor version) "/"
4794 name "-" version ".tar.xz"))
4795 (sha256
4796 (base32
8190e1ed 4797 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
4798 (build-system glib-or-gtk-build-system)
4799 (arguments
4800 `(#:configure-flags
4801 (list "--enable-lirc"
4802 "--enable-python"
4803 "--enable-vala"
4804 "--with-brasero"
4805 "--with-gudev"
4806 "--with-libsecret")
4807 #:phases
4808 (modify-phases %standard-phases
4809 (add-after
4810 'install 'wrap-rhythmbox
4811 (lambda* (#:key inputs outputs #:allow-other-keys)
4812 (let ((out (assoc-ref outputs "out"))
4813 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4814 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4815 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4816 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4817 (wrap-program (string-append out "/bin/rhythmbox")
4818 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4819 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4820 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4821 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4822 #t)))))
4823 (propagated-inputs
4824 `(("dconf" ,dconf)))
4825 (native-inputs
bcb354ad
SB
4826 `(("itstool" ,itstool)
4827 ("intltool" ,intltool)
f0afb0c8
DH
4828 ("glib" ,glib "bin")
4829 ("gobject-introspection" ,gobject-introspection)
4830 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4831 ("pkg-config" ,pkg-config)
4832 ("xmllint" ,libxml2)))
f0afb0c8
DH
4833 (inputs
4834 `(("json-glib" ,json-glib)
4835 ("tdb" ,tdb)
4836 ("gnome-desktop" ,gnome-desktop)
4837 ("python" ,python)
4838 ("python-pygobject" ,python2-pygobject)
4839 ("vala" ,vala)
4840 ("gmime" ,gmime)
f0afb0c8
DH
4841 ("adwaita-icon-theme" ,adwaita-icon-theme)
4842 ("grilo" ,grilo)
4843 ("grilo-plugins" ,grilo-plugins)
4844 ("gstreamer" ,gstreamer)
4845 ("gst-plugins-base" ,gst-plugins-base)
4846 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4847 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4848 ("libgudev" ,libgudev)
f0afb0c8
DH
4849 ;;("libmtp" ,libmtp) FIXME: Not detected
4850 ("libsecret" ,libsecret)
4851 ("libsoup" ,libsoup)
4852 ("libnotify" ,libnotify)
4853 ("libpeas" ,libpeas)
4854 ("lirc" ,lirc)
4855 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4856 ;;("clutter" ,clutter)
4857 ;;("clutter-gtk" ,clutter-gtk)
4858 ;;("clutter-gst" ,clutter-gst)
4859 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4860 ("atk" ,atk)
4861 ("pango" ,pango)
4862 ("gtk+" ,gtk+)
4863 ;; TODO:
4864 ;; * libgpod
4865 ;; * mx
f0afb0c8
DH
4866 ("brasero" ,brasero)))
4867 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4868 (synopsis "Music player for GNOME")
4869 (description "Rhythmbox is a music playing application for GNOME. It
4870supports playlists, song ratings, and any codecs installed through gstreamer.")
4871 (license license:gpl2+)))
f70d8383
DH
4872
4873(define-public eog
4874 (package
4875 (name "eog")
b0f24a82 4876 (version "3.32.2")
f70d8383
DH
4877 (source (origin
4878 (method url-fetch)
4879 (uri (string-append "mirror://gnome/sources/" name "/"
4880 (version-major+minor version) "/"
4881 name "-" version ".tar.xz"))
4882 (sha256
4883 (base32
b0f24a82 4884 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 4885 (build-system meson-build-system)
f70d8383 4886 (arguments
34c44a34
RW
4887 `(#:configure-flags
4888 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
4889 (list (string-append "-Dc_link_args=-Wl,-rpath="
4890 (assoc-ref %outputs "out") "/lib/eog"))
4891 #:phases
f70d8383 4892 (modify-phases %standard-phases
7a034665
EF
4893 (add-after 'unpack 'skip-gtk-update-icon-cache
4894 ;; Don't create 'icon-theme.cache'.
4895 (lambda _
4896 (substitute* "meson_post_install.py"
4897 (("gtk-update-icon-cache") "true"))
4898 #t))
61fb581f
RW
4899 (add-after 'install 'wrap-eog
4900 (lambda* (#:key outputs #:allow-other-keys)
4901 (let ((out (assoc-ref outputs "out"))
4902 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4903 (wrap-program (string-append out "/bin/eog")
4904 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4905 #t)))))
f70d8383
DH
4906 (propagated-inputs
4907 `(("dconf" ,dconf)))
4908 (native-inputs
4909 `(("intltool" ,intltool)
b3546174 4910 ("itstool" ,itstool)
f70d8383
DH
4911 ("glib" ,glib "bin")
4912 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
4913 ("pkg-config" ,pkg-config)
4914 ("xmllint" ,libxml2)))
f70d8383
DH
4915 (inputs
4916 `(("gnome-desktop" ,gnome-desktop)
4917 ("shared-mime-info" ,shared-mime-info)
4918 ("adwaita-icon-theme" ,adwaita-icon-theme)
4919 ("exempi" ,exempi)
4920 ("lcms" ,lcms)
4921 ("libexif" ,libexif)
4922 ("libpeas" ,libpeas)
4923 ("libjpeg" ,libjpeg)
4924 ("librsvg" ,librsvg)
4925 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4926 ("gtk+" ,gtk+)))
4927 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
4928 (synopsis "GNOME image viewer")
4929 (description "Eye of GNOME is the GNOME image viewer. It
4930supports image conversion, rotation, and slideshows.")
4931 (license license:gpl2+)))
41af5e7b 4932
0c3f8cb8
LC
4933(define-public eog-plugins
4934 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
4935 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
4936 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
4937 ;; 'XDG_DATA_DIRS' appropriately set.
4938 (package
4939 (name "eog-plugins")
54b74cc6 4940 (version "3.26.4")
0c3f8cb8
LC
4941 (source (origin
4942 (method url-fetch)
f3b88ed2 4943 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 4944 (version-major+minor version) "/"
f3b88ed2 4945 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
4946 (sha256
4947 (base32
54b74cc6 4948 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
4949 (build-system gnu-build-system)
4950 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
4951 (synopsis "Extensions for the Eye of GNOME image viewer")
4952 (native-inputs
4953 `(("pkg-config" ,pkg-config)
4954 ("gettext" ,gnu-gettext)))
4955 (inputs
4956 `(("eog" ,eog)
4957 ("glib" ,glib)
4958 ("gtk+" ,gtk+)
4959 ("libpeas" ,libpeas)
4960 ("libexif" ,libexif)
4961 ("libchamplain" ,libchamplain)))
4962 (description
4963 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
4964notably:
4965
4966@itemize
4967@item @dfn{EXIF Display}, which displays camera (EXIF) information;
4968@item @dfn{Map}, which displays a map of where the picture was taken on the
4969side panel;
4970@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
4971@end itemize\n")
4972
4973 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
4974 ;; long suspicious byte stream that goes to a
4975 ;; ".gresource.eog_postasa_plugin" ELF section.
4976 (license license:gpl2+)))
4977
41af5e7b
SB
4978(define-public libgudev
4979 (package
4980 (name "libgudev")
b78f5118 4981 (version "232")
41af5e7b
SB
4982 (source (origin
4983 (method url-fetch)
4984 (uri (string-append "mirror://gnome/sources/" name "/"
4985 version "/" name "-" version ".tar.xz"))
4986 (sha256
4987 (base32
b78f5118 4988 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 4989 (build-system gnu-build-system)
b78f5118
RW
4990 (arguments
4991 '(#:configure-flags
4992 ;; umockdev depends on libgudev.
4993 (list "--disable-umockdev")))
41af5e7b
SB
4994 (native-inputs
4995 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4996 ("gobject-introspection" ,gobject-introspection)
4997 ("pkg-config" ,pkg-config)))
4998 (propagated-inputs
4999 `(("glib" ,glib))) ; required by gudev-1.0.pc
5000 (inputs
5001 `(("udev" ,eudev)))
5002 (home-page "https://wiki.gnome.org/Projects/libgudev")
5003 (synopsis "GObject bindings for libudev")
5004 (description
5005 "This library provides GObject bindings for libudev. It was originally
5006part of udev-extras, then udev, then systemd. It's now a project on its own.")
5007 (license license:lgpl2.1+)))
3dc8828f
SB
5008
5009(define-public gvfs
5010 (package
5011 (name "gvfs")
12fe4846 5012 (version "1.40.1")
3dc8828f
SB
5013 (source (origin
5014 (method url-fetch)
1d68eb32 5015 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5016 (version-major+minor version) "/"
1d68eb32 5017 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5018 (sha256
5019 (base32
12fe4846 5020 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5021 (build-system meson-build-system)
3dc8828f 5022 (arguments
e762d943
RW
5023 '(#:glib-or-gtk? #t
5024 #:configure-flags
5025 (list "-Dsystemduserunitdir=no"
5026 "-Dtmpfilesdir=no"
5027 ;; Otherwise, the RUNPATH will lack the final path component.
5028 (string-append "-Dc_link_args=-Wl,-rpath="
5029 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5030 (native-inputs
5031 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5032 ("gettext" ,gettext-minimal)
5033 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5034 ("pkg-config" ,pkg-config)
5035 ("xsltproc" ,libxslt)))
5036 (inputs
5037 `(("avahi" ,avahi)
5038 ("docbook-xml" ,docbook-xml-4.2)
5039 ("docbook-xsl" ,docbook-xsl)
5040 ("dbus" ,dbus)
e762d943 5041 ("elogind" ,elogind)
3dc8828f 5042 ("fuse" ,fuse)
24a78aa6 5043 ("gcr" ,gcr)
3dc8828f 5044 ("glib" ,glib)
e762d943 5045 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5046 ("libarchive" ,libarchive)
5047 ("libbluray" ,libbluray)
8852ca24 5048 ("libcap" ,libcap)
3dc8828f
SB
5049 ("libcdio-paranoia" ,libcdio-paranoia)
5050 ("libgcrypt" ,libgcrypt)
e762d943 5051 ("libgdata" ,libgdata)
3dc8828f
SB
5052 ("libgphoto2" ,libgphoto2)
5053 ("libgudev" ,libgudev)
0ab9f949 5054 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5055 ("libmtp" ,libmtp)
e762d943 5056 ("libnfs" ,libnfs)
3dc8828f
SB
5057 ("libsecret" ,libsecret)
5058 ("libsmbclient" ,samba)
5059 ("libsoup" ,libsoup)
5060 ("libxml2" ,libxml2)
e762d943 5061 ("openssh" ,openssh)
8852ca24 5062 ("polkit" ,polkit)
3dc8828f
SB
5063 ("udisks" ,udisks)))
5064 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5065 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5066 (description
8f65585b 5067 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5068abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5069to all applications using the GIO API. It also supports exposing the GVFS
5070mounts to non-GIO applications using FUSE.
5071
5072GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5073DAV, and others.")
5074 (license license:lgpl2.0+)))
7c88b6bd
AW
5075
5076(define-public gusb
5077 (package
5078 (name "gusb")
536b3274 5079 (version "0.3.0")
7c88b6bd 5080 (source (origin
bbfb36f9
EF
5081 (method git-fetch)
5082 (uri (git-reference
5083 (url "https://github.com/hughsie/libgusb.git")
5084 (commit version)))
5085 (file-name (git-file-name name version))
7c88b6bd
AW
5086 (sha256
5087 (base32
bbfb36f9 5088 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5089 (build-system meson-build-system)
7c88b6bd 5090 (native-inputs
536b3274 5091 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5092 ("pkg-config" ,pkg-config)
5093 ("vala" ,vala)
7c88b6bd
AW
5094 ("gtk-doc" ,gtk-doc)))
5095 (propagated-inputs
5096 ;; Both of these are required by gusb.pc.
5097 `(("glib" ,glib)
5098 ("libusb" ,libusb)))
5099 (arguments
536b3274 5100 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5101 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5102 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5103 (description
5104 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5105asynchronous control, bulk and interrupt transfers with proper cancellation
5106and integration into a mainloop. This makes it easy to integrate low level
5107USB transfers with your high-level application or system daemon.")
5108 (license license:lgpl2.1+)))
0abe1d86
AW
5109
5110(define-public simple-scan
5111 (package
5112 (name "simple-scan")
4afb7dd9 5113 (version "3.34.2")
d9f6d587
TGR
5114 (source
5115 (origin
5116 (method url-fetch)
5117 (uri (string-append "mirror://gnome/sources/simple-scan/"
5118 (version-major+minor version) "/"
5119 "simple-scan-" version ".tar.xz"))
5120 (sha256
4afb7dd9 5121 (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp"))))
d9f6d587
TGR
5122 (build-system meson-build-system)
5123 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5124 (arguments
5125 '(#:glib-or-gtk? #t))
0abe1d86
AW
5126 (inputs
5127 `(("gtk" ,gtk+)
5128 ("zlib" ,zlib)
5129 ("cairo" ,cairo)
c501f592 5130 ("colord" ,colord)
0abe1d86
AW
5131 ("gdk-pixbuf" ,gdk-pixbuf)
5132 ("gusb" ,gusb)
4c928743 5133 ("libsane" ,sane-backends)))
0abe1d86 5134 (native-inputs
b94a6ca0 5135 `(("gettext" ,gettext-minimal)
0abe1d86 5136 ("itstool" ,itstool)
c501f592 5137 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5138 ("pkg-config" ,pkg-config)
bcb354ad
SB
5139 ("vala" ,vala)
5140 ("xmllint" ,libxml2)))
dff0eedb 5141 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5142 (synopsis "Document and image scanner")
d9f6d587
TGR
5143 (description
5144 "Document Scanner is an easy-to-use application that lets you connect your
5145scanner and quickly capture images and documents in an appropriate format. It
5146supports any scanner for which a suitable SANE driver is available, which is
5147almost all of them.")
0abe1d86 5148 (license license:gpl3+)))
7549f984 5149
ab466d79
RW
5150(define-public eolie
5151 (package
5152 (name "eolie")
fa8ef3ed 5153 (version "0.9.63")
ab466d79
RW
5154 (source (origin
5155 (method url-fetch)
00014781 5156 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5157 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5158 "eolie-" version ".tar.xz"))
ab466d79
RW
5159 (sha256
5160 (base32
fa8ef3ed 5161 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5162 (build-system meson-build-system)
ab466d79 5163 (arguments
00014781
RW
5164 `(#:glib-or-gtk? #t
5165 #:phases
ab466d79 5166 (modify-phases %standard-phases
f0c68100
EF
5167 (add-after 'unpack 'skip-gtk-update-icon-cache
5168 ;; Don't create 'icon-theme.cache'.
5169 (lambda _
5170 (substitute* "meson_post_install.py"
5171 (("gtk-update-icon-cache") "true"))
5172 #t))
ab466d79
RW
5173 (add-after 'wrap 'wrap-more
5174 (lambda* (#:key inputs outputs #:allow-other-keys)
5175 (let* ((out (assoc-ref outputs "out"))
5176 ;; These libraries must be on LD_LIBRARY_PATH.
5177 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5178 "atk" "gtk+" "gsettings-desktop-schemas"
5179 "gobject-introspection"))
5180 (path (string-join
5181 (map (lambda (lib)
5182 (string-append (assoc-ref inputs lib) "/lib"))
5183 libs)
5184 ":")))
5185 (wrap-program (string-append out "/bin/eolie")
5186 `("LD_LIBRARY_PATH" ":" prefix (,path))
5187 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5188 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5189 #t)))))
5190 (native-inputs
f85ca6ed 5191 `(("intltool" ,intltool)
ab466d79 5192 ("itstool" ,itstool)
d95f1041 5193 ("pkg-config" ,pkg-config)
d95f1041 5194 ("python" ,python)
f0c68100 5195 ("glib:bin" ,glib "bin")))
ab466d79
RW
5196 (inputs
5197 `(("gobject-introspection" ,gobject-introspection)
5198 ("glib-networking" ,glib-networking)
5199 ("cairo" ,cairo)
5200 ("gtk+" ,gtk+)
5201 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5202 ("python" ,python-wrapper)
d72f76df 5203 ("python-dateutil" ,python-dateutil)
00014781 5204 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5205 ("python-pygobject" ,python-pygobject)
5206 ("python-pycairo" ,python-pycairo)
00014781 5207 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5208 ("libsecret" ,libsecret)
5209 ("gtkspell3" ,gtkspell3)
5210 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5211 ("webkitgtk" ,webkitgtk)))
166b2c97 5212 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5213 (synopsis "Web browser for GNOME")
5214 (description
5215 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5216a secret password store, an adblocker, and a modern UI.")
5217 (license license:gpl3+)))
5218
7549f984
SB
5219(define-public epiphany
5220 (package
5221 (name "epiphany")
60680365 5222 (version "3.32.5")
7549f984
SB
5223 (source (origin
5224 (method url-fetch)
dd3266ec 5225 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5226 (version-major+minor version) "/"
dd3266ec 5227 "epiphany-" version ".tar.xz"))
7549f984
SB
5228 (sha256
5229 (base32
60680365 5230 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5231
5232 (build-system meson-build-system)
7549f984
SB
5233 (arguments
5234 ;; FIXME: tests run under Xvfb, but fail with:
5235 ;; /src/bookmarks/ephy-bookmarks/create:
5236 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5237 ;; subsystem
5238 ;; FAIL
6f48d9db 5239 '(#:tests? #f
e19f9c24 5240 #:glib-or-gtk? #t
bb7ff88f
EF
5241 #:phases
5242 (modify-phases %standard-phases
5243 (add-after 'unpack 'skip-gtk-update-icon-cache
5244 ;; Don't create 'icon-theme.cache'.
5245 (lambda _
5246 (substitute* "post_install.py"
5247 (("gtk-update-icon-cache") "true"))
5248 #t)))
e19f9c24
LF
5249 #:configure-flags
5250 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5251 (list (string-append "-Dc_link_args=-Wl,-rpath="
5252 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5253 (propagated-inputs
5254 `(("dconf" ,dconf)))
7549f984 5255 (native-inputs
fc5c5b92
R
5256 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5257 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5258 ("intltool" ,intltool)
7549f984 5259 ("itstool" ,itstool)
bcb354ad
SB
5260 ("pkg-config" ,pkg-config)
5261 ("xmllint" ,libxml2)))
7549f984
SB
5262 (inputs
5263 `(("avahi" ,avahi)
5264 ("gcr" ,gcr)
fc5c5b92 5265 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5266 ("glib-networking" ,glib-networking)
5267 ("gnome-desktop" ,gnome-desktop)
5268 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5269 ("json-glib" ,json-glib)
7549f984 5270 ("iso-codes" ,iso-codes)
8748e29c 5271 ("libdazzle" ,libdazzle)
7549f984
SB
5272 ("libnotify" ,libnotify)
5273 ("libsecret" ,libsecret)
7549f984 5274 ("libxslt" ,libxslt)
fc5c5b92 5275 ("nettle" ,nettle) ; for hogweed
7549f984 5276 ("sqlite" ,sqlite)
f85ca6ed 5277 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5278 (home-page "https://wiki.gnome.org/Apps/Web")
5279 (synopsis "GNOME web browser")
5280 (description
5281 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5282principles are simplicity and standards compliance.")
5283 (license license:gpl2+)))
a3856b2c
SB
5284
5285(define-public d-feet
5286 (package
5287 (name "d-feet")
458e9221 5288 (version "0.3.14")
a3856b2c
SB
5289 (source (origin
5290 (method url-fetch)
5291 (uri (string-append "mirror://gnome/sources/" name "/"
5292 (version-major+minor version) "/"
5293 name "-" version ".tar.xz"))
5294 (sha256
5295 (base32
458e9221 5296 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5297 (build-system glib-or-gtk-build-system)
5298 (arguments
5299 '(#:out-of-source? #f ; tests need to run in the source directory.
5300 #:phases
5301 (modify-phases %standard-phases
5302 (add-before
5303 'check 'pre-check
86aff791 5304 (lambda _
a3856b2c
SB
5305 ;; The test suite requires a running X server.
5306 (system "Xvfb :1 &")
5307 (setenv "DISPLAY" ":1")
5308 ;; Don't fail on missing '/etc/machine-id'.
5309 (setenv "DBUS_FATAL_WARNINGS" "0")
5310 ;; tests.py and window.py don't meet E402:
5311 ;; E402 module level import not at top of file
5312 (substitute* "src/tests/Makefile"
86aff791
MW
5313 (("--ignore=E123") "--ignore=E123,E402"))
5314 #t))
a3856b2c
SB
5315 (add-after
5316 'install 'wrap-program
5317 (lambda* (#:key outputs #:allow-other-keys)
5318 (let ((prog (string-append (assoc-ref outputs "out")
5319 "/bin/d-feet")))
5320 (wrap-program prog
5321 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5322 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5323 #t))))))
a3856b2c
SB
5324 (native-inputs
5325 `(("intltool" ,intltool)
5326 ("itstool" ,itstool)
5327 ("pkg-config" ,pkg-config)
5328 ("python-pep8" ,python-pep8)
5329 ("xmllint" ,libxml2)
ff337525 5330 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5331 (inputs
5332 `(("gobject-introspection" ,gobject-introspection)
5333 ("gtk+" ,gtk+)
5334 ("python" ,python-wrapper)
458e9221 5335 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5336 ("python-pygobject" ,python-pygobject)))
5337 (home-page "https://wiki.gnome.org/Apps/DFeet")
5338 (synopsis "D-Bus debugger")
5339 (description
5340 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5341of running programs and invoke methods on those interfaces.")
5342 (license license:gpl2+)))
c3b97bd9
SB
5343
5344(define-public yelp-xsl
5345 (package
5346 (name "yelp-xsl")
b3640e79 5347 (version "3.32.1")
c3b97bd9
SB
5348 (source (origin
5349 (method url-fetch)
5350 (uri (string-append "mirror://gnome/sources/" name "/"
5351 (version-major+minor version) "/"
5352 name "-" version ".tar.xz"))
5353 (sha256
5354 (base32
b3640e79 5355 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5356 (build-system gnu-build-system)
5357 (native-inputs
5358 `(("intltool" ,intltool)
5359 ("itstool" ,itstool)
5360 ("xmllint" ,libxml2)))
5361 (home-page "https://wiki.gnome.org/Apps/Yelp")
5362 (synopsis "XSL stylesheets for Yelp")
5363 (description
5364 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5365to format Docbook and Mallard documents.")
5366 (license license:gpl2+)))
de3d612a
SB
5367
5368(define-public yelp
5369 (package
5370 (name "yelp")
1f1b6d60 5371 (version "3.32.2")
de3d612a
SB
5372 (source (origin
5373 (method url-fetch)
5374 (uri (string-append "mirror://gnome/sources/" name "/"
5375 (version-major+minor version) "/"
5376 name "-" version ".tar.xz"))
5377 (sha256
5378 (base32
1f1b6d60 5379 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5380 (build-system glib-or-gtk-build-system)
5381 (native-inputs
5382 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5383 ("intltool" ,intltool)
5384 ("itstool" ,itstool)
5385 ("pkg-config" ,pkg-config)))
5386 (propagated-inputs
5387 `(("dconf" ,dconf)))
5388 (inputs
ad1b7d8b
SB
5389 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5390 ("libxslt" ,libxslt)
de3d612a 5391 ("sqlite" ,sqlite)
4c28ca1d
SB
5392 ("webkitgtk" ,webkitgtk)
5393 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5394 (home-page "https://wiki.gnome.org/Apps/Yelp")
5395 (synopsis "GNOME help browser")
5396 (description
5397 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5398man, info, and HTML documents. It can locate documents according to the
5399freedesktop.org help system specification.")
5400 (license license:gpl2+)))
122d0d10
SB
5401
5402(define-public yelp-tools
5403 (package
5404 (name "yelp-tools")
2089bca5 5405 (version "3.28.0")
122d0d10
SB
5406 (source (origin
5407 (method url-fetch)
5408 (uri (string-append "mirror://gnome/sources/" name "/"
5409 (version-major+minor version) "/"
5410 name "-" version ".tar.xz"))
5411 (sha256
5412 (base32
2089bca5 5413 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5414 (build-system gnu-build-system)
5415 (native-inputs
5416 `(("pkg-config" ,pkg-config)))
5417 (propagated-inputs
5418 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5419 `(("itstool" ,itstool)
5420 ("xmllint" ,libxml2)
5421 ("xsltproc" ,libxslt)))
5422 (inputs
5423 `(("yelp-xsl" ,yelp-xsl)))
5424 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5425 (synopsis "Yelp documentation tools")
5426 (description
5427 "Yelp-tools is a collection of scripts and build utilities to help create,
5428manage, and publish documentation for Yelp and the web. Most of the heavy
5429lifting is done by packages like yelp-xsl and itstool. This package just
5430wraps things up in a developer-friendly way.")
5431 (license license:gpl2+)))
af8f9f23 5432
4ed041d9
MB
5433(define-public yelp-tools/fixed
5434 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5435 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5436 ;; the next rebuild cycle.
5437 (hidden-package
5438 (package/inherit
5439 yelp-tools
5440 (propagated-inputs
5441 `(("itstool" ,itstool/fixed)
5442 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5443
af8f9f23
RW
5444(define-public libgee
5445 (package
5446 (name "libgee")
4c2c5ae6 5447 (version "0.20.2")
af8f9f23
RW
5448 (source (origin
5449 (method url-fetch)
84a1b007 5450 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5451 (version-major+minor version) "/"
84a1b007 5452 "libgee-" version ".tar.xz"))
af8f9f23
RW
5453 (sha256
5454 (base32
4c2c5ae6 5455 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
5456 (build-system gnu-build-system)
5457 (arguments
5458 `(#:phases
5459 (modify-phases %standard-phases
5460 (add-after 'unpack 'fix-introspection-install-dir
5461 (lambda* (#:key outputs #:allow-other-keys)
5462 (let ((out (assoc-ref outputs "out")))
5463 (substitute* "gee/Makefile.in"
5464 (("@INTROSPECTION_GIRDIR@")
5465 (string-append out "/share/gir-1.0/"))
5466 (("@INTROSPECTION_TYPELIBDIR@")
5467 (string-append out "/lib/girepository-1.0/")))))))))
5468 (native-inputs
5469 `(("glib" ,glib "bin")
5470 ("pkg-config" ,pkg-config)))
5471 (inputs
5472 `(("glib" ,glib)
5473 ("gobject-introspection" ,gobject-introspection)))
5474 (home-page "https://wiki.gnome.org/Projects/Libgee")
5475 (synopsis "GObject collection library")
5476 (description
5477 "Libgee is a utility library providing GObject-based interfaces and
5478classes for commonly used data structures.")
5479 (license license:lgpl2.1+)))
b0f9c4b8
RW
5480
5481(define-public gexiv2
5482 (package
5483 (name "gexiv2")
b1a8b408 5484 (version "0.12.0")
b0f9c4b8
RW
5485 (source (origin
5486 (method url-fetch)
5487 (uri (string-append "mirror://gnome/sources/" name "/"
5488 (version-major+minor version) "/"
5489 name "-" version ".tar.xz"))
5490 (sha256
5491 (base32
b1a8b408 5492 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5493 (build-system meson-build-system)
b0f9c4b8 5494 (native-inputs
b1a8b408
KK
5495 `(("gcr" ,gcr)
5496 ("glib" ,glib "bin")
5497 ("pkg-config" ,pkg-config)
5498 ("vala" ,vala)))
b0f9c4b8
RW
5499 (propagated-inputs
5500 ;; Listed in "Requires" section of gexiv2.pc
5501 `(("exiv2" ,exiv2)))
5502 (inputs
5503 `(("glib" ,glib)
5504 ("gobject-introspection" ,gobject-introspection)))
5505 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5506 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5507 (description
5508 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5509allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5510metadata in photo and video files of various formats.")
5511 (license license:gpl2+)))
fed5a689
RW
5512
5513(define-public shotwell
5514 (package
5515 (name "shotwell")
a1c6fb52 5516 (version "0.30.7")
fed5a689
RW
5517 (source (origin
5518 (method url-fetch)
5497d682 5519 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5520 (version-major+minor version) "/"
5497d682 5521 "shotwell-" version ".tar.xz"))
fed5a689
RW
5522 (sha256
5523 (base32
a1c6fb52 5524 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l"))))
3b79afa6
KK
5525 (build-system meson-build-system)
5526 (arguments
5a0beca3
EF
5527 '(#:glib-or-gtk? #t
5528 #:phases
5529 (modify-phases %standard-phases
5530 (add-after 'unpack 'skip-gtk-update-icon-cache
5531 (lambda _
5532 (substitute* "build-aux/meson/postinstall.py"
5533 (("gtk-update-icon-cache") (which "true"))
5534 (("update-desktop-database") (which "true")))
5535 #t)))))
735b8db6
TGR
5536 (propagated-inputs
5537 `(("dconf" ,dconf)))
fed5a689 5538 (native-inputs
5a0beca3
EF
5539 `(("gettext" ,gettext-minimal)
5540 ("glib:bin" ,glib "bin")
735b8db6 5541 ("itstool" ,itstool)
3b79afa6 5542 ("pkg-config" ,pkg-config)
735b8db6 5543 ("vala" ,vala)))
fed5a689 5544 (inputs
5a0beca3
EF
5545 `(("gcr" ,gcr)
5546 ("gexiv2" ,gexiv2)
fed5a689 5547 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5548 ("gstreamer" ,gstreamer)
5549 ("json-glib" ,json-glib)
dfb0323d 5550 ("libgdata" ,libgdata)
fed5a689 5551 ("libgee" ,libgee)
5a0beca3
EF
5552 ("libgphoto2" ,libgphoto2)
5553 ("libgudev" ,libgudev)
fed5a689 5554 ("libraw" ,libraw)
fed5a689
RW
5555 ("libsoup" ,libsoup)
5556 ("libxml2" ,libxml2)
5a0beca3
EF
5557 ("sqlite" ,sqlite)
5558 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5559 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5560 (synopsis "Photo manager for GNOME 3")
5561 (description
5562 "Shotwell is a digital photo manager designed for the GNOME desktop
5563environment. It allows you to import photos from disk or camera, organize
5564them by keywords and events, view them in full-window or fullscreen mode, and
5565share them with others via social networking and more.")
5566 (license license:lgpl2.1+)))
293ff8b2
DT
5567
5568(define-public file-roller
5569 (package
5570 (name "file-roller")
dcae4270 5571 (version "3.32.3")
293ff8b2
DT
5572 (source (origin
5573 (method url-fetch)
f89a27c6 5574 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5575 (version-major+minor version) "/"
f89a27c6 5576 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5577 (sha256
5578 (base32
dcae4270 5579 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5580 (build-system meson-build-system)
293ff8b2 5581 (native-inputs
0a500745
RW
5582 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5583 ("intltool" ,intltool)
4c96e5d1 5584 ("itstool" ,itstool)
0a500745
RW
5585 ("pkg-config" ,pkg-config)
5586 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5587 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5588 ;; TODO: Add libnautilus.
5589 (inputs
5590 `(("gtk+" ,gtk+)
5591 ("gdk-pixbuf" ,gdk-pixbuf)
5592 ("json-glib" ,json-glib)
5593 ("libarchive" ,libarchive)
5594 ("libnotify" ,libnotify)
4c96e5d1 5595 ("nettle" ,nettle)
293ff8b2
DT
5596 ("libxml2" ,libxml2)))
5597 (synopsis "Graphical archive manager for GNOME")
5598 (description "File Roller is an archive manager for the GNOME desktop
5599environment that allows users to view, unpack, and create compressed archives
5600such as gzip tarballs.")
5601 (home-page "http://fileroller.sourceforge.net/")
5602 (license license:gpl2+)))
7ce49365
SB
5603
5604(define-public gnome-session
5605 (package
5606 (name "gnome-session")
1fc2ec79 5607 (version "3.32.0")
7ce49365
SB
5608 (source (origin
5609 (method url-fetch)
5610 (uri (string-append "mirror://gnome/sources/" name "/"
5611 (version-major+minor version) "/"
5612 name "-" version ".tar.xz"))
5613 (sha256
5614 (base32
1fc2ec79 5615 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5616 (arguments
df278071
RW
5617 '(#:glib-or-gtk? #t
5618 #:phases
2914af3c
AW
5619 (modify-phases %standard-phases
5620 (add-before 'configure 'pre-configure
5621 (lambda* (#:key outputs #:allow-other-keys)
5622 ;; Use elogind instead of systemd.
df278071
RW
5623 (substitute* "meson.build"
5624 (("libsystemd-login") "libelogind")
5625 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5626 (substitute* "gnome-session/gsm-systemd.c"
5627 (("#include <systemd/sd-login.h>")
5628 "#include <elogind/sd-login.h>"))
df278071 5629 ;; Remove uses of the systemd daemon.
803ab416
SB
5630 (substitute* "gnome-session/gsm-autostart-app.c"
5631 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5632 #t))
5633 (add-after 'install 'wrap-gnome-session
5634 (lambda* (#:key inputs outputs #:allow-other-keys)
5635 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5636 (let ((glib (assoc-ref inputs "glib:bin"))
5637 (out (assoc-ref outputs "out")))
5638 (wrap-program (string-append out "/bin/gnome-session")
5639 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5640 #t))))
6cbc8d57 5641
2914af3c 5642 #:configure-flags
df278071
RW
5643 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5644 "-Dman=false" ; FIXME: disabled because of docbook validation error
5645 "-Dsystemd_journal=false")))
5646 (build-system meson-build-system)
7ce49365
SB
5647 (native-inputs
5648 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5649 ("pkg-config" ,pkg-config)
5650 ("intltool" ,intltool)
df278071
RW
5651 ("xsltproc" ,libxslt)
5652 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5653 ("docbook-xsl" ,docbook-xsl)
5654 ("docbook-xml" ,docbook-xml)
5655 ("xmlto" ,xmlto)))
7ce49365 5656 (inputs
2914af3c
AW
5657 `(("elogind" ,elogind)
5658 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5659 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5660 ("gtk+" ,gtk+)
5661 ("json-glib" ,json-glib)
5662 ("libsm" ,libsm)
5663 ("libxcomposite" ,libxcomposite)
5664 ("libxtst" ,libxtst)
5665 ("mesa" ,mesa)
5666 ("upower" ,upower)
5667 ("xtrans" ,xtrans)))
5668 (synopsis "Session manager for GNOME")
5669 (description
5670 "This package contains the GNOME session manager, as well as a
5671configuration program to choose applications starting on login.")
5672 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5673 (license license:gpl2+)))
f47ba77e
SB
5674
5675(define-public gjs
5676 (package
5677 (name "gjs")
d054fbf5 5678 (version "1.56.2")
f47ba77e
SB
5679 (source (origin
5680 (method url-fetch)
5681 (uri (string-append "mirror://gnome/sources/" name "/"
5682 (version-major+minor version) "/"
5683 name "-" version ".tar.xz"))
5684 (sha256
5685 (base32
d054fbf5 5686 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5687 (build-system gnu-build-system)
5688 (arguments
5689 '(#:phases
5690 (modify-phases %standard-phases
5691 (add-before
5692 'check 'pre-check
5693 (lambda _
fc119619
MW
5694 ;; The test suite requires a running X server.
5695 (system "Xvfb :1 &")
5696 (setenv "DISPLAY" ":1")
5697
f47ba77e
SB
5698 ;; For the missing /etc/machine-id.
5699 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5700
144f94d0
KK
5701 ;; Our mozjs-38 package does not compile the required Intl API
5702 ;; support for these failing tests.
5703 (substitute* "installed-tests/js/testLocale.js"
5704 ((".*toBeDefined.*") "")
5705 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5706 (substitute* "installed-tests/scripts/testCommandLine.sh"
5707 (("Valentín") "")
5708 (("☭") ""))
f47ba77e
SB
5709 #t)))))
5710 (native-inputs
8a831c6f 5711 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5712 ("pkg-config" ,pkg-config)
5713 ("xmllint" ,libxml2)
5714 ;; For testing
5715 ("dbus-launch" ,dbus)
5716 ("uuidgen" ,util-linux)
ebebee94 5717 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5718 (propagated-inputs
5719 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5720 `(("cairo" ,cairo)
5721 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5722 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5723 (inputs
5724 `(("gtk+" ,gtk+)
5725 ("readline" ,readline)))
5726 (synopsis "Javascript bindings for GNOME")
f032d0be 5727 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5728 (description
5729 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5730javascript engine and the GObject introspection framework.")
5731 (license license:gpl2+)))
329d731b
DH
5732
5733(define-public gedit
5734 (package
5735 (name "gedit")
480c9226 5736 (version "3.32.2")
329d731b
DH
5737 (source (origin
5738 (method url-fetch)
5739 (uri (string-append "mirror://gnome/sources/" name "/"
5740 (version-major+minor version) "/"
5741 name "-" version ".tar.xz"))
5742 (sha256
5743 (base32
480c9226
KK
5744 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5745 (build-system meson-build-system)
329d731b 5746 (arguments
480c9226
KK
5747 `(#:glib-or-gtk? #t
5748 #:configure-flags
5749 ;; Otherwise, the RUNPATH will lack the final path component.
5750 (list (string-append "-Dc_link_args=-Wl,-rpath="
5751 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5752
5753 ;; XXX: Generated .h files are sometimes used before being built.
5754 #:parallel-build? #f
5755
480c9226 5756 #:phases
329d731b 5757 (modify-phases %standard-phases
480c9226
KK
5758 (add-after 'unpack 'skip-gtk-update-icon-cache
5759 ;; Don't create 'icon-theme.cache'.
5760 (lambda _
5761 (substitute* "build-aux/meson/post_install.py"
5762 (("gtk-update-icon-cache") (which "true")))
5763 #t))
5764 (add-after 'unpack 'patch-libgd-fetch
5765 (lambda* (#:key inputs #:allow-other-keys)
5766 (let ((libgd (assoc-ref inputs "libgd")))
5767 ;; Calling git is unnecessary because libgd is fetched as a
5768 ;; native input to this package.
5769 (substitute* "meson.build"
5770 ((".*git.*") ""))
5771 (copy-recursively libgd "subprojects/libgd")
5772 #t)))
5773 (add-after 'install 'wrap-gedit
5774 (lambda* (#:key inputs outputs #:allow-other-keys)
5775 (let ((out (assoc-ref outputs "out"))
5776 (gtksourceview (assoc-ref inputs "gtksourceview"))
5777 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5778 (python-path (getenv "PYTHONPATH")))
5779 (wrap-program (string-append out "/bin/gedit")
5780 ;; For plugins.
5781 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5782 `("PYTHONPATH" ":" prefix (,python-path))
5783 ;; For language-specs.
5784 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5785 "/share")))))
5786 #t)))))
329d731b
DH
5787 (propagated-inputs
5788 `(("dconf" ,dconf)))
5789 (native-inputs
480c9226
KK
5790 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5791 ("intltool" ,intltool)
b3546174 5792 ("itstool" ,itstool)
480c9226 5793 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5794 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5795 ("libgd"
5796 ,(origin
5797 (method git-fetch)
5798 (uri (git-reference
5799 (url "https://gitlab.gnome.org/GNOME/libgd")
5800 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5801 (file-name (git-file-name "libgd" version))
5802 (sha256
5803 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5804 ("pkg-config" ,pkg-config)))
5805 (inputs
5806 `(("glib" ,glib)
0d2df50c 5807 ("gspell" ,gspell)
329d731b 5808 ("gtk+" ,gtk+)
480c9226 5809 ("gtksourceview" ,gtksourceview)
329d731b
DH
5810 ("libpeas" ,libpeas)
5811 ("libxml2" ,libxml2)
329d731b
DH
5812 ("iso-codes" ,iso-codes)
5813 ("python-pygobject" ,python-pygobject)
5814 ("python" ,python)
5815 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5816 ("libx11" ,libx11)
5817 ("vala" ,vala)
5818 ("adwaita-icon-theme" ,adwaita-icon-theme)
5819 ("libsoup" ,libsoup)
5820 ("gnome-desktop" ,gnome-desktop)))
5821 (home-page "https://wiki.gnome.org/Apps/Gedit")
5822 (synopsis "GNOME text editor")
5823 (description "While aiming at simplicity and ease of use, gedit is a
5824powerful general purpose text editor.")
5825 (license license:gpl2+)))
b7179363
SB
5826
5827(define-public zenity
5828 (package
5829 (name "zenity")
4f581bd0 5830 (version "3.32.0")
b7179363
SB
5831 (source (origin
5832 (method url-fetch)
5958df04 5833 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5834 (version-major+minor version) "/"
5958df04 5835 "zenity-" version ".tar.xz"))
b7179363
SB
5836 (sha256
5837 (base32
4f581bd0 5838 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5839 (build-system gnu-build-system)
5840 (native-inputs
b94a6ca0 5841 `(("gettext" ,gettext-minimal)
b7179363
SB
5842 ("itstool" ,itstool)
5843 ("pkg-config" ,pkg-config)))
5844 (inputs
5845 `(("libnotify" ,libnotify)
5846 ("webkitgtk" ,webkitgtk)))
5847 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5848 (home-page "https://www.gnome.org")
b7179363
SB
5849 (description
5850 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5851to display dialog boxes from the commandline and shell scripts.")
5852 (license license:lgpl2.0+)))
60c3627c
SB
5853
5854(define-public mutter
5855 (package
5856 (name "mutter")
edf43f68 5857 (version "3.32.2")
60c3627c 5858 (source (origin
86c44e72
KK
5859 (method url-fetch)
5860 (uri (string-append "mirror://gnome/sources/" name "/"
5861 (version-major+minor version) "/"
5862 name "-" version ".tar.xz"))
60c3627c
SB
5863 (sha256
5864 (base32
edf43f68 5865 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5866 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5867 ;; versions of cogl and clutter. As a result, many of the inputs,
5868 ;; propagated-inputs, and configure flags used in cogl and clutter are
5869 ;; needed here as well.
edf43f68 5870 (build-system meson-build-system)
60c3627c 5871 (arguments
edf43f68
KK
5872 '(;; XXX: All mutter tests fail with the following error:
5873 ;; Settings schema 'org.gnome.mutter' is not installed
5874 #:tests? #f
5875 #:glib-or-gtk? #t
5876 #:configure-flags
5877 ;; Otherwise, the RUNPATH will lack the final path component.
5878 (list (string-append "-Dc_link_args=-Wl,-rpath="
5879 (assoc-ref %outputs "out") "/lib:"
5880 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
5881
5882 ;; The following flags are needed for the bundled clutter
edf43f68 5883 (string-append "-Dxwayland_path="
d633f2f6
RH
5884 (assoc-ref %build-inputs "xorg-server-xwayland")
5885 "/bin/Xwayland")
5886
a88d5a0c 5887 ;; the remaining flags are needed for the bundled cogl
edf43f68 5888 (string-append "-Dopengl_libname="
a88d5a0c 5889 (assoc-ref %build-inputs "mesa")
f23052a6
DC
5890 "/lib/libGL.so"))
5891 #:phases
5892 (modify-phases %standard-phases
edf43f68
KK
5893 (add-after 'unpack 'disable-werror
5894 (lambda _
5895 ;; XXX: build fails with [-Werror]:
5896 ;; backends/meta-cursor-renderer.c:112:5: error:
5897 ;; implicit declaration of function ?roundf?
5898 (substitute* "meson.build"
5899 (("'-Werror=.*',") ""))
5900 #t))
86c44e72
KK
5901 ;; Replace references to systemd libraries to elogind references.
5902 (add-before 'configure 'use-elogind
5903 (lambda _
edf43f68 5904 (substitute* (list "meson.build"
86c44e72
KK
5905 "src/backends/native/meta-launcher.c"
5906 "src/core/main.c")
5907 (("systemd") "elogind"))
5908 #t)))))
60c3627c
SB
5909 (native-inputs
5910 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5911 ("gobject-introspection" ,gobject-introspection)
5912 ("intltool" ,intltool)
f23052a6 5913 ("pkg-config" ,pkg-config)
edf43f68 5914 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
5915 ;; For git build
5916 ("autoconf" ,autoconf)
5917 ("automake" ,automake)
5918 ("libtool" ,libtool)))
60c3627c 5919 (propagated-inputs
a88d5a0c
MW
5920 `(;; libmutter.pc refers to these:
5921 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5922 ("gtk+" ,gtk+)
5923 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
5924 ("atk" ,atk)
5925 ("cairo" ,cairo)
5926 ("gdk-pixbuf" ,gdk-pixbuf)
5927 ("glib" ,glib)
a88d5a0c
MW
5928 ("json-glib" ,json-glib)
5929 ("libinput" ,libinput)
5930 ("libx11" ,libx11)
5931 ("libxcomposite" ,libxcomposite)
5932 ("libxdamage" ,libxdamage)
5933 ("libxext" ,libxext)
5934 ("libxfixes" ,libxfixes)
5935 ("libxkbcommon" ,libxkbcommon)
5936 ("libxrandr" ,libxrandr)
5937 ("mesa" ,mesa)
5938 ("pango" ,pango)
5939 ("udev" ,eudev)
a88d5a0c 5940 ("xinput" ,xinput)))
60c3627c 5941 (inputs
86c44e72
KK
5942 `(("elogind" ,elogind)
5943 ("gnome-desktop" ,gnome-desktop)
edf43f68 5944 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 5945 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 5946 ("libgudev" ,libgudev)
60c3627c
SB
5947 ("libice" ,libice)
5948 ("libsm" ,libsm)
edf43f68 5949 ("libwacom" ,libwacom)
60c3627c 5950 ("libxkbfile" ,libxkbfile)
a88d5a0c 5951 ("libxrandr" ,libxrandr)
86c44e72 5952 ("libxtst" ,libxtst)
edf43f68 5953 ("pipewire" ,pipewire)
60c3627c
SB
5954 ("startup-notification" ,startup-notification)
5955 ("upower-glib" ,upower)
5956 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 5957 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
5958 ("zenity" ,zenity)))
5959 (synopsis "Window and compositing manager")
f032d0be 5960 (home-page "https://www.gnome.org")
60c3627c
SB
5961 (description
5962 "Mutter is a window and compositing manager that displays and manages your
5963desktop via OpenGL. Mutter combines a sophisticated display engine using the
5964Clutter toolkit with solid window-management logic inherited from the Metacity
5965window manager.")
86c44e72 5966 (license license:gpl2+)))
685cee87
SB
5967
5968(define-public gnome-online-accounts
5969 (package
5970 (name "gnome-online-accounts")
aa200347 5971 (version "3.32.1")
685cee87
SB
5972 (source (origin
5973 (method url-fetch)
5974 (uri (string-append "mirror://gnome/sources/" name "/"
5975 (version-major+minor version) "/"
5976 name "-" version ".tar.xz"))
5977 (sha256
5978 (base32
aa200347 5979 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 5980 (outputs '("out" "lib"))
685cee87 5981 (build-system glib-or-gtk-build-system)
14c297fd
TS
5982 (arguments
5983 `(#:configure-flags
5984 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
5985 #:phases
5986 (modify-phases %standard-phases
5987 (add-before 'configure 'patch-libgoa-output
5988 (lambda* (#:key outputs #:allow-other-keys)
5989 (let ((lib (assoc-ref outputs "lib")))
5990 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
5991 (("@prefix@") lib)
5992 (("@exec_prefix@") lib)
5993 (("@libdir@") (string-append lib "/lib"))
5994 (("@includedir@") (string-append lib "/include"))
5995 (("@datadir@") (string-append lib "/share")))
7555d539
MB
5996 ;; Make sure gobject-introspection knows about the output
5997 ;; too (see <https://bugs.gnu.org/36535>).
5998 (setenv "outputs" "out lib")
14c297fd 5999 #t))))))
685cee87
SB
6000 (native-inputs
6001 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6002 ("gobject-introspection" ,gobject-introspection)
6003 ("intltool" ,intltool)
6004 ("pkg-config" ,pkg-config)
ebb2873d 6005 ("vala" ,vala)
685cee87
SB
6006 ("xsltproc" ,libxslt)))
6007 (propagated-inputs
6008 `(("glib" ,glib) ; required by goa-1.0.pc
6009 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6010 (inputs
6011 `(("docbook-xsl" ,docbook-xsl)
6012 ("json-glib" ,json-glib)
6013 ("libsecret" ,libsecret)
6014 ("rest" ,rest)
685cee87
SB
6015 ("webkitgtk" ,webkitgtk)))
6016 (synopsis "Single sign-on framework for GNOME")
6017 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6018 (description
6019 "GNOME Online Accounts provides interfaces so that applications and
6020libraries in GNOME can access the user's online accounts. It has providers for
6021Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6022Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6023 (license license:lgpl2.0+)))
df217748
SB
6024
6025(define-public evolution-data-server
6026 (package
6027 (name "evolution-data-server")
2196a8d4 6028 (version "3.32.4")
df217748
SB
6029 (source (origin
6030 (method url-fetch)
6031 (uri (string-append "mirror://gnome/sources/" name "/"
6032 (version-major+minor version) "/"
6033 name "-" version ".tar.xz"))
e1f174ae 6034 (patches (search-patches "evolution-data-server-locales.patch"))
df217748
SB
6035 (sha256
6036 (base32
2196a8d4 6037 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6038 (build-system cmake-build-system)
df217748 6039 (arguments
b468eedc
RW
6040 '(#:configure-flags
6041 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6042 (runpaths (map (lambda (s)
6043 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6044 '("addressbook-backends" "calendar-backends"
6045 "camel-providers" "credential-modules"
6046 "registry-modules"))))
6047 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6048 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6049 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6050 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6051 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6052 (string-append lib "/evolution-data-server;")
6053 (string-join runpaths ";"))
6054 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6055 #:phases
6056 (modify-phases %standard-phases
b468eedc
RW
6057 (add-after 'unpack 'disable-failing-tests
6058 (lambda _
6059 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6060 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6061 (delete-file-recursively "tests/book-migration")
6062 (substitute* "tests/CMakeLists.txt"
6063 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6064 ;; tests/libebook/client/test-book-client-view-operations:8077):
6065 ;; e-data-server-WARNING **:
6066 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6067 ;; runtime check failed:
6068 ;; (!g_main_context_pending (closure->main_context))
6069 (substitute* "tests/libebook/client/CMakeLists.txt"
6070 (("test-book-client-view-operations") ""))
b468eedc 6071 #t))
743aebd7 6072 (add-after 'unpack 'patch-paths
df217748 6073 (lambda _
b468eedc
RW
6074 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6075 "tests/libedata-book/data-test-utils.c"
6076 "tests/libedata-book/test-book-cache-utils.c"
6077 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6078 (("/bin/rm") (which "rm")))
ac033c7b
MB
6079 #t))
6080 (add-before 'configure 'dont-override-rpath
6081 (lambda _
6082 (substitute* "CMakeLists.txt"
6083 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6084 ;; Remove it so the configure flag is respected.
6085 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6086 #t)))))
df217748
SB
6087 (native-inputs
6088 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6089 ("gobject-introspection" ,gobject-introspection)
6090 ("gperf" ,gperf)
6091 ("intltool" ,intltool)
6092 ("pkg-config" ,pkg-config)
a73c1cf8 6093 ("vala" ,vala)
743aebd7 6094 ("python" ,python-wrapper)))
df217748
SB
6095 (propagated-inputs
6096 ;; These are all in the Requires field of .pc files.
6097 `(("gtk+" ,gtk+)
6098 ("libical" ,libical)
6099 ("libsecret" ,libsecret)
6100 ("libsoup" ,libsoup)
6101 ("nss" ,nss)
6102 ("sqlite" ,sqlite)))
6103 (inputs
6104 `(("bdb" ,bdb)
6105 ("gcr" ,gcr)
14c297fd 6106 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6107 ("json-glib" ,json-glib)
b468eedc 6108 ("libcanberra" ,libcanberra)
743aebd7
MB
6109 ("libgweather" ,libgweather)
6110 ("mit-krb5" ,mit-krb5)
891199c6
MW
6111 ("openldap" ,openldap)
6112 ("webkitgtk" ,webkitgtk)))
df217748
SB
6113 (synopsis "Store address books and calendars")
6114 (home-page "https://wiki.gnome.org/Apps/Evolution")
6115 (description
6116 "This package provides a unified backend for programs that work with
6117contacts, tasks, and calendar information. It was originally developed for
6118Evolution (hence the name), but is now used by other packages as well.")
6119 (license license:lgpl2.0)))
bd7dfafa
SB
6120
6121(define-public caribou
6122 (package
6123 (name "caribou")
fe964bb5 6124 (version "0.4.21")
bd7dfafa
SB
6125 (source (origin
6126 (method url-fetch)
6127 (uri (string-append "mirror://gnome/sources/" name "/"
6128 (version-major+minor version) "/"
6129 name "-" version ".tar.xz"))
6130 (sha256
6131 (base32
fe964bb5 6132 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6133 (build-system glib-or-gtk-build-system)
6134 (arguments
6135 '(#:phases
6136 (modify-phases %standard-phases
6137 (add-before
6138 'build 'pre-build
6139 (lambda* (#:key outputs #:allow-other-keys)
6140 (let ((out (assoc-ref outputs "out")))
6141 ;; Use absolute shared library path in Caribou-1.0.typelib.
6142 (substitute* "libcaribou/Makefile"
6143 (("--shared-library=libcaribou.so")
6144 (string-append "--shared-library="
6145 out "/lib/libcaribou.so")))
6146 #t)))
6147 (add-after 'install 'wrap-programs
6148 (lambda* (#:key outputs #:allow-other-keys)
6149 (let* ((out (assoc-ref outputs "out"))
6150 (python-path (getenv "PYTHONPATH"))
6151 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6152 (for-each
6153 (lambda (prog)
6154 (wrap-program prog
6155 `("PYTHONPATH" ":" prefix (,python-path))
6156 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6157 (list (string-append out "/bin/caribou-preferences")
6158 (string-append out "/libexec/antler-keyboard"))))
6159 #t)))))
6160 (native-inputs
6161 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6162 ("gobject-introspection" ,gobject-introspection)
6163 ("intltool" ,intltool)
6164 ("pkg-config" ,pkg-config)
6165 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
6166 ("vala" ,vala)
6167 ("xsltproc" ,libxslt)))
6168 (propagated-inputs
6169 ;; caribou-1.0.pc refers to all these.
6170 `(("libgee" ,libgee)
6171 ("libxklavier" ,libxklavier)
6172 ("libxtst" ,libxtst)
6173 ("gtk+" ,gtk+)))
6174 (inputs
6175 `(("clutter" ,clutter)
6176 ("dconf" ,dconf)
6177 ("gtk+-2" ,gtk+-2)
6178 ("python-pygobject" ,python2-pygobject)))
6179 (synopsis "Text entry and UI navigation application")
6180 (home-page "https://wiki.gnome.org/Projects/Caribou")
6181 (description
6182 "Caribou is an input assistive technology intended for switch and pointer
6183users.")
6184 (license license:lgpl2.1)))
ba5dd105 6185
ba5dd105
SB
6186(define-public network-manager
6187 (package
6188 (name "network-manager")
6425d87a 6189 (version "1.18.4")
ba5dd105
SB
6190 (source (origin
6191 (method url-fetch)
6192 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6193 (version-major+minor version) "/"
6194 "NetworkManager-" version ".tar.xz"))
7d1861e2 6195 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6196 (sha256
6197 (base32
6425d87a 6198 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6199 (modules '((guix build utils)))
fd070f35 6200 (snippet
02710a9b
RW
6201 '(begin
6202 (substitute* "src/devices/wwan/nm-modem-manager.c"
6203 (("systemd") "elogind"))
6204 #t))))
ba5dd105
SB
6205 (build-system gnu-build-system)
6206 (outputs '("out"
6207 "doc")) ; 8 MiB of gtk-doc HTML
6208 (arguments
6209 '(#:configure-flags
6210 (let ((out (assoc-ref %outputs "out"))
6211 (doc (assoc-ref %outputs "doc"))
6212 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6213 "/sbin/dhclient")))
02710a9b
RW
6214 (list "--with-libnm-glib" ; needed by network-manager-applet
6215 "--with-systemd-journal=no"
6216 "--with-session-tracking=elogind"
6217 "--with-suspend-resume=elogind"
fd070f35
CM
6218 "--with-consolekit=no"
6219 "--with-crypto=gnutls"
ba5dd105
SB
6220 "--disable-config-plugin-ibft"
6221 "--sysconfdir=/etc"
6222 "--localstatedir=/var"
6223 (string-append "--with-udev-dir="
6224 out "/lib/udev")
6225 (string-append "--with-dbus-sys-dir="
6226 out "/etc/dbus-1/system.d")
6227 (string-append "--with-html-dir="
6228 doc "/share/gtk-doc/html")
6229 (string-append "--with-dhclient=" dhclient)))
6230 #:phases
6231 (modify-phases %standard-phases
02710a9b
RW
6232 ;; This bare "ls" invocation breaks some tests.
6233 (add-after 'unpack 'patch-ls-invocation
6234 (lambda _
6235 (substitute* "build-aux/ltmain.sh"
6236 (("`ls -")
6237 (string-append "`" (which "ls") " -")))
6238 #t))
b4f59d87
AW
6239 (add-before 'configure 'pre-configure
6240 (lambda _
6241 ;; These tests try to test aspects of network-manager's
6242 ;; functionality within restricted containers, but they don't
6243 ;; cope with being already in the Guix build jail as that jail
6244 ;; lacks some features that they would like to proxy over (like
6245 ;; a /sys mount).
d04687dc
HG
6246 (substitute* '("Makefile.in")
6247 (("src/platform/tests/test-address-linux") " ")
6248 (("src/platform/tests/test-cleanup-linux") " ")
6249 (("src/platform/tests/test-link-linux") " ")
6250 (("src/platform/tests/test-route-linux") " ")
02710a9b 6251 (("src/devices/tests/test-acd") "")
d04687dc
HG
6252 (("src/devices/tests/test-arping") " ")
6253 (("src/devices/tests/test-lldp") " ")
6254 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6255 #t))
45f80fce
RW
6256 (add-after 'unpack 'delete-failing-tests
6257 (lambda _
02710a9b 6258 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6259 ;; ERROR:libnm-core/tests/test-general.c:5842:
6260 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6261 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6262 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6263 ;; ERROR:libnm-core/tests/test-setting.c:907:
6264 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6265 (substitute* "Makefile.in"
6266 (("libnm-core/tests/test-general") " ")
6267 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6268 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6269 #t))
ba5dd105
SB
6270 (add-before 'check 'pre-check
6271 (lambda _
6272 ;; For the missing /etc/machine-id.
6273 (setenv "DBUS_FATAL_WARNINGS" "0")
6274 #t))
6275 (replace 'install
6276 (lambda _
45f80fce
RW
6277 (invoke "make"
6278 "sysconfdir=/tmp"
6279 "rundir=/tmp"
6280 "statedir=/tmp"
6281 "nmstatedir=/tmp/nm"
6282 "install")
6283 #t)))))
b93502d6
DC
6284 (propagated-inputs
6285 `(("glib" ,glib)))
ba5dd105
SB
6286 (native-inputs
6287 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6288 ("gobject-introspection" ,gobject-introspection)
d04687dc 6289 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6290 ("intltool" ,intltool)
d04687dc
HG
6291 ("libxslt" ,libxslt)
6292 ("libxml2" ,libxml2)
ba5dd105
SB
6293 ("pkg-config" ,pkg-config)
6294 ;; For testing.
6295 ("python" ,python-wrapper)
6296 ("python-dbus" ,python-dbus)
6297 ("python-pygobject" ,python-pygobject)))
6298 (inputs
02710a9b
RW
6299 `(("coreutils" ,coreutils) ; for ls
6300 ("curl" ,curl)
856ca567
KK
6301 ("cyrus-sasl" ,cyrus-sasl)
6302 ("dbus-glib" ,dbus-glib)
ba5dd105 6303 ("dnsmasq" ,dnsmasq)
856ca567 6304 ("eudev" ,eudev)
ba5dd105
SB
6305 ("gnutls" ,gnutls)
6306 ("iptables" ,iptables)
6307 ("isc-dhcp" ,isc-dhcp)
d04687dc 6308 ("jansson" ,jansson)
ba5dd105
SB
6309 ("libgcrypt" ,libgcrypt)
6310 ("libgudev" ,libgudev)
6311 ("libndp" ,libndp)
6312 ("libnl" ,libnl)
6313 ("libsoup" ,libsoup)
142bdcbc 6314 ("modem-manager" ,modem-manager)
c27e02bf 6315 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6316 ("polkit" ,polkit)
6317 ("ppp" ,ppp)
6318 ("readline" ,readline)
fd070f35
CM
6319 ("util-linux" ,util-linux)
6320 ("elogind" ,elogind)))
ba5dd105 6321 (synopsis "Network connection manager")
f032d0be 6322 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6323 (description
6324 "NetworkManager is a system network service that manages your network
6325devices and connections, attempting to keep active network connectivity when
6326available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6327devices, and provides VPN integration with a variety of different VPN
6328services.")
29d2f451
LC
6329 (license license:gpl2+)
6330 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6331
f2b96b3a
LC
6332(define-public network-manager-openvpn
6333 (package
6334 (name "network-manager-openvpn")
be1c4b07 6335 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6336 (version "1.8.10")
f2b96b3a
LC
6337 (source (origin
6338 (method url-fetch)
6339 (uri (string-append
6340 "mirror://gnome/sources/NetworkManager-openvpn/"
6341 (version-major+minor version)
6342 "/NetworkManager-openvpn-" version ".tar.xz"))
6343 (sha256
6344 (base32
7d87eede 6345 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6346 (build-system gnu-build-system)
6347 (arguments
633422b0
JL
6348 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6349 #:phases
6350 (modify-phases %standard-phases
6351 (add-after 'configure 'patch-path
6352 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6353 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6354 "/sbin/openvpn"))
6355 (modprobe (string-append (assoc-ref inputs "kmod")
6356 "/bin/modprobe"))
6357 (pretty-ovpn (string-append "\"" ovpn "\"")))
6358 (for-each
6359 (lambda (file)
6360 (substitute* file
6361 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6362 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6363 (("\"/sbin/openvpn\"") pretty-ovpn)
6364 (("/sbin/modprobe") modprobe)))
6365 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6366 #t)))))
f2b96b3a
LC
6367 (native-inputs
6368 `(("pkg-config" ,pkg-config)
6369 ("intltool" ,intltool)))
6370 (inputs
6371 `(("gtk+" ,gtk+)
633422b0 6372 ("kmod" ,kmod)
f2b96b3a
LC
6373 ("openvpn" ,openvpn)
6374 ("network-manager" ,network-manager)
6375 ("network-manager-applet" ,network-manager-applet) ;for libnma
6376 ("libsecret" ,libsecret)))
6377 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6378 (synopsis "OpenVPN plug-in for NetworkManager")
6379 (description
6380 "This extension of NetworkManager allows it to take care of connections
6381to virtual private networks (VPNs) via OpenVPN.")
6382 (license license:gpl2+)
6383 (properties `((upstream-name . "NetworkManager-openvpn")))))
6384
d376129f
JL
6385(define-public network-manager-vpnc
6386 (package
6387 (name "network-manager-vpnc")
6388 (version "1.2.6")
6389 (source (origin
6390 (method url-fetch)
6391 (uri (string-append
6392 "mirror://gnome/sources/NetworkManager-vpnc/"
6393 (version-major+minor version)
6394 "/NetworkManager-vpnc-" version ".tar.xz"))
6395 (sha256
6396 (base32
6397 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6398 (build-system gnu-build-system)
6399 (arguments
6400 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6401 #:phases
6402 (modify-phases %standard-phases
6403 (add-after 'configure 'patch-path
6404 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6405 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6406 "/sbin/vpnc"))
6407 (modprobe (string-append (assoc-ref inputs "kmod")
6408 "/bin/modprobe"))
6409 (pretty-ovpn (string-append "\"" vpnc "\"")))
6410 (substitute* "src/nm-vpnc-service.c"
6411 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6412 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6413 (("\"/sbin/vpnc\"") pretty-ovpn)
6414 (("/sbin/modprobe") modprobe)))
6415 #t)))))
6416 (native-inputs
6417 `(("pkg-config" ,pkg-config)
6418 ("intltool" ,intltool)))
6419 (inputs
6420 `(("gtk+" ,gtk+)
6421 ("kmod" ,kmod)
6422 ("vpnc" ,vpnc)
6423 ("network-manager" ,network-manager)
6424 ("network-manager-applet" ,network-manager-applet) ;for libnma
6425 ("libsecret" ,libsecret)))
6426 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6427 (synopsis "VPNC plug-in for NetworkManager")
6428 (description
6429 "Support for configuring virtual private networks based on VPNC.
6430Compatible with Cisco VPN concentrators configured to use IPsec.")
6431 (license license:gpl2+)
6432 (properties `((upstream-name . "NetworkManager-vpnc")))))
6433
8378c87a
EF
6434(define-public network-manager-openconnect
6435 (package
6436 (name "network-manager-openconnect")
6437 (version "1.2.6")
6438 (source (origin
6439 (method url-fetch)
6440 (uri (string-append
6441 "mirror://gnome/sources/NetworkManager-openconnect/"
6442 (version-major+minor version)
6443 "/NetworkManager-openconnect-" version ".tar.xz"))
6444 (sha256
6445 (base32
6446 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6447 (build-system gnu-build-system)
6448 (arguments
6449 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6450 #:phases
6451 (modify-phases %standard-phases
6452 (add-after 'configure 'patch-path
6453 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6454 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6455 "/sbin/openconnect"))
6456 (modprobe (string-append (assoc-ref inputs "kmod")
6457 "/bin/modprobe"))
6458 (pretty-ovpn (string-append "\"" openconnect "\"")))
6459 (substitute* "src/nm-openconnect-service.c"
6460 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6461 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6462 (("/sbin/modprobe") modprobe)))
6463 #t)))))
6464 (native-inputs
6465 `(("intltool" ,intltool)
6466 ("network-manager-applet" ,network-manager-applet) ;for libnma
6467 ("pkg-config" ,pkg-config)))
6468 (inputs
6469 `(("gcr" ,gcr)
6470 ("gtk+" ,gtk+)
6471 ("kmod" ,kmod)
6472 ("libsecret" ,libsecret)
6473 ("libxml2" ,libxml2)
6474 ("network-manager" ,network-manager)
6475 ("openconnect" ,openconnect)))
6476 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6477 (synopsis "OpenConnect plug-in for NetworkManager")
6478 (description
6479 "This extension of NetworkManager allows it to take care of connections
6480to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6481Cisco's AnyConnect SSL VPN.")
6482 (license license:gpl2+)
e52b9534
LC
6483 (properties `((upstream-name . "NetworkManager-openconnect")
6484
6485 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6486 ;; file refers to account "nm-openconnect". Specify it here
6487 ;; so that 'network-manager-service-type' creates it.
6488 (user-accounts . ("nm-openconnect"))))))
8378c87a 6489
e5e1df4d
DC
6490(define-public mobile-broadband-provider-info
6491 (package
6492 (name "mobile-broadband-provider-info")
310c89e3 6493 (version "20190116")
e5e1df4d
DC
6494 (source (origin
6495 (method url-fetch)
6496 (uri (string-append
6497 "mirror://gnome/sources/"
6498 "mobile-broadband-provider-info/" version "/"
6499 "mobile-broadband-provider-info-" version ".tar.xz"))
6500 (sha256
6501 (base32
310c89e3 6502 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6503 (build-system gnu-build-system)
6504 (arguments
310c89e3 6505 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6506 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6507 (synopsis "Database of broadband connection configuration")
6508 (description "Database of broadband connection configuration.")
6509 (license license:public-domain)))
6510
4d62a9d3
SB
6511(define-public network-manager-applet
6512 (package
6513 (name "network-manager-applet")
8fc3a337 6514 (version "1.8.24")
4d62a9d3
SB
6515 (source (origin
6516 (method url-fetch)
3df63444 6517 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6518 (version-major+minor version) "/"
3df63444 6519 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6520 (sha256
6521 (base32
8fc3a337 6522 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6523 (build-system meson-build-system)
6524 (arguments
be1c4b07
TGR
6525 '(#:configure-flags
6526 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6527 (list "-Dlibnm_gtk=true")
6528 #:glib-or-gtk? #t))
4d62a9d3
SB
6529 (native-inputs
6530 `(("intltool" ,intltool)
cd7f718e 6531 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6532 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6533 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6534 ("pkg-config" ,pkg-config)))
6535 (propagated-inputs
6536 ;; libnm-gtk.pc refers to all these.
6537 `(("dbus-glib" ,dbus-glib)
6538 ("gtk+" ,gtk+)
6539 ("network-manager" ,network-manager)))
6540 (inputs
cd7f718e
RW
6541 `(("gcr" ,gcr)
6542 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6543 ("libgudev" ,libgudev)
6544 ("libnotify" ,libnotify)
2116bfb3 6545 ("libsecret" ,libsecret)
240cee8a
KK
6546 ("libselinux" ,libselinux)
6547 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6548 ("modem-manager" ,modem-manager)
6549 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6550 (synopsis "Applet for managing network connections")
f032d0be 6551 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6552 (description
6553 "This package contains a systray applet for NetworkManager. It displays
6554the available networks and allows users to easily switch between them.")
6555 (license license:gpl2+)))
56196594
RW
6556
6557(define-public libxml++
6558 (package
6559 (name "libxml++")
8344a85e 6560 (version "3.0.1")
56196594
RW
6561 (source (origin
6562 (method url-fetch)
6563 (uri (string-append "mirror://gnome/sources/" name "/"
6564 (version-major+minor version) "/"
6565 name "-" version ".tar.xz"))
6566 (sha256
6567 (base32
8344a85e 6568 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6569 (build-system gnu-build-system)
6570 ;; libxml++-3.0.pc refers to all these.
6571 (propagated-inputs
6572 `(("libxml2" ,libxml2)
6573 ("glibmm" ,glibmm)))
6574 (native-inputs
6575 `(("perl" ,perl)
6576 ("pkg-config" ,pkg-config)))
6577 (home-page "http://libxmlplusplus.sourceforge.net/")
6578 (synopsis "C++ wrapper for XML parser library libxml2")
6579 (description
6580 "This package provides a C++ wrapper for the XML parser library
6581libxml2.")
6582 (license license:lgpl2.1+)))
df12f04a 6583
b61d9627
AW
6584(define-public libxml++-2
6585 (package
6586 (inherit libxml++)
6587 (name "libxml++")
6588 (version "2.40.1")
6589 (source (origin
6590 (method url-fetch)
6591 (uri (string-append "mirror://gnome/sources/" name "/"
6592 (version-major+minor version) "/"
6593 name "-" version ".tar.xz"))
6594 (sha256
6595 (base32
6596 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6597
df12f04a
SB
6598(define-public gdm
6599 (package
6600 (name "gdm")
bcca95dc 6601 (version "3.32.0")
df12f04a
SB
6602 (source (origin
6603 (method url-fetch)
6604 (uri (string-append "mirror://gnome/sources/" name "/"
6605 (version-major+minor version) "/"
6606 name "-" version ".tar.xz"))
6607 (sha256
6608 (base32
bcca95dc 6609 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6610 (build-system glib-or-gtk-build-system)
df12f04a
SB
6611 (arguments
6612 '(#:configure-flags
af37e6bb 6613 `("--without-plymouth"
957dbc0a 6614 "--disable-systemd-journal"
51bc8357
TS
6615
6616 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6617 ;; instead of having to replace it (i.e., stopping the mingetty
6618 ;; service for TTY 1 before starting GDM).
6619 "--with-initial-vt=7"
6620
89c86562
TS
6621 ;; Use '/etc/environment' for locale settings instead of the
6622 ;; systemd-specific '/etc/locale.conf'.
6623 "--with-lang-file=/etc/environment"
6624
b74ef0ba
RW
6625 ,(string-append "--with-udevdir="
6626 (assoc-ref %outputs "out") "/lib/udev")
6627
af37e6bb
AW
6628 "--localstatedir=/var"
6629 ,(string-append "--with-default-path="
6630 (string-join '("/run/setuid-programs"
6631 "/run/current-system/profile/bin"
6632 "/run/current-system/profile/sbin")
957dbc0a
AW
6633 ":"))
6634 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6635 ;; XDG_DATA_DIRS so that it finds its schemas.
6636 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6637 #:phases
6638 (modify-phases %standard-phases
6639 (add-before
6640 'configure 'pre-configure
e8c6e771 6641 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6642 ;; We don't have <systemd/sd-daemon.h>.
6643 (substitute* '("common/gdm-log.c"
6644 "daemon/gdm-server.c"
6645 "daemon/gdm-session-worker.c"
6646 "daemon/gdm-session-worker-job.c")
6647 (("#include <systemd/sd-daemon\\.h>") ""))
6648 ;; Use elogind for sd-login.
6649 (substitute* '("common/gdm-common.c"
6650 "daemon/gdm-manager.c"
6651 "libgdm/gdm-user-switching.c")
6652 (("#include <systemd/sd-login\\.h>")
6653 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6654 ;; Check for elogind.
6655 (substitute* '("configure")
6656 (("libsystemd")
6657 "libelogind"))
af37e6bb
AW
6658 ;; Look for system-installed sessions in
6659 ;; /run/current-system/profile/share.
6660 (substitute* '("libgdm/gdm-sessions.c"
6661 "daemon/gdm-session.c"
6662 "daemon/gdm-display.c"
6663 "daemon/gdm-launch-environment.c")
6664 (("DATADIR \"/x")
6665 "\"/run/current-system/profile/share/x")
6666 (("DATADIR \"/wayland")
6667 "\"/run/current-system/profile/share/wayland")
6668 (("DATADIR \"/gnome")
6669 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6670 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6671 "GDM_DBUS_DAEMON"
c9ff92b5 6672 "GDM_X_SERVER"
41fa9f18 6673 "GDM_X_SESSION"
c9ff92b5
TS
6674 ;; XXX: Remove this once GNOME Shell is
6675 ;; a dependency of GDM.
6676 "XDG_DATA_DIRS")))
6677 (substitute* "daemon/gdm-session.c"
6678 (("set_up_session_environment \\(self\\);")
6679 (apply string-append
6680 "set_up_session_environment (self);\n"
6681 (map (lambda (name)
6682 (string-append
6683 "gdm_session_set_environment_variable "
6684 "(self, \"" name "\","
6685 "g_getenv (\"" name "\"));\n"))
6686 propagate)))))
a430a350
TS
6687 ;; Find the configuration file using an environment variable.
6688 (substitute* '("common/gdm-settings.c")
e0e6756f 6689 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6690 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6691 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6692 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6693 ;; Use service-supplied path to X.
6694 (substitute* '("daemon/gdm-server.c")
6695 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6696 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6697 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6698 (("\"dbus-daemon\"")
6699 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6700 (("X_SERVER")
41fa9f18
TS
6701 "g_getenv (\"GDM_X_SERVER\")")
6702 (("GDMCONFDIR \"/Xsession\"")
6703 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6704 ;; Use an absolute path for GNOME Session.
6705 (substitute* "daemon/gdm-launch-environment.c"
6706 (("\"gnome-session\"")
6707 (string-append "\"" (assoc-ref inputs "gnome-session")
6708 "/bin/gnome-session\"")))
e8c6e771
TS
6709 ;; Do not automatically select the placeholder session.
6710 (substitute* "daemon/gdm-session.c"
6711 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6712 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6713 "(g_strcmp0(search_dirs[i], \""
6714 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6715 "\") == 0 && "
6716 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6717 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6718 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6719 #t))
8caa4589
TS
6720 ;; GDM requires that there be at least one desktop entry
6721 ;; file. This phase installs a hidden one that simply
6722 ;; fails. This enables users to use GDM with a
6723 ;; '~/.xsession' script with no other desktop entry files.
6724 ;; See <https://bugs.gnu.org/35068>.
6725 (add-after 'install 'install-placeholder-desktop-entry
6726 (lambda* (#:key inputs outputs #:allow-other-keys)
6727 (let* ((out (assoc-ref outputs "out"))
6728 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6729 (fail (string-append sessions "/fail.desktop")))
6730 (mkdir-p sessions)
6731 (with-output-to-file fail
6732 (lambda ()
6733 (for-each
6734 display
6735 '("[Desktop Entry]\n"
6736 "Encoding=UTF-8\n"
6737 "Type=Application\n"
6738 "Name=Fail\n"
6739 "Comment=This session fails immediately.\n"
6740 "NoDisplay=true\n"
6741 "Exec=false\n"))))
6742 #t)))
69544798
TS
6743 ;; GDM needs GNOME Session to run these applications. We link
6744 ;; their autostart files in `share/gdm/greeter/autostart'
6745 ;; because GDM explicitly tells GNOME Session to look there.
6746 ;;
6747 ;; XXX: GNOME Shell should be linked here too, but currently
6748 ;; GNOME Shell depends on GDM.
6749 (add-after 'install 'link-autostart-files
6750 (lambda* (#:key inputs outputs #:allow-other-keys)
6751 (let* ((out (assoc-ref outputs "out"))
6752 (autostart (string-append out "/share/gdm/"
6753 "greeter/autostart"))
6754 (settings (assoc-ref inputs "gnome-settings-daemon")))
6755 (mkdir-p autostart)
6756 (with-directory-excursion autostart
6757 (for-each (lambda (desktop)
6758 (symlink desktop (basename desktop)))
6759 (find-files (string-append settings "/etc/xdg"))))
6760 #t))))))
df12f04a
SB
6761 (native-inputs
6762 `(("dconf" ,dconf)
6763 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6764 ("gobject-introspection" ,gobject-introspection)
6765 ("intltool" ,intltool)
6766 ("itstool" ,itstool)
6767 ("pkg-config" ,pkg-config)
6768 ("xmllint" ,libxml2)))
6769 (inputs
6770 `(("accountsservice" ,accountsservice)
6771 ("check" ,check) ; for testing
6772 ("elogind" ,elogind)
def6d6b6 6773 ("gnome-session" ,gnome-session)
69544798 6774 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6775 ("gtk+" ,gtk+)
6776 ("iso-codes" ,iso-codes)
6777 ("libcanberra" ,libcanberra)
6778 ("linux-pam" ,linux-pam)))
6779 (synopsis "Display manager for GNOME")
f032d0be 6780 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6781 (description
6782 "GNOME Display Manager is a system service that is responsible for
6783providing graphical log-ins and managing local and remote displays.")
6784 (license license:gpl2+)))
8e1dd04f
SB
6785
6786(define-public libgtop
6787 (package
6788 (name "libgtop")
015fc036 6789 (version "2.40.0")
8e1dd04f
SB
6790 (source (origin
6791 (method url-fetch)
59487fc2 6792 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6793 (version-major+minor version) "/"
59487fc2 6794 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6795 (sha256
6796 (base32
015fc036 6797 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6798 (build-system gnu-build-system)
6799 (native-inputs
6800 `(("gobject-introspection" ,gobject-introspection)
6801 ("intltool" ,intltool)
6802 ("perl" ,perl)
6803 ("pkg-config" ,pkg-config)))
6804 (propagated-inputs
6805 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6806 (synopsis "Portable system access library")
6807 (home-page "https://www.gnome.org/")
6808 (description
6809 "LibGTop is a library to get system specific data such as CPU and memory
6810usage and information about running processes.")
6811 (license license:gpl2+)))
b96c4260
SB
6812
6813(define-public gnome-bluetooth
6814 (package
6815 (name "gnome-bluetooth")
723afae6 6816 (version "3.32.1")
b96c4260
SB
6817 (source (origin
6818 (method url-fetch)
6819 (uri (string-append "mirror://gnome/sources/" name "/"
6820 (version-major+minor version) "/"
6821 name "-" version ".tar.xz"))
6822 (sha256
6823 (base32
723afae6 6824 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6825 (build-system meson-build-system)
b96c4260
SB
6826 (native-inputs
6827 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6828 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6829 ("gobject-introspection" ,gobject-introspection)
6830 ("intltool" ,intltool)
6831 ("pkg-config" ,pkg-config)
6832 ("xmllint" ,libxml2)))
6833 (propagated-inputs
6834 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6835 `(("glib" ,glib)
6836 ("gtk+" ,gtk+)))
b96c4260 6837 (inputs
723afae6
KK
6838 `(("eudev" ,eudev)
6839 ("libcanberra" ,libcanberra)
b96c4260
SB
6840 ("libnotify" ,libnotify)))
6841 (synopsis "GNOME Bluetooth subsystem")
6842 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6843 (description
6844 "This package contains tools for managing and manipulating Bluetooth
6845devices using the GNOME desktop.")
6846 (license license:lgpl2.1+)))
b645146f
SB
6847
6848(define-public gnome-control-center
6849 (package
6850 (name "gnome-control-center")
a6938bac 6851 (version "3.32.2")
b645146f
SB
6852 (source (origin
6853 (method url-fetch)
6854 (uri (string-append "mirror://gnome/sources/" name "/"
6855 (version-major+minor version) "/"
6856 name "-" version ".tar.xz"))
6857 (sha256
6858 (base32
a6938bac 6859 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6860 (build-system meson-build-system)
b645146f 6861 (arguments
59dac026
RW
6862 '(#:glib-or-gtk? #t
6863 #:configure-flags
64c70430
KK
6864 (list "-Dcheese=false"
6865 (string-append "-Dgnome_session_libexecdir="
6866 (assoc-ref %build-inputs "gnome-session")
6867 "/libexec"))
59dac026 6868 #:phases
b645146f
SB
6869 (modify-phases %standard-phases
6870 (add-before 'configure 'patch-paths
6871 (lambda* (#:key inputs #:allow-other-keys)
6872 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6873 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6874 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6875 (nm-applet (assoc-ref inputs "network-manager-applet"))
6876 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6877 (substitute* "panels/datetime/tz.h"
6878 (("/usr/share/zoneinfo/zone.tab")
6879 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6880 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6881 (("/usr/share/locale")
6882 (string-append libc "/share/locale")))
1df38cfc
LC
6883 (substitute* "panels/region/cc-region-panel.c"
6884 (("\"gkbd-keyboard-display")
6885 (string-append "\"" libgnomekbd
6886 "/bin/gkbd-keyboard-display")))
341225ac
LC
6887 (substitute* '("panels/network/net-device-wifi.c"
6888 "panels/network/net-device.c"
6889 "panels/network/connection-editor/net-connection-editor.c")
6890 (("\"nm-connection-editor")
6891 (string-append "\"" nm-applet
6892 "/bin/nm-connection-editor")))
1acd107c
FP
6893 (substitute* '("panels/user-accounts/run-passwd.c")
6894 (("/usr/bin/passwd")
6895 "/run/setuid-programs/passwd"))
64c70430
KK
6896 (substitute* "panels/info/cc-info-overview-panel.c"
6897 (("DATADIR \"/gnome/gnome-version.xml\"")
6898 (string-append "\"" gnome-desktop
6899 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
6900 #t))))))
6901 (native-inputs
6902 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 6903 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
6904 ("intltool" ,intltool)
6905 ("pkg-config" ,pkg-config)
a6938bac
KK
6906 ("xsltproc" ,libxslt)
6907 ;; For tests
6908 ("hicolor-icon-theme" ,hicolor-icon-theme)
6909 ("python-dbusmock" ,python-dbusmock)
6910 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
6911 (inputs
6912 `(("accountsservice" ,accountsservice)
6913 ("clutter-gtk" ,clutter-gtk)
6914 ("colord-gtk" ,colord-gtk)
6915 ("cups" ,cups)
6916 ("dconf" ,dconf)
6917 ("docbook-xsl" ,docbook-xsl)
3446ffb5 6918 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
6919 ("gnome-bluetooth" ,gnome-bluetooth)
6920 ("gnome-desktop" ,gnome-desktop)
6921 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 6922 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 6923 ("gnome-session" ,gnome-session)
b645146f
SB
6924 ("gnome-settings-daemon" ,gnome-settings-daemon)
6925 ("grilo" ,grilo)
a6938bac 6926 ("gsound" ,gsound)
b645146f
SB
6927 ("ibus" ,ibus)
6928 ("libcanberra" ,libcanberra)
1df38cfc 6929 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
6930 ("libgudev" ,libgudev)
6931 ("libgtop" ,libgtop)
6932 ("libpwquality" ,libpwquality)
982c0b36 6933 ("libsecret" ,libsecret)
b645146f
SB
6934 ("libsoup" ,libsoup)
6935 ("libxml2" ,libxml2)
6936 ("libwacom" ,libwacom)
6937 ("mesa" ,mesa)
6938 ("mit-krb5" ,mit-krb5)
6939 ("modem-manager" ,modem-manager)
6940 ("network-manager-applet" ,network-manager-applet)
6941 ("polkit" ,polkit)
6942 ("pulseaudio" ,pulseaudio)
6943 ("smbclient" ,samba)
6944 ("tzdata" ,tzdata)
982c0b36 6945 ("udisks" ,udisks)
b645146f
SB
6946 ("upower" ,upower)))
6947 (synopsis "Utilities to configure the GNOME desktop")
6948 (home-page "https://www.gnome.org/")
6949 (description
6950 "This package contains configuration applets for the GNOME desktop,
6951allowing to set accessibility configuration, desktop fonts, keyboard and mouse
6952properties, sound setup, desktop theme and background, user interface
6953properties, screen resolution, and other GNOME parameters.")
6954 (license license:gpl2+)))
a4df5756
SB
6955
6956(define-public gnome-shell
6957 (package
6958 (name "gnome-shell")
d5e615ca 6959 (version "3.32.2")
a4df5756
SB
6960 (source (origin
6961 (method url-fetch)
6962 (uri (string-append "mirror://gnome/sources/" name "/"
6963 (version-major+minor version) "/"
6964 name "-" version ".tar.xz"))
6965 (sha256
6966 (base32
d5e615ca 6967 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
6968 (patches (search-patches "gnome-shell-theme.patch"))
6969 (modules '((guix build utils)))
6970 (snippet
6971 #~(begin
a76d0f03
LC
6972 ;; Copy images for use on the GDM log-in screen.
6973 (copy-file #$(file-append %artwork-repository
6974 "/slim/0.x/background.png")
6975 "data/theme/guix-background.png")
45fef894
LC
6976 (copy-file #$(file-append %artwork-repository
6977 "/logo/Guix-horizontal-white.svg")
6978 "data/theme/guix-logo.svg")
a76d0f03 6979 #t))))
2b0c755d 6980 (build-system meson-build-system)
a4df5756 6981 (arguments
08185081
MB
6982 `(#:glib-or-gtk? #t
6983 #:disallowed-references ((,glib "bin")
11e1df56
LC
6984 ,inkscape ,libxslt
6985 ,ruby-sass)
2b0c755d
RW
6986 #:configure-flags
6987 (list "-Dsystemd=false"
6988 ;; Otherwise, the RUNPATH will lack the final path component.
6989 (string-append "-Dc_link_args=-Wl,-rpath="
6990 (assoc-ref %outputs "out")
6991 "/lib/gnome-shell"))
11e1df56 6992
08185081 6993 #:modules ((guix build meson-build-system)
11e1df56
LC
6994 (guix build utils)
6995 (srfi srfi-1))
6996
2b0c755d 6997 #:phases
a4df5756 6998 (modify-phases %standard-phases
2b0c755d 6999 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7000 (lambda* (#:key outputs #:allow-other-keys)
7001 (let* ((out (assoc-ref outputs "out"))
7002 (keysdir (string-append
7003 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7004 (substitute* "meson.build"
7005 (("keysdir =.*")
7006 (string-append "keysdir = '" keysdir "'\n")))
7007 #t)))
ebfe259f
MB
7008 (add-before 'configure 'convert-logo-to-png
7009 (lambda* (#:key inputs #:allow-other-keys)
7010 ;; Convert the logo from SVG to PNG.
7011 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7012 "data/theme/guix-logo.svg")))
ba00235a 7013 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7014 (lambda* (#:key inputs #:allow-other-keys)
7015 (substitute* "js/misc/ibusManager.js"
7016 (("'ibus-daemon'")
7017 (string-append "'" (assoc-ref inputs "ibus")
7018 "/bin/ibus-daemon'")))
d6fda4d3
LC
7019 (substitute* "js/ui/status/keyboard.js"
7020 (("'gkbd-keyboard-display'")
7021 (string-append "'" (assoc-ref inputs "libgnomekbd")
7022 "/bin/gkbd-keyboard-display'")))
2472cdec 7023 #t))
2b0c755d
RW
7024 (add-before 'check 'pre-check
7025 (lambda* (#:key inputs #:allow-other-keys)
7026 ;; Tests require a running X server.
7027 (system "Xvfb :1 &")
7028 (setenv "DISPLAY" ":1")
7029 #t))
7030 (add-after 'install 'wrap-programs
7031 (lambda* (#:key inputs outputs #:allow-other-keys)
7032 (let ((out (assoc-ref outputs "out"))
7033 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7034 (python-path (getenv "PYTHONPATH")))
7035 (wrap-program (string-append out "/bin/gnome-shell")
7036 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7037 ;; FIXME: gnome-shell loads these libraries with unqualified
7038 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7039 ;; alternative might be to patch gnome-shell.
7040 `("LD_LIBRARY_PATH" ":" prefix
7041 ,(map (lambda (pkg)
7042 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7043 '("gdk-pixbuf"
7044 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7045 (for-each
7046 (lambda (prog)
7047 (wrap-program (string-append out "/bin/" prog)
7048 `("PYTHONPATH" ":" prefix (,python-path))
7049 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7050 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7051 #t)))
11e1df56
LC
7052 (replace 'glib-or-gtk-wrap
7053 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7054 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7055 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7056 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7057 ;; phase. Fix that since we don't need these.
7058 (wrap #:inputs (fold alist-delete inputs
7059 '("inkscape" "intltool" "glib:bin"))
7060 #:outputs outputs)))))))
a4df5756
SB
7061 (native-inputs
7062 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7063 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7064 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7065 ("inkscape" ,inkscape)
a4df5756
SB
7066 ("intltool" ,intltool)
7067 ("pkg-config" ,pkg-config)
7068 ("python" ,python)
2b0c755d
RW
7069 ("ruby-sass" ,ruby-sass)
7070 ("sassc" ,sassc)
a76d0f03 7071 ("xsltproc" ,libxslt)
2b0c755d 7072 ;; For tests
0b4504f6 7073 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7074 (inputs
7075 `(("accountsservice" ,accountsservice)
7076 ("caribou" ,caribou)
7077 ("docbook-xsl" ,docbook-xsl)
7078 ("evolution-data-server" ,evolution-data-server)
7079 ("gcr" ,gcr)
7080 ("gdm" ,gdm)
c5db31d4 7081 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7082 ("gjs" ,gjs)
7083 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7084 ("gnome-desktop" ,gnome-desktop)
7085 ("gnome-settings-daemon" ,gnome-settings-daemon)
7086 ("gst-plugins-base" ,gst-plugins-base)
7087 ("ibus" ,ibus)
7088 ("libcanberra" ,libcanberra)
7089 ("libcroco" ,libcroco)
d6fda4d3 7090 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7091 ("libgweather" ,libgweather)
7092 ("libsoup" ,libsoup)
7093 ("mesa-headers" ,mesa-headers)
7094 ("mutter" ,mutter)
7095 ("network-manager-applet" ,network-manager-applet)
7096 ("polkit" ,polkit)
7097 ("pulseaudio" ,pulseaudio)
7098 ("python-pygobject" ,python-pygobject)
7099 ("startup-notification" ,startup-notification)
7100 ("telepathy-logger" ,telepathy-logger)
7101 ("upower" ,upower)
30e760f0
MB
7102 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7103 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7104 ("librsvg" ,librsvg)
2b0c755d 7105 ("geoclue" ,geoclue)))
a4df5756
SB
7106 (synopsis "Desktop shell for GNOME")
7107 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7108 (description
7109 "GNOME Shell provides core user interface functions for the GNOME desktop,
7110like switching to windows and launching applications.")
7111 (license license:gpl2+)))
c3f29bc9
RS
7112
7113(define-public gtk-vnc
7114 (package
7115 (name "gtk-vnc")
965ff023 7116 (version "0.9.0")
c3f29bc9
RS
7117 (source
7118 (origin
7119 (method url-fetch)
7120 (uri (string-append "mirror://gnome/sources/" name "/"
7121 (version-major+minor version) "/"
7122 name "-" version ".tar.xz"))
7123 (sha256
7124 (base32
965ff023 7125 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7126 (build-system gnu-build-system)
7127 (arguments
7128 '(#:configure-flags '("--with-gtk=3.0")))
7129 (propagated-inputs
7130 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7131 (inputs
7132 `(("cyrus-sasl" ,cyrus-sasl)
7133 ("gnutls" ,gnutls)
7134 ("libgcrypt" ,libgcrypt)
7135 ("pulseaudio" ,pulseaudio)))
7136 (native-inputs
7137 `(("glib:bin" ,glib "bin")
7138 ("gobject-introspection" ,gobject-introspection)
7139 ("intltool" ,intltool)
7140 ("pkg-config" ,pkg-config)
2f17e939 7141 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7142 ("vala" ,vala)))
7143 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7144 (synopsis "VNC viewer widget for GTK+")
7145 (description
7146 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7147applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7148GTK-VNC implements client side RFB protocol and authentication extensions such
7149as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7150 (license license:lgpl2.1+)))
8b877545 7151
dc69fe18
MW
7152(define-public gnome-autoar
7153 (package
7154 (name "gnome-autoar")
c7da8510 7155 (version "0.2.3")
dc69fe18
MW
7156 (source (origin
7157 (method url-fetch)
7158 (uri (string-append "mirror://gnome/sources/" name "/"
7159 (version-major+minor version) "/"
7160 name "-" version ".tar.xz"))
7161 (sha256
7162 (base32
c7da8510 7163 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7164 (build-system glib-or-gtk-build-system)
7165 (native-inputs
7166 `(("gnome-common" ,gnome-common)
7167 ("gobject-introspection" ,gobject-introspection)
7168 ("pkg-config" ,pkg-config)))
7169 (propagated-inputs
7170 `(("libarchive" ,libarchive))) ; XXX document why
7171 (inputs
0a6e9e13 7172 `(("gtk+" ,gtk+)))
dc69fe18
MW
7173 (synopsis "Archives integration support for GNOME")
7174 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7175 (description
7176 "GNOME Autoar is a library which makes creating and extracting archives
7177easy, safe, and automatic.")
7178 (license license:lgpl2.1+)))
7179
b64e217f
MW
7180(define-public tracker
7181 (package
7182 (name "tracker")
5ada561c 7183 (version "2.2.2")
b64e217f
MW
7184 (source (origin
7185 (method url-fetch)
b5b0fd23 7186 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7187 (version-major+minor version) "/"
b5b0fd23 7188 "tracker-" version ".tar.xz"))
b64e217f
MW
7189 (sha256
7190 (base32
5ada561c
KK
7191 "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6"))))
7192 (build-system meson-build-system)
c8bdf589 7193 (arguments
5ada561c
KK
7194 `(#:glib-or-gtk? #t
7195 #:configure-flags
7196 ;; Otherwise, the RUNPATH will lack the final path component.
7197 (list (string-append "-Dc_link_args=-Wl,-rpath="
7198 (assoc-ref %outputs "out") "/lib:"
7199 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7200 #:phases
c8bdf589
RW
7201 (modify-phases %standard-phases
7202 (add-after 'unpack 'disable-broken-tests
7203 (lambda _
c8bdf589
RW
7204 ;; These fail because the SPARQL backend could not be loaded.
7205 ;; That's because /etc/machine-id is missing, but
7206 ;; DBUS_FATAL_WARNINGS does not help here.
5ada561c
KK
7207 (substitute* "tests/libtracker-sparql/meson.build"
7208 (("'sparql',") ""))
7209 (substitute* "tests/tracker-steroids/meson.build"
7210 (("test\\(.*") ""))
c8bdf589
RW
7211 #t))
7212 ;; Two tests fail if LANG is not set.
7213 (add-before 'check 'pre-check
7214 (lambda _
7215 (setenv "LANG" "en_US.UTF-8")
7216 ;; For the missing /etc/machine-id.
7217 (setenv "DBUS_FATAL_WARNINGS" "0")
7218 #t)))))
b64e217f 7219 (native-inputs
5ada561c
KK
7220 `(("glib:bin" ,glib "bin")
7221 ("gnome-common" ,gnome-common)
b64e217f 7222 ("gobject-introspection" ,gobject-introspection)
5ada561c 7223 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7224 ("intltool" ,intltool)
7225 ("pkg-config" ,pkg-config)
7226 ("vala" ,vala)))
7227 (inputs
7228 `(("gtk+" ,gtk+)
7229 ("dbus" ,dbus)
44ed6284 7230 ("sqlite" ,sqlite)
c8bdf589 7231 ("python" ,python)
b64e217f 7232 ("poppler" ,poppler)
b64e217f
MW
7233 ("libpng" ,libpng)
7234 ("libtiff" ,libtiff)
b64e217f 7235 ("zlib" ,zlib)
b64e217f 7236 ("libxml2" ,libxml2)
b64e217f 7237 ("libunistring" ,libunistring)
0ef48cd9 7238 ("json-glib" ,json-glib)
b64e217f 7239 ("openjpeg" ,openjpeg-1)
b64e217f 7240 ("libseccomp" ,libseccomp)
0ef48cd9 7241 ("libsoup" ,libsoup)
5ada561c
KK
7242 ("libuuid" ,util-linux)
7243 ("network-manager" ,network-manager)))
b64e217f
MW
7244 (synopsis "Metadata database, indexer and search tool")
7245 (home-page "https://wiki.gnome.org/Projects/Tracker")
7246 (description
7247 "Tracker is an advanced framework for first class objects with associated
7248metadata and tags. It provides a one stop solution for all metadata, tags,
7249shared object databases, search tools and indexing.")
7250 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7251 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7252 (license (list license:gpl2+
7253 license:lgpl2.1+
7254 license:lgpl2.0+))))
7255
03be9874
KK
7256(define-public tracker-miners
7257 (package
7258 (name "tracker-miners")
7259 (version "2.2.2")
7260 (source (origin
7261 (method url-fetch)
7262 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7263 (version-major+minor version)
7264 "/tracker-miners-" version ".tar.xz"))
7265 (sha256
7266 (base32
7267 "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw"))))
7268 (build-system meson-build-system)
7269 (arguments
7270 `(#:glib-or-gtk? #t
7271 #:configure-flags
7272 (list "-Dminer_rss=false" ; libgrss is required.
7273 ;; Ensure the RUNPATH contains all installed library locations.
7274 (string-append "-Dc_link_args=-Wl,-rpath="
7275 (assoc-ref %outputs "out")
7276 "/lib/tracker-miners-2.0")
7277 ;; TODO: Enable functional tests. Currently, the following error
7278 ;; appears:
7279 ;; Exception: The functional tests require DConf to be the default
7280 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7281 "-Dfunctional_tests=false")))
7282 (native-inputs
7283 `(("dbus" ,dbus)
7284 ("intltool" ,intltool)
7285 ("glib:bin" ,glib "bin")
7286 ("gobject-introspection" ,gobject-introspection)
7287 ("pkg-config" ,pkg-config)
7288 ("python-pygobject" ,python-pygobject)))
7289 (inputs
7290 `(("exempi" ,exempi)
7291 ("ffmpeg" ,ffmpeg)
7292 ("flac" ,flac)
7293 ("giflib" ,giflib)
7294 ("glib" ,glib)
7295 ("gstreamer" ,gstreamer)
7296 ("icu4c" ,icu4c)
7297 ("libcue" ,libcue)
7298 ("libexif" ,libexif)
7299 ("libgsf" ,libgsf)
7300 ("libgxps" ,libgxps)
7301 ("libiptcdata" ,libiptcdata)
7302 ("libjpeg" ,libjpeg)
7303 ("libosinfo" ,libosinfo)
7304 ("libpng" ,libpng)
7305 ("libseccomp" ,libseccomp)
7306 ("libtiff" ,libtiff)
7307 ("libvorbis" ,libvorbis)
7308 ("libxml2" ,libxml2)
7309 ("poppler" ,poppler)
7310 ("taglib" ,taglib)
7311 ("totem-pl-parser" ,totem-pl-parser)
7312 ("tracker" ,tracker)
7313 ("upower" ,upower)
7314 ("zlib" ,zlib)))
7315 (synopsis "Metadata database, indexer and search tool")
7316 (home-page "https://wiki.gnome.org/Projects/Tracker")
7317 (description
7318 "Tracker is an advanced framework for first class objects with associated
7319metadata and tags. It provides a one stop solution for all metadata, tags,
7320shared object databases, search tools and indexing.")
7321 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7322 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7323 (license (list license:gpl2+
7324 license:lgpl2.1+
7325 license:lgpl2.0+))))
7326
8b877545
RS
7327(define-public nautilus
7328 (package
7329 (name "nautilus")
d682c599 7330 (version "3.32.3")
8b877545
RS
7331 (source (origin
7332 (method url-fetch)
7333 (uri (string-append "mirror://gnome/sources/" name "/"
7334 (version-major+minor version) "/"
7335 name "-" version ".tar.xz"))
7336 (sha256
7337 (base32
d682c599 7338 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7339 (build-system meson-build-system)
8b877545 7340 (arguments
35e2d0cf 7341 '(#:glib-or-gtk? #t
8b877545
RS
7342 ;; XXX: FAIL: check-nautilus
7343 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7344 #:tests? #f))
7345 (native-inputs
35e2d0cf
R
7346 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7347 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7348 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7349 ("gobject-introspection" ,gobject-introspection)
7350 ("intltool" ,intltool)
7351 ("pkg-config" ,pkg-config)))
8b877545 7352 (inputs
8b877545 7353 `(("dconf" ,dconf)
caf6c363 7354 ("gexiv2" ,gexiv2)
dd05e731 7355 ("gvfs" ,gvfs)
8b877545
RS
7356 ("exempi" ,exempi)
7357 ("gnome-desktop" ,gnome-desktop)
09d88905 7358 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7359 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7360 ("libseccomp" ,libseccomp)
35e2d0cf 7361 ("libselinux" ,libselinux)
09d88905 7362 ("tracker" ,tracker)
3cafb9d4 7363 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7364 ;; XXX: gtk+ is required by libnautilus-extension.pc
7365 ;;
7366 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7367 ;; package. See:
7368 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7369 ("gtk+" ,gtk+)
8b877545
RS
7370 ("libexif" ,libexif)
7371 ("libxml2" ,libxml2)))
7372 (synopsis "File manager for GNOME")
7373 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7374 (description
7375 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7376design and behaviour, giving the user a simple way to navigate and manage its
7377files.")
7378 (license license:gpl2+)))
3c697ffd
JR
7379
7380(define-public baobab
7381 (package
7382 (name "baobab")
e0c5f20c 7383 (version "3.32.0")
3c697ffd
JR
7384 (source (origin
7385 (method url-fetch)
7386 (uri (string-append
7387 "mirror://gnome/sources/" name "/"
7388 (version-major+minor version) "/"
7389 name "-" version ".tar.xz"))
7390 (sha256
7391 (base32
e0c5f20c 7392 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7393 (build-system meson-build-system)
7394 (arguments
7395 '(#:glib-or-gtk? #t))
3c697ffd
JR
7396 (native-inputs
7397 `(("intltool" ,intltool)
7398 ("pkg-config" ,pkg-config)
d233d373
RJ
7399 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7400 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7401 ("itstool" ,itstool)
7402 ("xmllint" ,libxml2)
7403 ("glib" ,glib "bin")
7404 ("vala" ,vala)))
7405 (inputs
7406 `(("gtk+" ,gtk+)))
7407 (synopsis "Disk usage analyzer for GNOME")
7408 (description
7409 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7410usage in the GNOME desktop environment. It can easily scan device volumes or
7411a specific user-requested directory branch (local or remote). Once the scan
7412is complete it provides a graphical representation of each selected folder.")
7413 (home-page "https://wiki.gnome.org/Apps/Baobab")
7414 (license license:gpl2+)))
dc050251 7415
fdba447c
RS
7416(define-public gnome-backgrounds
7417 (package
7418 (name "gnome-backgrounds")
e04e8a8c 7419 (version "3.32.0")
fdba447c
RS
7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append "mirror://gnome/sources/" name "/"
7424 (version-major+minor version) "/"
7425 name "-" version ".tar.xz"))
7426 (sha256
7427 (base32
e04e8a8c 7428 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7429 (build-system meson-build-system)
fdba447c
RS
7430 (native-inputs
7431 `(("intltool" ,intltool)))
e04e8a8c 7432 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7433 (synopsis "Background images for the GNOME desktop")
7434 (description
7435 "GNOME backgrounds package contains a collection of graphics files which
7436can be used as backgrounds in the GNOME Desktop environment. Additionally,
7437the package creates the proper framework and directory structure so that you
7438can add your own files to the collection.")
7439 (license (list license:gpl2+
7440 license:cc-by2.0
7441 license:cc-by-sa2.0
7442 license:cc-by-sa3.0))))
7443
b784b1a9
RS
7444(define-public gnome-screenshot
7445 (package
7446 (name "gnome-screenshot")
6acf4033 7447 (version "3.32.0")
b784b1a9
RS
7448 (source
7449 (origin
7450 (method url-fetch)
7451 (uri (string-append "mirror://gnome/sources/" name "/"
7452 (version-major+minor version) "/"
7453 name "-" version ".tar.xz"))
7454 (sha256
7455 (base32
6acf4033 7456 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7457 (build-system meson-build-system)
b784b1a9
RS
7458 (native-inputs
7459 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7460 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7461 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7462 ("intltool" ,intltool)
8356aefa 7463 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7464 ("pkg-config" ,pkg-config)))
7465 (inputs
7466 `(("gtk+" ,gtk+)
7467 ("libcanberra" ,libcanberra)
7468 ("libx11" ,libx11)
7469 ("libxext" ,libxext)))
676e7cb4 7470 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7471 (synopsis "Take pictures of your screen")
7472 (description
7473 "GNOME Screenshot is a utility used for taking screenshots of the entire
7474screen, a window or a user defined area of the screen, with optional
7475beautifying border effects.")
7476 (license license:gpl2+)))
7477
66d59111
RS
7478(define-public dconf-editor
7479 (package
7480 (name "dconf-editor")
66261451 7481 (version "3.32.0")
66d59111
RS
7482 (source
7483 (origin
7484 (method url-fetch)
7485 (uri (string-append "mirror://gnome/sources/" name "/"
7486 (version-major+minor version) "/"
7487 name "-" version ".tar.xz"))
7488 (sha256
7489 (base32
66261451 7490 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7491 (build-system meson-build-system)
86f2124b
LC
7492 (arguments
7493 '(#:phases (modify-phases %standard-phases
7494 (add-before 'configure 'set-glib-minimum-version
7495 (lambda _
7496 ;; Change the minimum required GLib version so that
7497 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7498 ;; do that, it complains that "55" is not an even
7499 ;; number. See <https://bugs.gnu.org/37503>.
7500 (substitute* "editor/meson.build"
7501 (("2\\.55\\.1") "2.60.0"))
7502 #t)))))
66d59111
RS
7503 (native-inputs
7504 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7505 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7506 ("intltool" ,intltool)
294ff39d
RW
7507 ("pkg-config" ,pkg-config)
7508 ("vala" ,vala)))
66d59111
RS
7509 (inputs
7510 `(("dconf" ,dconf)
7511 ("gtk+" ,gtk+)
7512 ("libxml2" ,libxml2)))
7513 (home-page "https://git.gnome.org/browse/dconf-editor")
7514 (synopsis "Graphical editor for GNOME's dconf configuration system")
7515 (description
7516 "Dconf-editor is a graphical tool for browsing and editing the dconf
7517configuration system for GNOME. It allows users to configure desktop
7518software that do not provide their own configuration interface.")
7519 (license license:lgpl2.1+)))
7520
96d36f38
AW
7521(define-public gnome-default-applications
7522 (package
7523 (name "gnome-default-applications")
7524 (version "0")
7525 (build-system trivial-build-system)
7526 (source #f)
7527 (propagated-inputs
8ad4f0aa
LC
7528 `(("nautilus" ,nautilus)
7529 ("evince" ,evince)))
96d36f38
AW
7530 (arguments
7531 `(#:modules ((guix build utils))
7532 #:builder
7533 (begin
7534 (use-modules (guix build utils))
7535 (let* ((out (assoc-ref %outputs "out"))
7536 (apps (string-append out "/share/applications")))
7537 (mkdir-p apps)
7538 (call-with-output-file (string-append apps "/defaults.list")
7539 (lambda (port)
7540 (format port "[Default Applications]\n")
8ad4f0aa
LC
7541 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7542 (format port "application/pdf=evince.desktop\n")
7543 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7544 #t))))
7545 (synopsis "Default MIME type associations for the GNOME desktop")
7546 (description
7547 "Given many installed packages which might handle a given MIME type, a
7548user running the GNOME desktop probably has some preferences: for example,
7549that folders be opened by default by the Nautilus file manager, not the Baobab
7550disk usage analyzer. This package establishes that set of default MIME type
7551associations for GNOME.")
7552 (license license:gpl3+)
7553 (home-page #f)))
7554
dc050251
SB
7555(define-public gnome
7556 (package
7557 (name "gnome")
7558 (version (package-version gnome-shell))
7559 (source #f)
7560 (build-system trivial-build-system)
e3cfef22 7561 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7562 (propagated-inputs
8d8c6bff 7563 ;; TODO: Add or remove packages according to:
a8cda7f5 7564 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7565 `(
8d8c6bff 7566 ;; GNOME-Core-OS-Services
7922b6f7 7567 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7568 ("network-manager" ,network-manager)
7569 ("packagekit" ,packagekit)
7570 ("upower" ,upower)
7571 ;; GNOME-Core-Shell
7572 ("adwaita-icon-theme" ,adwaita-icon-theme)
7573 ("gdm" ,gdm)
7574 ("glib-networking" ,glib-networking)
7575 ("gnome-backgrounds" ,gnome-backgrounds)
7576 ("gnome-bluetooth" ,gnome-bluetooth)
7577 ("gnome-control-center" ,gnome-control-center)
7578 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7579 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
8d8c6bff 7580 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7581 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7582 ("gnome-session" ,gnome-session)
7583 ("gnome-settings-daemon" ,gnome-settings-daemon)
7584 ("gnome-shell-extensions" ,gnome-shell-extensions)
7585 ("gnome-shell" ,gnome-shell)
7586 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7587 ("gnome-user-docs" ,gnome-user-docs)
a8cda7f5 7588 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7589 ("gvfs" ,gvfs)
7590 ("mutter" ,mutter)
7591 ("orca" ,orca)
7592 ;; GNOME-Core-Utilities
7593 ("baobab" ,baobab)
7594 ("cheese" ,cheese)
7595 ("eog" ,eog)
7596 ("epiphany" ,epiphany)
7597 ("evince" ,evince)
7598 ("file-roller" ,file-roller)
7599 ("gedit" ,gedit)
7600 ("gnome-calculator" ,gnome-calculator)
7601 ("gnome-calendar" ,gnome-calendar)
7602 ("gnome-characters" ,gnome-characters)
7603 ("gnome-clocks" ,gnome-clocks)
7604 ("gnome-contacts" ,gnome-contacts)
7605 ("gnome-disk-utility" ,gnome-disk-utility)
7606 ("gnome-font-viewer" ,gnome-font-viewer)
7607 ("gnome-maps" ,gnome-maps)
7608 ("gnome-screenshot" ,gnome-screenshot)
7609 ("gnome-system-monitor" ,gnome-system-monitor)
7610 ("gnome-terminal" ,gnome-terminal)
7611 ("nautilus" ,nautilus)
7612 ("simple-scan" ,simple-scan)
7613 ("totem" ,totem)
7922b6f7
RG
7614 ("yelp" ,yelp)
7615 ;; Others
7616 ("hicolor-icon-theme" ,hicolor-icon-theme)
7617 ("gnome-online-accounts" ,gnome-online-accounts)))
fe4e698d 7618 (synopsis "The GNU desktop environment")
dc050251
SB
7619 (home-page "https://www.gnome.org/")
7620 (description
fe4e698d
LC
7621 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7622applications for browsing the web, editing text and images, creating
7623documents and diagrams, playing media, scanning, and much more.")
dc050251 7624 (license license:gpl2+)))
4a526711
DT
7625
7626(define-public byzanz
7627 ;; The last stable release of Byzanz was in 2011, but there have been many
7628 ;; useful commits made to the Byzanz repository since then that it would be
7629 ;; silly to use such an old release.
7630 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7631 (package
7632 (name "byzanz")
7633 (version (string-append "0.2-1." (string-take commit 7)))
7634 (source (origin
7635 (method git-fetch)
7636 (uri (git-reference
5f13bf09 7637 (url "https://git.gnome.org/browse/byzanz")
4a526711 7638 (commit commit)))
5a6527e4 7639 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7640 (sha256
7641 (base32
7642 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7643 (build-system glib-or-gtk-build-system)
7644 (arguments
7645 '(#:phases
7646 (modify-phases %standard-phases
189be331 7647 (replace 'bootstrap
4a526711
DT
7648 (lambda _
7649 ;; The build system cleverly detects that we're not building from
7650 ;; a release tarball and turns on -Werror for GCC.
7651 ;; Unsurprisingly, there is a warning during compilation that
7652 ;; causes the build to fail unnecessarily, so we remove the flag.
7653 (substitute* '("configure.ac")
7654 (("-Werror") ""))
7655 ;; The autogen.sh script in gnome-common will run ./configure
7656 ;; by default, which is problematic because source shebangs
7657 ;; have not yet been patched.
7658 (setenv "NOCONFIGURE" "t")
7659 (zero? (system* "sh" "autogen.sh")))))))
7660 (native-inputs
7661 `(("autoconf" ,autoconf)
7662 ("automake" ,automake)
7663 ("gnome-common" ,gnome-common)
7664 ("intltool" ,intltool)
7665 ("libtool" ,libtool)
7666 ("pkg-config" ,pkg-config)
7667 ("which" ,which)))
7668 (inputs
7669 `(("glib" ,glib)
7670 ("gstreamer" ,gstreamer)
7671 ("gst-plugins-base" ,gst-plugins-base)
7672 ("gtk+" ,gtk+)))
7673 (synopsis "Desktop recording program")
7674 (description "Byzanz is a simple desktop recording program with a
7675command-line interface. It can record part or all of an X display for a
7676specified duration and save it as a GIF encoded animated image file.")
7677 (home-page "https://git.gnome.org/browse/byzanz")
7678 (license license:gpl2+))))
3a9a4c51 7679
0ec171ec
MS
7680(define-public gsound
7681 (package
7682 (name "gsound")
7683 (version "1.0.2")
7684 (source (origin
7685 (method url-fetch)
7686 (uri (string-append "mirror://gnome/sources/" name "/"
7687 (version-major+minor version) "/"
7688 name "-" version ".tar.xz"))
7689 (sha256
7690 (base32
7691 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7692 (build-system glib-or-gtk-build-system)
7693 (native-inputs
7694 `(("pkg-config" ,pkg-config)
7695 ("gobject-introspection" ,gobject-introspection)
7696 ("vala" ,vala)))
7697 (inputs
7698 `(("glib" ,glib)
7699 ("libcanberra" ,libcanberra)))
7700 (home-page "https://wiki.gnome.org/Projects/GSound")
7701 (synopsis "GObject wrapper for libcanberra")
7702 (description
7703 "GSound is a small library for playing system sounds. It's designed to be
7704used via GObject Introspection, and is a thin wrapper around the libcanberra C
7705library.")
7706 (license license:lgpl2.1+)))
7707
3a9a4c51
RS
7708(define-public libzapojit
7709 (package
7710 (name "libzapojit")
7711 (version "0.0.3")
7712 (source (origin
7713 (method url-fetch)
7714 (uri (string-append "mirror://gnome/sources/" name "/"
7715 (version-major+minor version) "/"
7716 name "-" version ".tar.xz"))
7717 (sha256
7718 (base32
7719 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7720 (build-system gnu-build-system)
7721 (native-inputs
7722 `(("gobject-introspection" ,gobject-introspection)
7723 ("intltool" ,intltool)
7724 ("pkg-config" ,pkg-config)))
7725 (inputs
14c297fd 7726 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7727 ("json-glib" ,json-glib)
7728 ("rest" ,rest)))
7729 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7730 (synopsis "Library for accessing SkyDrive and Hotmail")
7731 (description
7732 "Libzapojit is a GLib-based library for accessing online service APIs of
7733Microsoft SkyDrive and Hotmail, using their REST protocols.")
7734 (license license:lgpl2.1+)))
9365ee1c 7735
60e2a9ae
MS
7736(define-public gnome-clocks
7737 (package
7738 (name "gnome-clocks")
c76d0dbc 7739 (version "3.32.0")
60e2a9ae
MS
7740 (source (origin
7741 (method url-fetch)
7742 (uri (string-append "mirror://gnome/sources/" name "/"
7743 (version-major+minor version) "/"
7744 name "-" version ".tar.xz"))
7745 (sha256
7746 (base32
c76d0dbc 7747 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7748 (build-system meson-build-system)
7749 (arguments
7750 '(#:glib-or-gtk? #t))
7751 (native-inputs
7752 `(("vala" ,vala)
7753 ("pkg-config" ,pkg-config)
7754 ("glib" ,glib "bin") ; for glib-compile-resources
7755 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7756 ("desktop-file-utils" ,desktop-file-utils)
7757 ("gettext" ,gettext-minimal)
7758 ("itstool" ,itstool)))
7759 (inputs
7760 `(("glib" ,glib)
7761 ("gtk+" ,gtk+)
7762 ("gsound" ,gsound)
7763 ("geoclue" ,geoclue)
7764 ("geocode-glib" ,geocode-glib)
7765 ("libgweather" ,libgweather)
7766 ("gnome-desktop" ,gnome-desktop)))
7767 (home-page "https://wiki.gnome.org/Apps/Clocks")
7768 (synopsis "GNOME's clock application")
7769 (description
7770 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7771desktop. It supports world clock, stop watch, alarms, and count down timer.")
7772 (license license:gpl3+)))
7773
3c474897
KY
7774(define-public gnome-calendar
7775 (package
7776 (name "gnome-calendar")
339b59bf 7777 (version "3.32.2")
3c474897
KY
7778 (source (origin
7779 (method url-fetch)
7780 (uri (string-append "mirror://gnome/sources/" name "/"
7781 (version-major+minor version) "/"
7782 name "-" version ".tar.xz"))
7783 (sha256
7784 (base32
339b59bf 7785 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7786 (build-system meson-build-system)
7787 (arguments
7788 '(#:glib-or-gtk? #t
7789 ;; gnome-calendar has to be installed before the tests can be run
7790 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
7791 #:tests? #f))
3c474897 7792 (native-inputs
a49d3e37
MS
7793 `(("gettext" ,gettext-minimal)
7794 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
7795 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
7796 ("pkg-config" ,pkg-config)))
7797 (inputs
a49d3e37 7798 `(("evolution-data-server" ,evolution-data-server)
14c297fd 7799 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
7800 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7801 ("libdazzle" ,libdazzle)
b63c06f1 7802 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
7803 ("libgweather" ,libgweather)
7804 ("geoclue" ,geoclue)))
3c474897
KY
7805 (home-page "https://wiki.gnome.org/Apps/Calendar")
7806 (synopsis "GNOME's calendar application")
7807 (description
7808 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 7809desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
7810 (license license:gpl3+)))
7811
57b14665
MS
7812(define-public gnome-todo
7813 (package
7814 (name "gnome-todo")
9f3c6c88 7815 (version "3.28.1")
57b14665
MS
7816 (source (origin
7817 (method url-fetch)
7818 (uri (string-append "mirror://gnome/sources/" name "/"
7819 (version-major+minor version) "/"
7820 name "-" version ".tar.xz"))
7821 (sha256
7822 (base32
9f3c6c88 7823 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
7824 (build-system meson-build-system)
7825 (arguments
7826 '(#:glib-or-gtk? #t
7827 #:phases (modify-phases %standard-phases
7828 (add-after
7829 'install 'wrap-gnome-todo
7830 (lambda* (#:key inputs outputs #:allow-other-keys)
7831 (let ((out (assoc-ref outputs "out"))
7832 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7833 (python-path (getenv "PYTHONPATH")))
7834 (wrap-program (string-append out "/bin/gnome-todo")
7835 ;; XXX: gi plugins are broken.
7836 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
7837 ;; For plugins.
7838 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7839 `("PYTHONPATH" ":" prefix (,python-path))))
7840 #t)))))
7841 (native-inputs
7842 `(("gettext" ,gettext-minimal)
7843 ("gobject-introspection" ,gobject-introspection)
7844 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7845 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7846 ("pkg-config" ,pkg-config)))
7847 (inputs
7848 `(("rest" ,rest) ; For Todoist plugin
7849 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 7850 ("libedataserverui" ,evolution-data-server)
57b14665
MS
7851 ("libical" ,libical)
7852 ("libpeas" ,libpeas)
7853 ("python-pygobject" ,python-pygobject)
7854 ("evolution-data-server" ,evolution-data-server)
14c297fd 7855 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
7856 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
7857 (home-page "https://wiki.gnome.org/Apps/Todo")
7858 (synopsis "GNOME's ToDo Application")
7859 (description
7860 "GNOME To Do is a simplistic personal task manager designed to perfectly
7861fit the GNOME desktop.")
7862 (license license:gpl3+)))
7863
ab179eaf
SB
7864(define-public gnome-dictionary
7865 (package
7866 (name "gnome-dictionary")
cf81ddef 7867 (version "3.26.1")
ab179eaf
SB
7868 (source (origin
7869 (method url-fetch)
7870 (uri (string-append "mirror://gnome/sources/" name "/"
7871 (version-major+minor version) "/"
7872 name "-" version ".tar.xz"))
7873 (sha256
7874 (base32
cf81ddef
LC
7875 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
7876 (build-system meson-build-system)
2776b5d5
MB
7877 (arguments '(#:glib-or-gtk? #t
7878 #:phases (modify-phases %standard-phases
7879 (add-after 'unpack 'patch-install-script
7880 (lambda _
7881 ;; This script attempts to compile glib schemas
7882 ;; and create an empty MIME database. We do
7883 ;; that elsewhere, so prevent it from running.
7884 (substitute* "build-aux/post-install.sh"
7885 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
7886 #t)))))
ab179eaf
SB
7887 (native-inputs
7888 `(("glib:bin" ,glib "bin")
7889 ("gobject-introspection" ,gobject-introspection)
7890 ("intltool" ,intltool)
7891 ("itstool" ,itstool)
7892 ("pkg-config" ,pkg-config)
7893 ("xmllint" ,libxml2)))
7894 (inputs
7895 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7896 ("gtk+" ,gtk+)))
7897 (home-page "https://wiki.gnome.org/Apps/Dictionary")
7898 (synopsis "Look up words in dictionary sources")
7899 (description
7900 "GNOME Dictionary can look for the definition or translation of a word in
7901existing databases over the internet.")
7902 (license license:gpl3+)))
7903
d13f3a03 7904(define-public gnome-tweaks
9365ee1c 7905 (package
d13f3a03 7906 (name "gnome-tweaks")
652af676 7907 (version "3.32.0")
9365ee1c
JN
7908 (source (origin
7909 (method url-fetch)
d13f3a03 7910 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 7911 (version-major+minor version) "/"
d13f3a03
RW
7912 "gnome-tweaks-" version ".tar.xz"))
7913 (patches
7914 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
7915 (sha256
7916 (base32
652af676 7917 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 7918 (build-system meson-build-system)
9365ee1c 7919 (arguments
d13f3a03
RW
7920 `(#:glib-or-gtk? #t
7921 #:configure-flags '("-Dlocalstatedir=/tmp"
7922 "-Dsysconfdir=/tmp")
9365ee1c 7923 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
7924 ,@%meson-build-system-modules)
7925 #:phases
7926 (modify-phases %standard-phases
7927 (add-after 'install 'wrap
7928 (@@ (guix build python-build-system) wrap))
7929 (add-after 'wrap 'wrap-gi-typelib
7930 (lambda* (#:key inputs outputs #:allow-other-keys)
7931 (let ((out (assoc-ref outputs "out"))
7932 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7933 (wrap-program (string-append out "/bin/gnome-tweaks")
7934 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7935 #t)))))
9365ee1c 7936 (native-inputs
c7fc414e
RH
7937 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7938 ("intltool" ,intltool)
9365ee1c
JN
7939 ("pkg-config" ,pkg-config)))
7940 (inputs
c7fc414e
RH
7941 `(("gnome-desktop" ,gnome-desktop)
7942 ("gtk+" ,gtk+)
9365ee1c
JN
7943 ("gobject-introspection" ,gobject-introspection)
7944 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
7945 ("libnotify" ,libnotify)
7946 ("libsoup" ,libsoup)
7947 ("nautilus" ,nautilus)
7948 ("python" ,python)
7949 ("python-pygobject" ,python-pygobject)))
9365ee1c 7950 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 7951 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 7952 (description
d13f3a03 7953 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
7954GNOME 3. This includes things like the fonts used in user interface elements,
7955alternative user interface themes, changes in window management behavior,
7956GNOME Shell appearance and extension, etc.")
7957 (license license:gpl3+)))
813f814a 7958
d13f3a03
RW
7959;; This package has been renamed by upstream.
7960(define-public gnome-tweak-tool
7961 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
7962
32ac717c
DT
7963(define-public gnome-shell-extensions
7964 (package
7965 (name "gnome-shell-extensions")
ae4c05e0 7966 (version "3.32.1")
32ac717c
DT
7967 (source (origin
7968 (method url-fetch)
7969 (uri (string-append "mirror://gnome/sources/" name "/"
7970 (version-major+minor version) "/"
7971 name "-" version ".tar.xz"))
7972 (sha256
7973 (base32
ae4c05e0 7974 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 7975 (build-system meson-build-system)
32ac717c 7976 (arguments
100f625b 7977 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 7978 (native-inputs
c9ea8873
LP
7979 `(("glib:bin" ,glib "bin")
7980 ("intltool" ,intltool)
32ac717c
DT
7981 ("pkg-config" ,pkg-config)))
7982 (propagated-inputs
c9ea8873 7983 `(("glib" ,glib)))
32ac717c
DT
7984 (synopsis "Extensions for GNOME Shell")
7985 (description "GNOME Shell extensions modify and extend GNOME Shell
7986functionality and behavior.")
7987 (home-page "https://extensions.gnome.org/")
7988 (license license:gpl3+)))
7989
813f814a
DT
7990(define-public arc-theme
7991 (package
7992 (name "arc-theme")
37781323 7993 (version "20190917")
813f814a 7994 (source (origin
a18f8eaf
BH
7995 (method git-fetch)
7996 (uri (git-reference
7997 (url "https://github.com/NicoHood/arc-theme.git")
7998 (commit version)))
7999 (file-name (git-file-name name version))
813f814a
DT
8000 (sha256
8001 (base32
37781323 8002 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8003 (build-system gnu-build-system)
d88884fa
EF
8004 (arguments
8005 '(#:phases
8006 (modify-phases %standard-phases
8007 ;; autogen.sh calls configure at the end of the script.
8008 (replace 'bootstrap
8009 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
8010 (native-inputs
8011 `(("autoconf" ,autoconf)
8012 ("automake" ,automake)
a18f8eaf
BH
8013 ("glib" ,glib "bin") ; for glib-compile-resources
8014 ("gnome-shell" ,gnome-shell)
8015 ("gtk+" ,gtk+)
8016 ("inkscape" ,inkscape)
8017 ("optipng" ,optipng)
8018 ("pkg-config" ,pkg-config)
8019 ("sassc" ,sassc)))
813f814a
DT
8020 (synopsis "A flat GTK+ theme with transparent elements")
8021 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
80222, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8023like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8024 (home-page "https://github.com/horst3180/arc-theme")
8025 ;; No "or later" language found.
a18f8eaf 8026 (license license:gpl3+)))
9987c57c 8027
d935e6a1 8028(define-public faba-icon-theme
9987c57c 8029 (package
d935e6a1 8030 (name "faba-icon-theme")
2eee7ee3 8031 (version "4.3")
d935e6a1
BT
8032 (source
8033 (origin
757e4027
TGR
8034 (method git-fetch)
8035 (uri (git-reference
8036 (url "https://github.com/snwh/faba-icon-theme.git")
8037 (commit (string-append "v" version))))
8038 (file-name (git-file-name name version))
d935e6a1 8039 (sha256
757e4027 8040 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8041 (build-system meson-build-system)
9987c57c 8042 (arguments
82da291a 8043 `(#:phases
9987c57c 8044 (modify-phases %standard-phases
82da291a 8045 (add-before 'configure 'disable-post-install
9987c57c 8046 (lambda _
82da291a
JL
8047 (substitute* "meson.build"
8048 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8049 (native-inputs
8050 `(("autoconf" ,autoconf)
8051 ("automake" ,automake)))
d935e6a1
BT
8052 (synopsis "Faba icon theme")
8053 (description
8054 "Faba is a minimal icon set used as a basis for other themes such as
8055Moka")
8056 (home-page "https://snwh.org/moka")
8057 (license (list license:lgpl3+
8058 license:cc-by-sa4.0))))
8059
9987c57c
DT
8060(define-public moka-icon-theme
8061 (package
8b0e4177 8062 (inherit faba-icon-theme)
9987c57c 8063 (name "moka-icon-theme")
105a3625 8064 (version "5.4.0")
8c3f2170
TGR
8065 (source
8066 (origin
8067 (method git-fetch)
8068 (uri (git-reference
8069 (url "https://github.com/snwh/moka-icon-theme.git")
8070 (commit (string-append "v" version))))
8071 (file-name (git-file-name name version))
8072 (sha256
8073 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8074 (propagated-inputs
8075 ;; Moka is based on Faba by using it as a fallback icon set instead of
8076 ;; bundling it, so we need to add it as a propagated input.
8077 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8078 (synopsis "Moka icon theme")
8079 (description "Moka is a stylized desktop icon set, designed to be clear,
8080simple and consistent.")
fedde43b
BT
8081 (license (list license:gpl3+
8082 license:cc-by-sa4.0))))
6fd8f8d6
DT
8083
8084(define-public arc-icon-theme
8085 (package
8086 (name "arc-icon-theme")
c4180240 8087 (version "20161122")
bbf66cbf
TGR
8088 (source
8089 (origin
8090 (method git-fetch)
8091 (uri (git-reference
8092 (url "https://github.com/horst3180/arc-icon-theme.git")
8093 (commit version)))
8094 (file-name (git-file-name name version))
8095 (sha256
8096 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8097 (build-system gnu-build-system)
9e1ede95
JL
8098 (arguments
8099 `(#:phases
8100 (modify-phases %standard-phases
8101 (add-after 'unpack 'disable-configure-during-bootstrap
8102 (lambda _
8103 (substitute* "autogen.sh"
8104 (("^\"\\$srcdir/configure\".*") ""))
8105 #t)))))
6fd8f8d6
DT
8106 (native-inputs
8107 `(("autoconf" ,autoconf)
8108 ("automake" ,automake)))
8109 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8110 (propagated-inputs
8111 `(("moka-icon-theme" ,moka-icon-theme)))
8112 (synopsis "Arc icon theme")
8113 (description "The Arc icon theme provides a set of icons matching the
8114style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8115the Moka icon theme.")
8116 (home-page "https://github.com/horst3180/arc-icon-theme")
8117 (license license:gpl3+)))
6064a4e8
LF
8118
8119(define-public folks
8120 (package
8121 (name "folks")
d23495fa 8122 (version "0.11.4")
6064a4e8
LF
8123 (source (origin
8124 (method url-fetch)
8125 (uri (string-append
e5f4796e 8126 "mirror://gnome/sources/folks/"
6064a4e8 8127 (version-major+minor version) "/"
e5f4796e 8128 "folks-" version ".tar.xz"))
6064a4e8
LF
8129 (sha256
8130 (base32
d23495fa 8131 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8132 (build-system glib-or-gtk-build-system)
8133 (inputs
8134 `(("bdb" ,bdb)
8135 ("dbus-glib" ,dbus-glib)
8136 ("evolution-data-server" ,evolution-data-server)
8137 ("glib" ,glib)
8138 ("libgee" ,libgee)
8139 ("telepathy-glib" ,telepathy-glib)))
8140 (native-inputs
8141 `(("gobject-introspection" ,gobject-introspection)
8142 ("intltool" ,intltool)
8143 ("pkg-config" ,pkg-config)
8144 ("vala" ,vala)))
8145 (synopsis "Library to aggregate data about people")
8146 (description "Libfolks is a library that aggregates information about people
8147from multiple sources (e.g., Telepathy connection managers for IM contacts,
8148Evolution Data Server for local contacts, libsocialweb for web service contacts,
8149etc.) to create metacontacts. It's written in Vala, which generates C code when
8150compiled.")
8151 (home-page "https://wiki.gnome.org/Projects/Folks")
8152 (license license:lgpl2.1+)))
01ea778f
LF
8153
8154(define-public gfbgraph
8155 (package
8156 (name "gfbgraph")
8157 (version "0.2.3")
8158 (source (origin
8159 (method url-fetch)
8160 (uri (string-append
237d4cf7 8161 "mirror://gnome/sources/gfbgraph/"
01ea778f 8162 (version-major+minor version) "/"
237d4cf7 8163 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8164 (sha256
8165 (base32
8166 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8167 (build-system glib-or-gtk-build-system)
8168 (arguments
8169 `(#:tests? #f ; Tests appear to require the network.
8170 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8171 #:configure-flags '("--disable-gtk-doc"
8172 "--disable-static"
8173 "--enable-introspection")))
8174 (native-inputs
8175 `(("pkg-config" ,pkg-config)
8176 ("gobject-introspection" ,gobject-introspection)))
8177 (inputs
8178 `(("json-glib" ,json-glib)
14c297fd 8179 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8180 ("rest" ,rest)))
8181 (synopsis "GLib/GObject wrapper for the Facebook API")
8182 (description "This library allows you to use the Facebook API from
8183GLib/GObject code.")
8184 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8185 (license license:lgpl2.1+)))
3920868c 8186
8187(define-public libgnomekbd
8188 (package
8189 (name "libgnomekbd")
70f2b0f9 8190 (version "3.26.1")
3920868c 8191 (source (origin
8192 (method url-fetch)
d47fa82d 8193 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8194 (version-major+minor version) "/"
d47fa82d 8195 "libgnomekbd-" version ".tar.xz"))
3920868c 8196 (sha256
8197 (base32
70f2b0f9 8198 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8199 (build-system gnu-build-system)
8200 (native-inputs
8201 `(("pkg-config" ,pkg-config)
8202 ("glib" ,glib "bin")
8203 ("intltool" ,intltool)))
8204 (propagated-inputs
8205 ;; Referred to in .h files and .pc.
8206 `(("glib" ,glib)
8207 ("gtk+" ,gtk+)
8208 ("libxklavier" ,libxklavier)))
8209 (home-page "https://www.gnome.org")
8210 (synopsis "GNOME keyboard configuration library")
8211 (description
8212 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8213environment, which can notably display keyboard layouts.")
8214 (license license:lgpl2.0+)))
85327d0d 8215
8216;;; This package is no longer maintained:
8217;;; https://wiki.gnome.org/Attic/LibUnique
8218;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8219;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8220(define-public libunique
8221 (package
8222 (name "libunique")
8223 (version "3.0.2")
8224 (source (origin
8225 (method url-fetch)
8226 (uri (string-append "mirror://gnome/sources/" name "/"
8227 (version-major+minor version) "/"
8228 name "-" version ".tar.xz"))
8229 (sha256
8230 (base32
8231 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8232 (build-system glib-or-gtk-build-system)
8233 (arguments
8234 `(#:configure-flags '("--disable-static"
8235 "--disable-dbus" ; use gdbus
8236 "--enable-introspection")))
8237 (native-inputs
8238 `(("pkg-config" ,pkg-config)
8239 ("gobject-introspection" ,gobject-introspection)
8240 ("glib:bin" ,glib "bin")
8241 ("gtk-doc" ,gtk-doc)))
8242 (propagated-inputs
8243 ;; Referred to in .h files and .pc.
8244 `(("gtk+" ,gtk+)))
8245 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8246 (synopsis "Library for writing single instance applications")
8247 (description
8248 "Libunique is a library for writing single instance applications. If you
8249launch a single instance application twice, the second instance will either just
8250quit or will send a message to the running instance. Libunique makes it easy to
8251write this kind of application, by providing a base class, taking care of all
8252the IPC machinery needed to send messages to a running instance, and also
8253handling the startup notification side.")
8254 (license license:lgpl2.1+)))
54021cd8
RS
8255
8256(define-public gnome-calculator
8257 (package
8258 (name "gnome-calculator")
07ace641 8259 (version "3.32.2")
54021cd8
RS
8260 (source
8261 (origin
8262 (method url-fetch)
8263 (uri (string-append "mirror://gnome/sources/" name "/"
8264 (version-major+minor version) "/"
8265 name "-" version ".tar.xz"))
8266 (sha256
8267 (base32
07ace641 8268 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8269 (build-system meson-build-system)
8270 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8271 (native-inputs
8272 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8273 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8274 ("intltool" ,intltool)
8275 ("itstool" ,itstool)
2d475910 8276 ("vala" ,vala)
54021cd8
RS
8277 ("pkg-config" ,pkg-config)))
8278 (inputs
112e9083 8279 `(("glib" ,glib)
07ace641 8280 ("gtksourceview" ,gtksourceview)
54021cd8 8281 ("libsoup" ,libsoup)
112e9083 8282 ("libxml2" ,libxml2)
2c2da7ec 8283 ("mpc" ,mpc)
54021cd8
RS
8284 ("mpfr" ,mpfr)))
8285 (home-page "https://wiki.gnome.org/Apps/Calculator")
8286 (synopsis "Desktop calculator")
8287 (description
8288 "Calculator is an application that solves mathematical equations and
8289is suitable as a default application in a Desktop environment.")
8290 (license license:gpl3)))
0bd69759
RS
8291
8292(define-public xpad
8293 (package
8294 (name "xpad")
c85626bb 8295 (version "5.1.0")
0bd69759
RS
8296 (source
8297 (origin
8298 (method url-fetch)
08fda9c6
R
8299 (uri (string-append "https://launchpad.net/xpad/trunk/"
8300 version "/+download/"
0bd69759
RS
8301 name "-" version ".tar.bz2"))
8302 (sha256
8303 (base32
c85626bb 8304 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8305 (build-system gnu-build-system)
8306 (native-inputs
08fda9c6
R
8307 `(("autoconf" ,autoconf)
8308 ("automake" ,automake)
8309 ("gtk+:bin" ,gtk+ "bin")
8310 ("intltool" ,intltool)
0bd69759
RS
8311 ("pkg-config" ,pkg-config)))
8312 (inputs
c72647fb 8313 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8314 ("libsm" ,libsm)))
8315 (home-page "https://wiki.gnome.org/Apps/Xpad")
8316 (synopsis "Virtual sticky note")
8317 (description
8318 "Xpad is a sticky note that strives to be simple, fault tolerant,
8319and customizable. Xpad consists of independent pad windows, each is
8320basically a text box in which notes can be written.")
8321 (license license:gpl3+)))
3ad7dce1
RS
8322
8323(define-public gucharmap
c60063ea
RW
8324 (let ((unicode-files
8325 '(("Blocks.txt"
1f8b5515 8326 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8327 ("DerivedAge.txt"
1f8b5515 8328 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8329 ("NamesList.txt"
1f8b5515 8330 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8331 ("Scripts.txt"
1f8b5515 8332 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8333 ("UnicodeData.txt"
1f8b5515 8334 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8335 ("Unihan.zip"
1f8b5515 8336 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8337 (package
8338 (name "gucharmap")
1f8b5515 8339 (version "12.0.1")
c60063ea
RW
8340 (source
8341 (origin
8342 (method url-fetch)
8343 (uri (string-append "mirror://gnome/sources/" name "/"
8344 (version-major+minor version) "/"
8345 name "-" version ".tar.xz"))
8346 (sha256
8347 (base32
1f8b5515 8348 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8349 (build-system glib-or-gtk-build-system)
8350 (arguments
8351 `(#:modules ((ice-9 match)
8352 (guix build glib-or-gtk-build-system)
8353 (guix build utils))
8354 #:configure-flags
8355 (list "--with-unicode-data=../unicode-data")
8356 #:phases
8357 (modify-phases %standard-phases
8358 (add-after 'unpack 'prepare-unicode-data
8359 (lambda* (#:key inputs #:allow-other-keys)
8360 (mkdir-p "../unicode-data")
8361 (with-directory-excursion "../unicode-data"
8362 (for-each (match-lambda
8363 ((file _)
8364 (install-file (assoc-ref inputs file) ".")))
8365 ',unicode-files))
8366 #t)))))
8367 (native-inputs
8368 `(("desktop-file-utils" ,desktop-file-utils)
8369 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8370 ("gobject-introspection" ,gobject-introspection)
8371 ("intltool" ,intltool)
8372 ("itstool" ,itstool)
8373 ("pkg-config" ,pkg-config)
8374 ,@(map (match-lambda
8375 ((file hash)
8376 `(,file
8377 ,(origin
8378 (method url-fetch)
8379 (uri (string-append
1f8b5515 8380 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8381 file))
8382 (sha256 (base32 hash))))))
8383 unicode-files)
8384 ("unzip" ,unzip)))
8385 (inputs
8386 `(("gtk+" ,gtk+)
8387 ("xmllint" ,libxml2)))
8388 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8389 (synopsis "Unicode character picker and font browser")
8390 (description
8391 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8392characters and categories for the installed fonts, and to examine their
8393detailed properties. It is an easy way to find the character you might
8394only know by its Unicode name or code point.")
c60063ea 8395 (license license:gpl3+))))
04ce840a
RS
8396
8397(define-public bluefish
8398 (package
8399 (name "bluefish")
ea8afaf3 8400 (version "2.2.10")
04ce840a
RS
8401 (source
8402 (origin
8403 (method url-fetch)
8404 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8405 name "-" version ".tar.gz"))
8406 (sha256
8407 (base32
ea8afaf3 8408 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8409 (build-system gnu-build-system)
8410 (native-inputs
8411 `(("desktop-file-utils" ,desktop-file-utils)
8412 ("intltool" ,intltool)
8413 ("pkg-config" ,pkg-config)))
8414 (inputs
8415 `(("enchant" ,enchant)
8416 ("gtk+" ,gtk+)
8417 ("python" ,python-2)
8418 ("xmllint" ,libxml2)
8419 ("gucharmap" ,gucharmap)))
8420 (home-page "http://bluefish.openoffice.nl")
8421 (synopsis "Web development studio")
8422 (description
8423 "Bluefish is an editor targeted towards programmers and web developers,
8424with many options to write web sites, scripts and other code.
8425Bluefish supports many programming and markup languages.")
8426 (license license:gpl3+)))
1f6a73ee
RS
8427
8428(define-public gnome-system-monitor
8429 (package
8430 (name "gnome-system-monitor")
083cffaf 8431 (version "3.32.1")
1f6a73ee
RS
8432 (source
8433 (origin
8434 (method url-fetch)
8435 (uri (string-append "mirror://gnome/sources/" name "/"
8436 (version-major+minor version) "/"
8437 name "-" version ".tar.xz"))
8438 (sha256
8439 (base32
083cffaf 8440 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8441 (build-system meson-build-system)
8442 (arguments
8443 '(#:glib-or-gtk? #t
8444 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8445 (native-inputs
8446 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8447 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8448 ("intltool" ,intltool)
8449 ("itstool" ,itstool)
8450 ("libgtop" ,libgtop)
4985d9aa 8451 ("polkit" ,polkit)
1f6a73ee
RS
8452 ("pkg-config" ,pkg-config)))
8453 (inputs
8454 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8455 ("gtk+" ,gtk+)
8456 ("gtkmm" ,gtkmm)
8457 ("librsvg" ,librsvg)
4985d9aa
RW
8458 ("libxml2" ,libxml2)
8459 ("libwnck" ,libwnck)))
1f6a73ee
RS
8460 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8461 (synopsis "Process viewer and system resource monitor for GNOME")
8462 (description
8463 "GNOME System Monitor is a GNOME process viewer and system monitor with
8464an attractive, easy-to-use interface. It has features, such as a tree view
8465for process dependencies, icons for processes, the ability to hide processes,
8466graphical time histories of CPU/memory/swap usage and the ability to
8467kill/reinice processes.")
8468 (license license:gpl2+)))
3e00ac47
SB
8469
8470(define-public python-pyatspi
8471 (package
8472 (name "python-pyatspi")
4f937a32 8473 (version "2.34.0")
3e00ac47
SB
8474 (source (origin
8475 (method url-fetch)
8476 (uri (string-append
8477 "mirror://gnome/sources/pyatspi/"
8478 (version-major+minor version)
8479 "/pyatspi-" version ".tar.xz"))
8480 (sha256
8481 (base32
4f937a32 8482 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8483 (build-system gnu-build-system)
b95af3f6
JL
8484 (arguments
8485 `(#:phases
8486 (modify-phases %standard-phases
8487 (add-before 'build 'fix-atk-load
8488 (lambda _
8489 (substitute* "pyatspi/__init__.py"
8490 (("from gi.repository import Atspi")
8491 "gi.require_version('Gtk', '3.0')
8492from gi.repository import Gtk
8493from gi.repository import Atspi"))
8494 #t)))))
3e00ac47
SB
8495 (native-inputs
8496 `(("pkg-config" ,pkg-config)))
8497 (inputs
8498 `(("python" ,python)
8499 ("python-pygobject" ,python-pygobject)))
8500 (synopsis "Python client bindings for D-Bus AT-SPI")
8501 (home-page "https://wiki.linuxfoundation.org/accessibility\
8502/atk/at-spi/at-spi_on_d-bus")
8503 (description
8504 "This package includes a python client library for the AT-SPI D-Bus
8505accessibility infrastructure.")
8506 (license license:lgpl2.0)
8507 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8508
8509(define-public orca
8510 (package
8511 (name "orca")
089e8585 8512 (version "3.32.0")
53201c0d
SB
8513 (source (origin
8514 (method url-fetch)
8515 (uri (string-append
8516 "mirror://gnome/sources/" name "/"
8517 (version-major+minor version) "/"
8518 name "-" version ".tar.xz"))
8519 (sha256
8520 (base32
089e8585 8521 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8522 (build-system glib-or-gtk-build-system)
8523 (arguments
8524 '(#:phases
8525 (modify-phases %standard-phases
8526 (add-before 'configure 'qualify-xkbcomp
8527 (lambda* (#:key inputs #:allow-other-keys)
8528 (let ((xkbcomp (string-append
8529 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8530 (substitute* "src/orca/orca.py"
8531 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8532 #t))
8533 (add-after 'install 'wrap-orca
8534 (lambda* (#:key outputs #:allow-other-keys)
8535 (let* ((out (assoc-ref outputs "out"))
8536 (prog (string-append out "/bin/orca")))
8537 (wrap-program prog
8538 `("GI_TYPELIB_PATH" ":" prefix
8539 (,(getenv "GI_TYPELIB_PATH")))
8540 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8541 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8542 `("PYTHONPATH" ":" prefix
8543 (,(getenv "PYTHONPATH")))))
8544 #t)))))
8545 (native-inputs
8546 `(("intltool" ,intltool)
8547 ("itstool" ,itstool)
8548 ("pkg-config" ,pkg-config)
8549 ("xmllint" ,libxml2)))
8550 (inputs
8551 `(("at-spi2-atk" ,at-spi2-atk)
8552 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8553 ("gstreamer" ,gstreamer)
8554 ("gst-plugins-base" ,gst-plugins-base)
8555 ("gst-plugins-good" ,gst-plugins-good)
8556 ("gtk+" ,gtk+)
8557 ("python" ,python)
8558 ("python-pygobject" ,python-pygobject)
8559 ("python-pyatspi" ,python-pyatspi)
8560 ("python-speechd" ,speech-dispatcher)
8561 ("xkbcomp" ,xkbcomp)))
8562 (synopsis
8563 "Screen reader for individuals who are blind or visually impaired")
8564 (home-page "https://wiki.gnome.org/Projects/Orca")
8565 (description
8566 "Orca is a screen reader that provides access to the graphical desktop
8567via speech and refreshable braille. Orca works with applications and toolkits
8568that support the Assistive Technology Service Provider Interface (AT-SPI).")
8569 (license license:lgpl2.1+)))
411ba511
LC
8570
8571(define-public gspell
8572 (package
8573 (name "gspell")
7a6bbe9b 8574 (version "1.8.2")
411ba511
LC
8575 (source (origin
8576 (method url-fetch)
8577 (uri (string-append "mirror://gnome/sources/" name "/"
8578 (version-major+minor version) "/"
8579 name "-" version ".tar.xz"))
8580 (sha256
8581 (base32
7a6bbe9b 8582 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8583 (patches (search-patches "gspell-dash-test.patch"))))
8584 (build-system glib-or-gtk-build-system)
8585 (arguments
8586 '(#:phases
8587 (modify-phases %standard-phases
8588 (add-before 'check 'pre-check
8589 (lambda* (#:key inputs #:allow-other-keys)
8590 ;; Tests require a running X server.
8591 (system "Xvfb :1 &")
8592 (setenv "DISPLAY" ":1")
8593
8594 ;; For the missing /etc/machine-id.
8595 (setenv "DBUS_FATAL_WARNINGS" "0")
8596
8597 ;; Allow Enchant and its Aspell backend to find the en_US
8598 ;; dictionary.
8599 (setenv "ASPELL_DICT_DIR"
8600 (string-append (assoc-ref inputs "aspell-dict-en")
8601 "/lib/aspell"))
8602 #t)))))
8603 (inputs
eccd35be 8604 `(("gtk+" ,gtk+)
a801ae4c
TGR
8605 ("glib" ,glib)
8606 ("iso-codes" ,iso-codes)))
411ba511
LC
8607 (native-inputs
8608 `(("glib" ,glib "bin")
26ba3f07 8609 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8610 ("pkg-config" ,pkg-config)
8611 ("xmllint" ,libxml2)
8612
8613 ;; For tests.
a801ae4c 8614 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8615 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8616 (propagated-inputs
9b1bb757 8617 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8618 (home-page "https://wiki.gnome.org/Projects/gspell")
8619 (synopsis "GNOME's alternative spell checker")
8620 (description
8621 "gspell provides a flexible API to add spell-checking to a GTK+
8622application. It provides a GObject API, spell-checking to text entries and
8623text views, and buttons to choose the language.")
8624 (license license:gpl2+)))
d1d739fa
CM
8625
8626(define-public gnome-planner
8627 (package
8628 (name "gnome-planner")
8629 (version "0.14.6")
8630 (source (origin
8631 (method url-fetch)
8632 (uri (string-append "mirror://gnome/sources/planner/"
8633 (version-major+minor version) "/planner-"
8634 version ".tar.xz"))
8635 (sha256
8636 (base32
8637 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8638 (build-system glib-or-gtk-build-system)
8639 (arguments
8640 ;; Disable the Python bindings because the Planner program functions
8641 ;; without them, and (as of 2017-06-13) we have not packaged all of
8642 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8643 `(#:configure-flags
8644 (list "--disable-python"
8645 ,@(if (string=? "aarch64-linux" (%current-system))
8646 '("--build=aarch64-unknown-linux-gnu")
8647 '()))))
d1d739fa
CM
8648 (inputs
8649 `(("libgnomecanvas" ,libgnomecanvas)
8650 ("libgnomeui" ,libgnomeui)
8651 ("libglade" ,libglade)
8652 ("gnome-vfs" ,gnome-vfs)
8653 ("gconf" ,gconf)
8654 ("libxml2" ,libxml2)
8655 ("libxslt" ,libxslt)
8656 ("gtk+" ,gtk+)
8657 ("glib" ,glib)))
8658 (native-inputs
8659 `(("intltool" ,intltool)
8660 ("scrollkeeper" ,scrollkeeper)
8661 ("pkg-config" ,pkg-config)))
8662 (home-page "https://wiki.gnome.org/Apps/Planner")
8663 (synopsis "Project management software for the GNOME desktop")
8664 (description
8665 "GNOME Planner is a project management tool based on the Work Breakdown
8666Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8667the resources, tasks, and constraints that you define, Planner generates
8668various views into a project. For example, Planner can show a Gantt chart of
8669the project. It can show a detailed summary of tasks including their
8670duration, cost, and current progress. It can also show a report of resource
8671utilization that highlights under-utilized and over-utilized resources. These
8672views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8673 (license license:gpl2+)))
64fce637
RS
8674
8675(define-public lollypop
8676 (package
8677 (name "lollypop")
ca32627a 8678 (version "1.2.7")
64fce637
RS
8679 (source
8680 (origin
8681 (method url-fetch)
b98eace8 8682 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 8683 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 8684 "lollypop-" version ".tar.xz"))
64fce637 8685 (sha256
ca32627a 8686 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 8687 (build-system meson-build-system)
64fce637
RS
8688 (arguments
8689 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
8690 ,@%meson-build-system-modules)
8691 #:glib-or-gtk? #t
5fc9b6c1
EF
8692 #:tests? #f ; no test suite
8693 #:phases
8694 (modify-phases %standard-phases
5fc9b6c1
EF
8695 (add-after 'install 'wrap-program
8696 (lambda* (#:key outputs #:allow-other-keys)
8697 (let ((out (assoc-ref outputs "out"))
8698 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8699 (wrap-program (string-append out "/bin/lollypop")
8700 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8701 #t))
8ac8b3b3
TGR
8702 (add-after 'install 'wrap-python
8703 (@@ (guix build python-build-system) wrap))
8704 (add-after 'install 'wrap-glib-or-gtk
8705 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
8706 (native-inputs
8707 `(("intltool" ,intltool)
8708 ("itstool" ,itstool)
aa498fc0
TD
8709 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8710 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8711 ("pkg-config" ,pkg-config)))
8712 (inputs
8713 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8714 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8715 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8716 ("libnotify" ,libnotify)
8717 ("libsecret" ,libsecret)
8718 ("libsoup" ,libsoup)
8719 ("python" ,python)
8720 ("python-beautifulsoup4" ,python-beautifulsoup4)
8721 ("python-gst" ,python-gst)
d029afdd 8722 ("python-pil" ,python-pillow)
64fce637 8723 ("python-pycairo" ,python-pycairo)
7460f346 8724 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8725 ("python-pylast" ,python-pylast)
8726 ("totem-pl-parser" ,totem-pl-parser)
8727 ("webkitgtk" ,webkitgtk)))
8728 (propagated-inputs
8729 `(;; gst-plugins-base is required to start Lollypop,
8730 ;; the others are required to play streaming.
64fce637
RS
8731 ("gst-plugins-good" ,gst-plugins-good)
8732 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8733 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8734 (synopsis "GNOME music playing application")
8735 (description
8736 "Lollypop is a music player designed to play well with GNOME desktop.
8737Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8738from artists and tracks from the web. It also fetches cover artworks
8739automatically and it can stream songs from online music services and charts.")
8740 (license license:gpl3+)))
d831d49d
AW
8741
8742(define-public gnome-video-effects
8743 (package
8744 (name "gnome-video-effects")
8745 (version "0.4.3")
8746 (source (origin
8747 (method url-fetch)
8748 (uri (string-append "mirror://gnome/sources/" name "/"
8749 (version-major+minor version) "/" name "-"
8750 version ".tar.xz"))
8751 (sha256
8752 (base32
8753 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8754 (build-system glib-or-gtk-build-system)
8755 (arguments
8756 `(#:out-of-source? #f))
8757 (native-inputs
8758 `(("glib:bin" ,glib "bin")
8759 ("intltool" ,intltool)
8760 ("gettext" ,gettext-minimal)
8761 ("pkg-config" ,pkg-config)))
8762 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8763 (synopsis "Video effects for Cheese and other GNOME applications")
8764 (description
8765 "A collection of GStreamer video filters and effects to be used in
8766photo-booth-like software, such as Cheese.")
8767 (license license:gpl2+)))
3511c780
AW
8768
8769(define-public cheese
8770 (package
8771 (name "cheese")
dd33b337 8772 (version "3.32.1")
3511c780
AW
8773 (source (origin
8774 (method url-fetch)
8775 (uri (string-append "mirror://gnome/sources/" name "/"
8776 (version-major+minor version) "/" name "-"
8777 version ".tar.xz"))
8778 (sha256
8779 (base32
dd33b337 8780 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8781 (arguments
8782 ;; Tests require GDK.
8783 `(#:tests? #f
8784 #:phases
8785 (modify-phases %standard-phases
8786 (add-before 'install 'skip-gtk-update-icon-cache
8787 (lambda _
8788 ;; Don't create 'icon-theme.cache'
8789 (substitute* "Makefile"
8790 (("gtk-update-icon-cache") (which "true")))
8791 #t))
8792 (add-after 'install 'wrap-cheese
8793 (lambda* (#:key inputs outputs #:allow-other-keys)
8794 (let ((out (assoc-ref outputs "out"))
8795 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8796 (wrap-program (string-append out "/bin/cheese")
8797 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8798 #t)))))
8799 (build-system glib-or-gtk-build-system)
8800 (native-inputs
8801 `(("glib:bin" ,glib "bin")
8802 ("intltool" ,intltool)
8803 ("itstool" ,itstool)
8804 ("libxml2" ,libxml2)
8805 ("pkg-config" ,pkg-config)
8806 ("vala" ,vala)))
8807 (propagated-inputs
6a19f03e
RW
8808 `(("gnome-video-effects" ,gnome-video-effects)
8809 ("clutter" ,clutter)
3511c780
AW
8810 ("clutter-gst" ,clutter-gst)
8811 ("clutter-gtk" ,clutter-gtk)
6a19f03e 8812 ("libcanberra" ,libcanberra)
3511c780
AW
8813 ("gdk-pixbuf" ,gdk-pixbuf)
8814 ("glib" ,glib)
6a19f03e
RW
8815 ("gstreamer" ,gstreamer)))
8816 (inputs
8817 `(("gnome-desktop" ,gnome-desktop)
3511c780 8818 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
8819 ("gst-plugins-base" ,gst-plugins-base)
8820 ("gst-plugins-bad" ,gst-plugins-bad)
8821 ("gtk+" ,gtk+)
3511c780
AW
8822 ("libx11" ,libx11)
8823 ("libxtst" ,libxtst)))
8824 (home-page "https://wiki.gnome.org/Apps/Cheese")
8825 (synopsis "Webcam photo booth software for GNOME")
8826 (description
8827 "Cheese uses your webcam to take photos and videos. Cheese can also
8828apply fancy special effects and lets you share the fun with others.")
8829 (license license:gpl2+)))
3c5dbd2b 8830
8831(define-public sound-juicer
8832 (package
8833 (name "sound-juicer")
8834 (version "3.24.0")
8835 (source
8836 (origin
8837 (method url-fetch)
8838 (uri (string-append "mirror://gnome/sources/" name "/"
8839 (version-major+minor version) "/"
8840 name "-" version ".tar.xz"))
8841 (sha256
8842 (base32
8843 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
8844 (build-system glib-or-gtk-build-system)
8845 (native-inputs
8846 `(("desktop-file-utils" ,desktop-file-utils)
8847 ("intltool" ,intltool)
8848 ("itstool" ,itstool)
8849 ("pkg-config" ,pkg-config)
8850 ("xmllint" ,libxml2)))
8851 (inputs
8852 `(("gtk+" ,gtk+)
8853 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8854 ("gstreamer" ,gstreamer)
8855 ("gst-plugins-base" ,gst-plugins-base)
8856 ("gst-plugins-good" ,gst-plugins-good)
8857 ("iso-codes" ,iso-codes)
8858 ("libbrasero-media3" ,brasero)
8859 ("libcanberra" ,libcanberra)
8860 ("libdiscid" ,libdiscid)
8861 ("libmusicbrainz" ,libmusicbrainz)
8862 ("neon" ,neon)))
8863 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
8864 (synopsis "Audio music cd ripper")
8865 (description "Sound Juicer extracts audio from compact discs and convert it
8866into audio files that a personal computer or digital audio player can play.
8867It supports ripping to any audio codec supported by a GStreamer plugin, such as
8868mp3, Ogg Vorbis and FLAC")
8869 (license license:gpl2+)))
4e3fdeb7 8870
0d3f1708
CB
8871(define-public soundconverter
8872 (package
8873 (name "soundconverter")
fa75a213 8874 (version "3.0.1")
0d3f1708
CB
8875 (source
8876 (origin
8877 (method url-fetch)
8878 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
8879 version "/+download/"
8880 "soundconverter-" version ".tar.xz"))
8881
8882 (sha256
fa75a213 8883 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
8884 (patches
8885 (search-patches
8886 "soundconverter-remove-gconf-dependency.patch"))))
8887 (build-system glib-or-gtk-build-system)
8888 (arguments
8889 `(#:imported-modules ((guix build python-build-system)
8890 (guix build glib-or-gtk-build-system)
8891 ,@%gnu-build-system-modules)
8892
8893 #:modules ((guix build glib-or-gtk-build-system)
8894 (guix build utils)
8895 ((guix build gnu-build-system) #:prefix gnu:)
8896 ((guix build python-build-system) #:prefix python:))
8897
8898 #:phases
8899 (modify-phases %standard-phases
0d3f1708
CB
8900 (add-after 'install 'wrap-soundconverter-for-python
8901 (assoc-ref python:%standard-phases 'wrap))
8902 (add-after 'install 'wrap-soundconverter
8903 (lambda* (#:key inputs outputs #:allow-other-keys)
8904 (let ((out (assoc-ref outputs "out"))
8905 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8906 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8907 (wrap-program (string-append out "/bin/soundconverter")
8908 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8909 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8910 #t)))))
8911 (native-inputs
8912 `(("intltool" ,intltool)
8913 ("pkg-config" ,pkg-config)
8914 ("glib:bin" ,glib "bin")))
8915 (inputs
8916 `(("gtk+" ,gtk+)
8917 ("python" ,python)
8918 ("python-pygobject" ,python-pygobject)
8919 ("gstreamer" ,gstreamer)
8920 ("gst-plugins-base" ,gst-plugins-base)))
8921 (home-page "http://soundconverter.org/")
8922 (synopsis "Convert between audio formats with a graphical interface")
8923 (description
8924 "SoundConverter supports converting between many audio formats including
8925Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
8926configurable file renaming. ")
8927 (license license:gpl3)))
8928
4e3fdeb7 8929(define-public workrave
89f2d736
TGR
8930 (package
8931 (name "workrave")
aa51d92c 8932 (version "1.10.34")
89f2d736
TGR
8933 (source
8934 (origin
8935 (method git-fetch)
8936 (uri (git-reference
8937 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
8938 (commit (string-append "v" (string-map
8939 (match-lambda (#\. #\_) (chr chr))
8940 version)))))
89f2d736
TGR
8941 (file-name (git-file-name name version))
8942 (sha256
aa51d92c 8943 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 8944 (build-system glib-or-gtk-build-system)
d1c96847
MC
8945 (inputs `(("glib" ,glib)
8946 ("gtk+" ,gtk+)
8947 ("gdk-pixbuf" ,gdk-pixbuf)
8948 ("gtkmm" ,gtkmm)
8949 ("glibmm" ,glibmm)
8950 ("libx11" ,libx11)
8951 ("libxtst" ,libxtst)
8952 ("dconf" ,dconf)
8953 ("libice" ,libice)
8954 ("libsm" ,libsm)
8955 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 8956 (native-inputs `(("boost" ,boost)
89f2d736
TGR
8957 ("pkg-config" ,pkg-config)
8958 ("gettext" ,gnu-gettext)
8959 ("autoconf" ,autoconf)
8960 ("autoconf-archive" , autoconf-archive)
8961 ("automake" ,automake)
8962 ("libtool" ,libtool)
8963 ("intltool" ,intltool)
89f2d736 8964 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
8965 ("python3" ,python-3)
8966 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
8967 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
8968 (description
8969 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
8970repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
8971micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
8972 (home-page "http://www.workrave.org")
8973 (license license:gpl3+)))
312afa7d
LC
8974
8975(define-public ghex
8976 (package
8977 (name "ghex")
3748992a 8978 (version "3.18.4")
312afa7d
LC
8979 (source (origin
8980 (method url-fetch)
2fbab848 8981 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 8982 (version-major+minor version) "/"
2fbab848 8983 "ghex-" version ".tar.xz"))
312afa7d
LC
8984 (sha256
8985 (base32
3748992a
KK
8986 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
8987 (build-system meson-build-system)
8988 (arguments
8989 '(#:glib-or-gtk? #t
8990 #:phases
8991 (modify-phases %standard-phases
8992 (add-after 'unpack 'skip-gtk-update-icon-cache
8993 ;; Don't create 'icon-theme.cache'.
8994 (lambda _
8995 (substitute* "meson_post_install.py"
8996 (("gtk-update-icon-cache") (which "true")))
8997 #t)))))
312afa7d
LC
8998 (native-inputs
8999 `(("pkg-config" ,pkg-config)
3748992a 9000 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9001 ("gnome-common" ,gnome-common)
9002 ("which" ,which)
9003 ("intltool" ,intltool)
9004 ("yelp-tools" ,yelp-tools)
2fbab848 9005 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9006 (inputs
9007 `(("atk" ,atk)
9008 ("gtk" ,gtk+)))
9009 (synopsis "GNOME hexadecimal editor")
9010 (description "The GHex program can view and edit files in two ways:
9011hexadecimal or ASCII. It is useful for editing binary files in general.")
9012 (home-page "https://wiki.gnome.org/Apps/Ghex")
9013 (license license:gpl2)))
4b2ed6c2
RW
9014
9015(define-public libdazzle
9016 (package
9017 (name "libdazzle")
64fa66ba 9018 (version "3.33.90")
4b2ed6c2
RW
9019 (source (origin
9020 (method url-fetch)
687b4909 9021 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9022 (version-major+minor version) "/"
687b4909 9023 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9024 (sha256
9025 (base32
64fa66ba 9026 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9027 (build-system meson-build-system)
9028 (arguments
9029 `(#:phases
9030 (modify-phases %standard-phases
4b2ed6c2
RW
9031 (add-before 'check 'pre-check
9032 (lambda _
9033 ;; Tests require a running X server.
9034 (system "Xvfb :1 &")
9035 (setenv "DISPLAY" ":1")
9036 #t)))))
9037 (native-inputs
687b4909 9038 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9039 ("pkg-config" ,pkg-config)
687b4909 9040 ;; For tests.
ff337525 9041 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9042 (inputs
9043 `(("glib" ,glib)
9044 ("gobject-introspection" ,gobject-introspection)
9045 ("gtk+" ,gtk+)
9046 ("vala" ,vala)))
9047 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9048 (synopsis "Companion library to GObject and Gtk+")
9049 (description "The libdazzle library is a companion library to GObject and
9050Gtk+. It provides various features that the authors wish were in the
9051underlying library but cannot for various reasons. In most cases, they are
9052wildly out of scope for those libraries. In other cases, they are not quite
9053generic enough to work for everyone.")
9054 (license license:gpl3+)))
7d3bb433
RW
9055
9056(define-public evolution
9057 (package
9058 (name "evolution")
06141f83 9059 (version "3.32.4")
7d3bb433
RW
9060 (source (origin
9061 (method url-fetch)
9062 (uri (string-append "mirror://gnome/sources/evolution/"
9063 (version-major+minor version) "/"
9064 "evolution-" version ".tar.xz"))
9065 (sha256
9066 (base32
06141f83 9067 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9068 (build-system cmake-build-system)
9069 (arguments
5229bea1
KK
9070 `(#:imported-modules (,@%cmake-build-system-modules
9071 (guix build glib-or-gtk-build-system))
9072 #:modules ((guix build cmake-build-system)
9073 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9074 (guix build utils))
9075 #:configure-flags
7d3bb433 9076 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9077 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9078 ; in four years and cannot be built.
5229bea1
KK
9079 #:phases
9080 (modify-phases %standard-phases
9081 ;; The build system attempts to install user interface modules to the
9082 ;; output directory of the "evolution-data-server" package. This
9083 ;; change redirects that change.
9084 (add-after 'unpack 'patch-ui-module-dir
9085 (lambda* (#:key outputs #:allow-other-keys)
9086 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9087 (("\\$\\{edsuimoduledir\\}")
9088 (string-append (assoc-ref outputs "out")
9089 "/lib/evolution-data-server/ui-modules")))
9090 #t))
9091 (add-after 'install 'glib-or-gtk-compile-schemas
9092 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9093 (add-after 'install 'glib-or-gtk-wrap
9094 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9095 (native-inputs
ad6e168b 9096 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9097 ("pkg-config" ,pkg-config)
9098 ("intltool" ,intltool)
9099 ("itstool" ,itstool)))
9100 (inputs
9101 `(("enchant" ,enchant)
9102 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9103 ("gcr" ,gcr)
ad6e168b 9104 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9105 ("gnome-autoar" ,gnome-autoar)
9106 ("gnome-desktop" ,gnome-desktop)
9107 ("gtkspell3" ,gtkspell3)
9108 ("highlight" ,highlight)
9109 ("libcanberra" ,libcanberra)
b63c06f1 9110 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9111 ("libgweather" ,libgweather)
9112 ("libnotify" ,libnotify)
9113 ("libsoup" ,libsoup)
9114 ("nss" ,nss)
9115 ("openldap" ,openldap)
9116 ("webkitgtk" ,webkitgtk)
9117 ("ytnef" ,ytnef)))
9118 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9119 (synopsis "Manage your email, contacts and schedule")
9120 (description "Evolution is a personal information management application
9121that provides integrated mail, calendaring and address book
9122functionality.")
9123 ;; See COPYING for details.
23dbe621 9124 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9125 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9126 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9127
9128(define-public gthumb
9129 (package
9130 (name "gthumb")
8280676b 9131 (version "3.8.2")
169d63f5
AT
9132 (source (origin
9133 (method url-fetch)
9134 (uri (string-append "mirror://gnome/sources/gthumb/"
9135 (version-major+minor version) "/"
9136 "gthumb-" version ".tar.xz"))
9137 (sha256
9138 (base32
8280676b 9139 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9140 (build-system meson-build-system)
9141 (arguments
9142 `(#:glib-or-gtk? #t
9143 #:configure-flags
9144 ;; Ensure the RUNPATH contains all installed library locations.
9145 (list (string-append "-Dc_link_args=-Wl,-rpath="
9146 (assoc-ref %outputs "out")
9147 "/lib/gthumb/extensions")
9148 (string-append "-Dcpp_link_args=-Wl,-rpath="
9149 (assoc-ref %outputs "out")
9150 "/lib/gthumb/extensions"))))
9151 (native-inputs
9152 `(("pkg-config" ,pkg-config)
9153 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9154 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9155 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9156 ("intltool" ,intltool)
9157 ("itstool" ,itstool)))
9158 (inputs
9159 `(("exiv2" ,exiv2)
9160 ("gtk" ,gtk+)
9161 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9162 ("gstreamer" ,gstreamer)
9163 ("clutter" ,clutter)
9164 ("clutter-gst" ,clutter-gst)
9165 ("clutter-gtk" ,clutter-gtk)
9166 ("libjpeg" ,libjpeg)
9167 ("libtiff" ,libtiff)
9168 ("libraw" ,libraw)))
9169 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9170 (synopsis "GNOME image viewer and browser")
9171 (description "GThumb is an image viewer, browser, organizer, editor and
9172advanced image management tool")
9173 (license license:gpl2+)))
08be02be
AT
9174
9175(define-public terminator
9176 (package
9177 (name "terminator")
9178 (version "1.91")
9179 (source (origin
9180 (method url-fetch)
9181 (uri (string-append "https://launchpad.net/" name "/"
9182 "gtk3/" version "/" "+download/"
9183 name "-" version ".tar.gz"))
9184 (sha256
9185 (base32
9186 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9187 (build-system python-build-system)
9188 (native-inputs
9189 `(("intltool" ,intltool)
9190 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9191 ("gettext" ,gettext-minimal)
9192 ("pkg-config" ,pkg-config)))
9193 (inputs
9194 `(("cairo" ,cairo)
9195 ("gobject-introspection" ,gobject-introspection)
96681d4b 9196 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9197 ("python2-pycairo" ,python2-pycairo)
9198 ("python2-pygobject" ,python2-pygobject)
9199 ("python2-psutil" ,python2-psutil)
9200 ("vte" ,vte)))
9201 (arguments
96681d4b
TGR
9202 `(#:python ,python-2 ; Python 3 isn't supported
9203 #:imported-modules ((guix build glib-or-gtk-build-system)
9204 ,@%python-build-system-modules)
9205 #:modules ((guix build python-build-system)
9206 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9207 (guix build utils))
08be02be
AT
9208 #:phases
9209 (modify-phases %standard-phases
9210 (add-after
9211 'install 'wrap-program
9212 (lambda* (#:key outputs #:allow-other-keys)
9213 (let ((prog (string-append (assoc-ref outputs "out")
9214 "/bin/terminator")))
9215 (wrap-program prog
9216 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9217 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9218 #t)))
9219 (add-after 'wrap-program 'glib-or-gtk-wrap
9220 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9221 (home-page "https://gnometerminator.blogspot.com/")
9222 (synopsis "Store and run multiple GNOME terminals in one window")
9223 (description
9224 "Terminator allows you to run multiple GNOME terminals in a grid and
9225+tabs, and it supports drag and drop re-ordering of terminals.")
9226 (license license:gpl2)))
213315d4
JF
9227
9228(define-public libhandy
9229 (package
9230 (name "libhandy")
f6501b9f 9231 (version "0.0.12")
213315d4
JF
9232 (source
9233 (origin
9234 (method git-fetch)
9235 (uri (git-reference
9236 (url "https://source.puri.sm/Librem5/libhandy")
9237 (commit (string-append "v" version))))
9238 (file-name (git-file-name name version))
9239 (sha256
f6501b9f 9240 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9241 (build-system meson-build-system)
9242 (arguments
9243 `(#:configure-flags
9244 '("-Dglade_catalog=disabled"
9245 "-Dgtk_doc=true")
9246 #:phases
9247 (modify-phases %standard-phases
213315d4
JF
9248 (add-before 'check 'pre-check
9249 (lambda _
9250 ;; Tests require a running X server.
9251 (system "Xvfb :1 &")
9252 (setenv "DISPLAY" ":1")
9253 #t)))))
9254 (inputs
9255 `(("gtk+" ,gtk+)))
9256 (native-inputs
9257 `(("glib:bin" ,glib "bin")
9258 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9259 ("vala" ,vala)
9260 ("gtk-doc" ,gtk-doc)
9261 ("pkg-config" ,pkg-config)
9262 ("gettext" ,gettext-minimal)
d41ee146
TGR
9263
9264 ;; Test suite dependencies.
ff337525 9265 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9266 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9267 (home-page "https://source.puri.sm/Librem5/libhandy")
9268 (synopsis "Library full of GTK+ widgets for mobile phones")
9269 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9270interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9271for usage on small and big screens.")
213315d4 9272 (license license:lgpl2.1+)))
a830d14d
GL
9273
9274(define-public libgit2-glib
9275 (package
9276 (name "libgit2-glib")
9277 (version "0.28.0.1")
9278 (source (origin
9279 (method url-fetch)
9280 (uri (string-append "mirror://gnome/sources/" name "/"
9281 (version-major+minor version) "/"
9282 name "-" version ".tar.xz"))
9283 (sha256
9284 (base32
9285 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
9286 (build-system meson-build-system)
9287 (native-inputs
9288 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9289 ("gobject-introspection" ,gobject-introspection)
9290 ("intltool" ,intltool)
9291 ("libssh2" ,libssh2)
9292 ("pkg-config" ,pkg-config)
9293 ("python-pygobject" ,python-pygobject)
9294 ("python-wrapper" ,python-wrapper)
9295 ("vala" ,vala)))
9296 (inputs
9297 `(("glib" ,glib)
9298 ("libgit2" ,libgit2)))
9299 (synopsis "GLib wrapper around the libgit2 Git access library")
9300 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9301access library. It only implements the core plumbing functions, not really the
9302higher level porcelain stuff.")
9303 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9304 (license license:gpl2+)))
93beace0 9305
08db81c9
LP
9306(define-public gitg
9307 (package
9308 (name "gitg")
9309 (version "3.32.1")
9310 (source (origin
9311 (method url-fetch)
9312 (uri (string-append "mirror://gnome/sources/" name "/"
9313 (version-major+minor version) "/"
9314 name "-" version ".tar.xz"))
9315 (sha256
9316 (base32
9317 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9318 (build-system meson-build-system)
9319 (arguments
9320 `(#:glib-or-gtk? #t
9321 #:phases
9322 (modify-phases %standard-phases
9323 (add-after 'unpack 'disable-post-install-partially
9324 (lambda _
9325 (substitute* "meson_post_install.py"
9326 (("'python'") ; there are no python sources to compile
9327 (string-append "'" (which "true") "'"))
9328 (("gtk-update-icon-cache") (which "true")))
9329 #t))
9330 (add-after 'unpack 'fix-test-sources
9331 (lambda _
9332 (substitute* "tests/libgitg/test-commit.vala"
9333 (("/bin/bash") (which "bash")))
9334 #t))
9335 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9336 (lambda* (#:key outputs #:allow-other-keys)
9337 (let ((prog (string-append (assoc-ref outputs "out")
9338 "/bin/gitg")))
9339 (wrap-program prog
9340 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9341 #t))))))
9342 (inputs
9343 `(("glib" ,glib)
9344 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9345 ("gtk+" ,gtk+)
9346 ("gtkspell3" ,gtkspell3)
9347 ("gtksourceview" ,gtksourceview-3)
9348 ("json-glib" ,json-glib)
9349 ("libdazzle" ,libdazzle)
9350 ("libgee" ,libgee)
9351 ("libgit2" ,libgit2) ; propagated by libgit2-glib
9352 ("libgit2-glib" ,libgit2-glib)
9353 ("libpeas" ,libpeas)
9354 ("libsecret" ,libsecret)
9355 ("libsoup" ,libsoup)
9356 ("libxml2" ,libxml2)))
9357 (native-inputs
9358 `(("glib:bin" ,glib "bin")
9359 ("gtk+:bin" ,gtk+ "bin")
9360 ("gobject-introspection" ,gobject-introspection)
9361 ("intltool" ,intltool)
9362 ("pkg-config" ,pkg-config)
9363 ("vala" ,vala)))
9364 (synopsis "Graphical user interface for git")
9365 (description
9366 "gitg is a graphical user interface for git. It aims at being a small,
9367fast and convenient tool to visualize the history of git repositories.
9368Besides visualization, gitg also provides several utilities to manage your
9369repository and commit your work.")
9370 (home-page "https://wiki.gnome.org/Apps/Gitg")
9371 (license license:gpl2+)))
9372
1e600ed0
RW
9373(define-public gamin
9374 (package
9375 (name "gamin")
9376 (version "0.1.10")
9377 (source (origin
9378 (method url-fetch)
9379 (uri (string-append "mirror://gnome/sources/" name "/"
9380 (version-major+minor version) "/"
9381 name "-" version ".tar.bz2"))
9382 (sha256
9383 (base32
9384 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9385 (build-system gnu-build-system)
9386 (arguments
9387 `(#:phases
9388 (modify-phases %standard-phases
9389 (add-after 'unpack 'remove-deprecated-macro
9390 (lambda _
9391 (substitute* '("server/gam_node.c"
9392 "server/gam_subscription.h"
9393 "server/gam_node.h"
9394 "server/gam_subscription.c")
9395 (("G_CONST_RETURN") "const"))
9396 #t)))))
9397 (inputs
9398 `(("glib" ,glib)))
9399 (native-inputs
9400 `(("intltool" ,intltool)
9401 ("pkg-config" ,pkg-config)))
9402 (home-page "https://people.gnome.org/~veillard/gamin/")
9403 (synopsis "File alteration monitor")
9404 (description
9405 "Gamin is a file and directory monitoring system defined to be a subset
9406of the FAM (File Alteration Monitor) system. This is a service provided by a
9407library which allows to detect when a file or a directory has been modified.")
9408 (license license:gpl2+)))
9409
93beace0
DW
9410(define-public gnome-mahjongg
9411 (package
9412 (name "gnome-mahjongg")
9413 (version "3.35.1")
9414 (source (origin
9415 (method git-fetch)
9416 (uri (git-reference
9417 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9418 (commit version)))
9419 (file-name (git-file-name name version))
9420 (sha256
9421 (base32
9422 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9423 (build-system meson-build-system)
9424 (arguments
9425 `(#:glib-or-gtk? #t))
9426 (native-inputs
9427 `(("appstream-glib" ,appstream-glib)
9428 ("gettext" ,gettext-minimal)
9429 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9430 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9431 ("itstool" ,itstool)
9432 ("pkg-config" ,pkg-config)
9433 ("vala" ,vala)))
9434 (propagated-inputs
9435 `(("dconf" ,dconf)))
9436 (inputs
9437 `(("glib" ,glib)
9438 ("gtk+" ,gtk+)
9439 ("librsvg" ,librsvg)))
9440 (synopsis "Mahjongg tile-matching game")
9441 (description "GNOME Mahjongg is a game based on the classic Chinese
9442tile-matching game Mahjong. It features multiple board layouts, tile themes,
9443and a high score table.")
9444 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9445 (license license:gpl2+)))
f825476c 9446
76ea7632
RG
9447(define-public gnome-themes-extra
9448 (package
9449 (name "gnome-themes-extra")
9450 (version "3.28")
9451 (source
9452 (origin
9453 (method url-fetch)
9454 (uri (string-append "mirror://gnome/sources/" name "/"
9455 (version-major+minor version) "/" name "-"
9456 version ".tar.xz"))
9457 (sha256
9458 (base32
9459 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9460 (build-system gnu-build-system)
885424bf
RG
9461 (arguments
9462 '(#:configure-flags
9463 ;; Don't create 'icon-theme.cache'.
9464 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9465 (true (string-append coreutils "/bin/true")))
9466 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9467 (native-inputs
9468 `(("glib:bin" ,glib "bin")
9469 ("intltool" ,intltool)
9470 ("pkg-config" ,pkg-config)))
9471 (inputs
9472 `(("glib" ,glib)
9473 ("gtk+" ,gtk+)
9474 ("gtk+-2" ,gtk+-2)
9475 ("librsvg" ,librsvg)
9476 ("libxml2" ,libxml2)))
9477 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9478 (synopsis "GNOME Extra Themes")
9479 (description "This package provides themes and related elements that don't
9480really fit in other upstream packages. It offers legacy support for GTK+ 2
9481versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9482index files needed for Adwaita to be used outside of GNOME.")
9483 (license license:lgpl2.1+)))
9484
f825476c
LP
9485(define-public polari
9486 (package
9487 (name "polari")
9488 (version "3.32.2")
9489 (source (origin
9490 (method url-fetch)
9491 (uri (string-append "mirror://gnome/sources/polari/"
9492 (version-major+minor version)
9493 "/polari-" version ".tar.xz"))
9494 (sha256
9495 (base32
9496 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9497 (build-system meson-build-system)
9498 (arguments
9499 `(#:glib-or-gtk? #t
9500 #:phases
9501 (modify-phases %standard-phases
9502 (add-after 'unpack 'skip-gtk-update-icon-cache
9503 (lambda _
9504 (substitute* "meson/meson-postinstall.sh"
9505 (("gtk-update-icon-cache") (which "true")))
9506 #t))
9507 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9508 (lambda* (#:key outputs #:allow-other-keys)
9509 (let ((prog (string-append (assoc-ref outputs "out")
9510 "/bin/polari")))
9511 (wrap-program prog
9512 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9513 #t))))))
9514 (inputs
9515 `(("glib" ,glib)
9516 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9517 ("gspell" ,gspell)
9518 ("gtk+" ,gtk+)
9519 ("gjs" ,gjs)
9520 ("libsecret" ,libsecret)
9521 ("libsoup" ,libsoup)
9522 ("telepathy-glib" ,telepathy-glib)
9523 ("telepathy-logger" ,telepathy-logger)))
9524 (native-inputs
9525 `(("glib:bin" ,glib "bin")
9526 ("gobject-introspection" ,gobject-introspection)
9527 ("intltool" ,intltool)
9528 ("pkg-config" ,pkg-config)
9529 ("yelp-tools" ,yelp-tools)))
9530 (propagated-inputs
9531 `(("telepathy-idle" ,telepathy-idle)
9532 ("telepathy-mission-control" ,telepathy-mission-control)))
9533 (synopsis "Simple IRC Client")
9534 (description
9535 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9536integrate seamlessly with the GNOME desktop.")
9537 (home-page "https://wiki.gnome.org/Apps/Polari")
9538 (license license:gpl2+)))