gnu: java-asm: Fix grammar of "allow to easily assemble" to "allow easily
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
5dc6d5ce 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
ed783404 11;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
f2d56e39 37;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
4690e3a4 42;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
50e96d25 43;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
d36fa50f 45;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
3861fb1c 47;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
63db190a 49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
0e26c3cf 50;;; Copyright © 2020 raingloom <raingloom@riseup.net>
1a17d21b 51;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
dd233e4d 52;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
995b7261
AE
53;;;
54;;; This file is part of GNU Guix.
55;;;
56;;; GNU Guix is free software; you can redistribute it and/or modify it
57;;; under the terms of the GNU General Public License as published by
58;;; the Free Software Foundation; either version 3 of the License, or (at
59;;; your option) any later version.
60;;;
61;;; GNU Guix is distributed in the hope that it will be useful, but
62;;; WITHOUT ANY WARRANTY; without even the implied warranty of
63;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64;;; GNU General Public License for more details.
65;;;
66;;; You should have received a copy of the GNU General Public License
67;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
68
69(define-module (gnu packages gnome)
ed19903d 70 #:use-module (gnu packages)
ba5dd105 71 #:use-module (gnu packages admin)
411ba511 72 #:use-module (gnu packages aspell)
75016d07 73 #:use-module (gnu packages autotools)
7b212526 74 #:use-module (gnu packages avahi)
b29909b4 75 #:use-module (gnu packages backup)
6a180f6f 76 #:use-module (gnu packages base)
1e33331c 77 #:use-module (gnu packages bash)
5698b8b8 78 #:use-module (gnu packages bison)
aa51d92c 79 #:use-module (gnu packages boost)
5fc9b6c1 80 #:use-module (gnu packages build-tools)
df217748 81 #:use-module (gnu packages calendar)
b29909b4 82 #:use-module (gnu packages cdrom)
df12f04a 83 #:use-module (gnu packages check)
d61a894b 84 #:use-module (gnu packages cmake)
b29909b4 85 #:use-module (gnu packages compression)
8f523eb9 86 #:use-module (gnu packages crates-io)
23a22af6 87 #:use-module (gnu packages cups)
6e1bb642 88 #:use-module (gnu packages curl)
c3f29bc9 89 #:use-module (gnu packages cyrus-sasl)
6e1bb642 90 #:use-module (gnu packages databases)
255d1bbe 91 #:use-module (gnu packages dbm)
c769cf9f 92 #:use-module (gnu packages djvu)
ba5dd105 93 #:use-module (gnu packages dns)
b4ce6300 94 #:use-module (gnu packages docbook)
b29909b4 95 #:use-module (gnu packages documentation)
329d731b 96 #:use-module (gnu packages enchant)
b29909b4
TGR
97 #:use-module (gnu packages flex)
98 #:use-module (gnu packages fonts)
e762d943 99 #:use-module (gnu packages file-systems)
a56be436 100 #:use-module (gnu packages fontutils)
b29909b4 101 #:use-module (gnu packages freedesktop)
dfc407f3 102 #:use-module (gnu packages game-development)
fed5a689 103 #:use-module (gnu packages gettext)
b29909b4
TGR
104 #:use-module (gnu packages ghostscript)
105 #:use-module (gnu packages gl)
995b7261 106 #:use-module (gnu packages glib)
c1354b90 107 #:use-module (gnu packages gnupg)
23a22af6 108 #:use-module (gnu packages gnuzilla)
8d8c6bff 109 #:use-module (gnu packages geo)
b29909b4
TGR
110 #:use-module (gnu packages gperf)
111 #:use-module (gnu packages graphviz)
85f5dc19 112 #:use-module (gnu packages gstreamer)
d9c1a22b 113 #:use-module (gnu packages gtk)
6b888eff 114 #:use-module (gnu packages guile)
b645146f 115 #:use-module (gnu packages ibus)
03be9874 116 #:use-module (gnu packages icu4c)
b29909b4
TGR
117 #:use-module (gnu packages image)
118 #:use-module (gnu packages imagemagick)
119 #:use-module (gnu packages inkscape)
9cc98f8a 120 #:use-module (gnu packages iso-codes)
b29909b4 121 #:use-module (gnu packages kerberos)
85f5dc19 122 #:use-module (gnu packages libcanberra)
b64e217f 123 #:use-module (gnu packages libunistring)
0e26c3cf 124 #:use-module (gnu packages libunwind)
75016d07 125 #:use-module (gnu packages libusb)
b29909b4 126 #:use-module (gnu packages linux)
4e3fc547 127 #:use-module (gnu packages lirc)
7b212526 128 #:use-module (gnu packages lua)
b29909b4 129 #:use-module (gnu packages mail)
03be9874 130 #:use-module (gnu packages mp3)
b29909b4 131 #:use-module (gnu packages multiprecision)
64fce637 132 #:use-module (gnu packages music)
b29909b4
TGR
133 #:use-module (gnu packages ncurses)
134 #:use-module (gnu packages nettle)
ba5dd105 135 #:use-module (gnu packages networking)
5fc9b6c1 136 #:use-module (gnu packages ninja)
aff0cce9 137 #:use-module (gnu packages nss)
b29909b4 138 #:use-module (gnu packages openldap)
b645146f 139 #:use-module (gnu packages password-utils)
de1215e2 140 #:use-module (gnu packages pcre)
b29909b4 141 #:use-module (gnu packages pdf)
27477d2d 142 #:use-module (gnu packages perl)
f70d8383 143 #:use-module (gnu packages photo)
995b7261 144 #:use-module (gnu packages pkg-config)
b29909b4
TGR
145 #:use-module (gnu packages polkit)
146 #:use-module (gnu packages popt)
7d3bb433 147 #:use-module (gnu packages pretty-print)
23a22af6 148 #:use-module (gnu packages pulseaudio)
995b7261 149 #:use-module (gnu packages python)
00014781
RW
150 #:use-module (gnu packages python-crypto)
151 #:use-module (gnu packages python-web)
44d10b1f 152 #:use-module (gnu packages python-xyz)
cce0da5e 153 #:use-module (gnu packages rdesktop)
b29909b4 154 #:use-module (gnu packages readline)
a76d0f03 155 #:use-module (gnu packages ruby)
ec47c07d 156 #:use-module (gnu packages rust)
b29909b4 157 #:use-module (gnu packages samba)
75016d07 158 #:use-module (gnu packages scanner)
240cee8a 159 #:use-module (gnu packages selinux)
c27e02bf 160 #:use-module (gnu packages slang)
b29909b4
TGR
161 #:use-module (gnu packages speech)
162 #:use-module (gnu packages spice)
cd0322a3 163 #:use-module (gnu packages sqlite)
4a1bf090 164 #:use-module (gnu packages ssh)
8f9ac901 165 #:use-module (gnu packages tex)
33dc54b0 166 #:use-module (gnu packages time)
a7fd7b68 167 #:use-module (gnu packages tls)
3c5dbd2b 168 #:use-module (gnu packages version-control)
b29909b4 169 #:use-module (gnu packages video)
59132b80 170 #:use-module (gnu packages virtualization)
f2b96b3a 171 #:use-module (gnu packages vpn)
a18f8eaf 172 #:use-module (gnu packages web)
b29909b4
TGR
173 #:use-module (gnu packages webkit)
174 #:use-module (gnu packages xdisorg)
175 #:use-module (gnu packages xiph)
176 #:use-module (gnu packages xml)
d633f2f6 177 #:use-module (gnu packages xorg)
a76d0f03 178 #:use-module (gnu artwork)
8f523eb9 179 #:use-module (guix build-system cargo)
b29909b4
TGR
180 #:use-module (guix build-system cmake)
181 #:use-module (guix build-system glib-or-gtk)
182 #:use-module (guix build-system gnu)
183 #:use-module (guix build-system meson)
08be02be 184 #:use-module (guix build-system python)
b29909b4
TGR
185 #:use-module (guix build-system trivial)
186 #:use-module (guix download)
187 #:use-module (guix git-download)
188 #:use-module ((guix licenses) #:prefix license:)
189 #:use-module (guix packages)
190 #:use-module (guix utils)
a76d0f03 191 #:use-module (guix gexp)
8f523eb9
EF
192 #:use-module (guix monads)
193 #:use-module (guix store)
4e3fdeb7 194 #:use-module (ice-9 match)
c024ae36 195 #:use-module (srfi srfi-1))
85f5dc19
AE
196
197(define-public brasero
198 (package
199 (name "brasero")
e2bf423a 200 (version "3.12.2")
85f5dc19
AE
201 (source (origin
202 (method url-fetch)
d1df7554 203 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 204 (version-major+minor version) "/"
d1df7554 205 "brasero-" version ".tar.xz"))
85f5dc19
AE
206 (sha256
207 (base32
e2bf423a 208 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 209 (build-system glib-or-gtk-build-system)
e8627cd9
DH
210 (arguments
211 `(#:configure-flags (list
212 (string-append "--with-girdir="
213 (assoc-ref %outputs "out")
214 "/share/gir-1.0")
215 (string-append "--with-typelibdir="
216 (assoc-ref %outputs "out")
ce426deb
TD
217 "/lib/girepository-1.0"))
218 #:phases
219 (modify-phases %standard-phases
220 (add-before 'configure 'embed-growisofs
221 (lambda* (#:key inputs #:allow-other-keys)
222 (substitute* "plugins/growisofs/burn-growisofs.c"
223 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 224 #t)))))
85f5dc19
AE
225 (propagated-inputs
226 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
227 (native-inputs
228 `(("intltool" ,intltool)
ba549e17 229 ("itstool" ,itstool)
426adbe8 230 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 231 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 232 ("pkg-config" ,pkg-config)))
85f5dc19 233 (inputs
ce426deb
TD
234 `(("dvd+rw-tools" ,dvd+rw-tools)
235 ("glib" ,glib)
85f5dc19
AE
236 ("gnome-doc-utils" ,gnome-doc-utils)
237 ("gstreamer" ,gstreamer)
238 ("gst-plugins-base" ,gst-plugins-base)
239 ("gtk+" ,gtk+)
85f5dc19
AE
240 ("libcanberra" ,libcanberra)
241 ("libice" ,libice)
242 ("libnotify" ,libnotify)
243 ("libsm" ,libsm)
e8627cd9 244 ("libxml2" ,libxml2)
e8627cd9 245 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 246 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
247 (synopsis "CD/DVD burning tool for Gnome")
248 (description "Brasero is an application to burn CD/DVD for the Gnome
249Desktop. It is designed to be as simple as possible and has some unique
250features to enable users to create their discs easily and quickly.")
1dd26275 251 (license license:gpl2+)))
995b7261 252
4e8bdbf8
RG
253(define-public mm-common
254 (package
255 (name "mm-common")
256 (version "1.0.0")
257 (source (origin
258 (method url-fetch)
259 (uri (string-append "mirror://gnome/sources/" name "/"
260 (version-major+minor version) "/"
261 name "-" version ".tar.xz"))
262 (sha256
263 (base32
264 "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
265 (build-system meson-build-system)
266 (arguments
267 `(#:phases
268 (modify-phases %standard-phases
269 (add-after 'unpack 'patch
270 (lambda* (#:key inputs #:allow-other-keys)
271 (substitute* "util/mm-common-prepare.in"
272 (("ln") (string-append (assoc-ref inputs "coreutils")
273 "/bin/ln"))
274 (("cp") (string-append (assoc-ref inputs "coreutils")
275 "/bin/cp"))
276 (("sed") (string-append (assoc-ref inputs "sed")
277 "/bin/sed"))
278 (("cat") (string-append (assoc-ref inputs "coreutils")
279 "/bin/cat")))
280 #t)))))
281 (native-inputs
4e8bdbf8 282 `(("coreutils" ,coreutils)
74a65885
DM
283 ("gettext" ,gettext-minimal)
284 ("pkg-config" ,pkg-config)
4e8bdbf8 285 ("sed" ,sed)))
74a65885
DM
286 (inputs
287 `(("python" ,python)))
4e8bdbf8
RG
288 (synopsis "Module of GNOME C++ bindings")
289 (description "The mm-common module provides the build infrastructure
290and utilities shared among the GNOME C++ binding libraries. Release
291archives of mm-common include the Doxygen tag file for the GNU C++
292Library reference documentation.")
293 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
294 (license license:gpl2+)))
295
e05ce17d
RG
296(define-public phodav
297 (package
298 (name "phodav")
299 (version "2.4")
300 (source (origin
301 (method url-fetch)
302 (uri (string-append "mirror://gnome/sources/" name "/"
303 (version-major+minor version) "/"
304 name "-" version ".tar.xz"))
305 (sha256
306 (base32
307 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
308 (build-system meson-build-system)
309 (native-inputs
310 `(("gettext" ,gettext-minimal)
311 ("glib:bin" ,glib "bin")
312 ("gtk-doc" ,gtk-doc)
313 ("pkg-config" ,pkg-config)))
314 (inputs
315 `(("avahi" ,avahi)
316 ("libgudev" ,libgudev)
317 ("libsoup" ,libsoup)))
318 (synopsis "WebDav server implementation using libsoup")
319 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
320but it is generic enough to be reused in other projects,
321in particular in the GNOME desktop.")
322 (home-page "https://wiki.gnome.org/phodav")
323 (license license:lgpl2.1+)))
324
29ae18db
RG
325(define-public gnome-color-manager
326 (package
327 (name "gnome-color-manager")
328 (version "3.32.0")
329 (source (origin
330 (method url-fetch)
331 (uri (string-append "mirror://gnome/sources/" name "/"
332 (version-major+minor version) "/"
333 name "-" version ".tar.xz"))
334 (sha256
335 (base32
336 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
337 (build-system meson-build-system)
338 (arguments
339 `(#:glib-or-gtk? #t
340 #:phases
341 (modify-phases %standard-phases
342 (add-before
343 'check 'pre-check
344 (lambda _
345 ;; Tests require a running X server.
346 (system "Xvfb :1 &")
347 (setenv "DISPLAY" ":1")
348 #t)))))
349 (native-inputs
350 `(("desktop-file-utils" ,desktop-file-utils)
351 ("gettext" ,gettext-minimal)
352 ("glib:bin" ,glib "bin")
353 ("gtk+:bin" ,gtk+ "bin")
354 ("itstool" ,itstool)
355 ("pkg-config" ,pkg-config)
356 ("xorg-server" ,xorg-server-for-tests)))
357 (inputs
358 `(("adwaita-icon-theme" ,adwaita-icon-theme)
359 ("appstream-glib" ,appstream-glib)
360 ("colord-gtk" ,colord-gtk)
361 ("exiv2" ,exiv2)
362 ("gnome-desktop" ,gnome-desktop)
363 ("libcanberra" ,libcanberra)
364 ("libexif" ,libexif)
365 ("libtiff" ,libtiff)
366 ("libxrandr" ,libxrandr)
367 ("libxtst" ,libxtst)
368 ("libxxf86vm" ,libxxf86vm)
369 ("vte" ,vte)
370 ("xorgproto" ,xorgproto)))
371 (synopsis "Color profile manager for the GNOME desktop")
372 (description "GNOME Color Manager is a session framework that makes
373it easy to manage, install and generate color profiles
374in the GNOME desktop.")
375 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 376 (license license:gpl2+)))
29ae18db 377
e05471a1
RG
378(define-public gnome-online-miners
379 (package
380 (name "gnome-online-miners")
49dcd7fc 381 (version "3.34.0")
e05471a1
RG
382 (source (origin
383 (method url-fetch)
384 (uri (string-append "mirror://gnome/sources/" name "/"
385 (version-major+minor version) "/"
386 name "-" version ".tar.xz"))
387 (sha256
388 (base32
49dcd7fc 389 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
390 (build-system glib-or-gtk-build-system)
391 (native-inputs
392 `(("gettext" ,gettext-minimal)
393 ("glib:bin" ,glib "bin")
29ae18db 394 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
395 ("gtk+:bin" ,gtk+ "bin")
396 ("pkg-config" ,pkg-config)))
397 (inputs
398 `(("gnome-online-accounts" ,gnome-online-accounts)
399 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
400 ("grilo" ,grilo)
401 ("libgdata" ,libgdata)
402 ("libgfbgraph" ,gfbgraph)
403 ("libzapojit" ,libzapojit)
404 ("rest" ,rest)
405 ("tracker" ,tracker)))
406 (synopsis "Web Crawlers for GNOME")
407 (description "GNOME Online Miners provides a set of crawlers that
408go through your online content and index them locally in Tracker.
409It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
410 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 411 (license license:gpl2+)))
e05471a1 412
e2aed29c
RG
413(define-public gssdp
414 (package
415 (name "gssdp")
416 (version "1.2.2")
417 (source (origin
418 (method url-fetch)
419 (uri (string-append "mirror://gnome/sources/" name "/"
420 (version-major+minor version) "/"
421 name "-" version ".tar.xz"))
422 (sha256
423 (base32
424 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
425 (build-system meson-build-system)
426 (native-inputs
427 `(("gettext" ,gettext-minimal)
428 ("glib:bin" ,glib "bin")
429 ("gobject-introspection" ,gobject-introspection)
430 ("gtk-doc" ,gtk-doc)
431 ("pkg-config" ,pkg-config)
432 ("vala" ,vala)))
433 (inputs
434 `(("gtk+" ,gtk+)
435 ("libsoup" ,libsoup)))
436 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
437Protocol} for GNOME")
438 (description "This package provides a library to handle resource discovery
439and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
440a debugging tool, @command{gssdp-device-sniffer}.")
441 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
442 (license license:lgpl2.0+)))
443
291a85b2
RG
444(define-public gupnp
445 (package
446 (name "gupnp")
447 (version "1.2.2")
448 (source (origin
449 (method url-fetch)
450 (uri (string-append "mirror://gnome/sources/" name "/"
451 (version-major+minor version) "/"
452 name "-" version ".tar.xz"))
453 (sha256
454 (base32
455 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
456 (build-system meson-build-system)
457 (native-inputs
458 `(("gettext" ,gettext-minimal)
459 ("glib:bin" ,glib "bin")
460 ("gobject-introspection" ,gobject-introspection)
461 ("gtk-doc" ,gtk-doc)
462 ("pkg-config" ,pkg-config)
463 ("vala" ,vala)))
464 (inputs
465 `(("gssdp" ,gssdp)
466 ("gtk+" ,gtk+)
467 ("libsoup" ,libsoup)))
468 (synopsis "PnP API for GNOME")
469 (description "This package provides GUPnP, an object-oriented framework
470for creating UPnP devices and control points, written in C using
471@code{GObject} and @code{libsoup}.")
472 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
473 (license license:lgpl2.0+)))
474
747d7fe4
RG
475(define-public gupnp-dlna
476 (package
477 (name "gupnp-dlna")
478 (version "0.10.5")
479 (source (origin
480 (method url-fetch)
481 (uri (string-append "mirror://gnome/sources/" name "/"
482 (version-major+minor version) "/"
483 name "-" version ".tar.xz"))
484 (sha256
485 (base32
486 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
487 (build-system gnu-build-system)
488 (native-inputs
489 `(("gettext" ,gettext-minimal)
490 ("glib:bin" ,glib "bin")
491 ("gobject-introspection" ,gobject-introspection)
492 ("gtk-doc" ,gtk-doc)
493 ("libxml" ,libxml2)
494 ("pkg-config" ,pkg-config)
495 ("vala" ,vala)))
496 (inputs
497 `(("gstreamer" ,gstreamer)
498 ("gupnp" ,gupnp)))
499 (propagated-inputs
500 `(("gst-plugins-base" ,gst-plugins-base)
501 ("gst-plugins-good" ,gst-plugins-good)))
502 (synopsis "GUPnP DLNA for GNOME")
503 (description "This package provides a small utility library to
504support DLNA-related tasks such as media profile guessing, transcoding to a
505given profile, etc. DLNA is a subset of UPnP A/V.")
506 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
507 (license license:lgpl2.0+)))
508
1b4cb628
RG
509(define-public gupnp-av
510 (package
511 (name "gupnp-av")
512 (version "0.12.11")
513 (source (origin
514 (method url-fetch)
515 (uri (string-append "mirror://gnome/sources/" name "/"
516 (version-major+minor version) "/"
517 name "-" version ".tar.xz"))
518 (sha256
519 (base32
520 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
521 (build-system gnu-build-system)
522 (native-inputs
523 `(("gettext" ,gettext-minimal)
524 ("glib:bin" ,glib "bin")
525 ("gobject-introspection" ,gobject-introspection)
526 ("gtk-doc" ,gtk-doc)
527 ("libxml" ,libxml2)
528 ("pkg-config" ,pkg-config)))
529 (inputs
530 `(("gtk+" ,gtk+)
531 ("gupnp" ,gupnp)))
532 (synopsis "GUPnP A/V for GNOME")
533 (description "This package provides a small library for handling
534and implementation of UPnP A/V profiles.")
535 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
536 (license license:lgpl2.0+)))
537
02ebbca8
RG
538(define-public libmediaart
539 (package
540 (name "libmediaart")
541 (version "1.9.4")
542 (source (origin
543 (method url-fetch)
544 (uri (string-append "mirror://gnome/sources/" name "/"
545 (version-major+minor version) "/"
546 name "-" version ".tar.xz"))
547 (sha256
548 (base32
549 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
550 (build-system gnu-build-system)
551 (native-inputs
552 `(("glib:bin" ,glib "bin")
553 ("pkg-config" ,pkg-config)))
554 (inputs
555 `(("gdk-pixbuf" ,gdk-pixbuf)
556 ("gettext" ,gettext-minimal)
557 ("gobject-introspection" ,gobject-introspection)
558 ("gtk+:doc", gtk+ "doc")
559 ("vala" ,vala)))
560 (synopsis "Media art library for the GNOME desktop")
561 (description
562 "The libmediaart library is the foundation for media art caching,
563extraction, and lookup for applications on the desktop.")
564 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
565 (license license:lgpl2.1+)))
566
a26680eb
RG
567(define-public gnome-initial-setup
568 (package
569 (name "gnome-initial-setup")
570 (version "3.32.1")
571 (source (origin
572 (method url-fetch)
573 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
574 (version-major+minor version)
575 "/gnome-initial-setup-" version ".tar.xz"))
576 (sha256
577 (base32
578 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
579 (build-system meson-build-system)
580 (arguments
a65cc579
DM
581 '(#:configure-flags '(;; Enable camera support for user selfie.
582 "-Dcheese=auto"
c627e2cb
LC
583 "-Dsystemd=false")
584 #:phases (modify-phases %standard-phases
585 (add-after 'unpack 'set-gkbd-file-name
586 (lambda* (#:key inputs #:allow-other-keys)
587 ;; Allow the "Preview" button in the keyboard layout
588 ;; selection dialog to display the layout.
589 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
590 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
591 (("\"gkbd-keyboard-display")
592 (string-append "\"" libgnomekbd
593 "/bin/gkbd-keyboard-display")))
594 #t))))))
a26680eb
RG
595 (native-inputs
596 `(("gettext" ,gettext-minimal)
597 ("glib:bin" ,glib "bin")
598 ("gobject-introspection" ,gobject-introspection)
599 ("gtk+:bin" ,gtk+ "bin")
600 ("pkg-config" ,pkg-config)))
601 (inputs
602 `(("accountsservice" ,accountsservice)
603 ;("adwaita-icon-theme" ,adwaita-icon-theme)
604 ("gdm" ,gdm)
605 ("geoclue" ,geoclue)
606 ("gnome-desktop" ,gnome-desktop)
607 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
608 ("gnome-online-accounts" ,gnome-online-accounts)
609 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
610 ("gstreamer" ,gstreamer)
611 ("ibus" ,ibus)
612 ("json-glib" ,json-glib)
613 ("krb5" ,mit-krb5)
614 ("libgweather" ,libgweather)
615 ("libsecret" ,libsecret)
616 ("network-manager" ,network-manager)
617 ("network-manager-applet" ,network-manager-applet)
618 ("packagekit" ,packagekit)
619 ("polkit" ,polkit)
620 ("pwquality" ,libpwquality)
621 ("rest" ,rest)
622 ("upower" ,upower)
c627e2cb
LC
623 ("webkitgtk" ,webkitgtk)
624 ("libgnomekbd" ,libgnomekbd)))
a26680eb 625 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
626 (description "This package provides a set-up wizard when a
627user logs into GNOME for the first time. It typically provides a
628tour of all gnome components and allows the user to set them up.")
a26680eb
RG
629 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
630 (license license:gpl2)))
631
b5f01392
RG
632(define-public gnome-user-share
633 (package
634 (name "gnome-user-share")
635 (version "3.33.1")
636 (source (origin
637 (method url-fetch)
638 (uri (string-append "mirror://gnome/sources/" name "/"
639 (version-major+minor version) "/"
640 name "-" version ".tar.xz"))
641 (sha256
642 (base32
643 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
644 (build-system meson-build-system)
645 (arguments
646 `(#:glib-or-gtk? #t
647 #:configure-flags
648 `("-Dsystemd=false"
649 ;; Enable nautilus extension for file sharing.
650 "-Dnautilus_extension=true")))
651 (native-inputs
652 `(("gettext" ,gettext-minimal)
653 ("glib:bin" ,glib "bin")
654 ("gobject-introspection" ,gobject-introspection)
655 ("gtk+:bin" ,gtk+ "bin")
656 ("pkg-config" ,pkg-config)
657 ("yelp-tools" ,yelp-tools)))
658 (inputs
659 `(("glib" ,glib)
660 ("gnome-bluetooth" ,gnome-bluetooth)
661 ("gtk+" ,gtk+)
662 ("libcanberra" ,libcanberra)
663 ("libnotify" ,libnotify)
664 ("nautilus" ,nautilus))) ; For nautilus extension.
665 (synopsis "File sharing for GNOME desktop")
666 (description "GNOME User Share is a small package that binds together
667various free software projects to bring easy to use user-level file
668sharing to the masses.")
669 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 670 (license license:gpl2+)))
b5f01392 671
04b201bb
RG
672(define-public sushi
673 (package
674 (name "sushi")
675 (version "3.32.1")
676 (source (origin
677 (method url-fetch)
678 (uri (string-append "mirror://gnome/sources/" name "/"
679 (version-major+minor version) "/"
680 name "-" version ".tar.xz"))
681 (sha256
682 (base32
683 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
684 (build-system meson-build-system)
685 (arguments
686 `(#:glib-or-gtk? #t
687 #:phases
688 (modify-phases %standard-phases
689 (add-after 'glib-or-gtk-wrap 'wrap-typelib
690 (lambda* (#:key outputs #:allow-other-keys)
691 (let ((prog (string-append (assoc-ref outputs "out")
692 "/bin/sushi")))
693 ;; Put existing typelibs before sushi's deps, so as to correctly
694 ;; infer gdk-pixbuf
695 (wrap-program prog
696 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
697 #t))))))
698 (native-inputs
699 `(("glib:bin" ,glib "bin")
700 ("gettext" ,gettext-minimal)
701 ("gobject-introspection" ,gobject-introspection)
702 ("pkg-config" ,pkg-config)))
703 (inputs
704 `(("clutter" ,clutter)
705 ("clutter-gst" ,clutter-gst)
706 ("clutter-gtk" ,clutter-gtk)
707 ("evince" ,evince) ; For file previewing.
708 ("freetype" ,freetype)
709 ("gdk-pixbuf" ,gdk-pixbuf)
710 ("gjs" ,gjs)
711 ("gst-plugins-base" ,gst-plugins-base)
712 ("gstreamer" ,gstreamer)
713 ("gtksourceview" ,gtksourceview-3)
714 ("harfbuzz" ,harfbuzz)
715 ("libepoxy" ,libepoxy)
716 ("libmusicbrainz" ,libmusicbrainz)
717 ("libxml2" ,libxml2)
718 ("neon" ,neon)
719 ("webkitgtk" ,webkitgtk)))
720 (synopsis "File previewer for the GNOME desktop")
721 (description "Sushi is a DBus-activated service that allows applications to
722preview files on the GNOME desktop.")
723 (home-page "https://gitlab.gnome.org/GNOME/sushi")
724 (license license:gpl2+)))
725
89af0902
RG
726(define-public rygel
727 (package
728 (name "rygel")
729 (version "0.38.3")
730 (source (origin
731 (method url-fetch)
732 (uri (string-append "mirror://gnome/sources/" name "/"
733 (version-major+minor version) "/"
734 name "-" version ".tar.xz"))
735 (sha256
736 (base32
737 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
738 (build-system gnu-build-system)
739 (native-inputs
740 `(("gettext" ,gettext-minimal)
741 ("gobject-introspection" ,gobject-introspection)
742 ("gtk-doc" ,gtk-doc)
743 ("pkg-config" ,pkg-config)
744 ("vala" ,vala)))
745 (inputs
746 `(("gdk-pixbuf" ,gdk-pixbuf)
747 ("gssdp" ,gssdp)
748 ("gstreamer" ,gstreamer)
749 ("gst-plugins-base" ,gst-plugins-base)
750 ("gtk+" ,gtk+)
751 ("gupnp" ,gupnp)
752 ("gupnp-av" ,gupnp-av)
753 ("gupnp-dlna" ,gupnp-dlna)
754 ("libgee" ,libgee)
755 ("libmediaart" ,libmediaart)
756 ("libsoup" ,libsoup)
757 ("libxslt" ,libxslt)
758 ("libunistring" ,libunistring)
759 ("tracker" ,tracker)))
760 (synopsis "Share audio, video, and pictures with other devices")
761 (description
762 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
763MediaRenderer}) for GNOME that allows you to easily share audio, video, and
764pictures, and to control a media player on your home network.
765
766Rygel achieves interoperability with other devices by trying to conform to the
767strict requirements of DLNA and by converting media on-the-fly to formats that
768client devices can handle.")
769 (home-page "https://wiki.gnome.org/Projects/Rygel")
770 (license (list
771 ;; For logo (data/icons/*).
772 license:cc-by-sa3.0
773 ;; For all others.
774 license:lgpl2.1+))))
775
47e87093
RG
776(define-public libnma
777 (package
778 (name "libnma")
779 (version "1.8.26")
780 (source (origin
781 (method url-fetch)
782 (uri (string-append "mirror://gnome/sources/" name "/"
783 (version-major+minor version) "/"
784 name "-" version ".tar.xz"))
785 (sha256
786 (base32
787 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
788 (build-system meson-build-system)
789 (arguments
790 `(#:glib-or-gtk? #t))
791 (native-inputs
792 `(("gettext" ,gettext-minimal)
793 ("glib:bin" ,glib "bin")
794 ("gtk-doc" ,gtk-doc)
795 ("gobject-introspection" ,gobject-introspection)
796 ("pkg-config" ,pkg-config)))
797 (inputs
798 `(("adwaita-icon-theme" ,adwaita-icon-theme)
799 ("gcr" ,gcr)
800 ("gtk+" ,gtk+)
801 ("iso-codes" ,iso-codes)
802 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
803 ("network-manager" ,network-manager)))
804 (synopsis "Network Manager's applet library")
805 (description "Libnma is an applet library for Network Manager. It was
806initially part of network-manager-applet and has now become a separate
807project.")
808 (home-page "https://gitlab.gnome.org/GNOME/libnma")
809
810 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
811 ;; "LGPL-2.1+".
812 (license license:gpl2+)))
813
30416265
RG
814(define-public gnome-menus
815 (package
816 (name "gnome-menus")
817 (version "3.32.0")
818 (source (origin
819 (method url-fetch)
820 (uri (string-append "mirror://gnome/sources/gnome-menus/"
821 (version-major+minor version) "/"
822 name "-" version ".tar.xz"))
823 (sha256
824 (base32
825 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
826 (build-system gnu-build-system)
827 (native-inputs
828 `(("gettext" ,gettext-minimal)
829 ("glib" ,glib)
830 ("pkg-config" ,pkg-config)))
831 (synopsis "Menu support for GNOME desktop")
832 (description "GNOME Menus contains the libgnome-menu library, the layout
833configuration files for the GNOME menu, as well as a simple menu editor.")
834 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 835 (license license:lgpl2.0+)))
30416265 836
d61a894b
CB
837(define-public deja-dup
838 (package
839 (name "deja-dup")
840 (version "34.3")
841 (source (origin
842 (method url-fetch)
843 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
844 (sha256
845 (base32
846 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
847 (patches
848 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
849 (build-system glib-or-gtk-build-system)
850 (arguments
851 `(#:modules ((guix build gnu-build-system)
852 ((guix build cmake-build-system) #:prefix cmake:)
853 (guix build glib-or-gtk-build-system)
854 (guix build utils))
855 #:imported-modules (,@%glib-or-gtk-build-system-modules
856 (guix build cmake-build-system))
857 #:test-target "test"
858 #:configure-flags (list (string-append
859 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
860 (string-append
861 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
862 #:phases
863 (modify-phases %standard-phases
864 (add-after 'unpack 'patch-lockfile-deletion
865 (lambda rest
866 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
867 (("/bin/rm")
868 (which "rm")))))
869 (replace 'configure
870 (assoc-ref cmake:%standard-phases 'configure))
871 (delete 'check) ;; Fails due to issues with DBus
872 (add-after 'install 'wrap-deja-dup
873 (lambda* (#:key inputs outputs #:allow-other-keys)
874 (let ((python (assoc-ref inputs "python"))
875 (python-path (getenv "PYTHONPATH"))
876 (duplicity (assoc-ref inputs "duplicity"))
877 (out (assoc-ref outputs "out")))
878 (for-each
879 (lambda (program)
880 (wrap-program program
881 `("PATH" ":" prefix (,(string-append python "/bin")
882 ,(string-append duplicity "/bin"))))
883 (wrap-program program
884 `("PYTHONPATH" ":" prefix (,python-path))))
885
886 (find-files (string-append out "/bin")))
887 #t))))))
888 (inputs
889 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
890 ("gobject-introspection" ,gobject-introspection)
891 ("duplicity" ,duplicity)
61506fe5 892 ("python" ,python-2)
d61a894b
CB
893 ("python-pygobject" ,python2-pygobject)
894 ("gtk+" ,gtk+)
895 ("libnotify" ,libnotify)
896 ("libpeas" ,libpeas)
897 ("libsecret" ,libsecret)
898 ("packagekit" ,packagekit)))
899 (native-inputs
900 `(("pkg-config" ,pkg-config)
901 ("vala" ,vala)
902 ("gettext" ,gettext-minimal)
903 ("itstool" ,itstool)
904 ("intltool" ,intltool)
c69959f0 905 ("cmake" ,cmake-minimal)))
d61a894b
CB
906 (home-page "https://launchpad.net/deja-dup")
907 (synopsis "Simple backup tool, for regular encrypted backups")
908 (description
909 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
910uses duplicity as the backend, which supports incremental backups and storage
911either on a local, or remote machine via a number of methods.")
912 (license license:gpl3+)))
913
823b77fb
RG
914(define-public gnome-user-docs
915 (package
916 (name "gnome-user-docs")
917 (version "3.32.3")
918 (source
919 (origin
920 (method url-fetch)
921 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
922 (version-major+minor version)
923 "/gnome-user-docs-" version ".tar.xz"))
924 (sha256
925 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
926 (build-system gnu-build-system)
927 (native-inputs
928 `(("gettext" ,gettext-minimal)
929 ("itstool" ,itstool)
930 ("pkg-config" ,pkg-config)
931 ("xmllint" ,libxml2)))
932 (synopsis "User documentation for the GNOME desktop")
933 (description
934 "The GNOME User Documentation explains how to use the GNOME desktop and its
935components. It covers usage and setup of the core GNOME programs by end-users
936and system administrators.")
937 (home-page "https://live.gnome.org/DocumentationProject")
938 (license license:cc-by3.0)))
939
be93299d
RG
940(define-public gnome-getting-started-docs
941 (package
942 (name "gnome-getting-started-docs")
943 (version "3.32.2")
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
948 (version-major+minor version)
949 "/gnome-getting-started-docs-" version ".tar.xz"))
950 (sha256
951 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
952 (build-system gnu-build-system)
953 (native-inputs
954 `(("gettext" ,gettext-minimal)
955 ("itstool" ,itstool)
956 ("pkg-config" ,pkg-config)
957 ("xmllint" ,libxml2)))
958 (synopsis "Help to get new users started with the GNOME desktop")
959 (description
960 "The GNOME Getting Started Documentation contains GNOME's intuitive
961\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
962
963It is normally used together with @command{gnome-initial-setup}, but is also
964useful as a tutorial and users' guide for new or less experienced users.")
965 (home-page "https://live.gnome.org/DocumentationProject")
966 (license license:cc-by-sa3.0)))
967
a56be436
RJ
968(define-public dia
969 ;; This version from GNOME's repository includes fixes for compiling with
970 ;; recent versions of the build tools. The latest activity on the
971 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
972 ;; fixes in 2016.
973 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
974 (package
975 (name "dia")
914c8cdf 976 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
977 (source (origin
978 (method git-fetch)
979 (uri (git-reference
914c8cdf 980 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 981 (commit commit)))
914c8cdf 982 (file-name (git-file-name name version))
a56be436
RJ
983 (sha256
984 (base32
985 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
986 (build-system gnu-build-system)
987 (inputs
a315afa3 988 `(("freetype" ,freetype)
a56be436
RJ
989 ("gdk-pixbuf" ,gdk-pixbuf)
990 ("gtk+" ,gtk+-2)
a315afa3 991 ("libart-lgpl" ,libart-lgpl)
a56be436 992 ("libxml2" ,libxml2)
a315afa3 993 ("pango" ,pango)))
a56be436 994 (native-inputs
a315afa3 995 `(("autoconf" ,autoconf)
a56be436 996 ("automake" ,automake)
a315afa3
EF
997 ("intltool" ,intltool)
998 ("glib" ,glib "bin")
a56be436
RJ
999 ("libtool" ,libtool)
1000 ("perl" ,perl)
a315afa3 1001 ("pkg-config" ,pkg-config)
a56be436
RJ
1002 ("python-wrapper" ,python-wrapper)))
1003 (arguments
1004 `(#:phases
1005 (modify-phases %standard-phases
4b3e91de 1006 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 1007 (lambda _
4b3e91de
EF
1008 (setenv "NOCONFIGURE" "true")
1009 #t)))))
a56be436
RJ
1010 (home-page "https://wiki.gnome.org/Apps/Dia")
1011 (synopsis "Diagram creation for GNOME")
1012 (description "Dia can be used to draw different types of diagrams, and
1013includes support for UML static structure diagrams (class diagrams), entity
1014relationship modeling, and network diagrams. The program supports various file
1015formats like PNG, SVG, PDF and EPS.")
1016 (license license:gpl2+))))
1017
d0b19e44
RW
1018;; This is the unstable release, but it is required for the current stable
1019;; release of gvfs (1.38.1).
adc5cb1b
KK
1020(define-public libgdata
1021 (package
1022 (name "libgdata")
d0b19e44 1023 (version "0.17.9")
adc5cb1b
KK
1024 (source (origin
1025 (method url-fetch)
1026 (uri (string-append "mirror://gnome/sources/" name "/"
1027 (version-major+minor version) "/"
1028 name "-" version ".tar.xz"))
1029 (sha256
1030 (base32
d0b19e44 1031 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1032 (build-system gnu-build-system)
1033 (arguments
1034 '(#:phases
1035 (modify-phases %standard-phases
448052b7
TGR
1036 (add-before 'check 'disable-failing-tests
1037 (lambda _
1038 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1039 ;; They have been removed in libgdata 0.17.6, so just do the same.
1040 (substitute* "gdata/tests/Makefile"
1041 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1042 #t)))))
1043 (native-inputs
1044 `(("glib:bin" ,glib "bin")
1045 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1046 ("intltool" ,intltool)
1047 ("pkg-config" ,pkg-config)
1048 ("uhttpmock" ,uhttpmock)))
1049 (inputs
1050 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1051 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1052 (propagated-inputs
1053 `(("gcr" ,gcr)
d0b19e44 1054 ("glib" ,glib)
14c297fd 1055 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1056 ("json-glib" ,json-glib)
adc5cb1b 1057 ("liboauth" ,liboauth)
d0b19e44 1058 ("libsoup" ,libsoup)
adc5cb1b
KK
1059 ("libxml2" ,libxml2)))
1060 (home-page "https://wiki.gnome.org/Projects/libgdata")
1061 (synopsis "Library for accessing online service APIs")
1062 (description
1063 "libgdata is a GLib-based library for accessing online service APIs using
1064the GData protocol — most notably, Google's services. It provides APIs to
1065access the common Google services, and has full asynchronous support.")
1066 (license license:lgpl2.1+)))
1067
94e10cf4
KK
1068(define-public libgxps
1069 (package
1070 (name "libgxps")
66470a5a 1071 (version "0.3.1")
94e10cf4
KK
1072 (source (origin
1073 (method url-fetch)
7f10628c 1074 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1075 (version-major+minor version) "/"
1076 name "-" version ".tar.xz"))
1077 (sha256
1078 (base32
66470a5a 1079 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1080 (build-system meson-build-system)
94e10cf4
KK
1081 (native-inputs
1082 `(("gobject-introspection" ,gobject-introspection)
1083 ("pkg-config" ,pkg-config)))
1084 (inputs
c8d62d93 1085 `(("gtk+" ,gtk+)
b6b3e512 1086 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1087 ("lcms" ,lcms)
0a6e9e13 1088 ("libtiff" ,libtiff)))
c8d62d93
MB
1089 (propagated-inputs
1090 ;; In Requires of libgxps.pc.
1091 `(("cairo" ,cairo)
1092 ("glib" ,glib)
1093 ("libarchive" ,libarchive)))
94e10cf4
KK
1094 (home-page "https://wiki.gnome.org/Projects/libgxps")
1095 (synopsis "GObject-based library for handling and rendering XPS documents")
1096 (description
1097 "libgxps is a GObject-based library for handling and rendering XPS
1098documents. This package also contains binaries that can convert XPS documents
1099to other formats.")
1100 (license license:lgpl2.1+)))
1101
4e09f57a
RG
1102(define-public gnome-characters
1103 (package
1104 (name "gnome-characters")
1105 (version "3.30.0")
1106 (source
1107 (origin
1108 (method url-fetch)
1109 (uri (string-append "mirror://gnome/sources/"
1110 "gnome-characters/" (version-major+minor version)
1111 "/gnome-characters-" version ".tar.xz"))
1112 (sha256
1113 (base32
1114 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1115 (build-system meson-build-system)
5757c641 1116 (arguments
1117 `(#:glib-or-gtk? #t
1118 #:phases (modify-phases %standard-phases
1119 (add-after 'install 'wrap
1120 (lambda* (#:key outputs #:allow-other-keys)
1121 ;; GNOME Characters needs Typelib files from GTK and
1122 ;; gnome-desktop.
1123 (wrap-program (string-append (assoc-ref outputs "out")
1124 "/bin/gnome-characters")
1125 `("GI_TYPELIB_PATH" ":" prefix
1126 (,(getenv "GI_TYPELIB_PATH"))))
1127 #t)))))
4e09f57a
RG
1128 (native-inputs
1129 `(("gettext" ,gettext-minimal)
1130 ("glib:bin" ,glib "bin")
1131 ("gtk+:bin" ,gtk+ "bin")
1132 ("pkg-config" ,pkg-config)
1133 ("python" ,python-minimal)))
1134 (inputs
1135 `(("gjs" ,gjs)
1136 ("gtk+" ,gtk+)
5757c641 1137 ("libunistring" ,libunistring)
1138 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1139 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1140 (synopsis "Find and insert unusual characters")
1141 (description "Characters is a simple utility application to find
1142and insert unusual characters. It allows you to quickly find the
1143character you are looking for by searching for keywords.")
1144 (license license:bsd-3)))
1145
7aab13f1
ML
1146(define-public gnome-common
1147 (package
1148 (name "gnome-common")
af83490d 1149 (version "3.18.0")
7aab13f1
ML
1150 (source
1151 (origin
1152 (method url-fetch)
1153 (uri (string-append "mirror://gnome/sources/" name "/"
1154 (version-major+minor version) "/"
1155 name "-" version ".tar.xz"))
1156 (sha256
1157 (base32
af83490d 1158 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1159 (build-system gnu-build-system)
1160 (home-page "https://www.gnome.org/")
1161 (synopsis "Bootstrap GNOME modules built from Git")
1162 (description "gnome-common contains various files needed to bootstrap
1163GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1164can be used to configure a source directory checked out from Git and some
1165commonly used macros.")
1166 (license license:gpl2+)))
1167
4e868d22
RG
1168(define-public gnome-contacts
1169 (package
1170 (name "gnome-contacts")
6a6138b2 1171 (version "3.32.1")
4e868d22
RG
1172 (source (origin
1173 (method url-fetch)
1174 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1175 (version-major+minor version) "/"
1176 name "-" version ".tar.xz"))
1177 (sha256
1178 (base32
6a6138b2 1179 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
1180 (build-system meson-build-system)
1181 (arguments
1182 `(#:phases
1183 (modify-phases %standard-phases
1184 (add-after 'unpack 'generate-vapis
1185 (lambda* (#:key inputs #:allow-other-keys)
1186 ;; To generate goa's missing .vapi file
1187 (define goa
1188 (assoc-ref inputs "gnome-online-accounts:lib"))
1189
1190 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1191 "--library=goa-1.0"
1192 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
1193 #t)))))
1194 (native-inputs
1195 `(("glib:bin" ,glib "bin")
1196 ("gtk+:bin" ,gtk+ "bin")
1197 ("pkg-config" ,pkg-config)))
1198 (inputs
1199 `(("cheese" ,cheese)
1200 ("docbook-xml" ,docbook-xml)
1201 ("dockbook-xsl" ,docbook-xsl)
1202 ("evolution-data-server" ,evolution-data-server)
1203 ("gettext" ,gettext-minimal)
1204 ("gnome-desktop" ,gnome-desktop)
1205 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1206 ("gobject-introspection" ,gobject-introspection)
1207 ("gst-plugins-base" ,gst-plugins-base)
1208 ("gtk+" ,gtk+)
1209 ("libgee" ,libgee)
1210 ("libxslt" ,libxslt)
1211 ("telepathy-glib" ,telepathy-glib)
1212 ("vala" ,vala)))
1213 (propagated-inputs
1214 `(("folks", folks)
1215 ("telepathy-mission-control" ,telepathy-mission-control)))
1216 (synopsis "GNOME's integrated address book")
1217 (description
1218 "GNOME Contacts organizes your contact information from online and
1219offline sources, providing a centralized place for managing your contacts.")
1220 (home-page "https://wiki.gnome.org/Apps/Contacts")
1221 (license license:gpl2+)))
1222
9cc98f8a
CR
1223(define-public gnome-desktop
1224 (package
1225 (name "gnome-desktop")
e8a26caa 1226 (version "3.32.2")
9cc98f8a
CR
1227 (source
1228 (origin
1229 (method url-fetch)
b38e45d8
EB
1230 (uri (string-append "mirror://gnome/sources/" name "/"
1231 (version-major+minor version) "/"
9cc98f8a
CR
1232 name "-" version ".tar.xz"))
1233 (sha256
1234 (base32
e8a26caa
KK
1235 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
1236 (build-system meson-build-system)
a0fe7c06
CB
1237 (arguments
1238 '(#:phases
1239 (modify-phases %standard-phases
1240 (add-before 'configure 'patch-path
1241 (lambda* (#:key inputs #:allow-other-keys)
1242 (let ((libc (assoc-ref inputs "libc")))
1243 (substitute* "libgnome-desktop/gnome-languages.c"
1244 (("\"locale\"")
1245 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1246 #t)))
1247 (add-before 'check 'pre-check
1248 (lambda* (#:key inputs #:allow-other-keys)
1249 ;; Tests require a running X server and locales.
1250 (system "Xvfb :1 &")
1251 (setenv "DISPLAY" ":1")
1252 (setenv "GUIX_LOCPATH"
1253 (string-append (assoc-ref inputs "glibc-locales")
1254 "/lib/locale"))
1255 #t)))))
9cc98f8a 1256 (native-inputs
e8a26caa
KK
1257 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1258 ("glibc-locales" ,glibc-locales) ; for tests
1259 ("gobject-introspection" ,gobject-introspection)
a8340482 1260 ("itstool" ,itstool)
bcb354ad
SB
1261 ("intltool" ,intltool)
1262 ("pkg-config" ,pkg-config)
e8a26caa
KK
1263 ("xmllint" ,libxml2)
1264 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1265 (propagated-inputs
1266 ;; Required by gnome-desktop-3.0.pc.
1267 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1268 ("gtk+" ,gtk+)
9cc98f8a 1269 ("iso-codes" ,iso-codes)
9863ce20 1270 ("libseccomp" ,libseccomp)
9cc98f8a 1271 ("libx11" ,libx11)
e8a26caa
KK
1272 ("xkeyboard-config" ,xkeyboard-config)))
1273 (inputs
1274 `(("gdk-pixbuf" ,gdk-pixbuf)
1275 ("glib" ,glib)
9cc98f8a
CR
1276 ("libxext" ,libxext)
1277 ("libxkbfile" ,libxkbfile)
e8a26caa 1278 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1279 (home-page "https://www.gnome.org/")
1280 (synopsis
35b9e423 1281 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1282 (description
1283 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1284on the desktop, but that cannot live in the platform for various reasons.
1285There is no API or ABI guarantee, although we are doing our best to provide
1286stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1287
1288The gnome-about program helps find which version of GNOME is installed.")
1289 ; Some bits under the LGPL.
1dd26275 1290 (license license:gpl2+)))
9cc98f8a 1291
995b7261
AE
1292(define-public gnome-doc-utils
1293 (package
1294 (name "gnome-doc-utils")
1295 (version "0.20.10")
1296 (source
1297 (origin
1298 (method url-fetch)
b38e45d8
EB
1299 (uri (string-append "mirror://gnome/sources/" name "/"
1300 (version-major+minor version) "/"
995b7261
AE
1301 name "-" version ".tar.xz"))
1302 (sha256
1303 (base32
1304 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1305 (build-system gnu-build-system)
c4c4cc05 1306 (native-inputs
995b7261 1307 `(("intltool" ,intltool)
b4ce6300 1308 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1309 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1310 ("libxml2" ,libxml2)
1311 ("libxslt" ,libxslt)
1312 ("pkg-config" ,pkg-config)
1313 ("python-2" ,python-2)))
995b7261
AE
1314 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1315 (synopsis
1316 "Documentation utilities for the Gnome project")
1317 (description
1318 "Gnome-doc-utils is a collection of documentation utilities for the
1319Gnome project. It includes xml2po tool which makes it easier to translate
1320and keep up to date translations of documentation.")
1dd26275 1321 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1322
6c4f7022
DC
1323(define-public gnome-disk-utility
1324 (package
1325 (name "gnome-disk-utility")
e106d0a6 1326 (version "3.32.1")
6c4f7022
DC
1327 (source (origin
1328 (method url-fetch)
1329 (uri (string-append "mirror://gnome/sources/" name "/"
1330 (version-major+minor version) "/"
1331 name "-" version ".tar.xz"))
1332 (sha256
1333 (base32
e106d0a6 1334 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 1335 (build-system meson-build-system)
321c73c3
EF
1336 (arguments
1337 '(#:phases
1338 (modify-phases %standard-phases
1339 (add-after 'unpack 'skip-gtk-update-icon-cache
1340 ;; Don't create 'icon-theme.cache'.
1341 (lambda _
1342 (substitute* "meson_post_install.py"
1343 (("gtk-update-icon-cache") "true"))
1344 #t)))))
6c4f7022
DC
1345 (native-inputs
1346 `(("glib:bin" ,glib "bin")
1347 ("intltool" ,intltool)
1348 ("pkg-config" ,pkg-config)
1349 ("docbook-xml" ,docbook-xml)
1350 ("docbook-xsl" ,docbook-xsl)
1351 ("libxml2" ,libxml2)
1352 ("libxslt" ,libxslt)))
1353 (inputs
1354 `(("glib" ,glib)
1355 ("appstream-glib" ,appstream-glib)
1356 ("gnome-settings-daemon" ,gnome-settings-daemon)
1357 ("gtk+" ,gtk+)
1358 ("libcanberra" ,libcanberra)
1359 ("libdvdread" ,libdvdread)
1360 ("libnotify" ,libnotify)
1361 ("libpwquality" ,libpwquality)
1362 ("libsecret" ,libsecret)
1363 ("udisks" ,udisks)))
1364 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1365 (synopsis "Disk management utility for GNOME")
1366 (description "Disk management utility for GNOME.")
1367 (license license:gpl2+)))
1368
3d217317
RG
1369(define-public gnome-font-viewer
1370 (package
1371 (name "gnome-font-viewer")
1372 (version "3.30.0")
1373 (source (origin
1374 (method url-fetch)
1375 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1376 (version-major+minor version)
1377 "/gnome-font-viewer-" version ".tar.xz"))
1378 (sha256
1379 (base32
1380 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1381 (build-system meson-build-system)
1382 (arguments
1383 '(#:phases
1384 (modify-phases %standard-phases
1385 (add-after 'unpack 'patch-post-install-script
1386 (lambda _
1387 (substitute* "meson-postinstall.sh"
1388 (("update-desktop-database") (which "true")))
1389 #t)))))
1390 (native-inputs
1391 `(("gettext" ,gettext-minimal)
1392 ("glib:bin" ,glib "bin")
1393 ("pkg-config" ,pkg-config)))
1394 (inputs
1395 `(("glib" ,glib)
1396 ("gnome-desktop" ,gnome-desktop)
1397 ("gtk+" ,gtk+)))
1398 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1399 (synopsis "GNOME Fonts")
1400 (description "Application to show you the fonts installed on your computer
1401for your use as thumbnails. Selecting any thumbnails shows the full view of how
1402the font would look under various sizes.")
1403 (license license:gpl2+)))
1404
8ff49011
RW
1405(define-public gcr
1406 (package
1407 (name "gcr")
bea6b829 1408 (version "3.28.1")
8ff49011 1409 (source (origin
0daf0efb
RW
1410 (method url-fetch)
1411 (uri (string-append "mirror://gnome/sources/" name "/"
1412 (version-major+minor version) "/"
1413 name "-" version ".tar.xz"))
1414 (sha256
1415 (base32
bea6b829 1416 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1417 (patches
1418 (list
1419 ;; This patch solves an ordering issue that showed up when
1420 ;; running the test suite against newer Glib 2.60. See
1421 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1422 (origin
1423 (method url-fetch)
1424 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1425 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1426 (file-name "gcr-hashtable-ordering.patch")
1427 (sha256
1428 (base32
1429 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1430 (build-system gnu-build-system)
1431 (arguments
0daf0efb
RW
1432 '(#:phases
1433 (modify-phases %standard-phases
1434 ;; These fail because /var/lib/dbus/machine-id is not present in the
1435 ;; build environment.
1436 (add-after 'unpack 'disable-failing-tests
1437 (lambda _
1438 (substitute* "gcr/test-system-prompt.c"
1439 (("g_test_add") "//")
1440 (("return.*") "return 0;"))
1441 #t))
1442 (add-before 'check 'pre-check
1443 (lambda _
1444 ;; Some tests expect to write to $HOME.
1445 (setenv "HOME" "/tmp")
1446 #t)))))
8ff49011
RW
1447 (inputs
1448 `(("dbus" ,dbus)
0daf0efb 1449 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1450 ("libgcrypt" ,libgcrypt)))
1451 (native-inputs
0daf0efb 1452 `(("python" ,python-2) ;for tests
8ff49011
RW
1453 ("pkg-config" ,pkg-config)
1454 ("glib" ,glib "bin")
2af4f5b0
SB
1455 ("gobject-introspection" ,gobject-introspection)
1456 ("intltool" ,intltool)
0daf0efb 1457 ("libxml2" ,libxml2)
bea6b829 1458 ("vala" ,vala)
2af4f5b0 1459 ("xsltproc" ,libxslt)))
8ff49011
RW
1460 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1461 (propagated-inputs
1462 `(("p11-kit" ,p11-kit)
1463 ("glib" ,glib)
1464 ("gtk+" ,gtk+)))
f032d0be 1465 (home-page "https://www.gnome.org")
8ff49011
RW
1466 (synopsis "Libraries for displaying certificates and accessing key stores")
1467 (description
1468 "The GCR package contains libraries used for displaying certificates and
1469accessing key stores. It also provides the viewer for crypto files on the
1470GNOME Desktop.")
1471 (license license:lgpl2.1+)))
1472
c1354b90
LC
1473(define-public libgnome-keyring
1474 (package
1475 (name "libgnome-keyring")
5e8aec2c 1476 (version "3.12.0")
c1354b90
LC
1477 (source (origin
1478 (method url-fetch)
b38e45d8
EB
1479 (uri (string-append "mirror://gnome/sources/" name "/"
1480 (version-major+minor version) "/"
1481 name "-" version ".tar.xz"))
c1354b90
LC
1482 (sha256
1483 (base32
5e8aec2c 1484 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1485 (build-system gnu-build-system)
c1354b90 1486 (inputs
c4c4cc05 1487 `(("libgcrypt" ,libgcrypt)
c1354b90 1488 ("dbus" ,dbus)))
c4c4cc05
JD
1489 (native-inputs
1490 `(("pkg-config" ,pkg-config)
426adbe8 1491 ("glib" ,glib "bin")
c4c4cc05 1492 ("intltool" ,intltool)))
c1354b90
LC
1493 (propagated-inputs
1494 ;; Referred to in .h files and .pc.
1495 `(("glib" ,glib)))
f032d0be 1496 (home-page "https://www.gnome.org")
c1354b90
LC
1497 (synopsis "Accessing passwords from the GNOME keyring")
1498 (description
1499 "Client library to access passwords from the GNOME keyring.")
1500
1501 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1502 (license license:lgpl2.0+)))
c1354b90 1503
e99a3d6f
RW
1504(define-public gnome-keyring
1505 (package
1506 (name "gnome-keyring")
ab35cc6e 1507 (version "3.28.2")
e99a3d6f
RW
1508 (source (origin
1509 (method url-fetch)
1510 (uri (string-append "mirror://gnome/sources/" name "/"
1511 (version-major+minor version) "/"
1512 name "-" version ".tar.xz"))
1513 (sha256
1514 (base32
ab35cc6e 1515 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1516 (build-system gnu-build-system)
1517 (arguments
1518 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1519 ;not exist
1520 #:configure-flags
1521 (list
1522 (string-append "--with-pkcs11-config="
1523 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1524 (string-append "--with-pkcs11-modules="
1525 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1526 #:phases
1527 (modify-phases %standard-phases
ab35cc6e
RW
1528 (add-after 'unpack 'fix-/bin/sh-reference
1529 (lambda _
1530 (substitute* "po/Makefile.in.in"
1531 (("/bin/sh") (which "sh")))
1532 #t))
5120f24f
RW
1533 (add-after 'unpack 'fix-docbook
1534 (lambda* (#:key inputs #:allow-other-keys)
1535 (substitute* "docs/Makefile.am"
1536 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1537 (string-append (assoc-ref inputs "docbook-xsl")
1538 "/xml/xsl/docbook-xsl-"
1539 ,(package-version docbook-xsl)
1540 "/manpages/docbook.xsl")))
1541 (setenv "XML_CATALOG_FILES"
1542 (string-append (assoc-ref inputs "docbook-xml")
1543 "/xml/dtd/docbook/catalog.xml"))
1544 ;; Rerun the whole thing to avoid version mismatch ("This is
1545 ;; Automake 1.15.1, but the definition used by this
1546 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1547 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1548 (invoke "autoconf")
1549 (invoke "aclocal")
1550 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1551 (inputs
1552 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1553 ("linux-pam" ,linux-pam)
ab35cc6e 1554 ("openssh" ,openssh)
e99a3d6f
RW
1555 ("dbus" ,dbus)
1556 ("gcr" ,gcr)))
1557 (native-inputs
1558 `(("pkg-config" ,pkg-config)
1559 ("glib" ,glib "bin")
5120f24f 1560 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1561 ("python" ,python-2) ;for tests
1562 ("intltool" ,intltool)
1563 ("autoconf" ,autoconf)
1564 ("automake" ,automake)
1565 ("libxslt" ,libxslt) ;for documentation
1566 ("docbook-xml" ,docbook-xml-4.2)
1567 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1568 (home-page "https://www.gnome.org")
e99a3d6f
RW
1569 (synopsis "Daemon to store passwords and encryption keys")
1570 (description
1571 "gnome-keyring is a program that keeps passwords and other secrets for
1572users. It is run as a daemon in the session, similar to ssh-agent, and other
1573applications locate it via an environment variable or D-Bus.
1574
1575The program can manage several keyrings, each with its own master password,
1576and there is also a session keyring which is never stored to disk, but
1577forgotten when the session ends.")
1578 (license license:lgpl2.1+)))
1579
c1354b90
LC
1580(define-public evince
1581 (package
1582 (name "evince")
936d5642 1583 (version "3.34.2")
c1354b90
LC
1584 (source (origin
1585 (method url-fetch)
ac631328 1586 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1587 (version-major+minor version) "/"
ac631328 1588 "evince-" version ".tar.xz"))
c1354b90
LC
1589 (sha256
1590 (base32
936d5642 1591 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1592 (build-system glib-or-gtk-build-system)
c1354b90 1593 (arguments
169b8f77 1594 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1595 #:phases
1596 (modify-phases %standard-phases
1597 (add-before 'install 'skip-gtk-update-icon-cache
1598 ;; Don't create 'icon-theme.cache'.
1599 (lambda _
1600 (substitute* "data/Makefile"
1601 (("gtk-update-icon-cache") "true"))
1602 #t)))))
c1354b90 1603 (inputs
9a096881
KK
1604 `(("libarchive" ,libarchive)
1605 ("libgxps" ,libgxps)
1606 ("libspectre" ,libspectre)
c769cf9f 1607 ("djvulibre" ,djvulibre)
c1354b90
LC
1608 ("ghostscript" ,ghostscript)
1609 ("poppler" ,poppler)
c769cf9f
SB
1610 ("libtiff" ,libtiff)
1611 ;; TODO:
c769cf9f
SB
1612 ;; Build libkpathsea as a shared library for DVI support.
1613 ;; ("libkpathsea" ,texlive-bin)
1614 ("gnome-desktop" ,gnome-desktop)
c1354b90 1615 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1616 ("gspell" ,gspell)
c1354b90 1617 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1618 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1619 ("gdk-pixbuf" ,gdk-pixbuf)
1620 ("atk" ,atk)
1621 ("pango" ,pango)
1622 ("gtk+" ,gtk+)
1623 ("glib" ,glib)
1624 ("libxml2" ,libxml2)
c1354b90
LC
1625 ("libsm" ,libsm)
1626 ("libice" ,libice)
96e42467 1627 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1628 ("dconf" ,dconf)
1629 ("libcanberra" ,libcanberra)
c769cf9f 1630 ("libsecret" ,libsecret)
a271096b 1631
c1354b90
LC
1632 ;; For tests.
1633 ("dogtail" ,python2-dogtail)))
96e42467 1634 (native-inputs
bcb354ad
SB
1635 `(("itstool" ,itstool)
1636 ("intltool" ,intltool)
426adbe8 1637 ("glib" ,glib "bin")
169b8f77 1638 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1639 ("pkg-config" ,pkg-config)
1640 ("xmllint" ,libxml2)))
c1354b90 1641 (home-page
f032d0be 1642 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1643 (synopsis "GNOME's document viewer")
1644 (description
1645 "Evince is a document viewer for multiple document formats. It
1646currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1647of Evince is to replace the multiple document viewers that exist
96e42467 1648on the GNOME Desktop with a single simple application.")
1dd26275 1649 (license license:gpl2+)))
c1354b90 1650
22e32e69
AE
1651(define-public gsettings-desktop-schemas
1652 (package
1653 (name "gsettings-desktop-schemas")
c900dabd 1654 (version "3.32.0")
22e32e69
AE
1655 (source
1656 (origin
1657 (method url-fetch)
1658 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1659 (version-major+minor version) "/"
22e32e69
AE
1660 name "-" version ".tar.xz"))
1661 (sha256
1662 (base32
c900dabd
KK
1663 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1664 (build-system meson-build-system)
65209ffa
LC
1665 (arguments
1666 '(#:phases (modify-phases %standard-phases
3861fb1c 1667 (add-after 'unpack 'patch-schemas
65209ffa 1668 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1669 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1670 (substitute* (find-files "schemas"
1671 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1672 ;; Provide the correct file name of the default GNOME
1673 ;; background, 'adwaita-timed.xml'.
65209ffa 1674 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1675 (string-append theme "/share/backgrounds/gnome"))
1676 ;; Do not reference fonts, that may not exist.
1677 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1678 #t))))))
22e32e69 1679 (inputs
65209ffa
LC
1680 `(("glib" ,glib)
1681 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1682 (native-inputs
1683 `(("intltool" ,intltool)
426adbe8 1684 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1685 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1686 ("pkg-config" ,pkg-config)))
1687 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1688 (synopsis
1689 "GNOME settings for various desktop components")
1690 (description
1691 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1692for settings shared by various components of the GNOME desktop.")
1dd26275 1693 (license license:lgpl2.1+)))
22e32e69 1694
27477d2d
AE
1695(define-public icon-naming-utils
1696 (package
1697 (name "icon-naming-utils")
1698 (version "0.8.90")
1699 (source
1700 (origin
1701 (method url-fetch)
5cc3096c 1702 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1703 version ".tar.bz2"))
1704 (sha256
1705 (base32
1706 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1707 (build-system gnu-build-system)
1708 (inputs
1709 `(("perl" ,perl)
1710 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1711 (arguments
1712 '(#:phases
dc1d3cde
KK
1713 (modify-phases %standard-phases
1714 (add-after 'install 'set-load-paths
1715 ;; Tell 'icon-name-mapping' where XML::Simple is.
1716 (lambda* (#:key outputs #:allow-other-keys)
1717 (let* ((out (assoc-ref outputs "out"))
1718 (prog (string-append out "/libexec/icon-name-mapping")))
1719 (wrap-program
1720 prog
1721 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1722 #t)))))
27477d2d
AE
1723 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1724 (synopsis
1725 "Utility to implement the Freedesktop Icon Naming Specification")
1726 (description
1727 "To help with the transition to the Freedesktop Icon Naming
1728Specification, the icon naming utility maps the icon names used by the
1729GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1730 (license license:lgpl2.1+)))
27477d2d 1731
7d3f3651
AE
1732(define-public gnome-icon-theme
1733 (package
1734 (name "gnome-icon-theme")
b32f58dd 1735 (version "3.12.0")
7d3f3651
AE
1736 (source
1737 (origin
1738 (method url-fetch)
1739 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1740 (version-major+minor version) "/"
7d3f3651
AE
1741 name "-" version ".tar.xz"))
1742 (sha256
1743 (base32
b32f58dd 1744 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1745 (build-system gnu-build-system)
5613c27d
SB
1746 (arguments
1747 '(#:configure-flags
1748 ;; Don't create 'icon-theme.cache'.
1749 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1750 (true (string-append coreutils "/bin/true")))
1751 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1752 (native-inputs
5613c27d 1753 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1754 ("intltool" ,intltool)
1755 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1756 (home-page "https://wiki.gnome.org/Personalization")
1757 (synopsis "GNOME icon theme")
1758 (description "Icons for the GNOME desktop.")
1dd26275 1759 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1760
14eeefa2
SB
1761;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1762(define-public adwaita-icon-theme
1763 (package (inherit gnome-icon-theme)
1764 (name "adwaita-icon-theme")
9be59d7f 1765 (version "3.32.0")
14eeefa2
SB
1766 (source (origin
1767 (method url-fetch)
1768 (uri (string-append "mirror://gnome/sources/" name "/"
1769 (version-major+minor version) "/"
1770 name "-" version ".tar.xz"))
1771 (sha256
1772 (base32
9be59d7f 1773 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1774 (native-inputs
1775 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1776
ae792dba
RW
1777(define-public tango-icon-theme
1778 (package
1779 (name "tango-icon-theme")
1780 (version "0.8.90")
1781 (source (origin
1782 (method url-fetch)
1783 (uri (string-append "http://tango.freedesktop.org/releases/"
1784 "tango-icon-theme-" version ".tar.bz2"))
1785 (sha256
1786 (base32
1787 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1788 (build-system gnu-build-system)
1789 (native-inputs
1790 `(("icon-naming-utils" ,icon-naming-utils)
1791 ("intltool" ,intltool)
1792 ("imagemagick" ,imagemagick)
1793 ("pkg-config" ,pkg-config)))
1794 (home-page "http://tango-project.org/")
1795 (synopsis "Tango icon theme")
1796 (description "This is an icon theme that follows the Tango visual
1797guidelines.")
1798 (license license:public-domain)))
1799
9167f8e6
LC
1800(define-public shared-mime-info
1801 (package
1802 (name "shared-mime-info")
18138ab9 1803 (version "1.10")
9167f8e6
LC
1804 (source (origin
1805 (method url-fetch)
5cc3096c 1806 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1807 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1808 (sha256
1809 (base32
18138ab9 1810 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1811 (build-system gnu-build-system)
1812 (arguments
1813 ;; The build system appears not to be parallel-safe.
1814 '(#:parallel-build? #f))
1815 (inputs
1816 `(("glib" ,glib)
c4c4cc05 1817 ("libxml2" ,libxml2)))
9167f8e6 1818 (native-inputs
c4c4cc05
JD
1819 `(("intltool" ,intltool)
1820 ("pkg-config" ,pkg-config)))
57e7d748 1821 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1822 (synopsis "Database of common MIME types")
1823 (description
1824 "The shared-mime-info package contains the core database of common types
1825and the update-mime-database command used to extend it. It requires glib2 to
1826be installed for building the update command. Additionally, it uses intltool
1827for translations, though this is only a dependency for the maintainers. This
1828database is translated at Transifex.")
1dd26275 1829 (license license:gpl2+)))
9167f8e6 1830
dd1fcddc
CB
1831(define-public system-config-printer
1832 (package
1833 (name "system-config-printer")
fa01e10d 1834 (version "1.5.12")
a5643044
TGR
1835 (source
1836 (origin
1837 (method url-fetch)
1838 (uri (string-append
1839 "https://github.com/OpenPrinting/system-config-printer/releases/"
1840 "download/" version
1841 "/system-config-printer-" version ".tar.xz"))
1842 (sha256
fa01e10d 1843 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1844 (build-system glib-or-gtk-build-system)
1845 (arguments
1846 `(#:imported-modules ((guix build python-build-system)
1847 ,@%glib-or-gtk-build-system-modules)
1848 #:phases
1849 (modify-phases %standard-phases
1850 (add-after 'unpack 'patch-Makefile.am
1851 (lambda _
1852 ;; The Makefile generates some scripts, so set a valid shebang
1853 (substitute* "Makefile.am"
1854 (("/bin/bash") (which "bash")))
1855 (delete-file "configure")
1856 #t))
1857 (add-after 'unpack 'patch-docbook-xml
1858 (lambda* (#:key inputs #:allow-other-keys)
1859 ;; Modify the man XML otherwise xmlto tries to access the network
1860 (substitute* "man/system-config-printer.xml"
1861 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1862 (string-append (assoc-ref inputs "docbook-xml")
1863 "/xml/dtd/docbook/")))
1864 #t))
1865 (add-after 'install 'wrap-for-python
1866 (@@ (guix build python-build-system) wrap))
1867 (add-after 'install 'wrap
1868 (lambda* (#:key outputs #:allow-other-keys)
1869 (let ((out (assoc-ref outputs "out"))
1870 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1871 (for-each
1872 (lambda (program)
1873 (wrap-program program
1874 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1875 (map (lambda (name)
1876 (string-append out "/bin/" name))
1877 '("system-config-printer"
1878 "system-config-printer-applet"
1879 "install-printerdriver"
1880 "scp-dbus-service"))))
1881 #t)))))
1882 (inputs
1883 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1884 ("gobject-introspection" ,gobject-introspection)
1885 ("python" ,python)
1886 ("cups" ,cups)
1887 ("python-dbus" ,python-dbus)
1888 ("python-pygobject" ,python-pygobject)
1889 ("python-pycups" ,python-pycups)
1890 ("python-requests" ,python-requests)
1891 ("python-pycairo" ,python-pycairo)
1892 ("libnotify" ,libnotify)
1893 ("packagekit" ,packagekit)))
1894 (native-inputs
1895 `(("pkg-config" ,pkg-config)
1896 ("desktop-file-utils" ,desktop-file-utils)
1897 ("glib" ,glib)
1898 ("autoconf" ,autoconf)
1899 ("automake" ,automake)
1900 ("intltool" ,intltool)
1901 ("xmlto" ,xmlto)
1902 ("docbook-xml" ,docbook-xml-4.1.2)
1903 ("docbook-xsl" ,docbook-xsl)
1904 ("libxml2" ,libxml2)))
1905 (home-page "https://github.com/zdohnal/system-config-printer")
1906 (synopsis "CUPS administration tool")
1907 (description
1908 "system-config-printer is a CUPS administration tool. It's written in
1909Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1910configuring CUPS.")
1911 (license license:gpl2+)))
1912
bef4dd92
AE
1913(define-public hicolor-icon-theme
1914 (package
1915 (name "hicolor-icon-theme")
851cb6dd 1916 (version "0.17")
bef4dd92
AE
1917 (source
1918 (origin
1919 (method url-fetch)
5cc3096c 1920 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1921 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1922 (sha256
1923 (base32
851cb6dd 1924 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1925 (build-system gnu-build-system)
1926 (arguments
1927 `(#:tests? #f)) ; no check target
57e7d748 1928 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1929 (synopsis
1930 "Freedesktop icon theme")
1931 (description
1932 "Freedesktop icon theme.")
1dd26275 1933 (license license:gpl2)))
bef4dd92 1934
d9c1a22b
AE
1935(define-public libnotify
1936 (package
1937 (name "libnotify")
195bfa68 1938 (version "0.7.7")
d9c1a22b
AE
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1943 (version-major+minor version) "/"
d9c1a22b
AE
1944 name "-" version ".tar.xz"))
1945 (sha256
1946 (base32
195bfa68 1947 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1948 (build-system gnu-build-system)
6acf6cec
MB
1949 (arguments
1950 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1951 (propagated-inputs
1952 `(;; In Requires of libnotify.pc.
1953 ("gdk-pixbuf" ,gdk-pixbuf)
1954 ("glib" ,glib)))
d9c1a22b 1955 (inputs
7ef08efa 1956 `(("gtk+" ,gtk+)
c4c4cc05
JD
1957 ("libpng" ,libpng)))
1958 (native-inputs
426adbe8 1959 `(("pkg-config" ,pkg-config)
277a7d82
JN
1960 ("glib" ,glib "bin")
1961 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1962 (home-page "https://developer-next.gnome.org/libnotify/")
1963 (synopsis
1964 "GNOME desktop notification library")
1965 (description
1966 "Libnotify is a library that sends desktop notifications to a
35b9e423 1967notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1968notifications can be used to inform the user about an event or display
1969some form of information without getting in the user's way.")
1dd26275 1970 (license license:lgpl2.1+)))
7a8605ce
CR
1971
1972(define-public libpeas
1973 (package
1974 (name "libpeas")
f2d56e39 1975 (version "1.24.1")
7a8605ce
CR
1976 (source
1977 (origin
1978 (method url-fetch)
1979 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1980 (version-major+minor version) "/"
7a8605ce
CR
1981 name "-" version ".tar.xz"))
1982 (sha256
1983 (base32
f2d56e39
MB
1984 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
1985 (build-system meson-build-system)
1986 (arguments
1987 '(#:phases
1988 (modify-phases %standard-phases
1989 (add-before 'check 'start-xserver
1990 (lambda* (#:key inputs #:allow-other-keys)
1991 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1992 (disp ":1"))
1993 (setenv "DISPLAY" disp)
1994 ;; Tests require a running X server.
1995 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
1996 #t))))))
7a8605ce 1997 (inputs
2ed6522a
SB
1998 `(("gtk+" ,gtk+)
1999 ("glade" ,glade3)
2ed6522a
SB
2000 ("python" ,python)
2001 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2002 (native-inputs
2003 `(("pkg-config" ,pkg-config)
f2d56e39 2004 ("gettext" ,gettext-minimal)
93622993 2005 ("glib:bin" ,glib "bin")
141aed80 2006 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2007 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2008 (propagated-inputs
2009 ;; The .pc file "Requires" gobject-introspection.
2010 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2011 (home-page "https://wiki.gnome.org/Libpeas")
2012 (synopsis "GObject plugin system")
2013 (description
d1e4ad1b
TGR
2014 "Libpeas is a gobject-based plugin engine, targeted at giving every
2015application the chance to assume its own extensibility. It also has a set of
2016features including, but not limited to: multiple extension points; on-demand
2017(lazy) programming language support for C, Python and JS; simplicity of the
2018API.")
1dd26275 2019 (license license:lgpl2.0+)))
ed19903d
JD
2020
2021(define-public gtkglext
2022 (package
2023 (name "gtkglext")
2024 (version "1.2.0")
2025 (source (origin
2026 (method url-fetch)
0f971a04 2027 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2028 version "/gtkglext-" version ".tar.gz"))
2029 (sha256
2030 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2031 (patches (search-patches
2032 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2033 (build-system gnu-build-system)
14e2f61a
RW
2034 (arguments
2035 `(#:phases
2036 (modify-phases %standard-phases
2037 ;; Fix a collision between a local variable and a definition from
2038 ;; glibc's string.h.
2039 (add-after 'unpack 'fix-collision
2040 (lambda _
2041 (substitute* "gdk/gdkglshapes.c"
2042 ((" index") " triangle_index"))
2043 #t)))))
ed19903d
JD
2044 (inputs `(("gtk+" ,gtk+-2)
2045 ("mesa" ,mesa)
cc8b02f4 2046 ("glu" ,glu)
ed19903d
JD
2047 ("libx11" ,libx11)
2048 ("libxt" ,libxt)))
426adbe8
LC
2049 (native-inputs `(("pkg-config" ,pkg-config)
2050 ("glib" ,glib "bin")))
a83b6a06 2051 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2052 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2053 (synopsis "OpenGL extension to GTK+")
35b9e423 2054 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2055additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2056API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2057 (license license:lgpl2.1+)))
3600420e
JD
2058
2059(define-public glade3
2060 (package
2061 (name "glade")
c6571adb 2062 (version "3.22.1")
b38e45d8
EB
2063 (source (origin
2064 (method url-fetch)
2065 (uri (string-append "mirror://gnome/sources/" name "/"
2066 (version-major+minor version) "/"
f5ca44b8 2067 name "-" version ".tar.xz"))
3600420e 2068 (sha256
f714d9fe 2069 (base32
c6571adb 2070 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2071 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2072 (arguments
2073 `(#:tests? #f ; needs X, GL, and software rendering
2074 #:phases
2075 (modify-phases %standard-phases
2076 (add-before 'configure 'fix-docbook
2077 (lambda* (#:key inputs #:allow-other-keys)
2078 (substitute* "man/Makefile.in"
2079 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2080 (string-append (assoc-ref inputs "docbook-xsl")
2081 "/xml/xsl/docbook-xsl-"
2082 ,(package-version docbook-xsl)
2083 "/manpages/docbook.xsl")))
2084 #t)))))
3600420e 2085 (inputs
f5ca44b8 2086 `(("gtk+" ,gtk+)
3600420e
JD
2087 ("libxml2" ,libxml2)))
2088 (native-inputs
2089 `(("intltool" ,intltool)
f5ca44b8
RW
2090 ("itstool" ,itstool)
2091 ("libxslt" ,libxslt) ;for xsltproc
2092 ("docbook-xml" ,docbook-xml-4.2)
2093 ("docbook-xsl" ,docbook-xsl)
2094 ("python" ,python-2)
3600420e
JD
2095 ("pkg-config" ,pkg-config)))
2096 (home-page "https://glade.gnome.org")
2097 (synopsis "GTK+ rapid application development tool")
2098 (description "Glade is a rapid application development (RAD) tool to
2099enable quick & easy development of user interfaces for the GTK+ toolkit and
2100the GNOME desktop environment.")
1dd26275
LC
2101 (license license:lgpl2.0+)))
2102
2103(define-public libcroco
2104 (package
2105 (name "libcroco")
8bdacad2 2106 (version "0.6.13")
1dd26275
LC
2107 (source (origin
2108 (method url-fetch)
b38e45d8
EB
2109 (uri (string-append "mirror://gnome/sources/" name "/"
2110 (version-major+minor version) "/"
2111 name "-" version ".tar.xz"))
1dd26275
LC
2112 (sha256
2113 (base32
8bdacad2 2114 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2115 (build-system gnu-build-system)
2116 (native-inputs
2117 `(("pkg-config" ,pkg-config)))
2118 (inputs
2119 `(("glib" ,glib)
2120 ("libxml2" ,libxml2)
2121 ("zlib" ,zlib)))
2122 (home-page "https://github.com/GNOME/libcroco")
2123 (synopsis "CSS2 parsing and manipulation library")
2124 (description
2125 "Libcroco is a standalone CSS2 parsing and manipulation library.
2126The parser provides a low level event driven SAC-like API and a CSS object
2127model like API. Libcroco provides a CSS2 selection engine and an experimental
2128XML/CSS rendering engine.")
2129
2130 ;; LGPLv2.1-only.
2131 (license license:lgpl2.1)))
25178594
LC
2132
2133(define-public libgsf
2134 (package
2135 (name "libgsf")
8d1644a1 2136 (version "1.14.46")
25178594
LC
2137 (source (origin
2138 (method url-fetch)
b38e45d8
EB
2139 (uri (string-append "mirror://gnome/sources/" name "/"
2140 (version-major+minor version) "/"
2141 name "-" version ".tar.xz"))
25178594
LC
2142 (sha256
2143 (base32
8d1644a1 2144 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
2145 (build-system gnu-build-system)
2146 (native-inputs
2147 `(("intltool" ,intltool)
2148 ("pkg-config" ,pkg-config)))
2149 (inputs
2150 `(("python" ,python)
2151 ("zlib" ,zlib)
2152 ("bzip2" ,bzip2)))
2153 (propagated-inputs
2154 `(("gdk-pixbuf" ,gdk-pixbuf)
2155 ("glib" ,glib)
2156 ("libxml2" ,libxml2)))
f032d0be 2157 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2158 (synopsis "GNOME's Structured File Library")
2159 (description
2160 "Libgsf aims to provide an efficient extensible I/O abstraction for
2161dealing with different structured file formats.")
2162
2163 ;; LGPLv2.1-only.
2164 (license license:lgpl2.1)))
63016e7c
LC
2165
2166(define-public librsvg
f67417a1 2167 (package
35b256f5 2168 (replacement librsvg/fixed)
f67417a1
MB
2169 (name "librsvg")
2170 (version "2.40.20")
2171 (source (origin
2172 (method url-fetch)
2173 (uri (string-append "mirror://gnome/sources/" name "/"
2174 (version-major+minor version) "/"
2175 name "-" version ".tar.xz"))
2176 (sha256
2177 (base32
2178 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
2179 (build-system gnu-build-system)
2180 (arguments
2181 `(#:configure-flags
2182 (list "--disable-static"
2183 "--enable-vala") ; needed for e.g. gnome-mines
2184 #:phases
2185 (modify-phases %standard-phases
2186 (add-before 'configure 'pre-configure
2187 (lambda* (#:key inputs #:allow-other-keys)
2188 (substitute* "gdk-pixbuf-loader/Makefile.in"
2189 ;; By default the gdk-pixbuf loader is installed under
2190 ;; gdk-pixbuf's prefix. Work around that.
2191 (("gdk_pixbuf_moduledir = .*$")
2192 (string-append "gdk_pixbuf_moduledir = "
2193 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2194 "loaders\n"))
2195 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2196 (("gdk_pixbuf_cache_file = .*$")
2197 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2198 #t))
2199 (add-before 'check 'remove-failing-tests
2200 (lambda _
2201 (with-directory-excursion "tests/fixtures/reftests"
2202 (for-each delete-file
2203 '(;; This test fails on i686:
2204 "svg1.1/masking-path-04-b.svg"
2205 ;; This test fails on armhf:
2206 "svg1.1/masking-mask-01-b.svg"
2207 ;; This test fails on aarch64:
2208 "bugs/777834-empty-text-children.svg")))
2209 #t)))))
2210 (native-inputs
2211 `(("pkg-config" ,pkg-config)
2212 ("vala" ,vala)
2213 ("glib" ,glib "bin") ; glib-mkenums, etc.
2214 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2215 (inputs
2216 `(("pango" ,pango)
2217 ("libcroco" ,libcroco)
2218 ("bzip2" ,bzip2)
2219 ("libgsf" ,libgsf)
2220 ("libxml2" ,libxml2)))
2221 (propagated-inputs
2222 ;; librsvg-2.0.pc refers to all of that.
2223 `(("cairo" ,cairo)
2224 ("gdk-pixbuf" ,gdk-pixbuf)
2225 ("glib" ,glib)))
2226 (home-page "https://wiki.gnome.org/LibRsvg")
2227 (synopsis "Render SVG files using Cairo")
2228 (description
2229 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2230library.")
2231 (license license:lgpl2.0+)))
2232
23f33de1
EF
2233(define librsvg/fixed
2234 (package
2235 (inherit librsvg)
2236 (name "librsvg")
2237 (version "2.40.21")
2238 (source (origin
2239 (method url-fetch)
2240 (uri (string-append "mirror://gnome/sources/" name "/"
2241 (version-major+minor version) "/"
2242 name "-" version ".tar.xz"))
2243 (sha256
2244 (base32
2245 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))))
2246
f67417a1 2247(define-public librsvg-next
63016e7c 2248 (package
25d39a2a 2249 (inherit librsvg)
63016e7c 2250 (name "librsvg")
3276e123 2251 (version "2.46.4")
69568670
EF
2252 (source (origin
2253 (method url-fetch)
2254 (uri (string-append "mirror://gnome/sources/librsvg/"
2255 (version-major+minor version) "/"
2256 "librsvg-" version ".tar.xz"))
2257 (sha256
2258 (base32
2259 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2260 (modules '((guix build utils)))
2261 (snippet
2262 '(begin (delete-file-recursively "vendor")
2263 ;; Don't demand an exact version for string_cache
2264 (substitute* "rsvg_internals/Cargo.toml"
2265 (("\"=") "\""))
2266 #t))))
2267 (build-system cargo-build-system)
63016e7c 2268 (arguments
69568670
EF
2269 `(#:modules ((guix build cargo-build-system)
2270 (guix build utils)
2271 ((guix build gnu-build-system) #:prefix gnu:))
2272 #:vendor-dir "vendor"
2273 #:cargo-inputs
2274 (("rust-bitflags" ,rust-bitflags-1)
2275 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2276 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2277 ("rust-cssparser" ,rust-cssparser-0.25)
2278 ("rust-data-url" ,rust-data-url-0.1)
2279 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2280 ("rust-encoding" ,rust-encoding-0.2)
2281 ("rust-float-cmp" ,rust-float-cmp-0.5)
2282 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2283 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2284 ("rust-gio" ,rust-gio-0.7)
2285 ("rust-gio-sys" ,rust-gio-sys-0.9)
2286 ("rust-glib" ,rust-glib-0.8)
2287 ("rust-glib-sys" ,rust-glib-sys-0.9)
2288 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2289 ("rust-itertools" ,rust-itertools-0.8)
2290 ("rust-language-tags" ,rust-language-tags-0.2)
2291 ("rust-lazy-static" ,rust-lazy-static-1)
2292 ("rust-libc" ,rust-libc-0.2)
2293 ("rust-locale-config" ,rust-locale-config-0.3)
2294 ("rust-markup5ever" ,rust-markup5ever-0.9)
2295 ("rust-nalgebra" ,rust-nalgebra-0.18)
2296 ("rust-num-traits" ,rust-num-traits-0.2)
2297 ("rust-pkg-config" ,rust-pkg-config-0.3)
2298 ("rust-pango" ,rust-pango-0.7)
2299 ("rust-pango-sys" ,rust-pango-sys-0.9)
2300 ("rust-pangocairo" ,rust-pangocairo-0.8)
2301 ("rust-phf" ,rust-phf-0.7)
2302 ("rust-rayon" ,rust-rayon-1.3)
2303 ("rust-rctree" ,rust-rctree-0.3)
2304 ("rust-string-cache" ,rust-string-cache-0.7)
2305 ("rust-regex" ,rust-regex-1.3)
2306 ("rust-url" ,rust-url-2.1)
2307 ("rust-xml-rs" ,rust-xml-rs-0.8))
2308 #:cargo-development-inputs
2309 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2310 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2311 #:phases
b6239e45 2312 (modify-phases %standard-phases
69568670 2313 (add-after 'unpack 'prepare-for-build
ec47c07d 2314 (lambda _
69568670
EF
2315 ;; In lieu of #:make-flags
2316 (setenv "CC" "gcc")
2317 ;; Something about the build environment resists building
2318 ;; successfully with the '--locked' flag.
2319 (substitute* '("Makefile.am"
2320 "Makefile.in")
2321 (("--locked") ""))
2322 #t))
b6239e45 2323 (add-before 'configure 'pre-configure
69568670 2324 (lambda _
b6239e45
EF
2325 (substitute* "gdk-pixbuf-loader/Makefile.in"
2326 ;; By default the gdk-pixbuf loader is installed under
2327 ;; gdk-pixbuf's prefix. Work around that.
2328 (("gdk_pixbuf_moduledir = .*$")
2329 (string-append "gdk_pixbuf_moduledir = "
2330 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2331 "loaders\n"))
2332 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2333 (("gdk_pixbuf_cache_file = .*$")
2334 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2335 #t))
69568670
EF
2336 (add-after 'configure 'gnu-configure
2337 (assoc-ref gnu:%standard-phases 'configure))
2338 ;(lambda* (#:key outputs #:allow-other-keys)
2339 ; ((assoc-ref gnu:%standard-phases 'configure)
2340 ; #:outputs outputs
2341 ; #:configure-flags ("--disable-static"
2342 ; "--enable-vala"))))
2343 (add-after 'configure 'dont-vendor-self
2344 (lambda* (#:key vendor-dir #:allow-other-keys)
2345 ;; Don't keep the whole tarball in the vendor directory
2346 (delete-file-recursively
2347 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2348 #t))
2349 (replace 'build
2350 (assoc-ref gnu:%standard-phases 'build))
2351 (replace 'check
2352 (lambda* args
2353 ((assoc-ref gnu:%standard-phases 'check)
2354 #:test-target "check")))
2355 (replace 'install
2356 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2357 (add-before 'check 'remove-failing-tests
b6239e45 2358 (lambda _
64a153bd
MW
2359 (with-directory-excursion "tests/fixtures/reftests"
2360 (for-each delete-file
ec47c07d
MB
2361 '(;; The images produced by these tests differ slightly
2362 ;; from their reference counterparts due to differences
2363 ;; in the build environment (missing fonts, etc). See
2364 ;; <tests/README.md> for details.
2365 ;; These fail on x86_64.
2366 "svg1.1/coords-viewattr-02-b.svg"
2367 "svg1.1/filters-composite-04-f.svg"
2368 "svg1.1/filters-image-01-b.svg"
2369 "svg1.1/filters-conv-02-f.svg"
2370 "svg1.1/filters-conv-04-f.svg"
2371 ;; This test fails on i686:
64a153bd 2372 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2373 ;; This test fails on armhf:
2374 "svg1.1/masking-mask-01-b.svg"
64a153bd 2375 ;; This test fails on aarch64:
ec47c07d 2376 "bugs/777834-empty-text-children.svg")))
b6239e45 2377 #t)))))
cf9dad6c 2378 (license license:lgpl2.1+)))
5698b8b8
JD
2379
2380(define-public libidl
2381 (package
2382 (name "libidl")
2383 (version "0.8.14")
2384 (source (origin
2385 (method url-fetch)
80a06e62
EF
2386 (uri (string-append "mirror://gnome/sources/libIDL/"
2387 (version-major+minor version) "/"
2388 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2389 (sha256
2390 (base32
2391 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2392 (build-system gnu-build-system)
2393 (inputs `(("glib" ,glib)))
2394 (native-inputs
2395 `(("pkg-config" ,pkg-config)
b3546174 2396 ("flex" ,flex)
5698b8b8
JD
2397 ("bison" ,bison)))
2398 (home-page "http://freecode.com/projects/libidl")
2399 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2400 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2401Definition Language (idl) files, which is a specification for defining
2402portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2403GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2404functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2405 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2406 (license license:lgpl2.0+)))
2407
2408
2409(define-public orbit2
2410 (package
2411 (name "orbit2")
2412 (version "2.14.19")
2413 (source (origin
2414 (method url-fetch)
2e6ecc5c 2415 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2416 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2417 (version-major+minor version) "/"
2418 upstream-name "-" version ".tar.bz2")))
5698b8b8 2419 (sha256
a124bbd2
SB
2420 (base32
2421 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2422 (build-system gnu-build-system)
2423 (arguments
a124bbd2 2424 `(#:configure-flags
8aad2e32
LC
2425 '(;; We don't need static libraries, plus they don't build reproducibly
2426 ;; (non-deterministic ordering of .o files in the archive.)
2427 "--disable-static"
2428
2429 ;; The programmer kindly gives us a hook to turn off deprecation
2430 ;; warnings ...
2431 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2432 ;; ... which they then completly ignore !!
2433 #:phases
dc1d3cde
KK
2434 (modify-phases %standard-phases
2435 (add-before 'configure 'ignore-deprecations
2436 (lambda _
2437 (substitute* "linc2/src/Makefile.in"
2438 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2439 #t)))))
5698b8b8
JD
2440 (inputs `(("glib" ,glib)
2441 ("libidl" ,libidl)))
2442 (native-inputs
2443 `(("pkg-config" ,pkg-config)))
2444 (home-page "https://projects.gnome.org/orbit2/")
2445 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2446 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2447featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2448 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2449 ;; a version. SOME of the code files have licence notices for GPLv2+.
2450 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2451 (license license:gpl2+)
2452 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2453
2454
2455(define-public libbonobo
2456 (package
2457 (name "libbonobo")
2458 (version "2.32.1")
2459 (source (origin
2460 (method url-fetch)
5becd025 2461 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2462 (version-major+minor version)
5becd025 2463 "/" name "-" version ".tar.bz2"))
5698b8b8 2464 (sha256
f1fc45a9 2465 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2466 (patches (search-patches
2467 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2468 (build-system gnu-build-system)
2469 (arguments
2470 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2471 `(#:configure-flags
2472 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2473 ;; ... which they then completly ignore !!
2474 #:phases
dc1d3cde
KK
2475 (modify-phases %standard-phases
2476 (add-before 'configure 'ignore-deprecations
2477 (lambda _
2478 (substitute* "activation-server/Makefile.in"
2479 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2480 #t)))
2481
2482 ;; There's apparently a race condition between the server stub
2483 ;; generation and linking of the example under 'samples/echo' that can
2484 ;; lead do undefined references when building in parallel, as reported
2485 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2486 ;; Thus, disable parallel builds.
2487 #:parallel-build? #f))
5698b8b8
JD
2488 (inputs `(("popt" ,popt)
2489 ("libxml2" ,libxml2)))
2490 ;; The following are Required by the .pc file
44add1ce 2491 (propagated-inputs
5698b8b8
JD
2492 `(("glib" ,glib)
2493 ("orbit2" ,orbit2)))
2494 (native-inputs
2495 `(("intltool" ,intltool)
2496 ("pkg-config" ,pkg-config)
221ed17a 2497 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2498 ("flex" ,flex)
2499 ("bison" ,bison)))
2500 (home-page "https://developer.gnome.org/libbonobo/")
2501 (synopsis "Framework for creating reusable components for use in GNOME applications")
2502 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2503use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2504 ;; Licence not explicitly stated. Source files contain no licence notices.
2505 ;; Tarball contains text of both GPLv2 and LGPLv2
2506 ;; GPLv2 covers both conditions
2507 (license license:gpl2+)))
2508
2509
2510(define-public gconf
2511 (package
2512 (name "gconf")
2513 (version "3.2.6")
2514 (source (origin
2515 (method url-fetch)
a124bbd2
SB
2516 (uri
2517 (let ((upstream-name "GConf"))
2518 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2519 (version-major+minor version) "/"
2520 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2521 (sha256
2522 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2523 (build-system gnu-build-system)
2e88d113 2524 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2525 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2526 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2527 ("orbit2" ,orbit2)))
5698b8b8
JD
2528 (native-inputs
2529 `(("intltool" ,intltool)
221ed17a 2530 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2531 ("pkg-config" ,pkg-config)))
2532 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2533 (synopsis "Store application preferences")
2534 (description "Gconf is a system for storing application preferences. It
2535is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2536 (license license:lgpl2.0+)
2537 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2538
2539
2540(define-public gnome-mime-data
2541 (package
2542 (name "gnome-mime-data")
2543 (version "2.18.0")
2544 (source (origin
2545 (method url-fetch)
b38e45d8
EB
2546 (uri (string-append "mirror://gnome/sources/" name "/"
2547 (version-major+minor version) "/"
2548 name "-" version ".tar.bz2"))
5698b8b8
JD
2549 (sha256
2550 (base32
2551 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2552 (build-system gnu-build-system)
2553 (native-inputs
2554 `(("perl" ,perl)
2555 ("intltool" ,intltool)))
3e6add96
LC
2556 (arguments
2557 '(#:phases (modify-phases %standard-phases
2558 (add-after 'configure 'use-our-intltool
2559 (lambda _
2560 ;; Do not use the bundled intltool commands, which lack
2561 ;; the "dotless @INC" fixes of our 'intltool' package.
2562 (substitute* (find-files "." "^Makefile$")
2563 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2564 (string-append "INTLTOOL_" tool " = intltool-"
2565 (string-downcase tool) "\n")))
2566 #t)))))
f032d0be 2567 (home-page "https://www.gnome.org")
35b9e423 2568 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2569 (description "GNOME Mime Data is a module which contains the base MIME
2570and Application database for GNOME. The data stored by this module is
2571designed to be accessed through the MIME functions in GnomeVFS.")
2572 (license license:gpl2+)))
2573
2574
2575(define-public gnome-vfs
2576 (package
2577 (name "gnome-vfs")
2578 (version "2.24.4")
2579 (source (origin
2580 (method url-fetch)
b38e45d8
EB
2581 (uri (string-append "mirror://gnome/sources/" name "/"
2582 (version-major+minor version) "/"
2583 name "-" version ".tar.bz2"))
5698b8b8 2584 (sha256
9e12bc34
MW
2585 (base32
2586 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2587 (build-system gnu-build-system)
2588 (arguments
db5127d8 2589 `(#:phases
dc1d3cde
KK
2590 (modify-phases %standard-phases
2591 (add-before 'configure 'ignore-deprecations
2592 (lambda _
2593 (substitute* '("libgnomevfs/Makefile.in"
2594 "daemon/Makefile.in")
2595 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2596 #t))
2597 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2598 (lambda _
2599 (substitute* "test/test-async-cancel.c"
2600 (("EXIT_FAILURE") "77"))
2601 #t)))))
2e6ecc5c 2602 (inputs `(("libxml2" ,libxml2)
5698b8b8 2603 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2604 ("gconf" ,gconf)
2605 ("gnome-mime-data" ,gnome-mime-data)
2606 ("zlib" ,zlib)))
2607 (native-inputs
221ed17a
EB
2608 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2609 ("intltool" ,intltool)
5698b8b8
JD
2610 ("pkg-config" ,pkg-config)))
2611 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2612 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2613 (description
2614 "GnomeVFS is the core library used to access files and folders in GNOME
2615applications. It provides a file system abstraction which allows applications
2616to access local and remote files with a single consistent API.")
5698b8b8
JD
2617 (license license:lgpl2.0+)))
2618
2619
2620
2621(define-public libgnome
2622 (package
2623 (name "libgnome")
2624 (version "2.32.1")
2625 (source (origin
2626 (method url-fetch)
b38e45d8
EB
2627 (uri (string-append "mirror://gnome/sources/" name "/"
2628 (version-major+minor version) "/"
2629 name "-" version ".tar.bz2"))
5698b8b8
JD
2630 (sha256
2631 (base32
17c3eea7
LC
2632 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2633 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2634 (build-system gnu-build-system)
2635 (arguments
2636 `(#:phases
dc1d3cde
KK
2637 (modify-phases %standard-phases
2638 (add-before 'configure 'enable-deprecated
2639 (lambda _
2640 (substitute* "libgnome/Makefile.in"
2641 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2642 #t)))))
25338e9f 2643 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2644 (native-inputs
221ed17a
EB
2645 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2646 ("intltool" ,intltool)
5698b8b8
JD
2647 ("pkg-config" ,pkg-config)))
2648 ;; The following are listed as Required in the .pc file
2649 ;; (except for libcanberra -- which seems to be oversight on the part
2650 ;; of the upstream developers -- anything that links against libgnome,
2651 ;; must also link against libcanberra
2652 (propagated-inputs
2653 `(("libcanberra" ,libcanberra)
2654 ("libbonobo" ,libbonobo)
2655 ("gconf" ,gconf)
a640d3d5
LC
2656 ("gnome-vfs" ,gnome-vfs)
2657 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2658 (home-page "https://developer.gnome.org/libgnome/")
2659 (synopsis "Useful routines for building applications")
2660 (description "The libgnome library provides a number of useful routines
2661for building modern applications, including session management, activation of
2662files and URIs, and displaying help.")
2663 (license license:lgpl2.0+)))
2664
2665
2666(define-public libart-lgpl
2667 (package
2668 (name "libart-lgpl")
76c9b6aa 2669 (version "2.3.21")
5698b8b8
JD
2670 (source (origin
2671 (method url-fetch)
2672 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2673 (string-append "mirror://gnome/sources/" upstream-name "/"
2674 (version-major+minor version) "/"
2675 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2676 (sha256
2677 (base32
76c9b6aa 2678 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2679 (build-system gnu-build-system)
2680 (native-inputs
2681 `(("pkg-config" ,pkg-config)))
2682 (home-page "https://people.gnome.org/~mathieu/libart")
2683 (synopsis "2D drawing library")
2e6ecc5c 2684 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2685high-quality vector-based 2D library with antialiasing and alpha composition.")
2686 (license license:lgpl2.0+)))
2687
2688
2689
2690(define-public libgnomecanvas
2691 (package
2692 (name "libgnomecanvas")
2693 (version "2.30.3")
2694 (source (origin
2695 (method url-fetch)
b38e45d8
EB
2696 (uri (string-append "mirror://gnome/sources/" name "/"
2697 (version-major+minor version) "/"
2698 name "-" version ".tar.gz"))
5698b8b8
JD
2699 (sha256
2700 (base32
2701 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2702 (build-system gnu-build-system)
2703 ;; Mentioned as Required in the .pc file
2704 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2705 ("gtk+" ,gtk+-2)))
2706 (native-inputs
2707 `(("intltool" ,intltool)
221ed17a 2708 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2709 ("pkg-config" ,pkg-config)))
2710 (home-page "https://developer.gnome.org/libgnomecanvas/")
2711 (synopsis "Flexible widget for creating interactive structured graphics")
2712 (description "The GnomeCanvas widget provides a flexible widget for
2713creating interactive structured graphics.")
2714 (license license:lgpl2.0+)))
2715
eadc734e
RW
2716(define-public libgnomecanvasmm
2717 (package
2718 (name "libgnomecanvasmm")
2719 (version "2.26.0")
2720 (source (origin
2721 (method url-fetch)
2722 (uri (string-append "mirror://gnome/sources/" name "/"
2723 (version-major+minor version) "/"
2724 name "-" version ".tar.bz2"))
2725 (sha256
2726 (base32
2727 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2728 (build-system gnu-build-system)
2729 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2730 (native-inputs
2731 `(("gtkmm-2" ,gtkmm-2)
2732 ("pkg-config" ,pkg-config)))
8e933cb3 2733 (home-page "https://gtkmm.org")
eadc734e
RW
2734 (synopsis "C++ bindings to the GNOME Canvas library")
2735 (description "C++ bindings to the GNOME Canvas library.")
2736 (license license:lgpl2.0+)))
2737
5698b8b8
JD
2738(define-public libgnomeui
2739 (package
2740 (name "libgnomeui")
2741 (version "2.24.5")
2742 (source (origin
2743 (method url-fetch)
b38e45d8
EB
2744 (uri (string-append "mirror://gnome/sources/" name "/"
2745 (version-major+minor version) "/"
2746 name "-" version ".tar.bz2"))
8fa1872a 2747 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2748 (sha256
2749 (base32
2750 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2751 (build-system gnu-build-system)
2752 ;; Mentioned as Required in the .pc file
0a38a497
AE
2753 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2754 ("libgnome" ,libgnome)
2755 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2756 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2757 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2758 ("popt" ,popt)
2759 ("libbonobo" ,libbonobo)
2760 ("libxml2" ,libxml2)
2761 ("libglade" ,libglade)))
2762 (native-inputs
221ed17a
EB
2763 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2764 ("intltool" ,intltool)
5698b8b8
JD
2765 ("pkg-config" ,pkg-config)))
2766 (home-page "https://developer.gnome.org/libgnomeui/")
2767 (synopsis "Additional widgets for applications")
35b9e423 2768 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2769applications. Many of the widgets from libgnomeui have already been
2770ported to GTK+.")
5698b8b8
JD
2771 (license license:lgpl2.0+)))
2772
2773(define-public libglade
2774 (package
2775 (name "libglade")
2776 (version "2.6.4")
2777 (source (origin
2778 (method url-fetch)
b38e45d8
EB
2779 (uri (string-append "mirror://gnome/sources/" name "/"
2780 (version-major+minor version) "/"
2781 name "-" version ".tar.bz2"))
5698b8b8
JD
2782 (sha256
2783 (base32
2784 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2785 (build-system gnu-build-system)
2786 (inputs
92dcc23d
AE
2787 `(("python" ,python))) ;; needed for the optional libglade-convert program
2788 (propagated-inputs
5698b8b8 2789 `(("gtk+-2" ,gtk+-2)
92dcc23d 2790 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2791 (native-inputs
2792 `(("pkg-config" ,pkg-config)))
2793 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2794 (synopsis "Load glade interfaces and access the glade built widgets")
2795 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2796graphical interfaces described in glade files and for accessing the
2797widgets built in the loading process.")
2798 (license license:gpl2+))) ; This is correct. GPL not LGPL
2799
2800(define-public libgnomeprint
eb497b66
LC
2801 ;; This library has been deprecated since 2006; see
2802 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2803 (package
2804 (name "libgnomeprint")
d19db454 2805 (version "2.18.8")
5698b8b8
JD
2806 (source (origin
2807 (method url-fetch)
b38e45d8
EB
2808 (uri (string-append "mirror://gnome/sources/" name "/"
2809 (version-major+minor version) "/"
2810 name "-" version ".tar.bz2"))
5698b8b8
JD
2811 (sha256
2812 (base32
d19db454 2813 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2814 (build-system gnu-build-system)
2815 (inputs
2816 `(("popt" ,popt)
2817 ("libart-lgpl" ,libart-lgpl)
2818 ("gtk+" ,gtk+-2)
44add1ce 2819 ("libxml2" ,libxml2)))
5698b8b8
JD
2820 (native-inputs
2821 `(("intltool" ,intltool)
221ed17a 2822 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2823 ("pkg-config" ,pkg-config)))
2824 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2825 (synopsis "Printing framework for GNOME")
eb497b66
LC
2826 (description
2827 "GNOME-print was a printing framework for GNOME. It has been deprecated
2828since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2829 (license license:lgpl2.0+)))
2830
2831
2832(define-public libgnomeprintui
eb497b66 2833 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2834 (package
2835 (name "libgnomeprintui")
36053d7f 2836 (version "2.18.6")
5698b8b8
JD
2837 (source (origin
2838 (method url-fetch)
b38e45d8
EB
2839 (uri (string-append "mirror://gnome/sources/" name "/"
2840 (version-major+minor version) "/"
2841 name "-" version ".tar.bz2"))
5698b8b8
JD
2842 (sha256
2843 (base32
36053d7f 2844 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2845 (build-system gnu-build-system)
2846 ;; Mentioned as Required in the .pc file
2847 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2848 (inputs `(("gtk+" ,gtk+-2)
2849 ("glib" ,glib)
2850 ("gnome-icon-theme" ,gnome-icon-theme)
2851 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2852 ("libxml2" ,libxml2)))
5698b8b8
JD
2853 (native-inputs
2854 `(("intltool" ,intltool)
2855 ("pkg-config" ,pkg-config)))
2856 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2857 (synopsis "Printing framework for GNOME")
eb497b66 2858 (description (package-description libgnomeprint))
5698b8b8
JD
2859 (license license:lgpl2.0+)))
2860
5698b8b8
JD
2861(define-public libbonoboui
2862 (package
2863 (name "libbonoboui")
2864 (version "2.24.5")
2865 (source (origin
2866 (method url-fetch)
b38e45d8
EB
2867 (uri (string-append "mirror://gnome/sources/" name "/"
2868 (version-major+minor version) "/"
2869 name "-" version ".tar.bz2"))
5698b8b8
JD
2870 (sha256
2871 (base32
2872 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2873 (build-system gnu-build-system)
2874 (arguments
2875 `(#:phases
dc1d3cde
KK
2876 (modify-phases %standard-phases
2877 (add-before 'check 'start-xserver
2878 (lambda* (#:key inputs #:allow-other-keys)
2879 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2880 (disp ":1"))
2881
2882 (setenv "HOME" (getcwd))
2883 (setenv "DISPLAY" disp)
2884 ;; There must be a running X server and make check doesn't start one.
2885 ;; Therefore we must do it.
2886 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2887 ;; Mentioned as Required by the .pc file
2888 (propagated-inputs `(("libxml2" ,libxml2)))
2889 (inputs
2890 `(("popt" ,popt)
2891 ("pangox-compat" ,pangox-compat)
2892 ("libgnome" ,libgnome)
2893 ("libgnomecanvas" ,libgnomecanvas)
2894 ("libglade" ,libglade)))
2895 (native-inputs
221ed17a
EB
2896 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2897 ("intltool" ,intltool)
ff337525 2898 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2899 ("pkg-config" ,pkg-config)))
2900 (home-page "https://developer.gnome.org/libbonoboui/")
2901 (synopsis "Some user interface controls using Bonobo")
2902 (description "The Bonobo UI library provides a number of user interface
2903controls using the Bonobo component framework.")
2904 (license license:lgpl2.0+)))
2905
fecbf86e
SB
2906(define-public libwnck
2907 (package
2908 (name "libwnck")
d3b40696 2909 (version "3.32.0")
fecbf86e
SB
2910 (source (origin
2911 (method url-fetch)
2912 (uri (string-append "mirror://gnome/sources/" name "/"
2913 (version-major+minor version) "/"
2914 name "-" version ".tar.xz"))
2915 (sha256
ad9b8987 2916 (base32
d3b40696
KK
2917 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2918 (build-system meson-build-system)
fecbf86e
SB
2919 (native-inputs
2920 `(("pkg-config" ,pkg-config)
d3b40696
KK
2921 ("glib" ,glib "bin") ; for glib-mkenums
2922 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2923 ("intltool" ,intltool)))
2924 (propagated-inputs
427476d5
SB
2925 `(("gtk+" ,gtk+)
2926 ("libxres" ,libxres)
2927 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2928 (home-page "https://developer.gnome.org/libwnck/")
2929 (synopsis "Window Navigator Construction Kit")
2930 (description
2931 "Libwnck is the Window Navigator Construction Kit, a library for use in
2932writing pagers, tasklists, and more generally applications that are dealing
2933with window management. It tries hard to respect the Extended Window Manager
2934Hints specification (EWMH).")
2935 (license license:lgpl2.0+)))
2936
2937;; stable version for gtk2, required by xfwm4.
dbb7a081 2938(define-public libwnck-2
fecbf86e
SB
2939 (package (inherit libwnck)
2940 (name "libwnck")
2941 (version "2.30.7")
2942 (source (origin
2943 (method url-fetch)
2944 (uri (string-append "mirror://gnome/sources/" name "/"
2945 (version-major+minor version) "/"
2946 name "-" version ".tar.xz"))
2947 (sha256
2948 (base32
2949 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2950 (build-system gnu-build-system)
2951 (native-inputs
2952 `(("pkg-config" ,pkg-config)
2953 ("intltool" ,intltool)))
fecbf86e 2954 (propagated-inputs
427476d5
SB
2955 `(("gtk+" ,gtk+-2)
2956 ("libxres" ,libxres)
2957 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2958
2959(define-public goffice
2960 (package
2961 (name "goffice")
09abffcc 2962 (version "0.10.46")
b804c61e
JD
2963 (source (origin
2964 (method url-fetch)
16243f0b 2965 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2966 (version-major+minor version) "/"
16243f0b 2967 "goffice-" version ".tar.xz"))
b804c61e 2968 (sha256
09abffcc 2969 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2970 (build-system gnu-build-system)
72a06d3e 2971 (outputs '("out"
355420c6 2972 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2973 (arguments
2974 '(#:configure-flags (list (string-append "--with-html-dir="
2975 (assoc-ref %outputs "doc")
2976 "/share/gtk-doc/html"))))
b804c61e
JD
2977 (inputs
2978 `(("gtk+" ,gtk+)
2979 ("libgsf" ,libgsf)
2980 ("librsvg" ,librsvg)
2981 ("libxslt" ,libxslt)
2982 ("libxml2" ,libxml2)))
2983 (native-inputs
2984 `(("intltool" ,intltool)
f280cdb1 2985 ("glib" ,glib "bin")
b804c61e
JD
2986 ("pkg-config" ,pkg-config)))
2987 (home-page "https://developer.gnome.org/goffice/")
2988 (synopsis "Document-centric objects and utilities")
2989 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2990 (license
b804c61e
JD
2991 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2992 ;; Note: NOT LGPL
2993 (list license:gpl2 license:gpl3))))
2994
c024ae36
RW
2995(define-public goffice-0.8
2996 (package (inherit goffice)
2997 (version "0.8.17")
2998 (source (origin
2999 (method url-fetch)
3000 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3001 (version-major+minor version) "/"
3002 (package-name goffice) "-" version ".tar.xz"))
3003 (sha256
3004 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3005 (arguments
3006 `(#:phases
dc1d3cde
KK
3007 (modify-phases %standard-phases
3008 (add-after 'unpack 'fix-pcre-check
3009 (lambda _
3010 ;; Only glib.h can be included directly. See
3011 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3012 (substitute* "configure"
3013 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3014
3015 ,@(package-arguments goffice)))
c024ae36
RW
3016 (propagated-inputs
3017 ;; libgoffice-0.8.pc mentions libgsf-1
3018 `(("libgsf" ,libgsf)))
3019 (inputs
3020 `(("gtk" ,gtk+-2)
3021 ,@(alist-delete "gtk" (package-inputs goffice))))))
3022
b804c61e
JD
3023(define-public gnumeric
3024 (package
3025 (name "gnumeric")
f0517b5d 3026 (version "1.12.46")
b804c61e
JD
3027 (source (origin
3028 (method url-fetch)
b7fd0217 3029 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3030 (version-major+minor version) "/"
b7fd0217 3031 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3032 (sha256
3033 (base32
f0517b5d 3034 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3035 (build-system glib-or-gtk-build-system)
b804c61e
JD
3036 (arguments
3037 `(;; The gnumeric developers don't worry much about failing tests.
3038 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3039 #:tests? #f
b804c61e 3040 #:phases
7bcbd40d
EF
3041 (modify-phases %standard-phases
3042 (add-before
3043 'configure 'pre-conf
3044 (lambda* (#:key outputs #:allow-other-keys)
3045 ;; Make install tries to write into the directory of goffice
3046 ;; I am informed that this only affects the possibility to embed a
3047 ;; spreadsheet inside an Abiword document. So presumably when we
3048 ;; package Abiword we'll have to refer it to this directory.
3049 (substitute* "configure"
3050 (("^GOFFICE_PLUGINS_DIR=.*")
3051 (string-append "GOFFICE_PLUGINS_DIR="
3052 (assoc-ref outputs "out")
3053 "/goffice/plugins"))))))))
b804c61e
JD
3054 (inputs
3055 `(("glib" ,glib)
3056 ("gtk+" ,gtk+)
3057 ("goffice" ,goffice)
3058 ("libgsf" ,libgsf)
7bcbd40d 3059 ("librsvg" ,librsvg)
b804c61e 3060 ("libxml2" ,libxml2)
7bcbd40d 3061 ("libxslt" ,libxslt)
2e4c5457 3062 ("python" ,python-2)
6983ba56 3063 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3064 ("zlib" ,zlib)))
3065 (native-inputs
6983ba56 3066 `(("bison" ,bison)
1ed398d1 3067 ("docbook-xml" ,docbook-xml)
6983ba56 3068 ("intltool" ,intltool)
3a2efbc8 3069 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 3070 ("glib:bin" ,glib "bin")
b804c61e
JD
3071 ("pkg-config" ,pkg-config)))
3072 (home-page "http://www.gnumeric.org")
66672a45
LC
3073 (synopsis "Spreadsheet application")
3074 (description
3075 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3076interoperable with other spreadsheet applications. It has a vast array of
3077features beyond typical spreadsheet functionality, such as support for linear
3078and non-linear solvers, statistical analysis, and telecommunication
3079engineering.")
3080 (license
b804c61e
JD
3081 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3082 (list license:gpl2 license:gpl3))))
6f885c05
FB
3083
3084(define-public gnome-themes-standard
3085 (package
3086 (name "gnome-themes-standard")
0b7b8fb0 3087 (version "3.22.3")
6f885c05
FB
3088 (source
3089 (origin
3090 (method url-fetch)
2e6ecc5c 3091 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3092 (version-major+minor version) "/" name "-"
3093 version ".tar.xz"))
3094 (sha256
3095 (base32
0b7b8fb0 3096 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3097 (build-system gnu-build-system)
8ac70c7f
SB
3098 (arguments
3099 '(#:configure-flags
3100 ;; Don't create 'icon-theme.cache'.
3101 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3102 (true (string-append coreutils "/bin/true")))
3103 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3104 (inputs
3105 `(("gtk+" ,gtk+)
3106 ("gtk+-2" ,gtk+-2)
3107 ("librsvg" ,librsvg)
3108 ("libxml2" ,libxml2)
3109 ("glib" ,glib)))
3110 (native-inputs
3111 `(("intltool" ,intltool)
3112 ("glib:bin" ,glib "bin")
3113 ("pkg-config" ,pkg-config)))
6f885c05
FB
3114 (home-page "https://launchpad.net/gnome-themes-standard")
3115 (synopsis "Default GNOME 3 themes")
3116 (description
3117 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3118 (license license:lgpl2.1+)))
5a659a48 3119
df90c701
RW
3120(define-public seahorse
3121 (package
3122 (name "seahorse")
bcea3c11 3123 (version "3.32.2")
df90c701
RW
3124 (source
3125 (origin
3126 (method url-fetch)
3127 (uri (string-append "mirror://gnome/sources/" name "/"
3128 (version-major+minor version) "/" name "-"
3129 version ".tar.xz"))
3130 (sha256
3131 (base32
bcea3c11 3132 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
3133 (patches (search-patches
3134 "seahorse-gkr-use-0-on-empty-flags.patch"))))
3135 (build-system meson-build-system)
3136 (arguments
bcea3c11
KK
3137 '(#:glib-or-gtk? #t
3138 #:phases
af561664
MÁAV
3139 (modify-phases %standard-phases
3140 (add-after 'unpack 'skip-gtk-update-icon-cache
3141 ;; Don't create 'icon-theme.cache'.
3142 (lambda _
3143 (substitute* "build-aux/meson_post_install.py"
3144 (("gtk-update-icon-cache") "true"))
3145 #t)))))
df90c701
RW
3146 (inputs
3147 `(("gtk+" ,gtk+)
3148 ("gcr" ,gcr)
34b979b9 3149 ("gnupg" ,gnupg)
df90c701 3150 ("gpgme" ,gpgme)
34b979b9 3151 ("openldap" ,openldap)
4a1bf090 3152 ("openssh" ,openssh)
af561664 3153 ("avahi" ,avahi)
bcea3c11 3154 ("libpwquality" ,libpwquality)
34b979b9
EF
3155 ("libsecret" ,libsecret)
3156 ("libsoup" ,libsoup)))
df90c701 3157 (native-inputs
af561664 3158 `(("gettext" ,gettext-minimal)
df90c701
RW
3159 ("glib:bin" ,glib "bin")
3160 ("itstool" ,itstool)
bcb354ad 3161 ("pkg-config" ,pkg-config)
af561664 3162 ("vala" ,vala)
bcb354ad 3163 ("xmllint" ,libxml2)))
bcea3c11 3164 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3165 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3166 (description
3167 "Seahorse is a GNOME application for managing encryption keys and
3168passwords in the GNOME keyring.")
3169 (license license:gpl2+)))
3170
5a659a48
SB
3171(define-public vala
3172 (package
3173 (name "vala")
2d6872f6 3174 (version "0.44.5")
5a659a48
SB
3175 (source (origin
3176 (method url-fetch)
3177 (uri (string-append "mirror://gnome/sources/" name "/"
3178 (version-major+minor version) "/"
3179 name "-" version ".tar.xz"))
3180 (sha256
3181 (base32
2d6872f6 3182 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 3183 (build-system gnu-build-system)
1ea90625
SB
3184 (arguments
3185 '(#:phases
3186 (modify-phases %standard-phases
f4925a4f 3187 (add-before 'check 'pre-check
1ea90625
SB
3188 (lambda _
3189 (setenv "CC" "gcc")
8839b6be
RW
3190 (substitute* "valadoc/tests/testrunner.sh"
3191 (("export PKG_CONFIG_PATH=" m)
3192 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3193 ;; For missing '/etc/machine-id'.
3194 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3195 #t)))))
5a659a48
SB
3196 (native-inputs
3197 `(("pkg-config" ,pkg-config)
3198 ("flex" ,flex)
3199 ("bison" ,bison)
3200 ("xsltproc" ,libxslt)
3201 ("dbus" ,dbus) ; for dbus tests
3202 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3203 (inputs
3204 `(("graphviz" ,graphviz)))
5a659a48 3205 (propagated-inputs
8839b6be 3206 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3207 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3208 (synopsis "Compiler for the GObject type system")
3209 (description
3210 "Vala is a programming language that aims to bring modern programming
3211language features to GNOME developers without imposing any additional runtime
3212requirements and without using a different ABI compared to applications and
3213libraries written in C.")
3214 (license license:lgpl2.1+)))
ea57378f
SB
3215
3216(define-public vte
3217 (package
3218 (name "vte")
68c47474 3219 (version "0.58.3")
ea57378f
SB
3220 (source (origin
3221 (method url-fetch)
ac87ffb8 3222 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3223 (version-major+minor version) "/"
ac87ffb8 3224 "vte-" version ".tar.xz"))
ea57378f
SB
3225 (sha256
3226 (base32
68c47474
TGR
3227 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3228 (build-system meson-build-system)
ea57378f
SB
3229 (native-inputs
3230 `(("pkg-config" ,pkg-config)
3231 ("intltool" ,intltool)
3232 ("vala" ,vala)
3233 ("gobject-introspection" ,gobject-introspection)
68c47474 3234 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3235 ("gperf" ,gperf)
ea57378f
SB
3236 ("xmllint" ,libxml2)))
3237 (propagated-inputs
68c47474
TGR
3238 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3239 ("gnutls" ,gnutls) ; ditto
3240 ("pcre2" ,pcre2))) ; ditto
f032d0be 3241 (home-page "https://www.gnome.org/")
ea57378f
SB
3242 (synopsis "Virtual Terminal Emulator")
3243 (description
3244 "VTE is a library (libvte) implementing a terminal emulator widget for
3245GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3246gnome-terminal, but can also be used to embed a console/terminal in games,
3247editors, IDEs, etc.")
3248 (license license:lgpl2.1+)))
3249
c44fb4df
MO
3250(define-public vte-ng
3251 (package
3252 (inherit vte)
3253 (name "vte-ng")
24f4fcbe 3254 (version "0.58.2.a")
afd90f8d 3255 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3256 (source (origin
3257 (method git-fetch)
3258 (uri (git-reference (url home-page) (commit version)))
3259 (file-name (git-file-name name version))
3260 (sha256
3261 (base32
24f4fcbe
MB
3262 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3263 (build-system meson-build-system)
c44fb4df
MO
3264 (native-inputs
3265 `(("gtk-doc" ,gtk-doc)
c44fb4df 3266 ,@(package-native-inputs vte)))
c44fb4df 3267 (arguments
24f4fcbe 3268 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3269 (synopsis "Enhanced VTE terminal widget")
3270 (description
3271 "VTE is a library (libvte) implementing a terminal emulator widget for
3272GTK+, this fork provides additional functions exposed for keyboard text
3273selection and URL hints.")))
3274
2776d72c
EF
3275;; provides vte 2.90, required for some terminal emulators
3276;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3277;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3278;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3279;; pantheon-terminal, roxterm are not currently packaged
3280(define-public vte-0.36
3281 (package (inherit vte)
3282 (name "vte")
3283 (version "0.36.5")
3284 (source (origin
3285 (method url-fetch)
3286 (uri (string-append "mirror://gnome/sources/" name "/"
3287 (version-major+minor version) "/"
3288 name "-" version ".tar.xz"))
3289 (sha256
3290 (base32
3291 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3292 (propagated-inputs
3293 `(("gtk" ,gtk+)
3294 ("ncurses" ,ncurses)))))
3295
ea57378f
SB
3296;; stable version for gtk2, required by xfce4-terminal.
3297(define-public vte/gtk+-2
3298 (package (inherit vte)
3299 (name "vte")
3300 (version "0.28.2")
3301 (source (origin
3302 (method url-fetch)
3303 (uri (string-append "mirror://gnome/sources/" name "/"
3304 (version-major+minor version) "/"
3305 name "-" version ".tar.xz"))
3306 (sha256
3307 (base32
7d48938a
EF
3308 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3309 (patches (search-patches
3310 "vte-CVE-2012-2738-pt1.patch"
3311 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3312 (build-system gnu-build-system)
ea57378f
SB
3313 (arguments
3314 '(#:configure-flags '("--disable-python")))
3315 (native-inputs
3316 `(("pkg-config" ,pkg-config)
3317 ("intltool" ,intltool)
3318 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3319 (propagated-inputs
3320 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3321 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3322
cce0da5e
TD
3323(define-public vinagre
3324 (package
3325 (name "vinagre")
3326 (version "3.22.0")
3327 (source (origin
3328 (method url-fetch)
3329 (uri (string-append "mirror://gnome/sources/" name "/"
3330 (version-major+minor version) "/"
3331 name "-" version ".tar.xz"))
684f97f8
EF
3332 (patches (search-patches "vinagre-newer-freerdp.patch"
3333 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3334 (sha256
3335 (base32
3336 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3337 (build-system glib-or-gtk-build-system)
684f97f8 3338 (arguments
7f486d25
MC
3339 ;; Disable -Werror and such, to avoid build failures on compilation
3340 ;; warnings.
3341 '(#:configure-flags '("--enable-compile-warnings=minimum")
3342 #:phases
684f97f8 3343 (modify-phases %standard-phases
1839768c
EF
3344 (add-before 'install 'skip-gtk-update-icon-cache
3345 (lambda _
3346 ;; Don't create 'icon-theme.cache'
3347 (substitute* (find-files "." "^Makefile$")
3348 (("gtk-update-icon-cache") (which "true")))
3349 #t))
684f97f8
EF
3350 (add-after 'unpack 'patch-configure
3351 (lambda _
3352 (substitute* "configure"
3353 (("freerdp") "freerdp2"))
3354 #t)))))
cce0da5e
TD
3355 (native-inputs
3356 `(("pkg-config" ,pkg-config)
3357 ("intltool" ,intltool)
3358 ("itstool" ,itstool)
1839768c 3359 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3360 (inputs
3361 `(("libxml2" ,libxml2)
3362 ("gtk-vnc" ,gtk-vnc)
3363 ("gnome-keyring" ,gnome-keyring)
3364 ("libsecret" ,libsecret)
3365 ("freerdp" ,freerdp)
3366 ("spice" ,spice)
3367 ("spice-gtk" ,spice-gtk)
3368 ("telepathy-glib" ,telepathy-glib)
3369 ("vte" ,vte)))
cce0da5e
TD
3370 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3371 (synopsis "Remote desktop viewer for GNOME")
3372 (description "Vinagre is a remote display client supporting the VNC, SPICE
3373and RDP protocols.")
3374 (license license:gpl3+)))
3375
b47e1b20
FB
3376(define-public dconf
3377 (package
3378 (name "dconf")
1e33331c 3379 (version "0.32.0")
b47e1b20
FB
3380 (source (origin
3381 (method url-fetch)
3382 (uri (string-append
2e6ecc5c 3383 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3384 (version-major+minor version) "/"
3385 name "-" version ".tar.xz"))
3386 (sha256
f05c809f 3387 (base32
1e33331c 3388 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3389 (build-system meson-build-system)
bc036f4c
MB
3390 (propagated-inputs
3391 ;; In Requires of dconf.pc.
3392 `(("glib" ,glib)))
b47e1b20
FB
3393 (inputs
3394 `(("gtk+" ,gtk+)
bc036f4c 3395 ("dbus" ,dbus)))
b47e1b20 3396 (native-inputs
1e33331c
MB
3397 `(("bash-completion" ,bash-completion)
3398 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3399 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3400 ("docbook-xml" ,docbook-xml-4.2)
3401 ("docbook-xsl" ,docbook-xsl)
35fa923d 3402 ("glib:bin" ,glib "bin")
03676d6f 3403 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3404 ("pkg-config" ,pkg-config)
3405 ("vala" ,vala)))
b47e1b20
FB
3406 (arguments
3407 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3408 ; or /etc/machine-id.
35fa923d
MB
3409 #:glib-or-gtk? #t
3410 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3411 (home-page "https://developer.gnome.org/dconf")
3412 (synopsis "Low-level GNOME configuration system")
3413 (description "Dconf is a low-level configuration system. Its main purpose
3414is to provide a backend to GSettings on platforms that don't already have
3415configuration storage systems.")
e20e6b40 3416 (license license:lgpl2.1+)))
109da1c0
AE
3417
3418(define-public json-glib
3419 (package
3420 (name "json-glib")
4115e8ea 3421 (version "1.4.4")
109da1c0
AE
3422 (source (origin
3423 (method url-fetch)
3424 (uri (string-append "mirror://gnome/sources/" name "/"
3425 (version-major+minor version) "/"
3426 name "-" version ".tar.xz"))
3427 (sha256
3428 (base32
4115e8ea 3429 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3430 (build-system meson-build-system)
109da1c0 3431 (native-inputs
98afa184
MB
3432 `(("gettext" ,gettext-minimal)
3433 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3434 ("gobject-introspection" ,gobject-introspection)
3435 ("pkg-config" ,pkg-config)))
3436 (propagated-inputs
88c6b580 3437 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3438 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3439 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3440 (description
3441 "JSON-GLib is a C library based on GLib providing serialization and
3442deserialization support for the JavaScript Object Notation (JSON) format
3443described by RFC 4627. It provides parser and generator GObject classes and
3444various wrappers for the complex data types employed by JSON, such as arrays
3445and objects.")
109da1c0 3446 (license license:lgpl2.1+)))
6f96a359
SB
3447
3448(define-public libxklavier
3449 (package
3450 (name "libxklavier")
5f39050b 3451 (version "5.4")
6f96a359 3452 (source (origin
5f39050b 3453 ;; Note: There's no tarball at ftp.gnome.org for this version.
3454 (method git-fetch)
3455 (uri (git-reference
3456 (url "https://anongit.freedesktop.org/git/libxklavier")
3457 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3458 (sha256
3459 (base32
5f39050b 3460 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3461 (file-name (git-file-name name version))))
6f96a359
SB
3462 (build-system gnu-build-system)
3463 (arguments
5f39050b 3464 '(#:phases
3465 (modify-phases %standard-phases
3466 (add-after 'unpack 'no-configure
3467 (lambda* _
3468 (setenv "NOCONFIGURE" "1")
3469 #t)))
3470 #:configure-flags
6f96a359
SB
3471 (list (string-append "--with-xkb-base="
3472 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3473 "/share/X11/xkb")
3474 "--disable-xmodmap-support")))
6f96a359
SB
3475 (native-inputs
3476 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3477 ("gobject-introspection" ,gobject-introspection)
5f39050b 3478 ("pkg-config" ,pkg-config)
3479 ("gtk-doc" ,gtk-doc)
3480 ("intltool" ,intltool)
3481 ("which" ,which)
3482 ("autoconf" ,autoconf)
3483 ("automake" ,automake)
3484 ("libtool" ,libtool)))
6f96a359
SB
3485 (propagated-inputs
3486 ;; Required by libxklavier.pc.
3487 `(("glib" ,glib)
3488 ("libxml2" ,libxml2)))
3489 (inputs
3490 `(("iso-codes" ,iso-codes)
3491 ("libxi" ,libxi)
3492 ("libxkbfile" ,libxkbfile)
3493 ("xkbcomp" ,xkbcomp)
3494 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3495 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3496 (synopsis "High-level API for X Keyboard Extension")
3497 (description
3498 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3499Extension known as XKB. This library is intended to support XFree86 and other
3500commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3501indicators etc).")
3502 (license license:lgpl2.0+)))
619936a4
LC
3503
3504(define-public python2-rsvg
3505 ;; XXX: This is actually a subset of gnome-python-desktop.
3506 (package
3507 (name "python2-rsvg")
3508 (version "2.32.0")
3509 (source
3510 (origin
3511 (method url-fetch)
3512 (uri (string-append
3513 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3514 version ".tar.bz2"))
3515 (sha256
3516 (base32
3517 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3518 (build-system gnu-build-system)
3519 (native-inputs
3520 `(("pkg-config" ,pkg-config)))
3521 (inputs
3522 `(("python" ,python-2)
3523 ("python2-pygtk" ,python2-pygtk)
3524 ("librsvg" ,librsvg)))
f032d0be 3525 (home-page "https://www.gnome.org")
619936a4
LC
3526 (synopsis "Python bindings to librsvg")
3527 (description
3ad75446 3528 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3529library.")
3530
3531 ;; This is the license of the rsvg bindings. The license of each module
3532 ;; of gnome-python-desktop is given in 'COPYING'.
3533 (license license:lgpl2.1+)))
a31a6d22 3534
f2ca414a
SB
3535(define-public glib-networking
3536 (package
3537 (name "glib-networking")
0d75c64d 3538 (version "2.60.3")
f2ca414a
SB
3539 (source (origin
3540 (method url-fetch)
3541 (uri (string-append "mirror://gnome/sources/glib-networking/"
3542 (version-major+minor version) "/"
fb8fe1e8 3543 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3544 (sha256
3545 (base32
0d75c64d 3546 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3547 (build-system meson-build-system)
f2ca414a 3548 (arguments
0d75c64d 3549 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3550 (native-inputs
3551 `(("pkg-config" ,pkg-config)
3552 ("intltool" ,intltool)))
3553 (inputs
3554 `(("glib" ,glib)
3555 ("gnutls" ,gnutls)
4b8f1313 3556 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3557 (home-page "https://www.gnome.org")
f2ca414a
SB
3558 (synopsis "Network-related GIO modules")
3559 (description
3560 "This package contains various network related extensions for the GIO
3561library.")
3562 (license license:lgpl2.0+)))
3563
ca649680 3564(define-public rest
4510b2da 3565 (package
ca649680 3566 (name "rest")
a4194d16 3567 (version "0.8.1")
4510b2da
SB
3568 (source (origin
3569 (method url-fetch)
3570 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3571 (version-major+minor version) "/"
3572 name "-" version ".tar.xz"))
4510b2da
SB
3573 (sha256
3574 (base32
a4194d16 3575 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3576 (build-system gnu-build-system)
3577 (arguments
3578 '(#:tests? #f ; tests require internet connection
3579 #:configure-flags
3580 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3581 (native-inputs
3582 `(("glib-mkenums" ,glib "bin")
3583 ("gobject-introspection" ,gobject-introspection)
3584 ("pkg-config" ,pkg-config)))
3585 (propagated-inputs
3586 ;; rest-0.7.pc refers to all these.
3587 `(("glib" ,glib)
3588 ("libsoup" ,libsoup)
3589 ("libxml2" ,libxml2)))
24d6cc1d 3590 (home-page "https://www.gtk.org/")
4510b2da
SB
3591 (synopsis "RESTful web api query library")
3592 (description
3593 "This library was designed to make it easier to access web services that
3594claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3595libxml to ease remote use of the RESTful API.")
3596 (license license:lgpl2.1+)))
3597
6e1bb642
SB
3598(define-public libsoup
3599 (package
3600 (name "libsoup")
9a9cd9bc 3601 (version "2.70.0")
6e1bb642
SB
3602 (source (origin
3603 (method url-fetch)
3604 (uri (string-append "mirror://gnome/sources/libsoup/"
3605 (version-major+minor version) "/"
c1b79b36 3606 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3607 (sha256
3608 (base32
9a9cd9bc 3609 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3610 (build-system meson-build-system)
6e1bb642
SB
3611 (outputs '("out" "doc"))
3612 (arguments
2deb146f 3613 `(#:modules ((guix build utils)
eccaa8bf 3614 (guix build meson-build-system)
2deb146f
LC
3615 (ice-9 popen))
3616
f8026a79 3617 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3618 #:phases
3619 (modify-phases %standard-phases
eccaa8bf 3620 (add-after 'unpack 'adjust-tests
26c228f9 3621 (lambda _
eccaa8bf
MB
3622 ;; This test fails due to missing /etc/nsswitch.conf
3623 ;; in the build environment.
26c228f9
LC
3624 (substitute* "tests/socket-test.c"
3625 ((".*/sockets/unconnected.*") ""))
2deb146f 3626
f8026a79
MB
3627 ;; These fail because "subdomain.localhost" does not resolve in
3628 ;; the build environment.
3629 (substitute* "tests/hsts-test.c"
3630 ((".*/hsts/basic.*") "")
3631 ((".*/hsts/subdomains.*") "")
3632 ((".*/hsts/superdomain.*") "")
3633 ((".*/hsts/utf8-address.*") ""))
3634 (substitute* "tests/hsts-db-test.c"
3635 ((".*/hsts-db/subdomains.*") ""))
3636
2deb146f
LC
3637 ;; Generate a self-signed certificate that has "localhost" as its
3638 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3639 ;; 3.5.12, tests such as "ssl-tests" fail:
3640 ;;
3641 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3642 ;;
3643 ;; 'certtool' is interactive so we have to pipe it the answers.
3644 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3645 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3646 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3647 (for-each (lambda (line)
3648 (display line pipe)
3649 (newline pipe))
3650 '("" ;Common name
3651 "" ;UID
3652 "Guix" ;Organizational unit name
3653 "GNU" ;Organization name
3654 "" ;Locality name
3655 "" ;State or province
3656 "" ;Country
3657 "" ;subject's domain component (DC)
3658 "" ;E-mail
3659 "" ;serial number
3660 "-1" ;expiration time
3661 "N" ;belong to authority?
3662 "N" ;web client certificate?
3663 "N" ;IPsec IKE?
3664 "Y" ;web server certificate?
3665 "localhost" ;dnsName of subject
3666 "" ;dnsName of subject (end)
3667 "" ;URI of subject
3668 "127.0.0.1" ;IP address of subject
3669 "" ;signing?
06f5bc4e
MB
3670 "" ;encryption (RSA)?
3671 "" ;data encryption?
2deb146f
LC
3672 "" ;sign OCSP requests?
3673 "" ;sign code?
3674 "" ;time stamping?
3675 "" ;email protection?
3676 "" ;URI of the CRL distribution point
3677 "y" ;above info OK?
3678 ))
3679 (close-pipe pipe))
26c228f9 3680 #t))
eccaa8bf
MB
3681 (add-after 'install 'move-doc
3682 (lambda* (#:key outputs #:allow-other-keys)
3683 (let ((out (assoc-ref outputs "out"))
3684 (doc (assoc-ref outputs "doc")))
3685 (mkdir-p (string-append doc "/share"))
3686 (copy-recursively (string-append out "/share/gtk-doc")
3687 (string-append doc "/share/gtk-doc"))
3688 (delete-file-recursively (string-append out "/share/gtk-doc"))
3689 #t))))))
6e1bb642 3690 (native-inputs
26c228f9 3691 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3692 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3693 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3694 ("intltool" ,intltool)
3695 ("pkg-config" ,pkg-config)
3696 ("python" ,python-wrapper)
fd730590 3697 ("vala" ,vala)
6e1bb642
SB
3698 ;; These are needed for the tests.
3699 ;; FIXME: Add PHP once available.
3700 ("curl" ,curl)
2deb146f 3701 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3702 ("httpd" ,httpd)))
3703 (propagated-inputs
3704 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3705 `(("brotli" ,google-brotli)
3706 ("glib" ,glib)
249846bf 3707 ("libpsl" ,libpsl)
eccaa8bf 3708 ("libxml2" ,libxml2)
f8026a79
MB
3709 ("sqlite" ,sqlite)
3710 ("zlib" ,zlib)))
eccaa8bf
MB
3711 (inputs
3712 `(("glib-networking" ,glib-networking)
3713 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3714 (home-page "https://live.gnome.org/LibSoup/")
3715 (synopsis "GLib-based HTTP Library")
3716 (description
3717 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3718and the GLib main loop, to integrate well with GNOME applications.")
3719 (license license:lgpl2.0+)))
3720
bba229a3
SB
3721(define-public libsecret
3722 (package
3723 (name "libsecret")
aa0063a0 3724 (version "0.20.2")
bba229a3
SB
3725 (source (origin
3726 (method url-fetch)
3727 (uri (string-append
896dcbc7
EF
3728 "mirror://gnome/sources/libsecret/"
3729 (version-major+minor version) "/"
0ada4e29 3730 "libsecret-" version ".tar.xz"))
bba229a3
SB
3731 (sha256
3732 (base32
aa0063a0 3733 "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"))))
bba229a3
SB
3734 (build-system gnu-build-system)
3735 (outputs '("out" "doc"))
3736 (arguments
3737 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3738 #:configure-flags
3739 (list (string-append "--with-html-dir="
3740 (assoc-ref %outputs "doc")
3741 "/share/gtk-doc/html"))))
3742 (native-inputs
c06ef010
MB
3743 `(("gettext" ,gettext-minimal)
3744 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3745 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3746 ("pkg-config" ,pkg-config)
3747 ("vala" ,vala)
3748 ("xsltproc" ,libxslt)))
3749 ;; These are needed for the tests.
3750 ;; FIXME: Add gjs once available.
3751 ;("dbus" ,dbus)
3752 ;("python2" ,python-2)
3753 ;("python2-dbus" ,python2-dbus)
3754 ;("python2-pygobject" ,python2-pygobject)
3755 ;("python2-pygobject-2" ,python2-pygobject-2)))
3756 (propagated-inputs
3757 `(("glib" ,glib))) ; required by libsecret-1.pc
3758 (inputs
3759 `(("docbook-xsl" ,docbook-xsl)
3760 ("libgcrypt" ,libgcrypt)
3761 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3762 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3763 (synopsis "GObject bindings for \"Secret Service\" API")
3764 (description
3765 "Libsecret is a GObject based library for storing and retrieving passwords
3766and other secrets. It communicates with the \"Secret Service\" using DBus.")
3767 (license license:lgpl2.1+)))
3768
b6821ee0 3769(define-public five-or-more
3770 (package
3771 (name "five-or-more")
bf782bfc 3772 (version "3.32.1")
b6821ee0 3773 (source
3774 (origin
3775 (method url-fetch)
bf782bfc 3776 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3777 (version-major+minor version) "/"
bf782bfc 3778 "five-or-more-" version ".tar.xz"))
b6821ee0 3779 (sha256
bf782bfc 3780 (base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk"))))
d9795e93
KK
3781 (build-system meson-build-system)
3782 (arguments
3783 '(#:glib-or-gtk? #t
3784 #:phases
3785 (modify-phases %standard-phases
3786 (add-after 'unpack 'skip-gtk-update-icon-cache
3787 (lambda _
3788 (substitute* "meson_post_install.py"
3789 (("gtk-update-icon-cache") (which "true")))
3790 #t)))))
b6821ee0 3791 (native-inputs
3792 `(("pkg-config" ,pkg-config)
d9795e93 3793 ("appstream-glib" ,appstream-glib)
b6821ee0 3794 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3795 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3796 ("intltool" ,intltool)
3797 ("itstool" ,itstool)
d9795e93 3798 ("vala" ,vala)
b6821ee0 3799 ("xmllint" ,libxml2)))
3800 (inputs
3801 `(("gtk+" ,gtk+)
d9795e93 3802 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3803 ("librsvg" ,librsvg)))
3804 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3805 (synopsis "Logic puzzle game")
3806 (description "Five or More is a game where you try to align
3807 five or more objects of the same color and shape causing them to disappear.
3808 On every turn more objects will appear, until the board is full.
3809 Try to last as long as possible.")
3810 (license license:gpl2+)))
3811
a31a6d22
SB
3812(define-public gnome-mines
3813 (package
3814 (name "gnome-mines")
2d817e41 3815 (version "3.32.2")
a31a6d22
SB
3816 (source
3817 (origin
3818 (method url-fetch)
3819 (uri (string-append "mirror://gnome/sources/" name "/"
3820 (version-major+minor version) "/"
3821 name "-" version ".tar.xz"))
3822 (sha256
3823 (base32
2d817e41 3824 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3825 (build-system meson-build-system)
a31a6d22 3826 (arguments
2d817e41
KK
3827 '(#:glib-or-gtk? #t
3828 #:phases
a31a6d22 3829 (modify-phases %standard-phases
2d817e41
KK
3830 (add-after 'unpack 'skip-gtk-update-icon-cache
3831 (lambda _
3832 (substitute* "build-aux/meson_post_install.py"
3833 (("gtk-update-icon-cache") (which "true")))
3834 #t)))))
a31a6d22 3835 (native-inputs
8c0fab36
RW
3836 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3837 ("pkg-config" ,pkg-config)
a31a6d22
SB
3838 ("desktop-file-utils" ,desktop-file-utils)
3839 ("intltool" ,intltool)
bcb354ad 3840 ("itstool" ,itstool)
8c0fab36
RW
3841 ("vala" ,vala)
3842 ("yelp" ,yelp)
3843 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3844 (inputs
3845 `(("gtk+" ,gtk+)
73992962 3846 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3847 ("librsvg" ,librsvg)))
3848 (home-page "https://wiki.gnome.org/Apps/Mines")
3849 (synopsis "Minesweeper game")
3850 (description
3851 "Mines (previously gnomine) is a puzzle game where you locate mines
3852floating in an ocean using only your brain and a little bit of luck.")
3853 (license license:gpl2+)))
88f70665 3854
dfc407f3
KY
3855(define-public gnome-sudoku
3856 (package
3857 (name "gnome-sudoku")
7dc728c4 3858 (version "3.32.0")
dfc407f3
KY
3859 (source
3860 (origin
3861 (method url-fetch)
3862 (uri (string-append "mirror://gnome/sources/" name "/"
3863 (version-major+minor version) "/"
3864 name "-" version ".tar.xz"))
3865 (sha256
3866 (base32
7dc728c4
KK
3867 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3868 (build-system meson-build-system)
3869 (arguments
3870 '(#:glib-or-gtk? #t
3871 #:phases
3872 (modify-phases %standard-phases
3873 (add-after 'unpack 'skip-gtk-update-icon-cache
3874 (lambda _
3875 (substitute* "build-aux/post_install.py"
3876 (("gtk-update-icon-cache") (which "true")))
3877 #t)))))
dfc407f3
KY
3878 (native-inputs
3879 `(("pkg-config" ,pkg-config)
3880 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3881 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3882 ("intltool" ,intltool)
3883 ("itstool" ,itstool)
7dc728c4 3884 ("vala" ,vala)
dfc407f3
KY
3885 ("xmllint" ,libxml2)))
3886 (inputs
3887 `(("gtk+" ,gtk+)
3888 ("json-glib" ,json-glib)
3889 ("libgee" ,libgee)
3890 ("librsvg" ,librsvg)
3891 ("qqwing" ,qqwing)))
3892 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3893 (synopsis "Japanese logic game")
3894 (description
3895 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3896GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3897possible while still providing features that make playing difficult Sudoku
3898more fun.")
3899 (license license:gpl2+)))
3900
88f70665
AW
3901(define-public gnome-terminal
3902 (package
3903 (name "gnome-terminal")
7dee3942 3904 (version "3.32.2")
88f70665
AW
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append "mirror://gnome/sources/" name "/"
3909 (version-major+minor version) "/"
3910 name "-" version ".tar.xz"))
3911 (sha256
3912 (base32
7dee3942 3913 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3914 (build-system glib-or-gtk-build-system)
3915 (arguments
3916 '(#:configure-flags
3917 (list "--disable-migration" "--disable-search-provider"
3918 "--without-nautilus-extension")
3919 #:phases
3920 (modify-phases %standard-phases
3a4de6b2 3921 (add-before 'configure 'patch-/bin/true
88f70665
AW
3922 (lambda _
3923 (substitute* "configure"
3924 (("/bin/true") (which "true"))))))))
3925 (native-inputs
3926 `(("pkg-config" ,pkg-config)
3927 ("desktop-file-utils" ,desktop-file-utils)
3928 ("intltool" ,intltool)
bcb354ad
SB
3929 ("itstool" ,itstool)
3930 ("xmllint" ,libxml2)))
68702167
MW
3931 (propagated-inputs
3932 `(("dconf" ,dconf)))
88f70665
AW
3933 (inputs
3934 `(("gtk+" ,gtk+)
3935 ("vte" ,vte)
3936 ("gnutls" ,gnutls)
88f70665
AW
3937 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3938 ("util-linux" ,util-linux)
3939 ("vala" ,vala)))
3940 (home-page "https://wiki.gnome.org/Apps/Terminal")
3941 (synopsis "Terminal emulator")
3942 (description
3943 "GNOME Terminal is a terminal emulator application for accessing a
3944UNIX shell environment which can be used to run programs available on
3945your system.
3946
3947It supports several profiles, multiple tabs and implements several
3948keyboard shortcuts.")
3949 (license license:gpl3+)))
75016d07
AW
3950
3951(define-public colord
3952 (package
3953 (name "colord")
f98be942 3954 (version "1.4.4")
75016d07
AW
3955 (source
3956 (origin
3957 (method url-fetch)
5cc3096c 3958 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3959 "colord-" version ".tar.xz"))
75016d07 3960 (sha256
f98be942 3961 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3962 (build-system meson-build-system)
75016d07 3963 (arguments
a68544a8
RW
3964 '(;; FIXME: One test fails:
3965 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3966 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3967 ;; application/x-zerosize
75016d07 3968 #:tests? #f
a68544a8
RW
3969 #:glib-or-gtk? #t
3970 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3971 ;; No dep on systemd.
a68544a8 3972 "-Dsystemd=false"
75016d07
AW
3973 ;; Wants to install to global completion dir;
3974 ;; punt.
a68544a8 3975 "-Dbash_completion=false"
a68544a8
RW
3976 "-Ddaemon_user=colord"
3977 "-Dsane=true"
dac26e22 3978 "-Dvapi=true"
6f20e2dc 3979 ;; Requires spotread.
a68544a8 3980 "-Dargyllcms_sensor=false"
6f20e2dc 3981 ;; TODO: Requires docbook2x.
a68544a8 3982 "-Dman=false")
75016d07
AW
3983 #:phases
3984 (modify-phases %standard-phases
a68544a8
RW
3985 (add-before 'configure 'patch-build-system
3986 (lambda* (#:key outputs #:allow-other-keys)
3987 (substitute* "rules/meson.build"
3988 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3989 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3990 #t))
3991 (add-before 'configure 'set-sqlite3-file-name
3992 (lambda* (#:key inputs #:allow-other-keys)
3993 ;; "colormgr dump" works by invoking the "sqlite3" command.
3994 ;; Record its absolute file name.
3995 (let ((sqlite (assoc-ref inputs "sqlite")))
3996 (substitute* "client/cd-util.c"
3997 (("\"sqlite3\"")
3998 (string-append "\"" sqlite "/bin/sqlite3\"")))
3999 #t))))))
75016d07 4000 (native-inputs
6f20e2dc 4001 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4002 ("gettext" ,gettext-minimal)
75016d07 4003 ("gobject-introspection" ,gobject-introspection)
a68544a8 4004 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4005 ("pkg-config" ,pkg-config)
4006 ("vala" ,vala)))
65cb2d61
SB
4007 (propagated-inputs
4008 ;; colord.pc refers to all these.
4009 `(("glib" ,glib)
6f20e2dc
TGR
4010 ("lcms" ,lcms)
4011 ("udev" ,eudev)))
75016d07 4012 (inputs
65cb2d61 4013 `(("dbus-glib" ,dbus-glib)
a68544a8 4014 ("gusb" ,gusb)
80c7dd1a 4015 ("libgudev" ,libgudev)
75016d07 4016 ("libusb" ,libusb)
75016d07 4017 ("polkit" ,polkit)
a68544a8 4018 ("python" ,python-wrapper)
6f20e2dc 4019 ("sqlite" ,sqlite)
4c928743 4020 ("sane-backends" ,sane-backends)))
57e7d748 4021 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4022 (synopsis "Color management service")
4023 (description "Colord is a system service that makes it easy to manage,
4024install and generate color profiles to accurately color manage input and
4025output devices.")
4026 (license license:gpl2+)))
7b2abd00
AW
4027
4028(define-public geoclue
4029 (package
4030 (name "geoclue")
50e96d25 4031 (version "2.5.5")
7b2abd00
AW
4032 (source
4033 (origin
4034 (method url-fetch)
50e96d25
MB
4035 (uri
4036 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4037 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4038 (sha256
4039 (base32
50e96d25 4040 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4041 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4042 (build-system meson-build-system)
7b2abd00 4043 (arguments
50e96d25 4044 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4045 (native-inputs
4046 `(("pkg-config" ,pkg-config)
758798a9 4047 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4048 ("modem-manager" ,modem-manager)
4049 ("libnotify" ,libnotify)
4050 ("gtk-doc", gtk-doc)
7b2abd00
AW
4051 ("intltool" ,intltool)))
4052 (inputs
54e911bc 4053 `(("avahi" ,avahi)
50e96d25
MB
4054 ("glib:bin" ,glib "bin")
4055 ("glib-networking" ,glib-networking)
7b2abd00
AW
4056 ("json-glib" ,json-glib)
4057 ("libsoup" ,libsoup)))
50e96d25 4058 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4059 (synopsis "Geolocation service")
4060 (description "Geoclue is a D-Bus service that provides location
4061information. The primary goal of the Geoclue project is to make creating
4062location-aware applications as simple as possible, while the secondary goal is
4063to ensure that no application can access location information without explicit
e881752c 4064permission from user.")
7b2abd00 4065 (license license:gpl2+)))
2bfe7437
AW
4066
4067(define-public geocode-glib
4068 (package
4069 (name "geocode-glib")
65de725f 4070 (version "3.26.1")
2bfe7437
AW
4071 (source (origin
4072 (method url-fetch)
4073 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4074 (version-major+minor version) "/"
d485cdc0 4075 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4076 (sha256
4077 (base32
65de725f 4078 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4079 (build-system meson-build-system)
2bfe7437 4080 (arguments
a7dd0c02
RW
4081 `(#:phases
4082 (modify-phases %standard-phases
4083 ;; The tests require a bunch of locales.
4084 (add-before 'check 'set-locales
4085 (lambda* (#:key inputs #:allow-other-keys)
4086 (setenv "GUIX_LOCPATH"
4087 (string-append (assoc-ref inputs "glibc-locales")
4088 "/lib/locale"))
4089 #t)))))
2bfe7437
AW
4090 (native-inputs
4091 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4092 ("glibc-locales" ,glibc-locales) ; for tests
4093 ("gettext" ,gettext-minimal)
2bfe7437 4094 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4095 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4096 ("pkg-config" ,pkg-config)
4097 ("json-glib" ,json-glib)))
4098 (propagated-inputs
4099 ;; geocode-glib-1.0.pc refers to GIO.
4100 `(("glib" ,glib)))
4101 (inputs
4102 `(("libsoup" ,libsoup)))
4103 (home-page "https://github.com/GNOME/geocode-glib/")
4104 (synopsis "Geocoding and reverse-geocoding library")
4105 (description
4106 "geocode-glib is a convenience library for geocoding (finding longitude,
4107and latitude from an address) and reverse geocoding (finding an address from
4108coordinates) using the Nominatim service. geocode-glib caches requests for
4109faster results and to avoid unnecessary server load.")
4110 (license license:lgpl2.0+)))
a1d5bb0e
AW
4111
4112(define-public upower
4113 (package
4114 (name "upower")
df45af90 4115 (version "0.99.11")
a1d5bb0e
AW
4116 (source (origin
4117 (method url-fetch)
df45af90 4118 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4119 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4120 (sha256
4121 (base32
df45af90 4122 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4123 (patches (search-patches "upower-builddir.patch"))
4124 (modules '((guix build utils)))
4125 (snippet
4126 '(begin
4127 ;; Upstream commit
4128 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4129 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4130 ;; 'dbus-configuration-directory' in (gnu services dbus)
4131 ;; expects it in etc/. Thus, move it back to its previous
4132 ;; location.
4133 (substitute* "src/Makefile.in"
4134 (("^dbusconfdir =.*$")
4135 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4136 #t))))
a1d5bb0e
AW
4137 (build-system glib-or-gtk-build-system)
4138 (arguments
4139 '( ;; The tests want to contact the system bus, which can't be done in the
4140 ;; build environment. The integration test can run, but the last of
4141 ;; the up-self-tests doesn't. Disable tests for now.
4142 #:tests? #f
4143 #:configure-flags (list "--localstatedir=/var"
4144 (string-append "--with-udevrulesdir="
4145 (assoc-ref %outputs "out")
9ec54965 4146 "/lib/udev/rules.d"))))
a1d5bb0e 4147 (native-inputs
ebeabe2d
SB
4148 `(("gobject-introspection" ,gobject-introspection)
4149 ("pkg-config" ,pkg-config)
a1d5bb0e 4150 ("intltool" ,intltool)
55409295
LC
4151 ("python" ,python)
4152
4153 ;; For man pages.
4154 ("libxslt" ,libxslt) ;for 'xsltproc'
4155 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4156 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4157 (inputs
ea226291
SB
4158 `(("dbus-glib" ,dbus-glib)
4159 ("libgudev" ,libgudev)
a1d5bb0e 4160 ("libusb" ,libusb)))
d7a503fc
MB
4161 (propagated-inputs
4162 ;; In Requires of upower-glib.pc.
4163 `(("glib" ,glib)))
57e7d748 4164 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4165 (synopsis "System daemon for managing power devices")
4166 (description
4167 "UPower is an abstraction for enumerating power devices,
4168listening to device events and querying history and statistics. Any
4169application or service on the system can access the org.freedesktop.UPower
4170service via the system message bus.")
4171 (license license:gpl2+)))
6a180f6f
AW
4172
4173(define-public libgweather
4174 (package
4175 (name "libgweather")
794ce8ea 4176 (version "3.28.3")
6a180f6f
AW
4177 (source (origin
4178 (method url-fetch)
4179 (uri (string-append "mirror://gnome/sources/" name "/"
4180 (version-major+minor version) "/"
4181 name "-" version ".tar.xz"))
4182 (sha256
4183 (base32
794ce8ea 4184 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 4185 (build-system meson-build-system)
6a180f6f 4186 (arguments
cf6cbc34
RW
4187 `(#:tests? #f ; one of two tests requires network access
4188 #:configure-flags
4189 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4190 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4191 "/share/zoneinfo"))))
6a180f6f
AW
4192 (native-inputs
4193 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4194 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4195 ("pkg-config" ,pkg-config)
1d3fcf94 4196 ("vala" ,vala)
6a180f6f
AW
4197 ("intltool" ,intltool)))
4198 (propagated-inputs
4199 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4200 ;; libsoup.
4201 `(("gtk+" ,gtk+)
4202 ("gdk-pixbuf" ,gdk-pixbuf)
4203 ("libxml2" ,libxml2)
cf6cbc34 4204 ("libsoup" ,libsoup)
6a180f6f 4205 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4206 (inputs
4207 `(("tzdata" ,tzdata)))
6a180f6f
AW
4208 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4209 (synopsis "Location, time zone, and weather library for GNOME")
4210 (description
4211 "libgweather is a library to access weather information from online
4212services for numerous locations.")
4213 (license license:gpl2+)))
23a22af6
AW
4214
4215(define-public gnome-settings-daemon
4216 (package
4217 (name "gnome-settings-daemon")
4be0719f 4218 (version "3.32.1")
23a22af6
AW
4219 (source
4220 (origin
4221 (method url-fetch)
4222 (uri (string-append "mirror://gnome/sources/" name "/"
4223 (version-major+minor version) "/"
4224 name "-" version ".tar.xz"))
4225 (sha256
4226 (base32
4be0719f 4227 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 4228 (build-system meson-build-system)
23a22af6 4229 (arguments
e644f9fa
RW
4230 `(#:glib-or-gtk? #t
4231 #:configure-flags
4232 (list (string-append "-Dudev_dir="
4233 (assoc-ref %outputs "out")
4d0e085b
RW
4234 "/lib/udev/rules.d/")
4235 ;; Otherwise, the RUNPATH will lack the final path component.
4236 (string-append "-Dc_link_args=-Wl,-rpath="
4237 (assoc-ref %outputs "out")
4238 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4239 ;; Color management test can't reach the colord system service.
23a22af6
AW
4240 #:tests? #f))
4241 (native-inputs
e644f9fa
RW
4242 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4243 ("pkg-config" ,pkg-config)
23a22af6
AW
4244 ("intltool" ,intltool)
4245 ("xsltproc" ,libxslt)
4246 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4247 ("docbook-xml" ,docbook-xml-4.2)
4248 ("docbook-xsl" ,docbook-xsl)))
4249 (inputs
e644f9fa
RW
4250 `(("alsa-lib" ,alsa-lib)
4251 ("colord" ,colord)
ea226291 4252 ("libgudev" ,libgudev)
23a22af6
AW
4253 ("upower" ,upower)
4254 ("polkit" ,polkit)
4255 ("pulseaudio" ,pulseaudio)
4256 ("libcanberra" ,libcanberra)
4257 ("libx11" ,libx11)
4258 ("libxtst" ,libxtst)
4259 ("lcms" ,lcms)
4260 ("libnotify" ,libnotify)
4261 ("geoclue" ,geoclue)
4262 ("geocode-glib" ,geocode-glib)
4263 ("libgweather" ,libgweather)
4264 ("gnome-desktop" ,gnome-desktop)
4265 ("nss" ,nss)
4266 ("cups" ,cups)
ec2b1921
AW
4267 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4268 ("libwacom" ,libwacom)
4269 ("librsvg" ,librsvg)
eee7878f 4270 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4271 ("wayland" ,wayland)
eee7878f 4272 ("network-manager" ,network-manager)))
f032d0be 4273 (home-page "https://www.gnome.org")
23a22af6
AW
4274 (synopsis "GNOME settings daemon")
4275 (description
4276 "This package contains the daemon responsible for setting the various
4277parameters of a GNOME session and the applications that run under it. It
4278handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4279settings, themes, mouse settings, and startup of other daemons.")
4280 (license license:gpl2+)))
1e7464a9
DH
4281
4282(define-public totem-pl-parser
4283 (package
4284 (name "totem-pl-parser")
77425f04 4285 (version "3.26.3")
1e7464a9
DH
4286 (source (origin
4287 (method url-fetch)
e980cbe9
MW
4288 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4289 (version-major+minor version) "/"
1e7464a9
DH
4290 "totem-pl-parser-" version ".tar.xz"))
4291 (sha256
4292 (base32
77425f04 4293 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4294 (build-system meson-build-system)
1e7464a9
DH
4295 (arguments
4296 ;; FIXME: Tests require gvfs.
4297 `(#:tests? #f))
4298 (native-inputs
4299 `(("intltool" ,intltool)
4300 ("glib" ,glib "bin")
4d6d8281 4301 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4302 ("pkg-config" ,pkg-config)))
22a6ad6a 4303 (propagated-inputs
1e7464a9
DH
4304 `(("glib" ,glib)
4305 ("gmime" ,gmime)
1e9b19dd
RW
4306 ("libarchive" ,libarchive)
4307 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4308 ("libxml2" ,libxml2)))
4309 (inputs
0a6e9e13 4310 `(("libsoup" ,libsoup)))
1e7464a9
DH
4311 (home-page "https://projects.gnome.org/totem")
4312 (synopsis "Library to parse and save media playlists for GNOME")
4313 (description "Totem-pl-parser is a GObjects-based library to parse and save
4314playlists in a variety of formats.")
4315 (license license:lgpl2.0+)))
4316
6b888eff
SB
4317(define-public aisleriot
4318 (package
4319 (name "aisleriot")
36ed9b46 4320 (version "3.22.9")
6b888eff
SB
4321 (source (origin
4322 (method url-fetch)
e43f622a 4323 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4324 (version-major+minor version) "/"
e43f622a 4325 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4326 (sha256
4327 (base32
36ed9b46 4328 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4329 (build-system glib-or-gtk-build-system)
4330 (arguments
4331 '(#:configure-flags
4332 '("--with-platform=gtk-only"
4333 "--with-card-theme-formats=svg")))
4334 (native-inputs
4335 `(("desktop-file-utils" ,desktop-file-utils)
4336 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4337 ("intltool" ,intltool)
4338 ("itstool" ,itstool)
4339 ("pkg-config" ,pkg-config)
4340 ("xmllint" ,libxml2)))
4341 (inputs
4342 `(("gtk+" ,gtk+)
226e57d6 4343 ("guile" ,guile-2.2)
6b888eff
SB
4344 ("libcanberra" ,libcanberra)
4345 ("librsvg" ,librsvg)))
4346 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4347 (synopsis "Solitaire card games")
4348 (description
4349 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4350which are easy to play with the aid of a mouse.")
4351 (license license:gpl3+)))
4a79e256 4352
f828d05b
KK
4353(define-public amtk
4354 (package
4355 (name "amtk")
0e08ca14 4356 (version "5.0.2")
f828d05b
KK
4357 (source (origin
4358 (method url-fetch)
bf92ba6b 4359 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4360 (version-major+minor version) "/"
bf92ba6b 4361 "amtk-" version ".tar.xz"))
f828d05b
KK
4362 (sha256
4363 (base32
0e08ca14 4364 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4365 (build-system gnu-build-system)
4366 (arguments
4367 '(#:configure-flags '("--enable-gtk-doc")))
4368 (native-inputs
4369 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4370 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4371 ("gtk-doc" ,gtk-doc)
4372 ("pkg-config" ,pkg-config)))
4373 (inputs
4374 `(("glib" ,glib)
4375 ("gtk+" ,gtk+)))
4376 (home-page "https://wiki.gnome.org/Projects/Amtk")
4377 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4378 (description
4379 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4380It is a basic GtkUIManager replacement based on GAction. It is suitable for
4381both a traditional UI or a modern UI with a GtkHeaderBar.")
4382 (license license:lgpl2.1+)))
4383
4a79e256
SB
4384(define-public devhelp
4385 (package
4386 (name "devhelp")
20db7a3d 4387 (version "3.32.0")
4a79e256
SB
4388 (source (origin
4389 (method url-fetch)
4390 (uri (string-append "mirror://gnome/sources/" name "/"
4391 (version-major+minor version) "/"
4392 name "-" version ".tar.xz"))
4393 (sha256
4394 (base32
20db7a3d 4395 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4396 (build-system meson-build-system)
35407f94 4397 (arguments
20db7a3d
KK
4398 '(#:glib-or-gtk? #t
4399 #:phases
35407f94
EF
4400 (modify-phases %standard-phases
4401 (add-after 'unpack 'skip-gtk-update-icon-cache
4402 ;; Don't create 'icon-theme.cache'.
4403 (lambda _
4404 (substitute* "meson_post_install.py"
4405 (("gtk-update-icon-cache") "true"))
4406 #t)))))
4a79e256
SB
4407 (native-inputs
4408 `(("intltool" ,intltool)
5dd12afc 4409 ("itstool" ,itstool)
11d28bd9
KK
4410 ("gobject-introspection" ,gobject-introspection)
4411 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4412 ("pkg-config" ,pkg-config)))
4413 (inputs
11d28bd9
KK
4414 `(("amtk" ,amtk)
4415 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4416 ("webkitgtk" ,webkitgtk)))
4417 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4418 (synopsis "API documentation browser for GNOME")
4419 (description
4420 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4421natively with GTK-Doc (the API reference system developed for GTK+ and used
4422throughout GNOME for API documentation).")
4423 (license license:gpl2+)))
ba421ab7
MW
4424
4425(define-public cogl
4426 (package
4427 (name "cogl")
54c69ae1 4428 (version "1.22.4")
ba421ab7
MW
4429 (source
4430 (origin
4431 (method url-fetch)
5754f0cf 4432 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4433 (version-major+minor version) "/"
5754f0cf 4434 "cogl-" version ".tar.xz"))
ba421ab7 4435 (sha256
54c69ae1 4436 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4437 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4438 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4439 (build-system gnu-build-system)
4440 (native-inputs
4441 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4442 ("gobject-introspection" ,gobject-introspection)
4443 ;;("xorg-server" ,xorg-server) ; for the test suite
4444 ("pkg-config" ,pkg-config)))
4445 (propagated-inputs
4446 `(("glib" ,glib)
4447 ("gdk-pixbuf" ,gdk-pixbuf)
4448 ("libx11" ,libx11)
4449 ("libxext" ,libxext)
4450 ("libxfixes" ,libxfixes)
4451 ("libxdamage" ,libxdamage)
4452 ("libxcomposite" ,libxcomposite)
4453 ("libxrandr" ,libxrandr)))
4454 (inputs
4455 `(("mesa" ,mesa)
4456 ("cairo" ,cairo)
4457 ("pango" ,pango)
4458 ("gstreamer" ,gstreamer)
31860852
KK
4459 ("gst-plugins-base" ,gst-plugins-base)
4460 ("wayland" ,wayland)))
ba421ab7
MW
4461 (arguments
4462 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4463 "--enable-wayland-egl-platform"
4464 "--enable-wayland-egl-server"
4465
ba421ab7
MW
4466 ;; Arrange to pass an absolute file name to
4467 ;; dlopen for libGL.so.
4468 (string-append "--with-gl-libname="
4469 (assoc-ref %build-inputs "mesa")
4470 "/lib/libGL.so"))
4471 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4472 ;; _FontTransOpen: Unable to Parse address
4473 ;; ${prefix}/share/fonts/X11/misc/
4474 #:tests? #f
4475 #; #:phases
4476 #;
4477 (modify-phases %standard-phases
4478 (add-before 'check 'start-xorg-server
4479 (lambda* (#:key inputs #:allow-other-keys)
4480 ;; The test suite requires a running X server.
4481 (system (format #f "~a/bin/Xvfb :1 &"
4482 (assoc-ref inputs "xorg-server")))
4483 (setenv "DISPLAY" ":1")
4484 #t)))))
89b49245 4485 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4486 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4487 (description
4488 "Cogl is a small library for using 3D graphics hardware to draw pretty
4489pictures. The API departs from the flat state machine style of OpenGL and is
4490designed to make it easy to write orthogonal components that can render
4491without stepping on each others toes.")
4492 (license (list license:expat ; most of the code
4493 license:bsd-3 ; cogl/cogl-point-in-poly.c
4494 license:sgifreeb2.0 ; cogl-path/tesselator/
4495 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4496
4497(define-public clutter
4498 (package
4499 (name "clutter")
6a88e4ee 4500 (version "1.26.2")
fb182b8a
MW
4501 (source
4502 (origin
4503 (method url-fetch)
4504 (uri (string-append "mirror://gnome/sources/" name "/"
4505 (version-major+minor version) "/"
4506 name "-" version ".tar.xz"))
4507 (sha256
4508 (base32
6a88e4ee 4509 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4510 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4511 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4512 (build-system gnu-build-system)
600233bd
LC
4513 (outputs '("out"
4514 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4515 (native-inputs
4516 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4517 ("gobject-introspection" ,gobject-introspection)
4518 ("pkg-config" ,pkg-config)
4519 ("xsltproc" ,libxslt)))
4520 (propagated-inputs
4521 `(("cogl" ,cogl)
4522 ("cairo" ,cairo)
4523 ("atk" ,atk)
4524 ("gtk+" ,gtk+)
4525 ("json-glib" ,json-glib)
4526 ("glib" ,glib)
4527 ("libxcomposite" ,libxcomposite)
4528 ("libxdamage" ,libxdamage)
4529 ("libxext" ,libxext)
4530 ("xinput" ,xinput)))
4531 (inputs
4532 `(("libxkbcommon" ,libxkbcommon)
4533 ("udev" ,eudev)))
4534 (arguments
600233bd
LC
4535 `(#:configure-flags (list "--enable-x11-backend=yes"
4536
4537 ;; This produces share/doc/{clutter,cally}.
4538 (string-append "--with-html-dir="
4539 (assoc-ref %outputs "doc")
4540 "/share/doc"))
fb182b8a
MW
4541 ;; XXX FIXME: Get test suite working. It would probably fail in the
4542 ;; same way the cogl tests fail, since clutter is based on cogl.
4543 #:tests? #f))
4544 (home-page "http://www.clutter-project.org")
476af713 4545 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4546 (description
476af713 4547 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4548creating fast, mainly 2D single window applications such as media box UIs,
4549presentations, kiosk style applications and so on.")
4550 (license license:lgpl2.0+)))
bf7f17ba
MW
4551
4552(define-public clutter-gtk
4553 (package
4554 (name "clutter-gtk")
5d1a3219 4555 (version "1.8.4")
bf7f17ba
MW
4556 (source
4557 (origin
4558 (method url-fetch)
4559 (uri (string-append "mirror://gnome/sources/" name "/"
4560 (version-major+minor version) "/"
4561 name "-" version ".tar.xz"))
4562 (sha256
4563 (base32
5d1a3219 4564 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4565 (build-system gnu-build-system)
4566 (native-inputs
4567 `(("pkg-config" ,pkg-config)
4568 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4569 (propagated-inputs
4570 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4571 `(("clutter" ,clutter)
4572 ("gtk+" ,gtk+)))
4573 (home-page "http://www.clutter-project.org")
476af713 4574 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4575 (description
476af713 4576 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4577creating fast, mainly 2D single window applications such as media box UIs,
4578presentations, kiosk style applications and so on.")
4579 (license license:lgpl2.0+)))
86d6a893
MW
4580
4581(define-public clutter-gst
4582 (package
4583 (name "clutter-gst")
ba07ac19 4584 (version "3.0.27")
86d6a893
MW
4585 (source
4586 (origin
4587 (method url-fetch)
f010f89b 4588 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4589 (version-major+minor version) "/"
f010f89b 4590 "clutter-gst-" version ".tar.xz"))
86d6a893 4591 (sha256
ba07ac19 4592 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4593 (build-system gnu-build-system)
4594 (native-inputs
ba07ac19 4595 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4596 ("pkg-config" ,pkg-config)
4597 ("gobject-introspection" ,gobject-introspection)))
4598 (inputs
4599 `(("clutter" ,clutter)
4600 ("gstreamer" ,gstreamer)
4601 ("gst-plugins-base" ,gst-plugins-base)))
4602 (home-page "http://www.clutter-project.org")
4603 (synopsis "Integration library for using GStreamer with Clutter")
4604 (description
4605 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4606It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4607implements the ClutterGstPlayer interface using playbin. Clutter is an
4608OpenGL-based interactive canvas library.")
86d6a893 4609 (license license:lgpl2.0+)))
607a04ae 4610
30dc88d9
LC
4611(define-public libchamplain
4612 (package
4613 (name "libchamplain")
5564b2c5 4614 (version "0.12.16")
30dc88d9
LC
4615 (source (origin
4616 (method url-fetch)
4617 (uri (string-append
4618 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4619 version ".tar.xz"))
4620 (sha256
4621 (base32
5564b2c5 4622 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4623 (build-system gnu-build-system)
f7c6833f
LF
4624 (arguments '(#:configure-flags '("--enable-vala")))
4625 (native-inputs
4626 `(("gobject-introspection" ,gobject-introspection)
4627 ("pkg-config" ,pkg-config)
4628 ("vala" ,vala)))
30dc88d9
LC
4629 (propagated-inputs
4630 `(("libsoup" ,libsoup)
4631 ("sqlite" ,sqlite)
4632 ("clutter" ,clutter)
4633 ("clutter-gtk" ,clutter-gtk)
4634 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4635 ("cairo" ,cairo)
4636 ("gtk+3" ,gtk+)
4637 ("glib" ,glib)))
f032d0be 4638 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4639 (synopsis "C library providing a ClutterActor to display maps")
4640 (description
4641 "libchamplain is a C library providing a ClutterActor to display maps.
4642It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4643and Perl bindings are also available. It supports numerous free map sources
4644such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4645 (license license:lgpl2.1+)))
4646
607a04ae
MW
4647(define-public gom
4648 (package
4649 (name "gom")
0510440b 4650 (version "0.3.2")
607a04ae
MW
4651 (source
4652 (origin
4653 (method url-fetch)
6c8a0b6f 4654 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4655 (version-major+minor version) "/"
6c8a0b6f 4656 "gom-" version ".tar.xz"))
607a04ae
MW
4657 (sha256
4658 (base32
0510440b 4659 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4660 (build-system gnu-build-system)
4661 (native-inputs
4662 `(("intltool" ,intltool)
4663 ("pkg-config" ,pkg-config)
4664 ("gobject-introspection" ,gobject-introspection)))
4665 (inputs
4666 `(("glib" ,glib)
4667 ("gdk-pixbuf" ,gdk-pixbuf)
4668 ("sqlite" ,sqlite)))
4669 ;; XXX TODO: Figure out how to run the test suite.
4670 (arguments `(#:tests? #f))
4671 (home-page "https://wiki.gnome.org/Projects/Gom")
4672 (synopsis "Object mapper from GObjects to SQLite")
4673 (description
4674 "Gom provides an object mapper from GObjects to SQLite. It helps you
4675write applications that need to store structured data as well as make complex
4676queries upon that data.")
4677 (license license:lgpl2.1+)))
b7a3cf11 4678
865aacc9 4679(define-public libgnome-games-support
f09520db 4680 (package
865aacc9 4681 (name "libgnome-games-support")
4c6d15cf 4682 (version "1.4.4")
f09520db
SB
4683 (source (origin
4684 (method url-fetch)
2d8dca9d 4685 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4686 (version-major+minor version) "/"
2d8dca9d 4687 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4688 (sha256
4689 (base32
4c6d15cf 4690 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4691 (build-system gnu-build-system)
4692 (arguments
4693 '(#:phases
4694 (modify-phases %standard-phases
4695 (add-before 'check 'pre-check
4696 (lambda _
865aacc9 4697 ;; Tests require a writable HOME.
f09520db
SB
4698 (setenv "HOME" (getcwd))
4699 #t)))))
4700 (native-inputs
4701 `(("intltool" ,intltool)
4702 ("pkg-config" ,pkg-config)
4703 ("vala" ,vala)))
4704 (propagated-inputs
865aacc9 4705 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4706 `(("gtk+" ,gtk+)
4707 ("libgee" ,libgee)))
4708 (home-page "https://www.gnome.org/")
4709 (synopsis "Useful functionality shared among GNOME games")
4710 (description
865aacc9 4711 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4712GNOME Games, but it may be used by others.")
4713 (license license:lgpl3+)))
4714
b7a3cf11
SB
4715(define-public gnome-klotski
4716 (package
4717 (name "gnome-klotski")
c1e419c4 4718 (version "3.32.0")
b7a3cf11
SB
4719 (source (origin
4720 (method url-fetch)
4721 (uri (string-append "mirror://gnome/sources/" name "/"
4722 (version-major+minor version) "/"
4723 name "-" version ".tar.xz"))
4724 (sha256
4725 (base32
c1e419c4
KK
4726 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4727 (build-system meson-build-system)
4728 (arguments
4729 '(#:glib-or-gtk? #t
4730 #:phases
4731 (modify-phases %standard-phases
4732 (add-after 'unpack 'skip-gtk-update-icon-cache
4733 ;; Don't create 'icon-theme.cache'.
4734 (lambda _
4735 (substitute* "build-aux/meson_post_install.py"
4736 (("gtk-update-icon-cache") (which "true")))
4737 #t)))))
b7a3cf11
SB
4738 (native-inputs
4739 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4740 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4741 ("intltool" ,intltool)
4742 ("itstool" ,itstool)
bcb354ad 4743 ("pkg-config" ,pkg-config)
c1e419c4 4744 ("vala" ,vala)
bcb354ad 4745 ("xmllint" ,libxml2)))
b7a3cf11
SB
4746 (inputs
4747 `(("gtk+" ,gtk+)
f4eae76f 4748 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4749 ("librsvg" ,librsvg)))
4750 (home-page "https://wiki.gnome.org/Apps/Klotski")
4751 (synopsis "Sliding block puzzles")
4752 (description
4753 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4754the patterned block to the area bordered by green markers. To do so, you will
4755need to slide other blocks out of the way. Complete each puzzle in as few moves
4756as possible!")
4757 (license license:gpl2+)))
8d4791bf
MW
4758
4759(define-public grilo
4760 (package
4761 (name "grilo")
a865e938 4762 (version "0.3.10")
8d4791bf
MW
4763 (source
4764 (origin
4765 (method url-fetch)
4766 (uri (string-append "mirror://gnome/sources/" name "/"
4767 (version-major+minor version) "/"
4768 name "-" version ".tar.xz"))
4769 (sha256
4770 (base32
a865e938 4771 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4772 (build-system meson-build-system)
8d4791bf
MW
4773 (native-inputs
4774 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4775 ("intltool" ,intltool)
4776 ("pkg-config" ,pkg-config)
d48d4c98
KK
4777 ("gobject-introspection" ,gobject-introspection)
4778 ("gtk-doc" ,gtk-doc)
4779 ("vala" ,vala)))
8d4791bf 4780 (inputs
6d7273a0
KK
4781 `(("cyrus-sasl" ,cyrus-sasl)
4782 ("glib" ,glib)
8d4791bf
MW
4783 ("gtk+" ,gtk+)
4784 ("libxml2" ,libxml2)
6d7273a0 4785 ("liboauth" ,liboauth)
8d4791bf
MW
4786 ("libsoup" ,libsoup)
4787 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4788 (native-search-paths
4789 (list (search-path-specification
4790 (variable "GRL_PLUGIN_PATH")
4791 (files (list (string-append "lib/grilo-"
4792 (version-major+minor version)))))))
d48d4c98 4793 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4794 (synopsis "Framework for discovering and browsing media")
4795 (description
4796 "Grilo is a framework focused on making media discovery and browsing easy
4797for application developers.")
4798 (license license:lgpl2.1+)))
7b212526
MW
4799
4800(define-public grilo-plugins
4801 (package
4802 (name "grilo-plugins")
281f6b3a 4803 (version "0.3.10")
7b212526
MW
4804 (source
4805 (origin
4806 (method url-fetch)
4807 (uri (string-append "mirror://gnome/sources/" name "/"
4808 (version-major+minor version) "/"
4809 name "-" version ".tar.xz"))
4810 (sha256
4811 (base32
281f6b3a
RG
4812 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4813 (build-system meson-build-system)
7b212526 4814 (native-inputs
281f6b3a
RG
4815 `(("gettext" ,gettext-minimal)
4816 ("glib:bin" ,glib "bin")
4817 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4818 ("itstool" ,itstool)
4819 ("pkg-config" ,pkg-config)))
281f6b3a 4820 ;; TODO: ahavi, gstreamer
7b212526
MW
4821 (inputs
4822 `(("grilo" ,grilo)
281f6b3a
RG
4823 ;("gmime" ,gmime) ; unused
4824 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4825 ("gom" ,gom)
281f6b3a
RG
4826 ;("gssdp" ,gssdp) ; unused
4827 ;("gupnp" ,gupnp) ; unused
4828 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4829 ("json-glib" ,json-glib)
4830 ("avahi" ,avahi)
281f6b3a
RG
4831 ("libgdata" ,libgdata)
4832 ("libmediaart" ,libmediaart)
4833 ;("librest" ,rest) ; unused
7b212526 4834 ("libsoup" ,libsoup)
281f6b3a
RG
4835 ("totam-pl-parser" ,totem-pl-parser)
4836 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4837 (arguments
281f6b3a
RG
4838 `(#:glib-or-gtk? #t
4839 ;;Disable lua-factory as it needs missing dependencies
4840 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4841 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4842 (synopsis "Plugins for the Grilo media discovery library")
4843 (description
4844 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4845for application developers. This package provides plugins for common media
4846discovery protocols.")
7b212526 4847 (license license:lgpl2.1+)))
4e3fc547
MW
4848
4849(define-public totem
4850 (package
4851 (name "totem")
995ef5ea 4852 (version "3.32.1")
4e3fc547
MW
4853 (source
4854 (origin
4855 (method url-fetch)
4856 (uri (string-append "mirror://gnome/sources/" name "/"
4857 (version-major+minor version) "/"
4858 name "-" version ".tar.xz"))
4859 (sha256
4860 (base32
995ef5ea 4861 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4862 (build-system meson-build-system)
4e3fc547
MW
4863 (native-inputs
4864 `(("pkg-config" ,pkg-config)
4865 ("desktop-file-utils" ,desktop-file-utils)
4866 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4867 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4868 ("intltool" ,intltool)
bcb354ad 4869 ("itstool" ,itstool)
995ef5ea
KK
4870 ("xmllint" ,libxml2)
4871 ("python-pylint" ,python-pylint)
4872 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4873 (propagated-inputs
4874 `(("dconf" ,dconf)))
4875 (inputs
4876 `(("gtk+" ,gtk+)
4877 ("gdk-pixbuf" ,gdk-pixbuf)
4878 ("atk" ,atk)
4879 ("cairo" ,cairo)
4880 ("dbus-glib" ,dbus-glib)
4881 ("clutter" ,clutter)
4882 ("clutter-gtk" ,clutter-gtk)
4883 ("clutter-gst" ,clutter-gst)
6a6db57f 4884 ("xorgproto" ,xorgproto)
4e3fc547
MW
4885 ("libxxf86vm" ,libxxf86vm)
4886 ("libxtst" ,libxtst)
4887 ("libxrandr" ,libxrandr)
4888 ("libxml2" ,libxml2)
4889 ("libsoup" ,libsoup)
4890 ("libpeas" ,libpeas)
4891 ("librsvg" ,librsvg)
4892 ("lirc" ,lirc)
4893 ("gnome-desktop" ,gnome-desktop)
4894 ("gstreamer" ,gstreamer)
4895 ("gst-plugins-base" ,gst-plugins-base)
4896 ("gst-plugins-good" ,gst-plugins-good)
4897 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4898 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4899 ("python" ,python)
995ef5ea 4900 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4901 ("totem-pl-parser" ,totem-pl-parser)
4902 ("grilo" ,grilo)
4903 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4904 ("vala" ,vala)))
4905 (arguments
7ad81b8b
LC
4906 `(#:glib-or-gtk? #t
4907
4908 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4909 ;; all that.
7ad81b8b 4910 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4911
4912 ;; Do not build .a files for the plugins, it's
4913 ;; completely useless. This saves 2 MiB.
7ad81b8b 4914 "--default-library" "shared")
ec5c24f9 4915 #:phases
4e3fc547 4916 (modify-phases %standard-phases
d51b19ad
EF
4917 (add-after 'unpack 'skip-gtk-update-icon-cache
4918 ;; Don't create 'icon-theme.cache'.
4919 (lambda _
4920 (substitute* "meson_post_install.py"
4921 (("gtk-update-icon-cache") "true"))
4922 #t))
6368eb39
DM
4923 (add-before
4924 'install 'disable-cache-generation
4925 (lambda _
4926 (setenv "DESTDIR" "/")
4927 #t))
995ef5ea
KK
4928 (add-before
4929 'check 'pre-check
4930 (lambda _
4931 ;; Tests require a running X server.
4932 (system "Xvfb :1 &")
4933 (setenv "DISPLAY" ":1")
4934 #t))
4e3fc547
MW
4935 (add-after
4936 'install 'wrap-totem
4937 (lambda* (#:key inputs outputs #:allow-other-keys)
4938 (let ((out (assoc-ref outputs "out"))
4939 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4940 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4941 (wrap-program (string-append out "/bin/totem")
4942 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4943 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4944 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4945 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4946 #t)))))
4947 (home-page "https://wiki.gnome.org/Apps/Videos")
4948 (synopsis "Simple media player for GNOME based on GStreamer")
4949 (description "Totem is a simple yet featureful media player for GNOME
4950which can read a large number of file formats.")
4951 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4952 ;; to be used and distributed together with GStreamer and Totem. See
4953 ;; file://COPYING in the source distribution for details.
4954 (license license:gpl2+)))
f0afb0c8
DH
4955
4956(define-public rhythmbox
4957 (package
4958 (name "rhythmbox")
eda580c0 4959 (version "3.4.4")
f0afb0c8
DH
4960 (source (origin
4961 (method url-fetch)
2588693d 4962 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 4963 (version-major+minor version) "/"
2588693d 4964 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
4965 (sha256
4966 (base32
eda580c0 4967 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
4968 (build-system glib-or-gtk-build-system)
4969 (arguments
4970 `(#:configure-flags
4971 (list "--enable-lirc"
4972 "--enable-python"
4973 "--enable-vala"
4974 "--with-brasero"
4975 "--with-gudev"
4976 "--with-libsecret")
4977 #:phases
4978 (modify-phases %standard-phases
4979 (add-after
4980 'install 'wrap-rhythmbox
4981 (lambda* (#:key inputs outputs #:allow-other-keys)
4982 (let ((out (assoc-ref outputs "out"))
4983 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4984 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4985 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4986 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4987 (wrap-program (string-append out "/bin/rhythmbox")
4988 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4989 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4990 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4991 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4992 #t)))))
4993 (propagated-inputs
4994 `(("dconf" ,dconf)))
4995 (native-inputs
bcb354ad
SB
4996 `(("itstool" ,itstool)
4997 ("intltool" ,intltool)
f0afb0c8
DH
4998 ("glib" ,glib "bin")
4999 ("gobject-introspection" ,gobject-introspection)
5000 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5001 ("pkg-config" ,pkg-config)
5002 ("xmllint" ,libxml2)))
f0afb0c8
DH
5003 (inputs
5004 `(("json-glib" ,json-glib)
5005 ("tdb" ,tdb)
5006 ("gnome-desktop" ,gnome-desktop)
5007 ("python" ,python)
5008 ("python-pygobject" ,python2-pygobject)
5009 ("vala" ,vala)
5010 ("gmime" ,gmime)
f0afb0c8
DH
5011 ("adwaita-icon-theme" ,adwaita-icon-theme)
5012 ("grilo" ,grilo)
5013 ("grilo-plugins" ,grilo-plugins)
5014 ("gstreamer" ,gstreamer)
5015 ("gst-plugins-base" ,gst-plugins-base)
5016 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5017 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5018 ("libgudev" ,libgudev)
f0afb0c8
DH
5019 ;;("libmtp" ,libmtp) FIXME: Not detected
5020 ("libsecret" ,libsecret)
5021 ("libsoup" ,libsoup)
5022 ("libnotify" ,libnotify)
5023 ("libpeas" ,libpeas)
5024 ("lirc" ,lirc)
5025 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5026 ;;("clutter" ,clutter)
5027 ;;("clutter-gtk" ,clutter-gtk)
5028 ;;("clutter-gst" ,clutter-gst)
5029 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5030 ("atk" ,atk)
5031 ("pango" ,pango)
5032 ("gtk+" ,gtk+)
5033 ;; TODO:
5034 ;; * libgpod
5035 ;; * mx
f0afb0c8
DH
5036 ("brasero" ,brasero)))
5037 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5038 (synopsis "Music player for GNOME")
5039 (description "Rhythmbox is a music playing application for GNOME. It
5040supports playlists, song ratings, and any codecs installed through gstreamer.")
5041 (license license:gpl2+)))
f70d8383
DH
5042
5043(define-public eog
5044 (package
5045 (name "eog")
b0f24a82 5046 (version "3.32.2")
f70d8383
DH
5047 (source (origin
5048 (method url-fetch)
5049 (uri (string-append "mirror://gnome/sources/" name "/"
5050 (version-major+minor version) "/"
5051 name "-" version ".tar.xz"))
5052 (sha256
5053 (base32
b0f24a82 5054 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 5055 (build-system meson-build-system)
f70d8383 5056 (arguments
34c44a34
RW
5057 `(#:configure-flags
5058 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5059 (list (string-append "-Dc_link_args=-Wl,-rpath="
5060 (assoc-ref %outputs "out") "/lib/eog"))
5061 #:phases
f70d8383 5062 (modify-phases %standard-phases
7a034665
EF
5063 (add-after 'unpack 'skip-gtk-update-icon-cache
5064 ;; Don't create 'icon-theme.cache'.
5065 (lambda _
5066 (substitute* "meson_post_install.py"
5067 (("gtk-update-icon-cache") "true"))
5068 #t))
61fb581f
RW
5069 (add-after 'install 'wrap-eog
5070 (lambda* (#:key outputs #:allow-other-keys)
5071 (let ((out (assoc-ref outputs "out"))
5072 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5073 (wrap-program (string-append out "/bin/eog")
5074 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5075 #t)))))
f70d8383
DH
5076 (propagated-inputs
5077 `(("dconf" ,dconf)))
5078 (native-inputs
5079 `(("intltool" ,intltool)
b3546174 5080 ("itstool" ,itstool)
f70d8383
DH
5081 ("glib" ,glib "bin")
5082 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5083 ("pkg-config" ,pkg-config)
5084 ("xmllint" ,libxml2)))
f70d8383
DH
5085 (inputs
5086 `(("gnome-desktop" ,gnome-desktop)
5087 ("shared-mime-info" ,shared-mime-info)
5088 ("adwaita-icon-theme" ,adwaita-icon-theme)
5089 ("exempi" ,exempi)
5090 ("lcms" ,lcms)
5091 ("libexif" ,libexif)
5092 ("libpeas" ,libpeas)
5093 ("libjpeg" ,libjpeg)
5094 ("librsvg" ,librsvg)
5095 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5096 ("gtk+" ,gtk+)))
5097 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5098 (synopsis "GNOME image viewer")
5099 (description "Eye of GNOME is the GNOME image viewer. It
5100supports image conversion, rotation, and slideshows.")
5101 (license license:gpl2+)))
41af5e7b 5102
0c3f8cb8
LC
5103(define-public eog-plugins
5104 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5105 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5106 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5107 ;; 'XDG_DATA_DIRS' appropriately set.
5108 (package
5109 (name "eog-plugins")
54b74cc6 5110 (version "3.26.4")
0c3f8cb8
LC
5111 (source (origin
5112 (method url-fetch)
f3b88ed2 5113 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5114 (version-major+minor version) "/"
f3b88ed2 5115 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5116 (sha256
5117 (base32
54b74cc6 5118 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5119 (build-system gnu-build-system)
5120 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5121 (synopsis "Extensions for the Eye of GNOME image viewer")
5122 (native-inputs
5123 `(("pkg-config" ,pkg-config)
f2d97d57 5124 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
5125 (inputs
5126 `(("eog" ,eog)
5127 ("glib" ,glib)
5128 ("gtk+" ,gtk+)
5129 ("libpeas" ,libpeas)
5130 ("libexif" ,libexif)
5131 ("libchamplain" ,libchamplain)))
5132 (description
5133 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5134notably:
5135
5136@itemize
5137@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5138@item @dfn{Map}, which displays a map of where the picture was taken on the
5139side panel;
5140@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5141@end itemize\n")
5142
5143 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5144 ;; long suspicious byte stream that goes to a
5145 ;; ".gresource.eog_postasa_plugin" ELF section.
5146 (license license:gpl2+)))
5147
41af5e7b
SB
5148(define-public libgudev
5149 (package
5150 (name "libgudev")
b78f5118 5151 (version "232")
41af5e7b
SB
5152 (source (origin
5153 (method url-fetch)
5154 (uri (string-append "mirror://gnome/sources/" name "/"
5155 version "/" name "-" version ".tar.xz"))
5156 (sha256
5157 (base32
b78f5118 5158 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5159 (build-system gnu-build-system)
b78f5118
RW
5160 (arguments
5161 '(#:configure-flags
5162 ;; umockdev depends on libgudev.
5163 (list "--disable-umockdev")))
41af5e7b
SB
5164 (native-inputs
5165 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5166 ("gobject-introspection" ,gobject-introspection)
5167 ("pkg-config" ,pkg-config)))
5168 (propagated-inputs
5169 `(("glib" ,glib))) ; required by gudev-1.0.pc
5170 (inputs
5171 `(("udev" ,eudev)))
5172 (home-page "https://wiki.gnome.org/Projects/libgudev")
5173 (synopsis "GObject bindings for libudev")
5174 (description
5175 "This library provides GObject bindings for libudev. It was originally
5176part of udev-extras, then udev, then systemd. It's now a project on its own.")
5177 (license license:lgpl2.1+)))
3dc8828f
SB
5178
5179(define-public gvfs
5180 (package
5181 (name "gvfs")
12fe4846 5182 (version "1.40.1")
3dc8828f
SB
5183 (source (origin
5184 (method url-fetch)
1d68eb32 5185 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5186 (version-major+minor version) "/"
1d68eb32 5187 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5188 (sha256
5189 (base32
12fe4846 5190 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5191 (build-system meson-build-system)
3dc8828f 5192 (arguments
e762d943
RW
5193 '(#:glib-or-gtk? #t
5194 #:configure-flags
5195 (list "-Dsystemduserunitdir=no"
5196 "-Dtmpfilesdir=no"
5197 ;; Otherwise, the RUNPATH will lack the final path component.
5198 (string-append "-Dc_link_args=-Wl,-rpath="
5199 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5200 (native-inputs
5201 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5202 ("gettext" ,gettext-minimal)
5203 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5204 ("pkg-config" ,pkg-config)
5205 ("xsltproc" ,libxslt)))
5206 (inputs
5207 `(("avahi" ,avahi)
5208 ("docbook-xml" ,docbook-xml-4.2)
5209 ("docbook-xsl" ,docbook-xsl)
5210 ("dbus" ,dbus)
e762d943 5211 ("elogind" ,elogind)
3dc8828f 5212 ("fuse" ,fuse)
24a78aa6 5213 ("gcr" ,gcr)
3dc8828f 5214 ("glib" ,glib)
e762d943 5215 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5216 ("libarchive" ,libarchive)
5217 ("libbluray" ,libbluray)
8852ca24 5218 ("libcap" ,libcap)
3dc8828f
SB
5219 ("libcdio-paranoia" ,libcdio-paranoia)
5220 ("libgcrypt" ,libgcrypt)
e762d943 5221 ("libgdata" ,libgdata)
3dc8828f
SB
5222 ("libgphoto2" ,libgphoto2)
5223 ("libgudev" ,libgudev)
0ab9f949 5224 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5225 ("libmtp" ,libmtp)
e762d943 5226 ("libnfs" ,libnfs)
3dc8828f
SB
5227 ("libsecret" ,libsecret)
5228 ("libsmbclient" ,samba)
5229 ("libsoup" ,libsoup)
5230 ("libxml2" ,libxml2)
e762d943 5231 ("openssh" ,openssh)
8852ca24 5232 ("polkit" ,polkit)
3dc8828f
SB
5233 ("udisks" ,udisks)))
5234 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5235 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5236 (description
8f65585b 5237 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5238abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5239to all applications using the GIO API. It also supports exposing the GVFS
5240mounts to non-GIO applications using FUSE.
5241
5242GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5243DAV, and others.")
5244 (license license:lgpl2.0+)))
7c88b6bd
AW
5245
5246(define-public gusb
5247 (package
5248 (name "gusb")
536b3274 5249 (version "0.3.0")
7c88b6bd 5250 (source (origin
bbfb36f9
EF
5251 (method git-fetch)
5252 (uri (git-reference
5253 (url "https://github.com/hughsie/libgusb.git")
5254 (commit version)))
5255 (file-name (git-file-name name version))
7c88b6bd
AW
5256 (sha256
5257 (base32
bbfb36f9 5258 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5259 (build-system meson-build-system)
7c88b6bd 5260 (native-inputs
536b3274 5261 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5262 ("pkg-config" ,pkg-config)
5263 ("vala" ,vala)
7c88b6bd
AW
5264 ("gtk-doc" ,gtk-doc)))
5265 (propagated-inputs
5266 ;; Both of these are required by gusb.pc.
5267 `(("glib" ,glib)
5268 ("libusb" ,libusb)))
5269 (arguments
536b3274 5270 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5271 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5272 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5273 (description
5274 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5275asynchronous control, bulk and interrupt transfers with proper cancellation
5276and integration into a mainloop. This makes it easy to integrate low level
5277USB transfers with your high-level application or system daemon.")
5278 (license license:lgpl2.1+)))
0abe1d86
AW
5279
5280(define-public simple-scan
5281 (package
5282 (name "simple-scan")
fe6cfa99 5283 (version "3.36.0")
d9f6d587
TGR
5284 (source
5285 (origin
5286 (method url-fetch)
5287 (uri (string-append "mirror://gnome/sources/simple-scan/"
5288 (version-major+minor version) "/"
5289 "simple-scan-" version ".tar.xz"))
5290 (sha256
fe6cfa99 5291 (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
d9f6d587
TGR
5292 (build-system meson-build-system)
5293 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5294 (arguments
5295 '(#:glib-or-gtk? #t))
0abe1d86
AW
5296 (inputs
5297 `(("gtk" ,gtk+)
5298 ("zlib" ,zlib)
5299 ("cairo" ,cairo)
c501f592 5300 ("colord" ,colord)
0abe1d86
AW
5301 ("gdk-pixbuf" ,gdk-pixbuf)
5302 ("gusb" ,gusb)
4c928743 5303 ("libsane" ,sane-backends)))
0abe1d86 5304 (native-inputs
b94a6ca0 5305 `(("gettext" ,gettext-minimal)
0abe1d86 5306 ("itstool" ,itstool)
c501f592 5307 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5308 ("pkg-config" ,pkg-config)
bcb354ad
SB
5309 ("vala" ,vala)
5310 ("xmllint" ,libxml2)))
dff0eedb 5311 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5312 (synopsis "Document and image scanner")
d9f6d587
TGR
5313 (description
5314 "Document Scanner is an easy-to-use application that lets you connect your
5315scanner and quickly capture images and documents in an appropriate format. It
5316supports any scanner for which a suitable SANE driver is available, which is
5317almost all of them.")
0abe1d86 5318 (license license:gpl3+)))
7549f984 5319
ab466d79
RW
5320(define-public eolie
5321 (package
5322 (name "eolie")
ed783404 5323 (version "0.9.98.1")
ab466d79
RW
5324 (source (origin
5325 (method url-fetch)
ed783404
RW
5326 (uri (string-append "https://adishatz.org/eolie/eolie-"
5327 version ".tar.xz"))
ab466d79
RW
5328 (sha256
5329 (base32
ed783404 5330 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5331 (build-system meson-build-system)
ab466d79 5332 (arguments
00014781
RW
5333 `(#:glib-or-gtk? #t
5334 #:phases
ab466d79 5335 (modify-phases %standard-phases
f0c68100
EF
5336 (add-after 'unpack 'skip-gtk-update-icon-cache
5337 ;; Don't create 'icon-theme.cache'.
5338 (lambda _
5339 (substitute* "meson_post_install.py"
5340 (("gtk-update-icon-cache") "true"))
5341 #t))
ab466d79
RW
5342 (add-after 'wrap 'wrap-more
5343 (lambda* (#:key inputs outputs #:allow-other-keys)
5344 (let* ((out (assoc-ref outputs "out"))
5345 ;; These libraries must be on LD_LIBRARY_PATH.
5346 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5347 "atk" "gtk+" "gsettings-desktop-schemas"
5348 "gobject-introspection"))
5349 (path (string-join
5350 (map (lambda (lib)
5351 (string-append (assoc-ref inputs lib) "/lib"))
5352 libs)
5353 ":")))
5354 (wrap-program (string-append out "/bin/eolie")
5355 `("LD_LIBRARY_PATH" ":" prefix (,path))
5356 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5357 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5358 #t)))))
5359 (native-inputs
f85ca6ed 5360 `(("intltool" ,intltool)
ab466d79 5361 ("itstool" ,itstool)
d95f1041 5362 ("pkg-config" ,pkg-config)
d95f1041 5363 ("python" ,python)
f0c68100 5364 ("glib:bin" ,glib "bin")))
ab466d79
RW
5365 (inputs
5366 `(("gobject-introspection" ,gobject-introspection)
5367 ("glib-networking" ,glib-networking)
5368 ("cairo" ,cairo)
5369 ("gtk+" ,gtk+)
5370 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5371 ("python" ,python-wrapper)
d72f76df 5372 ("python-dateutil" ,python-dateutil)
00014781 5373 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5374 ("python-pygobject" ,python-pygobject)
5375 ("python-pycairo" ,python-pycairo)
00014781 5376 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5377 ("libsecret" ,libsecret)
5378 ("gtkspell3" ,gtkspell3)
5379 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5380 ("webkitgtk" ,webkitgtk)))
166b2c97 5381 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5382 (synopsis "Web browser for GNOME")
5383 (description
5384 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5385a secret password store, an adblocker, and a modern UI.")
5386 (license license:gpl3+)))
5387
7549f984
SB
5388(define-public epiphany
5389 (package
5390 (name "epiphany")
60680365 5391 (version "3.32.5")
7549f984
SB
5392 (source (origin
5393 (method url-fetch)
dd3266ec 5394 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5395 (version-major+minor version) "/"
dd3266ec 5396 "epiphany-" version ".tar.xz"))
7549f984
SB
5397 (sha256
5398 (base32
60680365 5399 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5400
5401 (build-system meson-build-system)
7549f984
SB
5402 (arguments
5403 ;; FIXME: tests run under Xvfb, but fail with:
5404 ;; /src/bookmarks/ephy-bookmarks/create:
5405 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5406 ;; subsystem
5407 ;; FAIL
6f48d9db 5408 '(#:tests? #f
e19f9c24 5409 #:glib-or-gtk? #t
bb7ff88f
EF
5410 #:phases
5411 (modify-phases %standard-phases
5412 (add-after 'unpack 'skip-gtk-update-icon-cache
5413 ;; Don't create 'icon-theme.cache'.
5414 (lambda _
5415 (substitute* "post_install.py"
5416 (("gtk-update-icon-cache") "true"))
5417 #t)))
e19f9c24
LF
5418 #:configure-flags
5419 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5420 (list (string-append "-Dc_link_args=-Wl,-rpath="
5421 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5422 (propagated-inputs
5423 `(("dconf" ,dconf)))
7549f984 5424 (native-inputs
fc5c5b92
R
5425 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5426 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5427 ("intltool" ,intltool)
7549f984 5428 ("itstool" ,itstool)
bcb354ad
SB
5429 ("pkg-config" ,pkg-config)
5430 ("xmllint" ,libxml2)))
7549f984
SB
5431 (inputs
5432 `(("avahi" ,avahi)
5433 ("gcr" ,gcr)
fc5c5b92 5434 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5435 ("glib-networking" ,glib-networking)
5436 ("gnome-desktop" ,gnome-desktop)
5437 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5438 ("json-glib" ,json-glib)
7549f984 5439 ("iso-codes" ,iso-codes)
8748e29c 5440 ("libdazzle" ,libdazzle)
7549f984
SB
5441 ("libnotify" ,libnotify)
5442 ("libsecret" ,libsecret)
7549f984 5443 ("libxslt" ,libxslt)
fc5c5b92 5444 ("nettle" ,nettle) ; for hogweed
7549f984 5445 ("sqlite" ,sqlite)
f85ca6ed 5446 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5447 (home-page "https://wiki.gnome.org/Apps/Web")
5448 (synopsis "GNOME web browser")
5449 (description
5450 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5451principles are simplicity and standards compliance.")
5452 (license license:gpl2+)))
a3856b2c
SB
5453
5454(define-public d-feet
5455 (package
5456 (name "d-feet")
458e9221 5457 (version "0.3.14")
a3856b2c
SB
5458 (source (origin
5459 (method url-fetch)
5460 (uri (string-append "mirror://gnome/sources/" name "/"
5461 (version-major+minor version) "/"
5462 name "-" version ".tar.xz"))
5463 (sha256
5464 (base32
458e9221 5465 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5466 (build-system glib-or-gtk-build-system)
5467 (arguments
5468 '(#:out-of-source? #f ; tests need to run in the source directory.
5469 #:phases
5470 (modify-phases %standard-phases
5471 (add-before
5472 'check 'pre-check
86aff791 5473 (lambda _
a3856b2c
SB
5474 ;; The test suite requires a running X server.
5475 (system "Xvfb :1 &")
5476 (setenv "DISPLAY" ":1")
5477 ;; Don't fail on missing '/etc/machine-id'.
5478 (setenv "DBUS_FATAL_WARNINGS" "0")
5479 ;; tests.py and window.py don't meet E402:
5480 ;; E402 module level import not at top of file
5481 (substitute* "src/tests/Makefile"
86aff791
MW
5482 (("--ignore=E123") "--ignore=E123,E402"))
5483 #t))
a3856b2c
SB
5484 (add-after
5485 'install 'wrap-program
5486 (lambda* (#:key outputs #:allow-other-keys)
5487 (let ((prog (string-append (assoc-ref outputs "out")
5488 "/bin/d-feet")))
5489 (wrap-program prog
5490 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5491 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5492 #t))))))
a3856b2c
SB
5493 (native-inputs
5494 `(("intltool" ,intltool)
5495 ("itstool" ,itstool)
5496 ("pkg-config" ,pkg-config)
5497 ("python-pep8" ,python-pep8)
5498 ("xmllint" ,libxml2)
ff337525 5499 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5500 (inputs
5501 `(("gobject-introspection" ,gobject-introspection)
5502 ("gtk+" ,gtk+)
5503 ("python" ,python-wrapper)
458e9221 5504 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5505 ("python-pygobject" ,python-pygobject)))
5506 (home-page "https://wiki.gnome.org/Apps/DFeet")
5507 (synopsis "D-Bus debugger")
5508 (description
5509 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5510of running programs and invoke methods on those interfaces.")
5511 (license license:gpl2+)))
c3b97bd9
SB
5512
5513(define-public yelp-xsl
5514 (package
5515 (name "yelp-xsl")
b3640e79 5516 (version "3.32.1")
c3b97bd9
SB
5517 (source (origin
5518 (method url-fetch)
5519 (uri (string-append "mirror://gnome/sources/" name "/"
5520 (version-major+minor version) "/"
5521 name "-" version ".tar.xz"))
5522 (sha256
5523 (base32
b3640e79 5524 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5525 (build-system gnu-build-system)
5526 (native-inputs
5527 `(("intltool" ,intltool)
5528 ("itstool" ,itstool)
5529 ("xmllint" ,libxml2)))
5530 (home-page "https://wiki.gnome.org/Apps/Yelp")
5531 (synopsis "XSL stylesheets for Yelp")
5532 (description
5533 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5534to format Docbook and Mallard documents.")
5535 (license license:gpl2+)))
de3d612a
SB
5536
5537(define-public yelp
5538 (package
5539 (name "yelp")
1f1b6d60 5540 (version "3.32.2")
de3d612a
SB
5541 (source (origin
5542 (method url-fetch)
5543 (uri (string-append "mirror://gnome/sources/" name "/"
5544 (version-major+minor version) "/"
5545 name "-" version ".tar.xz"))
5546 (sha256
5547 (base32
1f1b6d60 5548 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5549 (build-system glib-or-gtk-build-system)
5550 (native-inputs
5551 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5552 ("intltool" ,intltool)
5553 ("itstool" ,itstool)
5554 ("pkg-config" ,pkg-config)))
5555 (propagated-inputs
5556 `(("dconf" ,dconf)))
5557 (inputs
ad1b7d8b
SB
5558 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5559 ("libxslt" ,libxslt)
de3d612a 5560 ("sqlite" ,sqlite)
4c28ca1d
SB
5561 ("webkitgtk" ,webkitgtk)
5562 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5563 (home-page "https://wiki.gnome.org/Apps/Yelp")
5564 (synopsis "GNOME help browser")
5565 (description
5566 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5567man, info, and HTML documents. It can locate documents according to the
5568freedesktop.org help system specification.")
5569 (license license:gpl2+)))
122d0d10
SB
5570
5571(define-public yelp-tools
5572 (package
5573 (name "yelp-tools")
2089bca5 5574 (version "3.28.0")
122d0d10
SB
5575 (source (origin
5576 (method url-fetch)
5577 (uri (string-append "mirror://gnome/sources/" name "/"
5578 (version-major+minor version) "/"
5579 name "-" version ".tar.xz"))
5580 (sha256
5581 (base32
2089bca5 5582 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5583 (build-system gnu-build-system)
5584 (native-inputs
5585 `(("pkg-config" ,pkg-config)))
5586 (propagated-inputs
5587 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5588 `(("itstool" ,itstool)
5589 ("xmllint" ,libxml2)
5590 ("xsltproc" ,libxslt)))
5591 (inputs
5592 `(("yelp-xsl" ,yelp-xsl)))
5593 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5594 (synopsis "Yelp documentation tools")
5595 (description
5596 "Yelp-tools is a collection of scripts and build utilities to help create,
5597manage, and publish documentation for Yelp and the web. Most of the heavy
5598lifting is done by packages like yelp-xsl and itstool. This package just
5599wraps things up in a developer-friendly way.")
5600 (license license:gpl2+)))
af8f9f23 5601
4ed041d9
MB
5602(define-public yelp-tools/fixed
5603 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5604 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5605 ;; the next rebuild cycle.
5606 (hidden-package
5607 (package/inherit
5608 yelp-tools
5609 (propagated-inputs
5610 `(("itstool" ,itstool/fixed)
5611 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5612
af8f9f23
RW
5613(define-public libgee
5614 (package
5615 (name "libgee")
9cedae2a 5616 (version "0.20.3")
af8f9f23
RW
5617 (source (origin
5618 (method url-fetch)
84a1b007 5619 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5620 (version-major+minor version) "/"
84a1b007 5621 "libgee-" version ".tar.xz"))
af8f9f23
RW
5622 (sha256
5623 (base32
9cedae2a 5624 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5625 (build-system gnu-build-system)
5626 (arguments
5627 `(#:phases
5628 (modify-phases %standard-phases
5629 (add-after 'unpack 'fix-introspection-install-dir
5630 (lambda* (#:key outputs #:allow-other-keys)
5631 (let ((out (assoc-ref outputs "out")))
5632 (substitute* "gee/Makefile.in"
5633 (("@INTROSPECTION_GIRDIR@")
5634 (string-append out "/share/gir-1.0/"))
5635 (("@INTROSPECTION_TYPELIBDIR@")
5636 (string-append out "/lib/girepository-1.0/")))))))))
5637 (native-inputs
5638 `(("glib" ,glib "bin")
5639 ("pkg-config" ,pkg-config)))
5640 (inputs
5641 `(("glib" ,glib)
5642 ("gobject-introspection" ,gobject-introspection)))
5643 (home-page "https://wiki.gnome.org/Projects/Libgee")
5644 (synopsis "GObject collection library")
5645 (description
5646 "Libgee is a utility library providing GObject-based interfaces and
5647classes for commonly used data structures.")
5648 (license license:lgpl2.1+)))
b0f9c4b8
RW
5649
5650(define-public gexiv2
5651 (package
5652 (name "gexiv2")
b1a8b408 5653 (version "0.12.0")
b0f9c4b8
RW
5654 (source (origin
5655 (method url-fetch)
5656 (uri (string-append "mirror://gnome/sources/" name "/"
5657 (version-major+minor version) "/"
5658 name "-" version ".tar.xz"))
5659 (sha256
5660 (base32
b1a8b408 5661 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5662 (build-system meson-build-system)
b0f9c4b8 5663 (native-inputs
b1a8b408
KK
5664 `(("gcr" ,gcr)
5665 ("glib" ,glib "bin")
5666 ("pkg-config" ,pkg-config)
5667 ("vala" ,vala)))
b0f9c4b8
RW
5668 (propagated-inputs
5669 ;; Listed in "Requires" section of gexiv2.pc
5670 `(("exiv2" ,exiv2)))
5671 (inputs
5672 `(("glib" ,glib)
5673 ("gobject-introspection" ,gobject-introspection)))
5674 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5675 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5676 (description
5677 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5678allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5679metadata in photo and video files of various formats.")
5680 (license license:gpl2+)))
fed5a689
RW
5681
5682(define-public shotwell
5683 (package
5684 (name "shotwell")
bcea20cc 5685 (version "0.30.8")
fed5a689
RW
5686 (source (origin
5687 (method url-fetch)
5497d682 5688 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5689 (version-major+minor version) "/"
5497d682 5690 "shotwell-" version ".tar.xz"))
fed5a689
RW
5691 (sha256
5692 (base32
bcea20cc 5693 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5694 (build-system meson-build-system)
5695 (arguments
5a0beca3
EF
5696 '(#:glib-or-gtk? #t
5697 #:phases
5698 (modify-phases %standard-phases
5699 (add-after 'unpack 'skip-gtk-update-icon-cache
5700 (lambda _
5701 (substitute* "build-aux/meson/postinstall.py"
5702 (("gtk-update-icon-cache") (which "true"))
5703 (("update-desktop-database") (which "true")))
5704 #t)))))
735b8db6
TGR
5705 (propagated-inputs
5706 `(("dconf" ,dconf)))
fed5a689 5707 (native-inputs
5a0beca3
EF
5708 `(("gettext" ,gettext-minimal)
5709 ("glib:bin" ,glib "bin")
735b8db6 5710 ("itstool" ,itstool)
3b79afa6 5711 ("pkg-config" ,pkg-config)
735b8db6 5712 ("vala" ,vala)))
fed5a689 5713 (inputs
5a0beca3
EF
5714 `(("gcr" ,gcr)
5715 ("gexiv2" ,gexiv2)
fed5a689 5716 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5717 ("gstreamer" ,gstreamer)
5718 ("json-glib" ,json-glib)
dfb0323d 5719 ("libgdata" ,libgdata)
fed5a689 5720 ("libgee" ,libgee)
5a0beca3
EF
5721 ("libgphoto2" ,libgphoto2)
5722 ("libgudev" ,libgudev)
fed5a689 5723 ("libraw" ,libraw)
fed5a689
RW
5724 ("libsoup" ,libsoup)
5725 ("libxml2" ,libxml2)
5a0beca3
EF
5726 ("sqlite" ,sqlite)
5727 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5728 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5729 (synopsis "Photo manager for GNOME 3")
5730 (description
5731 "Shotwell is a digital photo manager designed for the GNOME desktop
5732environment. It allows you to import photos from disk or camera, organize
5733them by keywords and events, view them in full-window or fullscreen mode, and
5734share them with others via social networking and more.")
5735 (license license:lgpl2.1+)))
293ff8b2
DT
5736
5737(define-public file-roller
5738 (package
5739 (name "file-roller")
dcae4270 5740 (version "3.32.3")
293ff8b2
DT
5741 (source (origin
5742 (method url-fetch)
f89a27c6 5743 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5744 (version-major+minor version) "/"
f89a27c6 5745 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5746 (sha256
5747 (base32
dcae4270 5748 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5749 (build-system meson-build-system)
293ff8b2 5750 (native-inputs
0a500745
RW
5751 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5752 ("intltool" ,intltool)
4c96e5d1 5753 ("itstool" ,itstool)
0a500745
RW
5754 ("pkg-config" ,pkg-config)
5755 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5756 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5757 ;; TODO: Add libnautilus.
5758 (inputs
5759 `(("gtk+" ,gtk+)
5760 ("gdk-pixbuf" ,gdk-pixbuf)
5761 ("json-glib" ,json-glib)
5762 ("libarchive" ,libarchive)
5763 ("libnotify" ,libnotify)
4c96e5d1 5764 ("nettle" ,nettle)
293ff8b2
DT
5765 ("libxml2" ,libxml2)))
5766 (synopsis "Graphical archive manager for GNOME")
5767 (description "File Roller is an archive manager for the GNOME desktop
5768environment that allows users to view, unpack, and create compressed archives
5769such as gzip tarballs.")
5770 (home-page "http://fileroller.sourceforge.net/")
5771 (license license:gpl2+)))
7ce49365
SB
5772
5773(define-public gnome-session
5774 (package
5775 (name "gnome-session")
1fc2ec79 5776 (version "3.32.0")
7ce49365
SB
5777 (source (origin
5778 (method url-fetch)
5779 (uri (string-append "mirror://gnome/sources/" name "/"
5780 (version-major+minor version) "/"
5781 name "-" version ".tar.xz"))
5782 (sha256
5783 (base32
1fc2ec79 5784 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5785 (arguments
df278071
RW
5786 '(#:glib-or-gtk? #t
5787 #:phases
2914af3c
AW
5788 (modify-phases %standard-phases
5789 (add-before 'configure 'pre-configure
5790 (lambda* (#:key outputs #:allow-other-keys)
5791 ;; Use elogind instead of systemd.
df278071
RW
5792 (substitute* "meson.build"
5793 (("libsystemd-login") "libelogind")
5794 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5795 (substitute* "gnome-session/gsm-systemd.c"
5796 (("#include <systemd/sd-login.h>")
5797 "#include <elogind/sd-login.h>"))
df278071 5798 ;; Remove uses of the systemd daemon.
803ab416
SB
5799 (substitute* "gnome-session/gsm-autostart-app.c"
5800 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5801 #t))
5802 (add-after 'install 'wrap-gnome-session
5803 (lambda* (#:key inputs outputs #:allow-other-keys)
5804 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5805 (let ((glib (assoc-ref inputs "glib:bin"))
5806 (out (assoc-ref outputs "out")))
5807 (wrap-program (string-append out "/bin/gnome-session")
5808 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5809 #t))))
6cbc8d57 5810
2914af3c 5811 #:configure-flags
df278071
RW
5812 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5813 "-Dman=false" ; FIXME: disabled because of docbook validation error
5814 "-Dsystemd_journal=false")))
5815 (build-system meson-build-system)
7ce49365
SB
5816 (native-inputs
5817 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5818 ("pkg-config" ,pkg-config)
5819 ("intltool" ,intltool)
df278071
RW
5820 ("xsltproc" ,libxslt)
5821 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5822 ("docbook-xsl" ,docbook-xsl)
5823 ("docbook-xml" ,docbook-xml)
5824 ("xmlto" ,xmlto)))
7ce49365 5825 (inputs
2914af3c
AW
5826 `(("elogind" ,elogind)
5827 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5828 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5829 ("gtk+" ,gtk+)
5830 ("json-glib" ,json-glib)
5831 ("libsm" ,libsm)
5832 ("libxcomposite" ,libxcomposite)
5833 ("libxtst" ,libxtst)
5834 ("mesa" ,mesa)
5835 ("upower" ,upower)
5836 ("xtrans" ,xtrans)))
5837 (synopsis "Session manager for GNOME")
5838 (description
5839 "This package contains the GNOME session manager, as well as a
5840configuration program to choose applications starting on login.")
5841 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5842 (license license:gpl2+)))
f47ba77e
SB
5843
5844(define-public gjs
5845 (package
5846 (name "gjs")
d054fbf5 5847 (version "1.56.2")
f47ba77e
SB
5848 (source (origin
5849 (method url-fetch)
5850 (uri (string-append "mirror://gnome/sources/" name "/"
5851 (version-major+minor version) "/"
5852 name "-" version ".tar.xz"))
5853 (sha256
5854 (base32
d054fbf5 5855 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5856 (build-system gnu-build-system)
5857 (arguments
5858 '(#:phases
5859 (modify-phases %standard-phases
5860 (add-before
5861 'check 'pre-check
5862 (lambda _
fc119619
MW
5863 ;; The test suite requires a running X server.
5864 (system "Xvfb :1 &")
5865 (setenv "DISPLAY" ":1")
5866
f47ba77e
SB
5867 ;; For the missing /etc/machine-id.
5868 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5869
144f94d0
KK
5870 ;; Our mozjs-38 package does not compile the required Intl API
5871 ;; support for these failing tests.
5872 (substitute* "installed-tests/js/testLocale.js"
5873 ((".*toBeDefined.*") "")
5874 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5875 (substitute* "installed-tests/scripts/testCommandLine.sh"
5876 (("Valentín") "")
5877 (("☭") ""))
f47ba77e
SB
5878 #t)))))
5879 (native-inputs
8a831c6f 5880 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5881 ("pkg-config" ,pkg-config)
5882 ("xmllint" ,libxml2)
5883 ;; For testing
5884 ("dbus-launch" ,dbus)
5885 ("uuidgen" ,util-linux)
ebebee94 5886 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5887 (propagated-inputs
5888 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5889 `(("cairo" ,cairo)
5890 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5891 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5892 (inputs
5893 `(("gtk+" ,gtk+)
5894 ("readline" ,readline)))
5895 (synopsis "Javascript bindings for GNOME")
f032d0be 5896 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5897 (description
5898 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5899javascript engine and the GObject introspection framework.")
5900 (license license:gpl2+)))
329d731b
DH
5901
5902(define-public gedit
5903 (package
5904 (name "gedit")
480c9226 5905 (version "3.32.2")
329d731b
DH
5906 (source (origin
5907 (method url-fetch)
5908 (uri (string-append "mirror://gnome/sources/" name "/"
5909 (version-major+minor version) "/"
5910 name "-" version ".tar.xz"))
5911 (sha256
5912 (base32
480c9226
KK
5913 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5914 (build-system meson-build-system)
329d731b 5915 (arguments
480c9226
KK
5916 `(#:glib-or-gtk? #t
5917 #:configure-flags
5918 ;; Otherwise, the RUNPATH will lack the final path component.
5919 (list (string-append "-Dc_link_args=-Wl,-rpath="
5920 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5921
5922 ;; XXX: Generated .h files are sometimes used before being built.
5923 #:parallel-build? #f
5924
480c9226 5925 #:phases
329d731b 5926 (modify-phases %standard-phases
480c9226
KK
5927 (add-after 'unpack 'skip-gtk-update-icon-cache
5928 ;; Don't create 'icon-theme.cache'.
5929 (lambda _
5930 (substitute* "build-aux/meson/post_install.py"
5931 (("gtk-update-icon-cache") (which "true")))
5932 #t))
5933 (add-after 'unpack 'patch-libgd-fetch
5934 (lambda* (#:key inputs #:allow-other-keys)
5935 (let ((libgd (assoc-ref inputs "libgd")))
5936 ;; Calling git is unnecessary because libgd is fetched as a
5937 ;; native input to this package.
5938 (substitute* "meson.build"
5939 ((".*git.*") ""))
5940 (copy-recursively libgd "subprojects/libgd")
5941 #t)))
5942 (add-after 'install 'wrap-gedit
5943 (lambda* (#:key inputs outputs #:allow-other-keys)
5944 (let ((out (assoc-ref outputs "out"))
5945 (gtksourceview (assoc-ref inputs "gtksourceview"))
5946 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5947 (python-path (getenv "PYTHONPATH")))
5948 (wrap-program (string-append out "/bin/gedit")
5949 ;; For plugins.
5950 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5951 `("PYTHONPATH" ":" prefix (,python-path))
5952 ;; For language-specs.
5953 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5954 "/share")))))
5955 #t)))))
329d731b
DH
5956 (propagated-inputs
5957 `(("dconf" ,dconf)))
5958 (native-inputs
480c9226
KK
5959 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5960 ("intltool" ,intltool)
b3546174 5961 ("itstool" ,itstool)
480c9226 5962 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5963 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5964 ("libgd"
5965 ,(origin
5966 (method git-fetch)
5967 (uri (git-reference
5968 (url "https://gitlab.gnome.org/GNOME/libgd")
5969 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5970 (file-name (git-file-name "libgd" version))
5971 (sha256
5972 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5973 ("pkg-config" ,pkg-config)))
5974 (inputs
5975 `(("glib" ,glib)
0d2df50c 5976 ("gspell" ,gspell)
329d731b 5977 ("gtk+" ,gtk+)
480c9226 5978 ("gtksourceview" ,gtksourceview)
329d731b
DH
5979 ("libpeas" ,libpeas)
5980 ("libxml2" ,libxml2)
329d731b
DH
5981 ("iso-codes" ,iso-codes)
5982 ("python-pygobject" ,python-pygobject)
5983 ("python" ,python)
5984 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5985 ("libx11" ,libx11)
5986 ("vala" ,vala)
5987 ("adwaita-icon-theme" ,adwaita-icon-theme)
5988 ("libsoup" ,libsoup)
5989 ("gnome-desktop" ,gnome-desktop)))
5990 (home-page "https://wiki.gnome.org/Apps/Gedit")
5991 (synopsis "GNOME text editor")
5992 (description "While aiming at simplicity and ease of use, gedit is a
5993powerful general purpose text editor.")
5994 (license license:gpl2+)))
b7179363
SB
5995
5996(define-public zenity
5997 (package
5998 (name "zenity")
4f581bd0 5999 (version "3.32.0")
b7179363
SB
6000 (source (origin
6001 (method url-fetch)
5958df04 6002 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6003 (version-major+minor version) "/"
5958df04 6004 "zenity-" version ".tar.xz"))
b7179363
SB
6005 (sha256
6006 (base32
4f581bd0 6007 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6008 (build-system gnu-build-system)
6009 (native-inputs
b94a6ca0 6010 `(("gettext" ,gettext-minimal)
b7179363
SB
6011 ("itstool" ,itstool)
6012 ("pkg-config" ,pkg-config)))
6013 (inputs
6014 `(("libnotify" ,libnotify)
6015 ("webkitgtk" ,webkitgtk)))
6016 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6017 (home-page "https://www.gnome.org")
b7179363
SB
6018 (description
6019 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6020to display dialog boxes from the commandline and shell scripts.")
6021 (license license:lgpl2.0+)))
60c3627c
SB
6022
6023(define-public mutter
6024 (package
6025 (name "mutter")
edf43f68 6026 (version "3.32.2")
60c3627c 6027 (source (origin
86c44e72
KK
6028 (method url-fetch)
6029 (uri (string-append "mirror://gnome/sources/" name "/"
6030 (version-major+minor version) "/"
6031 name "-" version ".tar.xz"))
60c3627c
SB
6032 (sha256
6033 (base32
edf43f68 6034 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
6035 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6036 ;; versions of cogl and clutter. As a result, many of the inputs,
6037 ;; propagated-inputs, and configure flags used in cogl and clutter are
6038 ;; needed here as well.
edf43f68 6039 (build-system meson-build-system)
60c3627c 6040 (arguments
edf43f68
KK
6041 '(;; XXX: All mutter tests fail with the following error:
6042 ;; Settings schema 'org.gnome.mutter' is not installed
6043 #:tests? #f
6044 #:glib-or-gtk? #t
6045 #:configure-flags
6046 ;; Otherwise, the RUNPATH will lack the final path component.
6047 (list (string-append "-Dc_link_args=-Wl,-rpath="
6048 (assoc-ref %outputs "out") "/lib:"
6049 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
6050
6051 ;; The following flags are needed for the bundled clutter
edf43f68 6052 (string-append "-Dxwayland_path="
d633f2f6
RH
6053 (assoc-ref %build-inputs "xorg-server-xwayland")
6054 "/bin/Xwayland")
6055
a88d5a0c 6056 ;; the remaining flags are needed for the bundled cogl
edf43f68 6057 (string-append "-Dopengl_libname="
a88d5a0c 6058 (assoc-ref %build-inputs "mesa")
f23052a6
DC
6059 "/lib/libGL.so"))
6060 #:phases
6061 (modify-phases %standard-phases
edf43f68
KK
6062 (add-after 'unpack 'disable-werror
6063 (lambda _
6064 ;; XXX: build fails with [-Werror]:
6065 ;; backends/meta-cursor-renderer.c:112:5: error:
6066 ;; implicit declaration of function ?roundf?
6067 (substitute* "meson.build"
6068 (("'-Werror=.*',") ""))
6069 #t))
86c44e72
KK
6070 ;; Replace references to systemd libraries to elogind references.
6071 (add-before 'configure 'use-elogind
6072 (lambda _
edf43f68 6073 (substitute* (list "meson.build"
86c44e72
KK
6074 "src/backends/native/meta-launcher.c"
6075 "src/core/main.c")
6076 (("systemd") "elogind"))
6077 #t)))))
60c3627c
SB
6078 (native-inputs
6079 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6080 ("gobject-introspection" ,gobject-introspection)
6081 ("intltool" ,intltool)
f23052a6 6082 ("pkg-config" ,pkg-config)
edf43f68 6083 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6084 ;; For git build
6085 ("autoconf" ,autoconf)
6086 ("automake" ,automake)
6087 ("libtool" ,libtool)))
60c3627c 6088 (propagated-inputs
a88d5a0c
MW
6089 `(;; libmutter.pc refers to these:
6090 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6091 ("gtk+" ,gtk+)
6092 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6093 ("atk" ,atk)
6094 ("cairo" ,cairo)
6095 ("gdk-pixbuf" ,gdk-pixbuf)
6096 ("glib" ,glib)
a88d5a0c
MW
6097 ("json-glib" ,json-glib)
6098 ("libinput" ,libinput)
6099 ("libx11" ,libx11)
6100 ("libxcomposite" ,libxcomposite)
6101 ("libxdamage" ,libxdamage)
6102 ("libxext" ,libxext)
6103 ("libxfixes" ,libxfixes)
6104 ("libxkbcommon" ,libxkbcommon)
6105 ("libxrandr" ,libxrandr)
6106 ("mesa" ,mesa)
6107 ("pango" ,pango)
6108 ("udev" ,eudev)
a88d5a0c 6109 ("xinput" ,xinput)))
60c3627c 6110 (inputs
86c44e72
KK
6111 `(("elogind" ,elogind)
6112 ("gnome-desktop" ,gnome-desktop)
edf43f68 6113 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6114 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6115 ("libgudev" ,libgudev)
60c3627c
SB
6116 ("libice" ,libice)
6117 ("libsm" ,libsm)
edf43f68 6118 ("libwacom" ,libwacom)
60c3627c 6119 ("libxkbfile" ,libxkbfile)
a88d5a0c 6120 ("libxrandr" ,libxrandr)
86c44e72 6121 ("libxtst" ,libxtst)
edf43f68 6122 ("pipewire" ,pipewire)
60c3627c
SB
6123 ("startup-notification" ,startup-notification)
6124 ("upower-glib" ,upower)
6125 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6126 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6127 ("zenity" ,zenity)))
6128 (synopsis "Window and compositing manager")
f032d0be 6129 (home-page "https://www.gnome.org")
60c3627c
SB
6130 (description
6131 "Mutter is a window and compositing manager that displays and manages your
6132desktop via OpenGL. Mutter combines a sophisticated display engine using the
6133Clutter toolkit with solid window-management logic inherited from the Metacity
6134window manager.")
86c44e72 6135 (license license:gpl2+)))
685cee87
SB
6136
6137(define-public gnome-online-accounts
6138 (package
6139 (name "gnome-online-accounts")
dd233e4d 6140 (version "3.36.0")
685cee87
SB
6141 (source (origin
6142 (method url-fetch)
6143 (uri (string-append "mirror://gnome/sources/" name "/"
6144 (version-major+minor version) "/"
6145 name "-" version ".tar.xz"))
6146 (sha256
6147 (base32
dd233e4d 6148 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 6149 (outputs '("out" "lib"))
685cee87 6150 (build-system glib-or-gtk-build-system)
14c297fd
TS
6151 (arguments
6152 `(#:configure-flags
6153 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6154 #:phases
6155 (modify-phases %standard-phases
6156 (add-before 'configure 'patch-libgoa-output
6157 (lambda* (#:key outputs #:allow-other-keys)
6158 (let ((lib (assoc-ref outputs "lib")))
6159 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6160 (("@prefix@") lib)
6161 (("@exec_prefix@") lib)
6162 (("@libdir@") (string-append lib "/lib"))
6163 (("@includedir@") (string-append lib "/include"))
6164 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6165 ;; Make sure gobject-introspection knows about the output
6166 ;; too (see <https://bugs.gnu.org/36535>).
6167 (setenv "outputs" "out lib")
14c297fd 6168 #t))))))
685cee87
SB
6169 (native-inputs
6170 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6171 ("gobject-introspection" ,gobject-introspection)
6172 ("intltool" ,intltool)
6173 ("pkg-config" ,pkg-config)
ebb2873d 6174 ("vala" ,vala)
685cee87
SB
6175 ("xsltproc" ,libxslt)))
6176 (propagated-inputs
6177 `(("glib" ,glib) ; required by goa-1.0.pc
6178 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6179 (inputs
6180 `(("docbook-xsl" ,docbook-xsl)
6181 ("json-glib" ,json-glib)
6182 ("libsecret" ,libsecret)
6183 ("rest" ,rest)
685cee87
SB
6184 ("webkitgtk" ,webkitgtk)))
6185 (synopsis "Single sign-on framework for GNOME")
6186 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6187 (description
6188 "GNOME Online Accounts provides interfaces so that applications and
6189libraries in GNOME can access the user's online accounts. It has providers for
6190Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6191Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6192 (license license:lgpl2.0+)))
df217748
SB
6193
6194(define-public evolution-data-server
6195 (package
6196 (name "evolution-data-server")
2196a8d4 6197 (version "3.32.4")
df217748
SB
6198 (source (origin
6199 (method url-fetch)
6200 (uri (string-append "mirror://gnome/sources/" name "/"
6201 (version-major+minor version) "/"
6202 name "-" version ".tar.xz"))
43190ac6
MB
6203 (patches (search-patches "evolution-data-server-locales.patch"
6204 "evolution-data-server-libical-compat.patch"))
df217748
SB
6205 (sha256
6206 (base32
2196a8d4 6207 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 6208 (build-system cmake-build-system)
df217748 6209 (arguments
b468eedc
RW
6210 '(#:configure-flags
6211 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6212 (runpaths (map (lambda (s)
6213 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6214 '("addressbook-backends" "calendar-backends"
6215 "camel-providers" "credential-modules"
6216 "registry-modules"))))
6217 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6218 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6219 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6220 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6221 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6222 (string-append lib "/evolution-data-server;")
6223 (string-join runpaths ";"))
6224 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6225 #:phases
6226 (modify-phases %standard-phases
b468eedc
RW
6227 (add-after 'unpack 'disable-failing-tests
6228 (lambda _
6229 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6230 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6231 (delete-file-recursively "tests/book-migration")
6232 (substitute* "tests/CMakeLists.txt"
6233 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
6234 ;; tests/libebook/client/test-book-client-view-operations:8077):
6235 ;; e-data-server-WARNING **:
6236 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
6237 ;; runtime check failed:
6238 ;; (!g_main_context_pending (closure->main_context))
6239 (substitute* "tests/libebook/client/CMakeLists.txt"
6240 (("test-book-client-view-operations") ""))
b468eedc 6241 #t))
743aebd7 6242 (add-after 'unpack 'patch-paths
df217748 6243 (lambda _
b468eedc
RW
6244 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6245 "tests/libedata-book/data-test-utils.c"
6246 "tests/libedata-book/test-book-cache-utils.c"
6247 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6248 (("/bin/rm") (which "rm")))
ac033c7b
MB
6249 #t))
6250 (add-before 'configure 'dont-override-rpath
6251 (lambda _
6252 (substitute* "CMakeLists.txt"
6253 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6254 ;; Remove it so the configure flag is respected.
6255 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6256 #t)))))
df217748
SB
6257 (native-inputs
6258 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6259 ("gobject-introspection" ,gobject-introspection)
6260 ("gperf" ,gperf)
6261 ("intltool" ,intltool)
6262 ("pkg-config" ,pkg-config)
a73c1cf8 6263 ("vala" ,vala)
743aebd7 6264 ("python" ,python-wrapper)))
df217748
SB
6265 (propagated-inputs
6266 ;; These are all in the Requires field of .pc files.
6267 `(("gtk+" ,gtk+)
6268 ("libical" ,libical)
6269 ("libsecret" ,libsecret)
6270 ("libsoup" ,libsoup)
6271 ("nss" ,nss)
6272 ("sqlite" ,sqlite)))
6273 (inputs
6274 `(("bdb" ,bdb)
6275 ("gcr" ,gcr)
14c297fd 6276 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6277 ("json-glib" ,json-glib)
b468eedc 6278 ("libcanberra" ,libcanberra)
743aebd7
MB
6279 ("libgweather" ,libgweather)
6280 ("mit-krb5" ,mit-krb5)
891199c6
MW
6281 ("openldap" ,openldap)
6282 ("webkitgtk" ,webkitgtk)))
df217748
SB
6283 (synopsis "Store address books and calendars")
6284 (home-page "https://wiki.gnome.org/Apps/Evolution")
6285 (description
6286 "This package provides a unified backend for programs that work with
6287contacts, tasks, and calendar information. It was originally developed for
6288Evolution (hence the name), but is now used by other packages as well.")
6289 (license license:lgpl2.0)))
bd7dfafa
SB
6290
6291(define-public caribou
6292 (package
6293 (name "caribou")
fe964bb5 6294 (version "0.4.21")
bd7dfafa
SB
6295 (source (origin
6296 (method url-fetch)
6297 (uri (string-append "mirror://gnome/sources/" name "/"
6298 (version-major+minor version) "/"
6299 name "-" version ".tar.xz"))
6300 (sha256
6301 (base32
fe964bb5 6302 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6303 (build-system glib-or-gtk-build-system)
6304 (arguments
6305 '(#:phases
6306 (modify-phases %standard-phases
6307 (add-before
6308 'build 'pre-build
6309 (lambda* (#:key outputs #:allow-other-keys)
6310 (let ((out (assoc-ref outputs "out")))
6311 ;; Use absolute shared library path in Caribou-1.0.typelib.
6312 (substitute* "libcaribou/Makefile"
6313 (("--shared-library=libcaribou.so")
6314 (string-append "--shared-library="
6315 out "/lib/libcaribou.so")))
6316 #t)))
6317 (add-after 'install 'wrap-programs
6318 (lambda* (#:key outputs #:allow-other-keys)
6319 (let* ((out (assoc-ref outputs "out"))
6320 (python-path (getenv "PYTHONPATH"))
6321 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6322 (for-each
6323 (lambda (prog)
6324 (wrap-program prog
6325 `("PYTHONPATH" ":" prefix (,python-path))
6326 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6327 (list (string-append out "/bin/caribou-preferences")
6328 (string-append out "/libexec/antler-keyboard"))))
6329 #t)))))
6330 (native-inputs
6331 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6332 ("gobject-introspection" ,gobject-introspection)
6333 ("intltool" ,intltool)
6334 ("pkg-config" ,pkg-config)
9f7f5ba2 6335 ("python" ,python)
bd7dfafa
SB
6336 ("vala" ,vala)
6337 ("xsltproc" ,libxslt)))
6338 (propagated-inputs
6339 ;; caribou-1.0.pc refers to all these.
6340 `(("libgee" ,libgee)
6341 ("libxklavier" ,libxklavier)
6342 ("libxtst" ,libxtst)
6343 ("gtk+" ,gtk+)))
6344 (inputs
6345 `(("clutter" ,clutter)
6346 ("dconf" ,dconf)
6347 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6348 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6349 (synopsis "Text entry and UI navigation application")
6350 (home-page "https://wiki.gnome.org/Projects/Caribou")
6351 (description
6352 "Caribou is an input assistive technology intended for switch and pointer
6353users.")
6354 (license license:lgpl2.1)))
ba5dd105 6355
ba5dd105
SB
6356(define-public network-manager
6357 (package
6358 (name "network-manager")
6425d87a 6359 (version "1.18.4")
ba5dd105
SB
6360 (source (origin
6361 (method url-fetch)
6362 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6363 (version-major+minor version) "/"
6364 "NetworkManager-" version ".tar.xz"))
7d1861e2 6365 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6366 (sha256
6367 (base32
6425d87a 6368 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6369 (modules '((guix build utils)))
fd070f35 6370 (snippet
02710a9b
RW
6371 '(begin
6372 (substitute* "src/devices/wwan/nm-modem-manager.c"
6373 (("systemd") "elogind"))
6374 #t))))
ba5dd105
SB
6375 (build-system gnu-build-system)
6376 (outputs '("out"
6377 "doc")) ; 8 MiB of gtk-doc HTML
6378 (arguments
6379 '(#:configure-flags
6380 (let ((out (assoc-ref %outputs "out"))
6381 (doc (assoc-ref %outputs "doc"))
6382 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6383 "/sbin/dhclient")))
02710a9b
RW
6384 (list "--with-libnm-glib" ; needed by network-manager-applet
6385 "--with-systemd-journal=no"
6386 "--with-session-tracking=elogind"
6387 "--with-suspend-resume=elogind"
fd070f35
CM
6388 "--with-consolekit=no"
6389 "--with-crypto=gnutls"
ba5dd105
SB
6390 "--disable-config-plugin-ibft"
6391 "--sysconfdir=/etc"
6392 "--localstatedir=/var"
6393 (string-append "--with-udev-dir="
6394 out "/lib/udev")
6395 (string-append "--with-dbus-sys-dir="
6396 out "/etc/dbus-1/system.d")
6397 (string-append "--with-html-dir="
6398 doc "/share/gtk-doc/html")
6399 (string-append "--with-dhclient=" dhclient)))
6400 #:phases
6401 (modify-phases %standard-phases
02710a9b
RW
6402 ;; This bare "ls" invocation breaks some tests.
6403 (add-after 'unpack 'patch-ls-invocation
6404 (lambda _
6405 (substitute* "build-aux/ltmain.sh"
6406 (("`ls -")
6407 (string-append "`" (which "ls") " -")))
6408 #t))
b4f59d87
AW
6409 (add-before 'configure 'pre-configure
6410 (lambda _
6411 ;; These tests try to test aspects of network-manager's
6412 ;; functionality within restricted containers, but they don't
6413 ;; cope with being already in the Guix build jail as that jail
6414 ;; lacks some features that they would like to proxy over (like
6415 ;; a /sys mount).
d04687dc
HG
6416 (substitute* '("Makefile.in")
6417 (("src/platform/tests/test-address-linux") " ")
6418 (("src/platform/tests/test-cleanup-linux") " ")
6419 (("src/platform/tests/test-link-linux") " ")
6420 (("src/platform/tests/test-route-linux") " ")
02710a9b 6421 (("src/devices/tests/test-acd") "")
d04687dc
HG
6422 (("src/devices/tests/test-arping") " ")
6423 (("src/devices/tests/test-lldp") " ")
6424 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6425 #t))
45f80fce
RW
6426 (add-after 'unpack 'delete-failing-tests
6427 (lambda _
02710a9b 6428 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6429 ;; ERROR:libnm-core/tests/test-general.c:5842:
6430 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6431 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6432 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6433 ;; ERROR:libnm-core/tests/test-setting.c:907:
6434 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6435 (substitute* "Makefile.in"
6436 (("libnm-core/tests/test-general") " ")
6437 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6438 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6439 #t))
ba5dd105
SB
6440 (add-before 'check 'pre-check
6441 (lambda _
6442 ;; For the missing /etc/machine-id.
6443 (setenv "DBUS_FATAL_WARNINGS" "0")
6444 #t))
6445 (replace 'install
6446 (lambda _
45f80fce
RW
6447 (invoke "make"
6448 "sysconfdir=/tmp"
6449 "rundir=/tmp"
6450 "statedir=/tmp"
6451 "nmstatedir=/tmp/nm"
6452 "install")
6453 #t)))))
b93502d6
DC
6454 (propagated-inputs
6455 `(("glib" ,glib)))
ba5dd105
SB
6456 (native-inputs
6457 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6458 ("gobject-introspection" ,gobject-introspection)
d04687dc 6459 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6460 ("intltool" ,intltool)
d04687dc
HG
6461 ("libxslt" ,libxslt)
6462 ("libxml2" ,libxml2)
ba5dd105
SB
6463 ("pkg-config" ,pkg-config)
6464 ;; For testing.
6465 ("python" ,python-wrapper)
6466 ("python-dbus" ,python-dbus)
6467 ("python-pygobject" ,python-pygobject)))
6468 (inputs
02710a9b
RW
6469 `(("coreutils" ,coreutils) ; for ls
6470 ("curl" ,curl)
856ca567
KK
6471 ("cyrus-sasl" ,cyrus-sasl)
6472 ("dbus-glib" ,dbus-glib)
ba5dd105 6473 ("dnsmasq" ,dnsmasq)
856ca567 6474 ("eudev" ,eudev)
ba5dd105
SB
6475 ("gnutls" ,gnutls)
6476 ("iptables" ,iptables)
6477 ("isc-dhcp" ,isc-dhcp)
d04687dc 6478 ("jansson" ,jansson)
ba5dd105
SB
6479 ("libgcrypt" ,libgcrypt)
6480 ("libgudev" ,libgudev)
6481 ("libndp" ,libndp)
6482 ("libnl" ,libnl)
6483 ("libsoup" ,libsoup)
142bdcbc 6484 ("modem-manager" ,modem-manager)
c27e02bf 6485 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6486 ("polkit" ,polkit)
6487 ("ppp" ,ppp)
6488 ("readline" ,readline)
fd070f35
CM
6489 ("util-linux" ,util-linux)
6490 ("elogind" ,elogind)))
ba5dd105 6491 (synopsis "Network connection manager")
f032d0be 6492 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6493 (description
6494 "NetworkManager is a system network service that manages your network
6495devices and connections, attempting to keep active network connectivity when
6496available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6497devices, and provides VPN integration with a variety of different VPN
6498services.")
29d2f451
LC
6499 (license license:gpl2+)
6500 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6501
f2b96b3a
LC
6502(define-public network-manager-openvpn
6503 (package
6504 (name "network-manager-openvpn")
be1c4b07 6505 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6506 (version "1.8.10")
f2b96b3a
LC
6507 (source (origin
6508 (method url-fetch)
6509 (uri (string-append
6510 "mirror://gnome/sources/NetworkManager-openvpn/"
6511 (version-major+minor version)
6512 "/NetworkManager-openvpn-" version ".tar.xz"))
6513 (sha256
6514 (base32
7d87eede 6515 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6516 (build-system gnu-build-system)
6517 (arguments
633422b0
JL
6518 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6519 #:phases
6520 (modify-phases %standard-phases
6521 (add-after 'configure 'patch-path
6522 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6523 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6524 "/sbin/openvpn"))
6525 (modprobe (string-append (assoc-ref inputs "kmod")
6526 "/bin/modprobe"))
6527 (pretty-ovpn (string-append "\"" ovpn "\"")))
6528 (for-each
6529 (lambda (file)
6530 (substitute* file
6531 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6532 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6533 (("\"/sbin/openvpn\"") pretty-ovpn)
6534 (("/sbin/modprobe") modprobe)))
6535 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6536 #t)))))
f2b96b3a
LC
6537 (native-inputs
6538 `(("pkg-config" ,pkg-config)
6539 ("intltool" ,intltool)))
6540 (inputs
6541 `(("gtk+" ,gtk+)
633422b0 6542 ("kmod" ,kmod)
f2b96b3a
LC
6543 ("openvpn" ,openvpn)
6544 ("network-manager" ,network-manager)
6545 ("network-manager-applet" ,network-manager-applet) ;for libnma
6546 ("libsecret" ,libsecret)))
6547 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6548 (synopsis "OpenVPN plug-in for NetworkManager")
6549 (description
6550 "This extension of NetworkManager allows it to take care of connections
6551to virtual private networks (VPNs) via OpenVPN.")
6552 (license license:gpl2+)
6553 (properties `((upstream-name . "NetworkManager-openvpn")))))
6554
d376129f
JL
6555(define-public network-manager-vpnc
6556 (package
6557 (name "network-manager-vpnc")
6558 (version "1.2.6")
6559 (source (origin
6560 (method url-fetch)
6561 (uri (string-append
6562 "mirror://gnome/sources/NetworkManager-vpnc/"
6563 (version-major+minor version)
6564 "/NetworkManager-vpnc-" version ".tar.xz"))
6565 (sha256
6566 (base32
6567 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6568 (build-system gnu-build-system)
6569 (arguments
6570 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6571 #:phases
6572 (modify-phases %standard-phases
6573 (add-after 'configure 'patch-path
6574 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6575 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6576 "/sbin/vpnc"))
6577 (modprobe (string-append (assoc-ref inputs "kmod")
6578 "/bin/modprobe"))
6579 (pretty-ovpn (string-append "\"" vpnc "\"")))
6580 (substitute* "src/nm-vpnc-service.c"
6581 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6582 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6583 (("\"/sbin/vpnc\"") pretty-ovpn)
6584 (("/sbin/modprobe") modprobe)))
6585 #t)))))
6586 (native-inputs
6587 `(("pkg-config" ,pkg-config)
6588 ("intltool" ,intltool)))
6589 (inputs
6590 `(("gtk+" ,gtk+)
6591 ("kmod" ,kmod)
6592 ("vpnc" ,vpnc)
6593 ("network-manager" ,network-manager)
6594 ("network-manager-applet" ,network-manager-applet) ;for libnma
6595 ("libsecret" ,libsecret)))
6596 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6597 (synopsis "VPNC plug-in for NetworkManager")
6598 (description
6599 "Support for configuring virtual private networks based on VPNC.
6600Compatible with Cisco VPN concentrators configured to use IPsec.")
6601 (license license:gpl2+)
6602 (properties `((upstream-name . "NetworkManager-vpnc")))))
6603
8378c87a
EF
6604(define-public network-manager-openconnect
6605 (package
6606 (name "network-manager-openconnect")
6607 (version "1.2.6")
6608 (source (origin
6609 (method url-fetch)
6610 (uri (string-append
6611 "mirror://gnome/sources/NetworkManager-openconnect/"
6612 (version-major+minor version)
6613 "/NetworkManager-openconnect-" version ".tar.xz"))
6614 (sha256
6615 (base32
6616 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6617 (build-system gnu-build-system)
6618 (arguments
6619 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6620 #:phases
6621 (modify-phases %standard-phases
6622 (add-after 'configure 'patch-path
6623 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6624 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6625 "/sbin/openconnect"))
6626 (modprobe (string-append (assoc-ref inputs "kmod")
6627 "/bin/modprobe"))
6628 (pretty-ovpn (string-append "\"" openconnect "\"")))
6629 (substitute* "src/nm-openconnect-service.c"
6630 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6631 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6632 (("/sbin/modprobe") modprobe)))
6633 #t)))))
6634 (native-inputs
6635 `(("intltool" ,intltool)
6636 ("network-manager-applet" ,network-manager-applet) ;for libnma
6637 ("pkg-config" ,pkg-config)))
6638 (inputs
6639 `(("gcr" ,gcr)
6640 ("gtk+" ,gtk+)
6641 ("kmod" ,kmod)
6642 ("libsecret" ,libsecret)
6643 ("libxml2" ,libxml2)
6644 ("network-manager" ,network-manager)
6645 ("openconnect" ,openconnect)))
6646 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6647 (synopsis "OpenConnect plug-in for NetworkManager")
6648 (description
6649 "This extension of NetworkManager allows it to take care of connections
6650to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6651Cisco's AnyConnect SSL VPN.")
6652 (license license:gpl2+)
e52b9534
LC
6653 (properties `((upstream-name . "NetworkManager-openconnect")
6654
6655 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6656 ;; file refers to account "nm-openconnect". Specify it here
6657 ;; so that 'network-manager-service-type' creates it.
6658 (user-accounts . ("nm-openconnect"))))))
8378c87a 6659
e5e1df4d
DC
6660(define-public mobile-broadband-provider-info
6661 (package
6662 (name "mobile-broadband-provider-info")
310c89e3 6663 (version "20190116")
e5e1df4d
DC
6664 (source (origin
6665 (method url-fetch)
6666 (uri (string-append
6667 "mirror://gnome/sources/"
6668 "mobile-broadband-provider-info/" version "/"
6669 "mobile-broadband-provider-info-" version ".tar.xz"))
6670 (sha256
6671 (base32
310c89e3 6672 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6673 (build-system gnu-build-system)
6674 (arguments
310c89e3 6675 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6676 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6677 (synopsis "Database of broadband connection configuration")
6678 (description "Database of broadband connection configuration.")
6679 (license license:public-domain)))
6680
4d62a9d3
SB
6681(define-public network-manager-applet
6682 (package
6683 (name "network-manager-applet")
8fc3a337 6684 (version "1.8.24")
4d62a9d3
SB
6685 (source (origin
6686 (method url-fetch)
3df63444 6687 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6688 (version-major+minor version) "/"
3df63444 6689 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6690 (sha256
6691 (base32
8fc3a337 6692 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6693 (build-system meson-build-system)
6694 (arguments
be1c4b07
TGR
6695 '(#:configure-flags
6696 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6697 (list "-Dlibnm_gtk=true")
6698 #:glib-or-gtk? #t))
4d62a9d3
SB
6699 (native-inputs
6700 `(("intltool" ,intltool)
cd7f718e 6701 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6702 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6703 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6704 ("pkg-config" ,pkg-config)))
6705 (propagated-inputs
6706 ;; libnm-gtk.pc refers to all these.
6707 `(("dbus-glib" ,dbus-glib)
6708 ("gtk+" ,gtk+)
6709 ("network-manager" ,network-manager)))
6710 (inputs
cd7f718e
RW
6711 `(("gcr" ,gcr)
6712 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6713 ("libgudev" ,libgudev)
6714 ("libnotify" ,libnotify)
2116bfb3 6715 ("libsecret" ,libsecret)
240cee8a
KK
6716 ("libselinux" ,libselinux)
6717 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6718 ("modem-manager" ,modem-manager)
6719 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6720 (synopsis "Applet for managing network connections")
f032d0be 6721 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6722 (description
6723 "This package contains a systray applet for NetworkManager. It displays
6724the available networks and allows users to easily switch between them.")
6725 (license license:gpl2+)))
56196594
RW
6726
6727(define-public libxml++
6728 (package
6729 (name "libxml++")
8344a85e 6730 (version "3.0.1")
56196594
RW
6731 (source (origin
6732 (method url-fetch)
6733 (uri (string-append "mirror://gnome/sources/" name "/"
6734 (version-major+minor version) "/"
6735 name "-" version ".tar.xz"))
6736 (sha256
6737 (base32
8344a85e 6738 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6739 (build-system gnu-build-system)
6740 ;; libxml++-3.0.pc refers to all these.
6741 (propagated-inputs
6742 `(("libxml2" ,libxml2)
6743 ("glibmm" ,glibmm)))
6744 (native-inputs
6745 `(("perl" ,perl)
6746 ("pkg-config" ,pkg-config)))
6747 (home-page "http://libxmlplusplus.sourceforge.net/")
6748 (synopsis "C++ wrapper for XML parser library libxml2")
6749 (description
6750 "This package provides a C++ wrapper for the XML parser library
6751libxml2.")
6752 (license license:lgpl2.1+)))
df12f04a 6753
b61d9627
AW
6754(define-public libxml++-2
6755 (package
6756 (inherit libxml++)
6757 (name "libxml++")
6758 (version "2.40.1")
6759 (source (origin
6760 (method url-fetch)
6761 (uri (string-append "mirror://gnome/sources/" name "/"
6762 (version-major+minor version) "/"
6763 name "-" version ".tar.xz"))
6764 (sha256
6765 (base32
6766 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6767
df12f04a
SB
6768(define-public gdm
6769 (package
6770 (name "gdm")
bcca95dc 6771 (version "3.32.0")
df12f04a
SB
6772 (source (origin
6773 (method url-fetch)
6774 (uri (string-append "mirror://gnome/sources/" name "/"
6775 (version-major+minor version) "/"
6776 name "-" version ".tar.xz"))
6777 (sha256
6778 (base32
bcca95dc 6779 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6780 (build-system glib-or-gtk-build-system)
df12f04a
SB
6781 (arguments
6782 '(#:configure-flags
af37e6bb 6783 `("--without-plymouth"
957dbc0a 6784 "--disable-systemd-journal"
51bc8357
TS
6785
6786 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6787 ;; instead of having to replace it (i.e., stopping the mingetty
6788 ;; service for TTY 1 before starting GDM).
6789 "--with-initial-vt=7"
6790
89c86562
TS
6791 ;; Use '/etc/environment' for locale settings instead of the
6792 ;; systemd-specific '/etc/locale.conf'.
6793 "--with-lang-file=/etc/environment"
6794
b74ef0ba
RW
6795 ,(string-append "--with-udevdir="
6796 (assoc-ref %outputs "out") "/lib/udev")
6797
af37e6bb
AW
6798 "--localstatedir=/var"
6799 ,(string-append "--with-default-path="
6800 (string-join '("/run/setuid-programs"
6801 "/run/current-system/profile/bin"
6802 "/run/current-system/profile/sbin")
957dbc0a
AW
6803 ":"))
6804 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6805 ;; XDG_DATA_DIRS so that it finds its schemas.
6806 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6807 #:phases
6808 (modify-phases %standard-phases
6809 (add-before
6810 'configure 'pre-configure
e8c6e771 6811 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6812 ;; We don't have <systemd/sd-daemon.h>.
6813 (substitute* '("common/gdm-log.c"
6814 "daemon/gdm-server.c"
6815 "daemon/gdm-session-worker.c"
6816 "daemon/gdm-session-worker-job.c")
6817 (("#include <systemd/sd-daemon\\.h>") ""))
6818 ;; Use elogind for sd-login.
6819 (substitute* '("common/gdm-common.c"
6820 "daemon/gdm-manager.c"
6821 "libgdm/gdm-user-switching.c")
6822 (("#include <systemd/sd-login\\.h>")
6823 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6824 ;; Check for elogind.
6825 (substitute* '("configure")
6826 (("libsystemd")
6827 "libelogind"))
af37e6bb
AW
6828 ;; Look for system-installed sessions in
6829 ;; /run/current-system/profile/share.
6830 (substitute* '("libgdm/gdm-sessions.c"
6831 "daemon/gdm-session.c"
6832 "daemon/gdm-display.c"
6833 "daemon/gdm-launch-environment.c")
6834 (("DATADIR \"/x")
6835 "\"/run/current-system/profile/share/x")
6836 (("DATADIR \"/wayland")
6837 "\"/run/current-system/profile/share/wayland")
6838 (("DATADIR \"/gnome")
6839 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6840 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6841 "GDM_DBUS_DAEMON"
c9ff92b5 6842 "GDM_X_SERVER"
41fa9f18 6843 "GDM_X_SESSION"
c9ff92b5
TS
6844 ;; XXX: Remove this once GNOME Shell is
6845 ;; a dependency of GDM.
6846 "XDG_DATA_DIRS")))
6847 (substitute* "daemon/gdm-session.c"
6848 (("set_up_session_environment \\(self\\);")
6849 (apply string-append
6850 "set_up_session_environment (self);\n"
6851 (map (lambda (name)
6852 (string-append
6853 "gdm_session_set_environment_variable "
6854 "(self, \"" name "\","
6855 "g_getenv (\"" name "\"));\n"))
6856 propagate)))))
a430a350
TS
6857 ;; Find the configuration file using an environment variable.
6858 (substitute* '("common/gdm-settings.c")
e0e6756f 6859 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6860 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6861 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6862 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6863 ;; Use service-supplied path to X.
6864 (substitute* '("daemon/gdm-server.c")
6865 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6866 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6867 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6868 (("\"dbus-daemon\"")
6869 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6870 (("X_SERVER")
41fa9f18
TS
6871 "g_getenv (\"GDM_X_SERVER\")")
6872 (("GDMCONFDIR \"/Xsession\"")
6873 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6874 ;; Use an absolute path for GNOME Session.
6875 (substitute* "daemon/gdm-launch-environment.c"
6876 (("\"gnome-session\"")
6877 (string-append "\"" (assoc-ref inputs "gnome-session")
6878 "/bin/gnome-session\"")))
e8c6e771
TS
6879 ;; Do not automatically select the placeholder session.
6880 (substitute* "daemon/gdm-session.c"
6881 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6882 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6883 "(g_strcmp0(search_dirs[i], \""
6884 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6885 "\") == 0 && "
6886 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6887 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6888 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6889 #t))
8caa4589
TS
6890 ;; GDM requires that there be at least one desktop entry
6891 ;; file. This phase installs a hidden one that simply
6892 ;; fails. This enables users to use GDM with a
6893 ;; '~/.xsession' script with no other desktop entry files.
6894 ;; See <https://bugs.gnu.org/35068>.
6895 (add-after 'install 'install-placeholder-desktop-entry
6896 (lambda* (#:key inputs outputs #:allow-other-keys)
6897 (let* ((out (assoc-ref outputs "out"))
6898 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6899 (fail (string-append sessions "/fail.desktop")))
6900 (mkdir-p sessions)
6901 (with-output-to-file fail
6902 (lambda ()
6903 (for-each
6904 display
6905 '("[Desktop Entry]\n"
6906 "Encoding=UTF-8\n"
6907 "Type=Application\n"
6908 "Name=Fail\n"
6909 "Comment=This session fails immediately.\n"
6910 "NoDisplay=true\n"
6911 "Exec=false\n"))))
6912 #t)))
69544798
TS
6913 ;; GDM needs GNOME Session to run these applications. We link
6914 ;; their autostart files in `share/gdm/greeter/autostart'
6915 ;; because GDM explicitly tells GNOME Session to look there.
6916 ;;
6917 ;; XXX: GNOME Shell should be linked here too, but currently
6918 ;; GNOME Shell depends on GDM.
6919 (add-after 'install 'link-autostart-files
6920 (lambda* (#:key inputs outputs #:allow-other-keys)
6921 (let* ((out (assoc-ref outputs "out"))
6922 (autostart (string-append out "/share/gdm/"
6923 "greeter/autostart"))
6924 (settings (assoc-ref inputs "gnome-settings-daemon")))
6925 (mkdir-p autostart)
6926 (with-directory-excursion autostart
6927 (for-each (lambda (desktop)
6928 (symlink desktop (basename desktop)))
6929 (find-files (string-append settings "/etc/xdg"))))
6930 #t))))))
df12f04a
SB
6931 (native-inputs
6932 `(("dconf" ,dconf)
6933 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6934 ("gobject-introspection" ,gobject-introspection)
6935 ("intltool" ,intltool)
6936 ("itstool" ,itstool)
6937 ("pkg-config" ,pkg-config)
6938 ("xmllint" ,libxml2)))
6939 (inputs
6940 `(("accountsservice" ,accountsservice)
6941 ("check" ,check) ; for testing
6942 ("elogind" ,elogind)
def6d6b6 6943 ("gnome-session" ,gnome-session)
69544798 6944 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6945 ("gtk+" ,gtk+)
6946 ("iso-codes" ,iso-codes)
6947 ("libcanberra" ,libcanberra)
6948 ("linux-pam" ,linux-pam)))
6949 (synopsis "Display manager for GNOME")
f032d0be 6950 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6951 (description
6952 "GNOME Display Manager is a system service that is responsible for
6953providing graphical log-ins and managing local and remote displays.")
6954 (license license:gpl2+)))
8e1dd04f
SB
6955
6956(define-public libgtop
6957 (package
6958 (name "libgtop")
015fc036 6959 (version "2.40.0")
8e1dd04f
SB
6960 (source (origin
6961 (method url-fetch)
59487fc2 6962 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6963 (version-major+minor version) "/"
59487fc2 6964 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6965 (sha256
6966 (base32
015fc036 6967 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6968 (build-system gnu-build-system)
6969 (native-inputs
6970 `(("gobject-introspection" ,gobject-introspection)
6971 ("intltool" ,intltool)
6972 ("perl" ,perl)
6973 ("pkg-config" ,pkg-config)))
6974 (propagated-inputs
6975 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6976 (synopsis "Portable system access library")
6977 (home-page "https://www.gnome.org/")
6978 (description
6979 "LibGTop is a library to get system specific data such as CPU and memory
6980usage and information about running processes.")
6981 (license license:gpl2+)))
b96c4260
SB
6982
6983(define-public gnome-bluetooth
6984 (package
6985 (name "gnome-bluetooth")
723afae6 6986 (version "3.32.1")
b96c4260
SB
6987 (source (origin
6988 (method url-fetch)
6989 (uri (string-append "mirror://gnome/sources/" name "/"
6990 (version-major+minor version) "/"
6991 name "-" version ".tar.xz"))
6992 (sha256
6993 (base32
723afae6 6994 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6995 (build-system meson-build-system)
b96c4260
SB
6996 (native-inputs
6997 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6998 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6999 ("gobject-introspection" ,gobject-introspection)
7000 ("intltool" ,intltool)
7001 ("pkg-config" ,pkg-config)
7002 ("xmllint" ,libxml2)))
7003 (propagated-inputs
7004 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7005 `(("glib" ,glib)
7006 ("gtk+" ,gtk+)))
b96c4260 7007 (inputs
723afae6
KK
7008 `(("eudev" ,eudev)
7009 ("libcanberra" ,libcanberra)
b96c4260
SB
7010 ("libnotify" ,libnotify)))
7011 (synopsis "GNOME Bluetooth subsystem")
7012 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7013 (description
7014 "This package contains tools for managing and manipulating Bluetooth
7015devices using the GNOME desktop.")
7016 (license license:lgpl2.1+)))
b645146f
SB
7017
7018(define-public gnome-control-center
7019 (package
7020 (name "gnome-control-center")
a6938bac 7021 (version "3.32.2")
b645146f
SB
7022 (source (origin
7023 (method url-fetch)
7024 (uri (string-append "mirror://gnome/sources/" name "/"
7025 (version-major+minor version) "/"
7026 name "-" version ".tar.xz"))
7027 (sha256
7028 (base32
a6938bac 7029 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 7030 (build-system meson-build-system)
b645146f 7031 (arguments
59dac026
RW
7032 '(#:glib-or-gtk? #t
7033 #:configure-flags
64c70430
KK
7034 (list "-Dcheese=false"
7035 (string-append "-Dgnome_session_libexecdir="
7036 (assoc-ref %build-inputs "gnome-session")
7037 "/libexec"))
59dac026 7038 #:phases
b645146f
SB
7039 (modify-phases %standard-phases
7040 (add-before 'configure 'patch-paths
7041 (lambda* (#:key inputs #:allow-other-keys)
7042 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7043 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7044 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7045 (nm-applet (assoc-ref inputs "network-manager-applet"))
7046 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7047 (substitute* "panels/datetime/tz.h"
7048 (("/usr/share/zoneinfo/zone.tab")
7049 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7050 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7051 (("/usr/share/locale")
7052 (string-append libc "/share/locale")))
1df38cfc
LC
7053 (substitute* "panels/region/cc-region-panel.c"
7054 (("\"gkbd-keyboard-display")
7055 (string-append "\"" libgnomekbd
7056 "/bin/gkbd-keyboard-display")))
341225ac
LC
7057 (substitute* '("panels/network/net-device-wifi.c"
7058 "panels/network/net-device.c"
7059 "panels/network/connection-editor/net-connection-editor.c")
7060 (("\"nm-connection-editor")
7061 (string-append "\"" nm-applet
7062 "/bin/nm-connection-editor")))
1acd107c
FP
7063 (substitute* '("panels/user-accounts/run-passwd.c")
7064 (("/usr/bin/passwd")
7065 "/run/setuid-programs/passwd"))
64c70430
KK
7066 (substitute* "panels/info/cc-info-overview-panel.c"
7067 (("DATADIR \"/gnome/gnome-version.xml\"")
7068 (string-append "\"" gnome-desktop
7069 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
7070 #t))))))
7071 (native-inputs
7072 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 7073 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
7074 ("intltool" ,intltool)
7075 ("pkg-config" ,pkg-config)
a6938bac
KK
7076 ("xsltproc" ,libxslt)
7077 ;; For tests
7078 ("hicolor-icon-theme" ,hicolor-icon-theme)
7079 ("python-dbusmock" ,python-dbusmock)
7080 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7081 (inputs
7082 `(("accountsservice" ,accountsservice)
7083 ("clutter-gtk" ,clutter-gtk)
7084 ("colord-gtk" ,colord-gtk)
7085 ("cups" ,cups)
7086 ("dconf" ,dconf)
7087 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7088 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7089 ("gnome-bluetooth" ,gnome-bluetooth)
7090 ("gnome-desktop" ,gnome-desktop)
7091 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7092 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7093 ("gnome-session" ,gnome-session)
b645146f
SB
7094 ("gnome-settings-daemon" ,gnome-settings-daemon)
7095 ("grilo" ,grilo)
a6938bac 7096 ("gsound" ,gsound)
b645146f
SB
7097 ("ibus" ,ibus)
7098 ("libcanberra" ,libcanberra)
1df38cfc 7099 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7100 ("libgudev" ,libgudev)
7101 ("libgtop" ,libgtop)
7102 ("libpwquality" ,libpwquality)
982c0b36 7103 ("libsecret" ,libsecret)
b645146f
SB
7104 ("libsoup" ,libsoup)
7105 ("libxml2" ,libxml2)
7106 ("libwacom" ,libwacom)
7107 ("mesa" ,mesa)
7108 ("mit-krb5" ,mit-krb5)
7109 ("modem-manager" ,modem-manager)
7110 ("network-manager-applet" ,network-manager-applet)
7111 ("polkit" ,polkit)
7112 ("pulseaudio" ,pulseaudio)
7113 ("smbclient" ,samba)
7114 ("tzdata" ,tzdata)
982c0b36 7115 ("udisks" ,udisks)
b645146f
SB
7116 ("upower" ,upower)))
7117 (synopsis "Utilities to configure the GNOME desktop")
7118 (home-page "https://www.gnome.org/")
7119 (description
7120 "This package contains configuration applets for the GNOME desktop,
7121allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7122properties, sound setup, desktop theme and background, user interface
7123properties, screen resolution, and other GNOME parameters.")
7124 (license license:gpl2+)))
a4df5756
SB
7125
7126(define-public gnome-shell
7127 (package
7128 (name "gnome-shell")
d5e615ca 7129 (version "3.32.2")
a4df5756
SB
7130 (source (origin
7131 (method url-fetch)
7132 (uri (string-append "mirror://gnome/sources/" name "/"
7133 (version-major+minor version) "/"
7134 name "-" version ".tar.xz"))
7135 (sha256
7136 (base32
d5e615ca 7137 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
7138 (patches (search-patches "gnome-shell-theme.patch"))
7139 (modules '((guix build utils)))
7140 (snippet
7141 #~(begin
a76d0f03
LC
7142 ;; Copy images for use on the GDM log-in screen.
7143 (copy-file #$(file-append %artwork-repository
7144 "/slim/0.x/background.png")
7145 "data/theme/guix-background.png")
45fef894
LC
7146 (copy-file #$(file-append %artwork-repository
7147 "/logo/Guix-horizontal-white.svg")
7148 "data/theme/guix-logo.svg")
a76d0f03 7149 #t))))
2b0c755d 7150 (build-system meson-build-system)
a4df5756 7151 (arguments
08185081
MB
7152 `(#:glib-or-gtk? #t
7153 #:disallowed-references ((,glib "bin")
11e1df56
LC
7154 ,inkscape ,libxslt
7155 ,ruby-sass)
2b0c755d
RW
7156 #:configure-flags
7157 (list "-Dsystemd=false"
7158 ;; Otherwise, the RUNPATH will lack the final path component.
7159 (string-append "-Dc_link_args=-Wl,-rpath="
7160 (assoc-ref %outputs "out")
7161 "/lib/gnome-shell"))
11e1df56 7162
08185081 7163 #:modules ((guix build meson-build-system)
11e1df56
LC
7164 (guix build utils)
7165 (srfi srfi-1))
7166
2b0c755d 7167 #:phases
a4df5756 7168 (modify-phases %standard-phases
2b0c755d 7169 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7170 (lambda* (#:key outputs #:allow-other-keys)
7171 (let* ((out (assoc-ref outputs "out"))
7172 (keysdir (string-append
7173 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7174 (substitute* "meson.build"
7175 (("keysdir =.*")
7176 (string-append "keysdir = '" keysdir "'\n")))
7177 #t)))
ebfe259f
MB
7178 (add-before 'configure 'convert-logo-to-png
7179 (lambda* (#:key inputs #:allow-other-keys)
7180 ;; Convert the logo from SVG to PNG.
7181 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7182 "data/theme/guix-logo.svg")))
ba00235a 7183 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7184 (lambda* (#:key inputs #:allow-other-keys)
7185 (substitute* "js/misc/ibusManager.js"
7186 (("'ibus-daemon'")
7187 (string-append "'" (assoc-ref inputs "ibus")
7188 "/bin/ibus-daemon'")))
d6fda4d3
LC
7189 (substitute* "js/ui/status/keyboard.js"
7190 (("'gkbd-keyboard-display'")
7191 (string-append "'" (assoc-ref inputs "libgnomekbd")
7192 "/bin/gkbd-keyboard-display'")))
2472cdec 7193 #t))
2b0c755d
RW
7194 (add-before 'check 'pre-check
7195 (lambda* (#:key inputs #:allow-other-keys)
7196 ;; Tests require a running X server.
7197 (system "Xvfb :1 &")
7198 (setenv "DISPLAY" ":1")
7199 #t))
7200 (add-after 'install 'wrap-programs
7201 (lambda* (#:key inputs outputs #:allow-other-keys)
7202 (let ((out (assoc-ref outputs "out"))
7203 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7204 (python-path (getenv "PYTHONPATH")))
7205 (wrap-program (string-append out "/bin/gnome-shell")
7206 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7207 ;; FIXME: gnome-shell loads these libraries with unqualified
7208 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7209 ;; alternative might be to patch gnome-shell.
7210 `("LD_LIBRARY_PATH" ":" prefix
7211 ,(map (lambda (pkg)
7212 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7213 '("gdk-pixbuf"
7214 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7215 (for-each
7216 (lambda (prog)
7217 (wrap-program (string-append out "/bin/" prog)
7218 `("PYTHONPATH" ":" prefix (,python-path))
7219 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7220 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7221 #t)))
11e1df56
LC
7222 (replace 'glib-or-gtk-wrap
7223 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7224 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7225 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7226 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7227 ;; phase. Fix that since we don't need these.
7228 (wrap #:inputs (fold alist-delete inputs
7229 '("inkscape" "intltool" "glib:bin"))
7230 #:outputs outputs)))))))
a4df5756
SB
7231 (native-inputs
7232 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7233 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7234 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7235 ("inkscape" ,inkscape)
a4df5756
SB
7236 ("intltool" ,intltool)
7237 ("pkg-config" ,pkg-config)
7238 ("python" ,python)
2b0c755d
RW
7239 ("ruby-sass" ,ruby-sass)
7240 ("sassc" ,sassc)
a76d0f03 7241 ("xsltproc" ,libxslt)
2b0c755d 7242 ;; For tests
0b4504f6 7243 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7244 (inputs
7245 `(("accountsservice" ,accountsservice)
7246 ("caribou" ,caribou)
7247 ("docbook-xsl" ,docbook-xsl)
7248 ("evolution-data-server" ,evolution-data-server)
7249 ("gcr" ,gcr)
7250 ("gdm" ,gdm)
c5db31d4 7251 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
7252 ("gjs" ,gjs)
7253 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7254 ("gnome-desktop" ,gnome-desktop)
7255 ("gnome-settings-daemon" ,gnome-settings-daemon)
7256 ("gst-plugins-base" ,gst-plugins-base)
7257 ("ibus" ,ibus)
7258 ("libcanberra" ,libcanberra)
7259 ("libcroco" ,libcroco)
d6fda4d3 7260 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7261 ("libgweather" ,libgweather)
7262 ("libsoup" ,libsoup)
7263 ("mesa-headers" ,mesa-headers)
7264 ("mutter" ,mutter)
7265 ("network-manager-applet" ,network-manager-applet)
7266 ("polkit" ,polkit)
7267 ("pulseaudio" ,pulseaudio)
7268 ("python-pygobject" ,python-pygobject)
7269 ("startup-notification" ,startup-notification)
7270 ("telepathy-logger" ,telepathy-logger)
7271 ("upower" ,upower)
30e760f0
MB
7272 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7273 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7274 ("librsvg" ,librsvg)
2b0c755d 7275 ("geoclue" ,geoclue)))
a4df5756
SB
7276 (synopsis "Desktop shell for GNOME")
7277 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7278 (description
7279 "GNOME Shell provides core user interface functions for the GNOME desktop,
7280like switching to windows and launching applications.")
7281 (license license:gpl2+)))
c3f29bc9
RS
7282
7283(define-public gtk-vnc
7284 (package
7285 (name "gtk-vnc")
965ff023 7286 (version "0.9.0")
c3f29bc9
RS
7287 (source
7288 (origin
7289 (method url-fetch)
7290 (uri (string-append "mirror://gnome/sources/" name "/"
7291 (version-major+minor version) "/"
7292 name "-" version ".tar.xz"))
7293 (sha256
7294 (base32
965ff023 7295 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7296 (build-system gnu-build-system)
7297 (arguments
7298 '(#:configure-flags '("--with-gtk=3.0")))
7299 (propagated-inputs
7300 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7301 (inputs
7302 `(("cyrus-sasl" ,cyrus-sasl)
7303 ("gnutls" ,gnutls)
7304 ("libgcrypt" ,libgcrypt)
7305 ("pulseaudio" ,pulseaudio)))
7306 (native-inputs
7307 `(("glib:bin" ,glib "bin")
7308 ("gobject-introspection" ,gobject-introspection)
7309 ("intltool" ,intltool)
7310 ("pkg-config" ,pkg-config)
2f17e939 7311 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7312 ("vala" ,vala)))
7313 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7314 (synopsis "VNC viewer widget for GTK+")
7315 (description
7316 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7317applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7318GTK-VNC implements client side RFB protocol and authentication extensions such
7319as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7320 (license license:lgpl2.1+)))
8b877545 7321
dc69fe18
MW
7322(define-public gnome-autoar
7323 (package
7324 (name "gnome-autoar")
c7da8510 7325 (version "0.2.3")
dc69fe18
MW
7326 (source (origin
7327 (method url-fetch)
7328 (uri (string-append "mirror://gnome/sources/" name "/"
7329 (version-major+minor version) "/"
7330 name "-" version ".tar.xz"))
7331 (sha256
7332 (base32
c7da8510 7333 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7334 (build-system glib-or-gtk-build-system)
7335 (native-inputs
7336 `(("gnome-common" ,gnome-common)
7337 ("gobject-introspection" ,gobject-introspection)
7338 ("pkg-config" ,pkg-config)))
7339 (propagated-inputs
7340 `(("libarchive" ,libarchive))) ; XXX document why
7341 (inputs
0a6e9e13 7342 `(("gtk+" ,gtk+)))
dc69fe18
MW
7343 (synopsis "Archives integration support for GNOME")
7344 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7345 (description
7346 "GNOME Autoar is a library which makes creating and extracting archives
7347easy, safe, and automatic.")
7348 (license license:lgpl2.1+)))
7349
b64e217f
MW
7350(define-public tracker
7351 (package
7352 (name "tracker")
caaefa40 7353 (version "2.3.4")
b64e217f
MW
7354 (source (origin
7355 (method url-fetch)
b5b0fd23 7356 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7357 (version-major+minor version) "/"
b5b0fd23 7358 "tracker-" version ".tar.xz"))
b64e217f
MW
7359 (sha256
7360 (base32
caaefa40 7361 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7362 (build-system meson-build-system)
c8bdf589 7363 (arguments
5ada561c
KK
7364 `(#:glib-or-gtk? #t
7365 #:configure-flags
7366 ;; Otherwise, the RUNPATH will lack the final path component.
7367 (list (string-append "-Dc_link_args=-Wl,-rpath="
7368 (assoc-ref %outputs "out") "/lib:"
7369 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7370 #:phases
c8bdf589 7371 (modify-phases %standard-phases
c8bdf589
RW
7372 (add-before 'check 'pre-check
7373 (lambda _
63db190a
PN
7374 ;; Some tests expect to write to $HOME.
7375 (setenv "HOME" "/tmp")
c8bdf589 7376 #t)))))
b64e217f 7377 (native-inputs
5ada561c 7378 `(("glib:bin" ,glib "bin")
b64e217f 7379 ("gobject-introspection" ,gobject-introspection)
5ada561c 7380 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7381 ("intltool" ,intltool)
7382 ("pkg-config" ,pkg-config)
7383 ("vala" ,vala)))
7384 (inputs
63db190a 7385 `(("dbus" ,dbus)
44ed6284 7386 ("sqlite" ,sqlite)
b64e217f 7387 ("libxml2" ,libxml2)
63db190a 7388 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7389 ("json-glib" ,json-glib)
63db190a 7390 ("libsoup" ,libsoup)))
b64e217f
MW
7391 (synopsis "Metadata database, indexer and search tool")
7392 (home-page "https://wiki.gnome.org/Projects/Tracker")
7393 (description
63db190a
PN
7394 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7395
7396It is a middleware component aimed at desktop application developers who want
7397their apps to browse and search user content. It's not designed to be used
7398directly by desktop users, but it provides a commandline tool named
7399@command{tracker} for the adventurous.
7400
7401Tracker allows your application to instantly perform full-text searches across
7402all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7403example. This is achieved by indexing the user's home directory in the
7404background.
7405
7406Tracker also allows your application to query and list content that the user
7407has stored. For example, GNOME Music displays all the music files that are
7408found by Tracker. This means that GNOME Music doesn't need to maintain a
7409database of its own.
7410
7411If you need to go beyond simple searches, Tracker is also a linked data
7412endpoint and it understands SPARQL. ")
7413 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7414 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7415 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7416 (license (list license:gpl2+
63db190a
PN
7417 license:bsd-3
7418 license:lgpl2.1+))))
b64e217f 7419
03be9874
KK
7420(define-public tracker-miners
7421 (package
7422 (name "tracker-miners")
de60ac2f 7423 (version "2.3.3")
03be9874
KK
7424 (source (origin
7425 (method url-fetch)
7426 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7427 (version-major+minor version)
7428 "/tracker-miners-" version ".tar.xz"))
7429 (sha256
7430 (base32
de60ac2f 7431 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7432 (build-system meson-build-system)
7433 (arguments
7434 `(#:glib-or-gtk? #t
7435 #:configure-flags
7436 (list "-Dminer_rss=false" ; libgrss is required.
7437 ;; Ensure the RUNPATH contains all installed library locations.
7438 (string-append "-Dc_link_args=-Wl,-rpath="
7439 (assoc-ref %outputs "out")
7440 "/lib/tracker-miners-2.0")
7441 ;; TODO: Enable functional tests. Currently, the following error
7442 ;; appears:
7443 ;; Exception: The functional tests require DConf to be the default
7444 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7445 "-Dfunctional_tests=false")))
7446 (native-inputs
7447 `(("dbus" ,dbus)
7448 ("intltool" ,intltool)
7449 ("glib:bin" ,glib "bin")
7450 ("gobject-introspection" ,gobject-introspection)
7451 ("pkg-config" ,pkg-config)
7452 ("python-pygobject" ,python-pygobject)))
7453 (inputs
7454 `(("exempi" ,exempi)
7455 ("ffmpeg" ,ffmpeg)
7456 ("flac" ,flac)
7457 ("giflib" ,giflib)
7458 ("glib" ,glib)
7459 ("gstreamer" ,gstreamer)
7460 ("icu4c" ,icu4c)
7461 ("libcue" ,libcue)
7462 ("libexif" ,libexif)
7463 ("libgsf" ,libgsf)
7464 ("libgxps" ,libgxps)
7465 ("libiptcdata" ,libiptcdata)
7466 ("libjpeg" ,libjpeg)
7467 ("libosinfo" ,libosinfo)
7468 ("libpng" ,libpng)
7469 ("libseccomp" ,libseccomp)
7470 ("libtiff" ,libtiff)
7471 ("libvorbis" ,libvorbis)
7472 ("libxml2" ,libxml2)
7473 ("poppler" ,poppler)
7474 ("taglib" ,taglib)
7475 ("totem-pl-parser" ,totem-pl-parser)
7476 ("tracker" ,tracker)
7477 ("upower" ,upower)
7478 ("zlib" ,zlib)))
7479 (synopsis "Metadata database, indexer and search tool")
7480 (home-page "https://wiki.gnome.org/Projects/Tracker")
7481 (description
7482 "Tracker is an advanced framework for first class objects with associated
7483metadata and tags. It provides a one stop solution for all metadata, tags,
7484shared object databases, search tools and indexing.")
7485 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7486 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7487 (license (list license:gpl2+
7488 license:lgpl2.1+
7489 license:lgpl2.0+))))
7490
8b877545
RS
7491(define-public nautilus
7492 (package
7493 (name "nautilus")
d682c599 7494 (version "3.32.3")
8b877545
RS
7495 (source (origin
7496 (method url-fetch)
7497 (uri (string-append "mirror://gnome/sources/" name "/"
7498 (version-major+minor version) "/"
7499 name "-" version ".tar.xz"))
7500 (sha256
7501 (base32
d682c599 7502 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7503 (build-system meson-build-system)
8b877545 7504 (arguments
35e2d0cf 7505 '(#:glib-or-gtk? #t
8b877545
RS
7506 ;; XXX: FAIL: check-nautilus
7507 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7508 #:tests? #f))
7509 (native-inputs
35e2d0cf
R
7510 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7511 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7512 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7513 ("gobject-introspection" ,gobject-introspection)
7514 ("intltool" ,intltool)
7515 ("pkg-config" ,pkg-config)))
8b877545 7516 (inputs
8b877545 7517 `(("dconf" ,dconf)
caf6c363 7518 ("gexiv2" ,gexiv2)
dd05e731 7519 ("gvfs" ,gvfs)
8b877545
RS
7520 ("exempi" ,exempi)
7521 ("gnome-desktop" ,gnome-desktop)
09d88905 7522 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7523 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7524 ("libseccomp" ,libseccomp)
35e2d0cf 7525 ("libselinux" ,libselinux)
09d88905 7526 ("tracker" ,tracker)
3cafb9d4 7527 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7528 ;; XXX: gtk+ is required by libnautilus-extension.pc
7529 ;;
7530 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7531 ;; package. See:
7532 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7533 ("gtk+" ,gtk+)
8b877545
RS
7534 ("libexif" ,libexif)
7535 ("libxml2" ,libxml2)))
7536 (synopsis "File manager for GNOME")
7537 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7538 (description
7539 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7540design and behaviour, giving the user a simple way to navigate and manage its
7541files.")
7542 (license license:gpl2+)))
3c697ffd
JR
7543
7544(define-public baobab
7545 (package
7546 (name "baobab")
e0c5f20c 7547 (version "3.32.0")
3c697ffd
JR
7548 (source (origin
7549 (method url-fetch)
7550 (uri (string-append
7551 "mirror://gnome/sources/" name "/"
7552 (version-major+minor version) "/"
7553 name "-" version ".tar.xz"))
7554 (sha256
7555 (base32
e0c5f20c 7556 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7557 (build-system meson-build-system)
7558 (arguments
7559 '(#:glib-or-gtk? #t))
3c697ffd
JR
7560 (native-inputs
7561 `(("intltool" ,intltool)
7562 ("pkg-config" ,pkg-config)
d233d373
RJ
7563 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7564 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7565 ("itstool" ,itstool)
7566 ("xmllint" ,libxml2)
7567 ("glib" ,glib "bin")
7568 ("vala" ,vala)))
7569 (inputs
7570 `(("gtk+" ,gtk+)))
7571 (synopsis "Disk usage analyzer for GNOME")
7572 (description
7573 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7574usage in the GNOME desktop environment. It can easily scan device volumes or
7575a specific user-requested directory branch (local or remote). Once the scan
7576is complete it provides a graphical representation of each selected folder.")
7577 (home-page "https://wiki.gnome.org/Apps/Baobab")
7578 (license license:gpl2+)))
dc050251 7579
fdba447c
RS
7580(define-public gnome-backgrounds
7581 (package
7582 (name "gnome-backgrounds")
e04e8a8c 7583 (version "3.32.0")
fdba447c
RS
7584 (source
7585 (origin
7586 (method url-fetch)
7587 (uri (string-append "mirror://gnome/sources/" name "/"
7588 (version-major+minor version) "/"
7589 name "-" version ".tar.xz"))
7590 (sha256
7591 (base32
e04e8a8c 7592 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7593 (build-system meson-build-system)
fdba447c
RS
7594 (native-inputs
7595 `(("intltool" ,intltool)))
e04e8a8c 7596 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7597 (synopsis "Background images for the GNOME desktop")
7598 (description
7599 "GNOME backgrounds package contains a collection of graphics files which
7600can be used as backgrounds in the GNOME Desktop environment. Additionally,
7601the package creates the proper framework and directory structure so that you
7602can add your own files to the collection.")
7603 (license (list license:gpl2+
7604 license:cc-by2.0
7605 license:cc-by-sa2.0
7606 license:cc-by-sa3.0))))
7607
b784b1a9
RS
7608(define-public gnome-screenshot
7609 (package
7610 (name "gnome-screenshot")
6acf4033 7611 (version "3.32.0")
b784b1a9
RS
7612 (source
7613 (origin
7614 (method url-fetch)
7615 (uri (string-append "mirror://gnome/sources/" name "/"
7616 (version-major+minor version) "/"
7617 name "-" version ".tar.xz"))
7618 (sha256
7619 (base32
6acf4033 7620 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7621 (build-system meson-build-system)
b784b1a9
RS
7622 (native-inputs
7623 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7624 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7625 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7626 ("intltool" ,intltool)
8356aefa 7627 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7628 ("pkg-config" ,pkg-config)))
7629 (inputs
7630 `(("gtk+" ,gtk+)
7631 ("libcanberra" ,libcanberra)
7632 ("libx11" ,libx11)
7633 ("libxext" ,libxext)))
676e7cb4 7634 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7635 (synopsis "Take pictures of your screen")
7636 (description
7637 "GNOME Screenshot is a utility used for taking screenshots of the entire
7638screen, a window or a user defined area of the screen, with optional
7639beautifying border effects.")
7640 (license license:gpl2+)))
7641
66d59111
RS
7642(define-public dconf-editor
7643 (package
7644 (name "dconf-editor")
66261451 7645 (version "3.32.0")
66d59111
RS
7646 (source
7647 (origin
7648 (method url-fetch)
7649 (uri (string-append "mirror://gnome/sources/" name "/"
7650 (version-major+minor version) "/"
7651 name "-" version ".tar.xz"))
7652 (sha256
7653 (base32
66261451 7654 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7655 (build-system meson-build-system)
86f2124b
LC
7656 (arguments
7657 '(#:phases (modify-phases %standard-phases
7658 (add-before 'configure 'set-glib-minimum-version
7659 (lambda _
7660 ;; Change the minimum required GLib version so that
7661 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7662 ;; do that, it complains that "55" is not an even
7663 ;; number. See <https://bugs.gnu.org/37503>.
7664 (substitute* "editor/meson.build"
7665 (("2\\.55\\.1") "2.60.0"))
7666 #t)))))
66d59111
RS
7667 (native-inputs
7668 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7669 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7670 ("intltool" ,intltool)
294ff39d
RW
7671 ("pkg-config" ,pkg-config)
7672 ("vala" ,vala)))
66d59111
RS
7673 (inputs
7674 `(("dconf" ,dconf)
7675 ("gtk+" ,gtk+)
7676 ("libxml2" ,libxml2)))
7677 (home-page "https://git.gnome.org/browse/dconf-editor")
7678 (synopsis "Graphical editor for GNOME's dconf configuration system")
7679 (description
7680 "Dconf-editor is a graphical tool for browsing and editing the dconf
7681configuration system for GNOME. It allows users to configure desktop
7682software that do not provide their own configuration interface.")
7683 (license license:lgpl2.1+)))
7684
96d36f38
AW
7685(define-public gnome-default-applications
7686 (package
7687 (name "gnome-default-applications")
7688 (version "0")
7689 (build-system trivial-build-system)
7690 (source #f)
7691 (propagated-inputs
8ad4f0aa
LC
7692 `(("nautilus" ,nautilus)
7693 ("evince" ,evince)))
96d36f38
AW
7694 (arguments
7695 `(#:modules ((guix build utils))
7696 #:builder
7697 (begin
7698 (use-modules (guix build utils))
7699 (let* ((out (assoc-ref %outputs "out"))
7700 (apps (string-append out "/share/applications")))
7701 (mkdir-p apps)
a6ac679f 7702 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7703 (lambda (port)
7704 (format port "[Default Applications]\n")
8ad4f0aa
LC
7705 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7706 (format port "application/pdf=evince.desktop\n")
7707 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7708 #t))))
7709 (synopsis "Default MIME type associations for the GNOME desktop")
7710 (description
7711 "Given many installed packages which might handle a given MIME type, a
7712user running the GNOME desktop probably has some preferences: for example,
7713that folders be opened by default by the Nautilus file manager, not the Baobab
7714disk usage analyzer. This package establishes that set of default MIME type
7715associations for GNOME.")
7716 (license license:gpl3+)
7717 (home-page #f)))
7718
3f1ed953
RG
7719(define-public libgovirt
7720 (package
7721 (name "libgovirt")
7722 (version "0.3.6")
7723 (source (origin
7724 (method url-fetch)
7725 (uri (string-append "mirror://gnome/sources/" name "/"
7726 (version-major+minor version) "/"
7727 name "-" version ".tar.xz"))
7728 (sha256
7729 (base32
7730 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7731 (build-system glib-or-gtk-build-system)
7732 (native-inputs
7733 `(("gettext" ,gettext-minimal)
7734 ("glib:bin" ,glib "bin")
7735 ("gobject-introspection" ,gobject-introspection)
7736 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7737 ("gtk+:bin" ,gtk+ "bin")
7738 ("pkg-config" ,pkg-config)))
7739 (inputs
7740 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7741 ("librest" ,rest)))
7742 (synopsis "GoVirt Library")
7743 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7744 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7745 (license license:gpl2+)))
7746
8672e5e9
RG
7747(define-public gnome-weather
7748 (package
7749 (name "gnome-weather")
7750 (version "3.34.0")
7751 (source (origin
7752 (method url-fetch)
7753 (uri (string-append "mirror://gnome/sources/" name "/"
7754 (version-major+minor version) "/"
7755 name "-" version ".tar.xz"))
7756 (sha256
7757 (base32
7758 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7759 (build-system meson-build-system)
7760 (native-inputs
7761 `(("gettext" ,gettext-minimal)
7762 ("glib:bin" ,glib "bin")
7763 ("gobject-introspection" ,gobject-introspection)
7764 ("gtk+:bin" ,gtk+ "bin")
7765 ("pkg-config" ,pkg-config)))
7766 (inputs
7767 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7768 ("appstream-glib" ,appstream-glib)
7769 ("geoclue" ,geoclue)
7770 ("gdk-pixbuf" ,gdk-pixbuf)
7771 ("gjs" ,gjs)
7772 ("gnome-desktop" ,gnome-desktop)
7773 ("libgweather" ,libgweather)))
4391fefc
PN
7774 (arguments
7775 `(#:phases
7776 (modify-phases %standard-phases
7777 (add-after 'install 'fix-desktop-file
7778 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
7779 ;; See https://issues.guix.gnu.org/issue/39324.
7780 (lambda* (#:key outputs #:allow-other-keys)
7781 (let* ((out (assoc-ref outputs "out"))
7782 (applications (string-append out "/share/applications")))
7783 (substitute* (string-append applications "/org.gnome.Weather.desktop")
7784 (("Exec=.*") "Exec=gnome-weather\n"))))))))
8672e5e9
RG
7785 (synopsis "Weather monitoring for GNOME desktop")
7786 (description "GNOME Weather is a small application that allows you to
7787monitor the current weather conditions for your city, or anywhere in the
7788world.")
7789 (home-page "https://wiki.gnome.org/Apps/Weather")
7790 (license license:gpl2+)))
7791
dc050251
SB
7792(define-public gnome
7793 (package
7794 (name "gnome")
7795 (version (package-version gnome-shell))
7796 (source #f)
7797 (build-system trivial-build-system)
e3cfef22 7798 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7799 (propagated-inputs
8d8c6bff 7800 ;; TODO: Add or remove packages according to:
a8cda7f5 7801 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7802 `(
8d8c6bff 7803 ;; GNOME-Core-OS-Services
7922b6f7 7804 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7805 ("network-manager" ,network-manager)
7806 ("packagekit" ,packagekit)
7807 ("upower" ,upower)
7808 ;; GNOME-Core-Shell
7809 ("adwaita-icon-theme" ,adwaita-icon-theme)
7810 ("gdm" ,gdm)
7811 ("glib-networking" ,glib-networking)
7812 ("gnome-backgrounds" ,gnome-backgrounds)
7813 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7814 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7815 ("gnome-control-center" ,gnome-control-center)
7816 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7817 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
24882d3d 7818 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7819 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7820 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7821 ("gnome-session" ,gnome-session)
7822 ("gnome-settings-daemon" ,gnome-settings-daemon)
7823 ("gnome-shell-extensions" ,gnome-shell-extensions)
7824 ("gnome-shell" ,gnome-shell)
7825 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7826 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7827 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7828 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7829 ("gvfs" ,gvfs)
7830 ("mutter" ,mutter)
7831 ("orca" ,orca)
d36fa50f
RG
7832 ("rygel" ,rygel)
7833 ("sushi" ,sushi)
8d8c6bff
RG
7834 ;; GNOME-Core-Utilities
7835 ("baobab" ,baobab)
7836 ("cheese" ,cheese)
7837 ("eog" ,eog)
7838 ("epiphany" ,epiphany)
7839 ("evince" ,evince)
7840 ("file-roller" ,file-roller)
7841 ("gedit" ,gedit)
d36fa50f 7842 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7843 ("gnome-calculator" ,gnome-calculator)
7844 ("gnome-calendar" ,gnome-calendar)
7845 ("gnome-characters" ,gnome-characters)
7846 ("gnome-clocks" ,gnome-clocks)
7847 ("gnome-contacts" ,gnome-contacts)
7848 ("gnome-disk-utility" ,gnome-disk-utility)
7849 ("gnome-font-viewer" ,gnome-font-viewer)
7850 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7851 ; TODO: ("gnome-music" ,gnome-music)
7852 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7853 ("gnome-screenshot" ,gnome-screenshot)
7854 ("gnome-system-monitor" ,gnome-system-monitor)
7855 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7856 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7857 ("nautilus" ,nautilus)
7858 ("simple-scan" ,simple-scan)
7859 ("totem" ,totem)
7922b6f7
RG
7860 ("yelp" ,yelp)
7861 ;; Others
7862 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7863 ("gnome-online-accounts" ,gnome-online-accounts)
7864
7865 ;; Packages not part of GNOME proper but that are needed for a good
7866 ;; experience. See <https://bugs.gnu.org/39646>.
7867 ;; XXX: Find out exactly which ones are needed and why.
7868 ("font-cantarell" ,font-cantarell)
7869 ("font-dejavu" ,font-dejavu)
7870 ("at-spi2-core" ,at-spi2-core)
7871 ("dbus" ,dbus)
7872 ("dconf" ,dconf)
7873 ("desktop-file-utils" ,desktop-file-utils)
7874 ("gnome-default-applications" ,gnome-default-applications)
7875 ("gnome-themes-standard" ,gnome-themes-standard)
7876 ("gst-plugins-base" ,gst-plugins-base)
7877 ("gst-plugins-good" ,gst-plugins-good)
7878 ("gucharmap" ,gucharmap)
7879 ("pinentry-gnome3" ,pinentry-gnome3)
7880 ("pulseaudio" ,pulseaudio)
7881 ("shared-mime-info" ,shared-mime-info)
7882 ("system-config-printer" ,system-config-printer)
7883 ("xdg-user-dirs" ,xdg-user-dirs)
7884 ("yelp" ,yelp)
7885 ("zenity" ,zenity)))
fe4e698d 7886 (synopsis "The GNU desktop environment")
dc050251
SB
7887 (home-page "https://www.gnome.org/")
7888 (description
fe4e698d
LC
7889 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7890applications for browsing the web, editing text and images, creating
7891documents and diagrams, playing media, scanning, and much more.")
dc050251 7892 (license license:gpl2+)))
4a526711
DT
7893
7894(define-public byzanz
7895 ;; The last stable release of Byzanz was in 2011, but there have been many
7896 ;; useful commits made to the Byzanz repository since then that it would be
7897 ;; silly to use such an old release.
7898 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7899 (package
7900 (name "byzanz")
7901 (version (string-append "0.2-1." (string-take commit 7)))
7902 (source (origin
7903 (method git-fetch)
7904 (uri (git-reference
5f13bf09 7905 (url "https://git.gnome.org/browse/byzanz")
4a526711 7906 (commit commit)))
5a6527e4 7907 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7908 (sha256
7909 (base32
7910 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7911 (build-system glib-or-gtk-build-system)
7912 (arguments
7913 '(#:phases
7914 (modify-phases %standard-phases
189be331 7915 (replace 'bootstrap
4a526711
DT
7916 (lambda _
7917 ;; The build system cleverly detects that we're not building from
7918 ;; a release tarball and turns on -Werror for GCC.
7919 ;; Unsurprisingly, there is a warning during compilation that
7920 ;; causes the build to fail unnecessarily, so we remove the flag.
7921 (substitute* '("configure.ac")
7922 (("-Werror") ""))
7923 ;; The autogen.sh script in gnome-common will run ./configure
7924 ;; by default, which is problematic because source shebangs
7925 ;; have not yet been patched.
7926 (setenv "NOCONFIGURE" "t")
7927 (zero? (system* "sh" "autogen.sh")))))))
7928 (native-inputs
7929 `(("autoconf" ,autoconf)
7930 ("automake" ,automake)
7931 ("gnome-common" ,gnome-common)
7932 ("intltool" ,intltool)
7933 ("libtool" ,libtool)
7934 ("pkg-config" ,pkg-config)
7935 ("which" ,which)))
7936 (inputs
7937 `(("glib" ,glib)
7938 ("gstreamer" ,gstreamer)
7939 ("gst-plugins-base" ,gst-plugins-base)
7940 ("gtk+" ,gtk+)))
7941 (synopsis "Desktop recording program")
7942 (description "Byzanz is a simple desktop recording program with a
7943command-line interface. It can record part or all of an X display for a
7944specified duration and save it as a GIF encoded animated image file.")
7945 (home-page "https://git.gnome.org/browse/byzanz")
7946 (license license:gpl2+))))
3a9a4c51 7947
0ec171ec
MS
7948(define-public gsound
7949 (package
7950 (name "gsound")
7951 (version "1.0.2")
7952 (source (origin
7953 (method url-fetch)
7954 (uri (string-append "mirror://gnome/sources/" name "/"
7955 (version-major+minor version) "/"
7956 name "-" version ".tar.xz"))
7957 (sha256
7958 (base32
7959 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7960 (build-system glib-or-gtk-build-system)
7961 (native-inputs
7962 `(("pkg-config" ,pkg-config)
7963 ("gobject-introspection" ,gobject-introspection)
7964 ("vala" ,vala)))
7965 (inputs
7966 `(("glib" ,glib)
7967 ("libcanberra" ,libcanberra)))
7968 (home-page "https://wiki.gnome.org/Projects/GSound")
7969 (synopsis "GObject wrapper for libcanberra")
7970 (description
7971 "GSound is a small library for playing system sounds. It's designed to be
7972used via GObject Introspection, and is a thin wrapper around the libcanberra C
7973library.")
7974 (license license:lgpl2.1+)))
7975
3a9a4c51
RS
7976(define-public libzapojit
7977 (package
7978 (name "libzapojit")
7979 (version "0.0.3")
7980 (source (origin
7981 (method url-fetch)
7982 (uri (string-append "mirror://gnome/sources/" name "/"
7983 (version-major+minor version) "/"
7984 name "-" version ".tar.xz"))
7985 (sha256
7986 (base32
7987 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7988 (build-system gnu-build-system)
7989 (native-inputs
7990 `(("gobject-introspection" ,gobject-introspection)
7991 ("intltool" ,intltool)
7992 ("pkg-config" ,pkg-config)))
7993 (inputs
14c297fd 7994 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7995 ("json-glib" ,json-glib)
7996 ("rest" ,rest)))
7997 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7998 (synopsis "Library for accessing SkyDrive and Hotmail")
7999 (description
8000 "Libzapojit is a GLib-based library for accessing online service APIs of
8001Microsoft SkyDrive and Hotmail, using their REST protocols.")
8002 (license license:lgpl2.1+)))
9365ee1c 8003
60e2a9ae
MS
8004(define-public gnome-clocks
8005 (package
8006 (name "gnome-clocks")
c76d0dbc 8007 (version "3.32.0")
60e2a9ae
MS
8008 (source (origin
8009 (method url-fetch)
8010 (uri (string-append "mirror://gnome/sources/" name "/"
8011 (version-major+minor version) "/"
8012 name "-" version ".tar.xz"))
8013 (sha256
8014 (base32
c76d0dbc 8015 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
8016 (build-system meson-build-system)
8017 (arguments
8018 '(#:glib-or-gtk? #t))
8019 (native-inputs
8020 `(("vala" ,vala)
8021 ("pkg-config" ,pkg-config)
8022 ("glib" ,glib "bin") ; for glib-compile-resources
8023 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8024 ("desktop-file-utils" ,desktop-file-utils)
8025 ("gettext" ,gettext-minimal)
8026 ("itstool" ,itstool)))
8027 (inputs
8028 `(("glib" ,glib)
8029 ("gtk+" ,gtk+)
8030 ("gsound" ,gsound)
8031 ("geoclue" ,geoclue)
8032 ("geocode-glib" ,geocode-glib)
8033 ("libgweather" ,libgweather)
8034 ("gnome-desktop" ,gnome-desktop)))
8035 (home-page "https://wiki.gnome.org/Apps/Clocks")
8036 (synopsis "GNOME's clock application")
8037 (description
8038 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8039desktop. It supports world clock, stop watch, alarms, and count down timer.")
8040 (license license:gpl3+)))
8041
3c474897
KY
8042(define-public gnome-calendar
8043 (package
8044 (name "gnome-calendar")
339b59bf 8045 (version "3.32.2")
3c474897
KY
8046 (source (origin
8047 (method url-fetch)
8048 (uri (string-append "mirror://gnome/sources/" name "/"
8049 (version-major+minor version) "/"
8050 name "-" version ".tar.xz"))
8051 (sha256
8052 (base32
339b59bf 8053 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
8054 (build-system meson-build-system)
8055 (arguments
8056 '(#:glib-or-gtk? #t
8057 ;; gnome-calendar has to be installed before the tests can be run
8058 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
8059 #:tests? #f))
3c474897 8060 (native-inputs
a49d3e37
MS
8061 `(("gettext" ,gettext-minimal)
8062 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
8063 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
8064 ("pkg-config" ,pkg-config)))
8065 (inputs
a49d3e37 8066 `(("evolution-data-server" ,evolution-data-server)
14c297fd 8067 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8068 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8069 ("libdazzle" ,libdazzle)
b63c06f1 8070 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8071 ("libgweather" ,libgweather)
8072 ("geoclue" ,geoclue)))
3c474897
KY
8073 (home-page "https://wiki.gnome.org/Apps/Calendar")
8074 (synopsis "GNOME's calendar application")
8075 (description
8076 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8077desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8078 (license license:gpl3+)))
8079
57b14665
MS
8080(define-public gnome-todo
8081 (package
8082 (name "gnome-todo")
9f3c6c88 8083 (version "3.28.1")
57b14665
MS
8084 (source (origin
8085 (method url-fetch)
8086 (uri (string-append "mirror://gnome/sources/" name "/"
8087 (version-major+minor version) "/"
8088 name "-" version ".tar.xz"))
8089 (sha256
8090 (base32
9f3c6c88 8091 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
8092 (build-system meson-build-system)
8093 (arguments
8094 '(#:glib-or-gtk? #t
8095 #:phases (modify-phases %standard-phases
8096 (add-after
8097 'install 'wrap-gnome-todo
8098 (lambda* (#:key inputs outputs #:allow-other-keys)
8099 (let ((out (assoc-ref outputs "out"))
8100 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8101 (python-path (getenv "PYTHONPATH")))
8102 (wrap-program (string-append out "/bin/gnome-todo")
8103 ;; XXX: gi plugins are broken.
8104 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8105 ;; For plugins.
8106 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8107 `("PYTHONPATH" ":" prefix (,python-path))))
8108 #t)))))
8109 (native-inputs
8110 `(("gettext" ,gettext-minimal)
8111 ("gobject-introspection" ,gobject-introspection)
8112 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8113 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8114 ("pkg-config" ,pkg-config)))
8115 (inputs
8116 `(("rest" ,rest) ; For Todoist plugin
8117 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8118 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8119 ("libical" ,libical)
8120 ("libpeas" ,libpeas)
8121 ("python-pygobject" ,python-pygobject)
8122 ("evolution-data-server" ,evolution-data-server)
14c297fd 8123 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8124 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8125 (home-page "https://wiki.gnome.org/Apps/Todo")
8126 (synopsis "GNOME's ToDo Application")
8127 (description
8128 "GNOME To Do is a simplistic personal task manager designed to perfectly
8129fit the GNOME desktop.")
8130 (license license:gpl3+)))
8131
ab179eaf
SB
8132(define-public gnome-dictionary
8133 (package
8134 (name "gnome-dictionary")
cf81ddef 8135 (version "3.26.1")
ab179eaf
SB
8136 (source (origin
8137 (method url-fetch)
8138 (uri (string-append "mirror://gnome/sources/" name "/"
8139 (version-major+minor version) "/"
8140 name "-" version ".tar.xz"))
8141 (sha256
8142 (base32
cf81ddef
LC
8143 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8144 (build-system meson-build-system)
2776b5d5
MB
8145 (arguments '(#:glib-or-gtk? #t
8146 #:phases (modify-phases %standard-phases
8147 (add-after 'unpack 'patch-install-script
8148 (lambda _
8149 ;; This script attempts to compile glib schemas
8150 ;; and create an empty MIME database. We do
8151 ;; that elsewhere, so prevent it from running.
8152 (substitute* "build-aux/post-install.sh"
8153 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8154 #t)))))
ab179eaf
SB
8155 (native-inputs
8156 `(("glib:bin" ,glib "bin")
8157 ("gobject-introspection" ,gobject-introspection)
8158 ("intltool" ,intltool)
8159 ("itstool" ,itstool)
8160 ("pkg-config" ,pkg-config)
8161 ("xmllint" ,libxml2)))
8162 (inputs
8163 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8164 ("gtk+" ,gtk+)))
8165 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8166 (synopsis "Look up words in dictionary sources")
8167 (description
8168 "GNOME Dictionary can look for the definition or translation of a word in
8169existing databases over the internet.")
8170 (license license:gpl3+)))
8171
d13f3a03 8172(define-public gnome-tweaks
9365ee1c 8173 (package
d13f3a03 8174 (name "gnome-tweaks")
652af676 8175 (version "3.32.0")
9365ee1c
JN
8176 (source (origin
8177 (method url-fetch)
d13f3a03 8178 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8179 (version-major+minor version) "/"
d13f3a03
RW
8180 "gnome-tweaks-" version ".tar.xz"))
8181 (patches
8182 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8183 (sha256
8184 (base32
652af676 8185 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 8186 (build-system meson-build-system)
9365ee1c 8187 (arguments
d13f3a03
RW
8188 `(#:glib-or-gtk? #t
8189 #:configure-flags '("-Dlocalstatedir=/tmp"
8190 "-Dsysconfdir=/tmp")
9365ee1c 8191 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8192 ,@%meson-build-system-modules)
8193 #:phases
8194 (modify-phases %standard-phases
8195 (add-after 'install 'wrap
8196 (@@ (guix build python-build-system) wrap))
8197 (add-after 'wrap 'wrap-gi-typelib
8198 (lambda* (#:key inputs outputs #:allow-other-keys)
8199 (let ((out (assoc-ref outputs "out"))
8200 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8201 (wrap-program (string-append out "/bin/gnome-tweaks")
8202 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8203 #t)))))
9365ee1c 8204 (native-inputs
c7fc414e
RH
8205 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8206 ("intltool" ,intltool)
9365ee1c
JN
8207 ("pkg-config" ,pkg-config)))
8208 (inputs
c7fc414e
RH
8209 `(("gnome-desktop" ,gnome-desktop)
8210 ("gtk+" ,gtk+)
9365ee1c
JN
8211 ("gobject-introspection" ,gobject-introspection)
8212 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
8213 ("libnotify" ,libnotify)
8214 ("libsoup" ,libsoup)
8215 ("nautilus" ,nautilus)
8216 ("python" ,python)
8217 ("python-pygobject" ,python-pygobject)))
9365ee1c 8218 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8219 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8220 (description
d13f3a03 8221 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8222GNOME 3. This includes things like the fonts used in user interface elements,
8223alternative user interface themes, changes in window management behavior,
8224GNOME Shell appearance and extension, etc.")
8225 (license license:gpl3+)))
813f814a 8226
32ac717c
DT
8227(define-public gnome-shell-extensions
8228 (package
8229 (name "gnome-shell-extensions")
ae4c05e0 8230 (version "3.32.1")
32ac717c
DT
8231 (source (origin
8232 (method url-fetch)
8233 (uri (string-append "mirror://gnome/sources/" name "/"
8234 (version-major+minor version) "/"
8235 name "-" version ".tar.xz"))
8236 (sha256
8237 (base32
ae4c05e0 8238 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 8239 (build-system meson-build-system)
32ac717c 8240 (arguments
100f625b 8241 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8242 (native-inputs
c9ea8873
LP
8243 `(("glib:bin" ,glib "bin")
8244 ("intltool" ,intltool)
32ac717c
DT
8245 ("pkg-config" ,pkg-config)))
8246 (propagated-inputs
c9ea8873 8247 `(("glib" ,glib)))
32ac717c
DT
8248 (synopsis "Extensions for GNOME Shell")
8249 (description "GNOME Shell extensions modify and extend GNOME Shell
8250functionality and behavior.")
8251 (home-page "https://extensions.gnome.org/")
8252 (license license:gpl3+)))
8253
813f814a
DT
8254(define-public arc-theme
8255 (package
8256 (name "arc-theme")
37781323 8257 (version "20190917")
813f814a 8258 (source (origin
a18f8eaf
BH
8259 (method git-fetch)
8260 (uri (git-reference
8261 (url "https://github.com/NicoHood/arc-theme.git")
8262 (commit version)))
8263 (file-name (git-file-name name version))
813f814a
DT
8264 (sha256
8265 (base32
37781323 8266 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8267 (build-system gnu-build-system)
d88884fa
EF
8268 (arguments
8269 '(#:phases
8270 (modify-phases %standard-phases
8271 ;; autogen.sh calls configure at the end of the script.
8272 (replace 'bootstrap
4690e3a4
MC
8273 (lambda _ (invoke "autoreconf" "-vfi")))
8274 (add-before 'build 'set-home ;placate Inkscape
8275 (lambda _
8276 (setenv "HOME" (getcwd))
8277 #t)))))
813f814a
DT
8278 (native-inputs
8279 `(("autoconf" ,autoconf)
8280 ("automake" ,automake)
a18f8eaf
BH
8281 ("glib" ,glib "bin") ; for glib-compile-resources
8282 ("gnome-shell" ,gnome-shell)
8283 ("gtk+" ,gtk+)
8284 ("inkscape" ,inkscape)
8285 ("optipng" ,optipng)
8286 ("pkg-config" ,pkg-config)
bed24ecf 8287 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8288 (synopsis "A flat GTK+ theme with transparent elements")
8289 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
82902, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8291like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8292 (home-page "https://github.com/horst3180/arc-theme")
8293 ;; No "or later" language found.
a18f8eaf 8294 (license license:gpl3+)))
9987c57c 8295
d935e6a1 8296(define-public faba-icon-theme
9987c57c 8297 (package
d935e6a1 8298 (name "faba-icon-theme")
2eee7ee3 8299 (version "4.3")
d935e6a1
BT
8300 (source
8301 (origin
757e4027
TGR
8302 (method git-fetch)
8303 (uri (git-reference
8304 (url "https://github.com/snwh/faba-icon-theme.git")
8305 (commit (string-append "v" version))))
8306 (file-name (git-file-name name version))
d935e6a1 8307 (sha256
757e4027 8308 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8309 (build-system meson-build-system)
9987c57c 8310 (arguments
82da291a 8311 `(#:phases
9987c57c 8312 (modify-phases %standard-phases
82da291a 8313 (add-before 'configure 'disable-post-install
9987c57c 8314 (lambda _
82da291a
JL
8315 (substitute* "meson.build"
8316 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8317 (native-inputs
8318 `(("autoconf" ,autoconf)
8319 ("automake" ,automake)))
d935e6a1
BT
8320 (synopsis "Faba icon theme")
8321 (description
8322 "Faba is a minimal icon set used as a basis for other themes such as
8323Moka")
8324 (home-page "https://snwh.org/moka")
8325 (license (list license:lgpl3+
8326 license:cc-by-sa4.0))))
8327
9987c57c
DT
8328(define-public moka-icon-theme
8329 (package
8b0e4177 8330 (inherit faba-icon-theme)
9987c57c 8331 (name "moka-icon-theme")
105a3625 8332 (version "5.4.0")
8c3f2170
TGR
8333 (source
8334 (origin
8335 (method git-fetch)
8336 (uri (git-reference
8337 (url "https://github.com/snwh/moka-icon-theme.git")
8338 (commit (string-append "v" version))))
8339 (file-name (git-file-name name version))
8340 (sha256
8341 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8342 (propagated-inputs
8343 ;; Moka is based on Faba by using it as a fallback icon set instead of
8344 ;; bundling it, so we need to add it as a propagated input.
8345 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8346 (synopsis "Moka icon theme")
8347 (description "Moka is a stylized desktop icon set, designed to be clear,
8348simple and consistent.")
fedde43b
BT
8349 (license (list license:gpl3+
8350 license:cc-by-sa4.0))))
6fd8f8d6
DT
8351
8352(define-public arc-icon-theme
8353 (package
8354 (name "arc-icon-theme")
c4180240 8355 (version "20161122")
bbf66cbf
TGR
8356 (source
8357 (origin
8358 (method git-fetch)
8359 (uri (git-reference
8360 (url "https://github.com/horst3180/arc-icon-theme.git")
8361 (commit version)))
8362 (file-name (git-file-name name version))
8363 (sha256
8364 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8365 (build-system gnu-build-system)
9e1ede95
JL
8366 (arguments
8367 `(#:phases
8368 (modify-phases %standard-phases
8369 (add-after 'unpack 'disable-configure-during-bootstrap
8370 (lambda _
8371 (substitute* "autogen.sh"
8372 (("^\"\\$srcdir/configure\".*") ""))
8373 #t)))))
6fd8f8d6
DT
8374 (native-inputs
8375 `(("autoconf" ,autoconf)
8376 ("automake" ,automake)))
8377 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8378 (propagated-inputs
8379 `(("moka-icon-theme" ,moka-icon-theme)))
8380 (synopsis "Arc icon theme")
8381 (description "The Arc icon theme provides a set of icons matching the
8382style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8383the Moka icon theme.")
8384 (home-page "https://github.com/horst3180/arc-icon-theme")
8385 (license license:gpl3+)))
6064a4e8
LF
8386
8387(define-public folks
8388 (package
8389 (name "folks")
d23495fa 8390 (version "0.11.4")
6064a4e8
LF
8391 (source (origin
8392 (method url-fetch)
8393 (uri (string-append
e5f4796e 8394 "mirror://gnome/sources/folks/"
6064a4e8 8395 (version-major+minor version) "/"
e5f4796e 8396 "folks-" version ".tar.xz"))
6064a4e8
LF
8397 (sha256
8398 (base32
d23495fa 8399 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8400 (build-system glib-or-gtk-build-system)
8401 (inputs
8402 `(("bdb" ,bdb)
8403 ("dbus-glib" ,dbus-glib)
8404 ("evolution-data-server" ,evolution-data-server)
8405 ("glib" ,glib)
8406 ("libgee" ,libgee)
8407 ("telepathy-glib" ,telepathy-glib)))
8408 (native-inputs
8409 `(("gobject-introspection" ,gobject-introspection)
8410 ("intltool" ,intltool)
8411 ("pkg-config" ,pkg-config)
8412 ("vala" ,vala)))
8413 (synopsis "Library to aggregate data about people")
8414 (description "Libfolks is a library that aggregates information about people
8415from multiple sources (e.g., Telepathy connection managers for IM contacts,
8416Evolution Data Server for local contacts, libsocialweb for web service contacts,
8417etc.) to create metacontacts. It's written in Vala, which generates C code when
8418compiled.")
8419 (home-page "https://wiki.gnome.org/Projects/Folks")
8420 (license license:lgpl2.1+)))
01ea778f
LF
8421
8422(define-public gfbgraph
8423 (package
8424 (name "gfbgraph")
8425 (version "0.2.3")
8426 (source (origin
8427 (method url-fetch)
8428 (uri (string-append
237d4cf7 8429 "mirror://gnome/sources/gfbgraph/"
01ea778f 8430 (version-major+minor version) "/"
237d4cf7 8431 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8432 (sha256
8433 (base32
8434 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8435 (build-system glib-or-gtk-build-system)
8436 (arguments
8437 `(#:tests? #f ; Tests appear to require the network.
8438 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8439 #:configure-flags '("--disable-gtk-doc"
8440 "--disable-static"
8441 "--enable-introspection")))
8442 (native-inputs
8443 `(("pkg-config" ,pkg-config)
8444 ("gobject-introspection" ,gobject-introspection)))
8445 (inputs
8446 `(("json-glib" ,json-glib)
14c297fd 8447 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8448 ("rest" ,rest)))
8449 (synopsis "GLib/GObject wrapper for the Facebook API")
8450 (description "This library allows you to use the Facebook API from
8451GLib/GObject code.")
8452 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8453 (license license:lgpl2.1+)))
3920868c 8454
8455(define-public libgnomekbd
8456 (package
8457 (name "libgnomekbd")
70f2b0f9 8458 (version "3.26.1")
3920868c 8459 (source (origin
8460 (method url-fetch)
d47fa82d 8461 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8462 (version-major+minor version) "/"
d47fa82d 8463 "libgnomekbd-" version ".tar.xz"))
3920868c 8464 (sha256
8465 (base32
70f2b0f9 8466 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8467 (build-system gnu-build-system)
8468 (native-inputs
8469 `(("pkg-config" ,pkg-config)
8470 ("glib" ,glib "bin")
8471 ("intltool" ,intltool)))
8472 (propagated-inputs
8473 ;; Referred to in .h files and .pc.
8474 `(("glib" ,glib)
8475 ("gtk+" ,gtk+)
8476 ("libxklavier" ,libxklavier)))
8477 (home-page "https://www.gnome.org")
8478 (synopsis "GNOME keyboard configuration library")
8479 (description
8480 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8481environment, which can notably display keyboard layouts.")
8482 (license license:lgpl2.0+)))
85327d0d 8483
8484;;; This package is no longer maintained:
8485;;; https://wiki.gnome.org/Attic/LibUnique
8486;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8487;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8488(define-public libunique
8489 (package
8490 (name "libunique")
8491 (version "3.0.2")
8492 (source (origin
8493 (method url-fetch)
8494 (uri (string-append "mirror://gnome/sources/" name "/"
8495 (version-major+minor version) "/"
8496 name "-" version ".tar.xz"))
8497 (sha256
8498 (base32
8499 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8500 (build-system glib-or-gtk-build-system)
8501 (arguments
8502 `(#:configure-flags '("--disable-static"
8503 "--disable-dbus" ; use gdbus
8504 "--enable-introspection")))
8505 (native-inputs
8506 `(("pkg-config" ,pkg-config)
8507 ("gobject-introspection" ,gobject-introspection)
8508 ("glib:bin" ,glib "bin")
8509 ("gtk-doc" ,gtk-doc)))
8510 (propagated-inputs
8511 ;; Referred to in .h files and .pc.
8512 `(("gtk+" ,gtk+)))
8513 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8514 (synopsis "Library for writing single instance applications")
8515 (description
8516 "Libunique is a library for writing single instance applications. If you
8517launch a single instance application twice, the second instance will either just
8518quit or will send a message to the running instance. Libunique makes it easy to
8519write this kind of application, by providing a base class, taking care of all
8520the IPC machinery needed to send messages to a running instance, and also
8521handling the startup notification side.")
8522 (license license:lgpl2.1+)))
54021cd8
RS
8523
8524(define-public gnome-calculator
8525 (package
8526 (name "gnome-calculator")
07ace641 8527 (version "3.32.2")
54021cd8
RS
8528 (source
8529 (origin
8530 (method url-fetch)
8531 (uri (string-append "mirror://gnome/sources/" name "/"
8532 (version-major+minor version) "/"
8533 name "-" version ".tar.xz"))
8534 (sha256
8535 (base32
07ace641 8536 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8537 (build-system meson-build-system)
8538 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8539 (native-inputs
8540 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8541 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8542 ("intltool" ,intltool)
8543 ("itstool" ,itstool)
2d475910 8544 ("vala" ,vala)
54021cd8
RS
8545 ("pkg-config" ,pkg-config)))
8546 (inputs
112e9083 8547 `(("glib" ,glib)
07ace641 8548 ("gtksourceview" ,gtksourceview)
54021cd8 8549 ("libsoup" ,libsoup)
112e9083 8550 ("libxml2" ,libxml2)
2c2da7ec 8551 ("mpc" ,mpc)
54021cd8
RS
8552 ("mpfr" ,mpfr)))
8553 (home-page "https://wiki.gnome.org/Apps/Calculator")
8554 (synopsis "Desktop calculator")
8555 (description
8556 "Calculator is an application that solves mathematical equations and
8557is suitable as a default application in a Desktop environment.")
8558 (license license:gpl3)))
0bd69759
RS
8559
8560(define-public xpad
8561 (package
8562 (name "xpad")
c85626bb 8563 (version "5.1.0")
0bd69759
RS
8564 (source
8565 (origin
8566 (method url-fetch)
08fda9c6
R
8567 (uri (string-append "https://launchpad.net/xpad/trunk/"
8568 version "/+download/"
0bd69759
RS
8569 name "-" version ".tar.bz2"))
8570 (sha256
8571 (base32
c85626bb 8572 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8573 (build-system gnu-build-system)
8574 (native-inputs
08fda9c6
R
8575 `(("autoconf" ,autoconf)
8576 ("automake" ,automake)
8577 ("gtk+:bin" ,gtk+ "bin")
8578 ("intltool" ,intltool)
0bd69759
RS
8579 ("pkg-config" ,pkg-config)))
8580 (inputs
c72647fb 8581 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8582 ("libsm" ,libsm)))
8583 (home-page "https://wiki.gnome.org/Apps/Xpad")
8584 (synopsis "Virtual sticky note")
8585 (description
8586 "Xpad is a sticky note that strives to be simple, fault tolerant,
8587and customizable. Xpad consists of independent pad windows, each is
8588basically a text box in which notes can be written.")
8589 (license license:gpl3+)))
3ad7dce1
RS
8590
8591(define-public gucharmap
c60063ea
RW
8592 (let ((unicode-files
8593 '(("Blocks.txt"
1f8b5515 8594 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8595 ("DerivedAge.txt"
1f8b5515 8596 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8597 ("NamesList.txt"
1f8b5515 8598 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8599 ("Scripts.txt"
1f8b5515 8600 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8601 ("UnicodeData.txt"
1f8b5515 8602 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8603 ("Unihan.zip"
1f8b5515 8604 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8605 (package
8606 (name "gucharmap")
1f8b5515 8607 (version "12.0.1")
c60063ea
RW
8608 (source
8609 (origin
8610 (method url-fetch)
8611 (uri (string-append "mirror://gnome/sources/" name "/"
8612 (version-major+minor version) "/"
8613 name "-" version ".tar.xz"))
8614 (sha256
8615 (base32
1f8b5515 8616 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8617 (build-system glib-or-gtk-build-system)
8618 (arguments
8619 `(#:modules ((ice-9 match)
8620 (guix build glib-or-gtk-build-system)
8621 (guix build utils))
8622 #:configure-flags
8623 (list "--with-unicode-data=../unicode-data")
8624 #:phases
8625 (modify-phases %standard-phases
8626 (add-after 'unpack 'prepare-unicode-data
8627 (lambda* (#:key inputs #:allow-other-keys)
8628 (mkdir-p "../unicode-data")
8629 (with-directory-excursion "../unicode-data"
8630 (for-each (match-lambda
8631 ((file _)
8632 (install-file (assoc-ref inputs file) ".")))
8633 ',unicode-files))
8634 #t)))))
8635 (native-inputs
8636 `(("desktop-file-utils" ,desktop-file-utils)
8637 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8638 ("gobject-introspection" ,gobject-introspection)
8639 ("intltool" ,intltool)
8640 ("itstool" ,itstool)
8641 ("pkg-config" ,pkg-config)
8642 ,@(map (match-lambda
8643 ((file hash)
8644 `(,file
8645 ,(origin
8646 (method url-fetch)
8647 (uri (string-append
1f8b5515 8648 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8649 file))
8650 (sha256 (base32 hash))))))
8651 unicode-files)
8652 ("unzip" ,unzip)))
8653 (inputs
8654 `(("gtk+" ,gtk+)
8655 ("xmllint" ,libxml2)))
8656 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8657 (synopsis "Unicode character picker and font browser")
8658 (description
8659 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8660characters and categories for the installed fonts, and to examine their
8661detailed properties. It is an easy way to find the character you might
8662only know by its Unicode name or code point.")
c60063ea 8663 (license license:gpl3+))))
04ce840a
RS
8664
8665(define-public bluefish
8666 (package
8667 (name "bluefish")
290fe81d 8668 (version "2.2.11")
04ce840a
RS
8669 (source
8670 (origin
8671 (method url-fetch)
8672 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8673 "bluefish-" version ".tar.gz"))
04ce840a 8674 (sha256
290fe81d 8675 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8676 (build-system gnu-build-system)
8677 (native-inputs
8678 `(("desktop-file-utils" ,desktop-file-utils)
8679 ("intltool" ,intltool)
8680 ("pkg-config" ,pkg-config)))
8681 (inputs
8682 `(("enchant" ,enchant)
8683 ("gtk+" ,gtk+)
290fe81d 8684 ("python" ,python-wrapper)
04ce840a
RS
8685 ("xmllint" ,libxml2)
8686 ("gucharmap" ,gucharmap)))
8687 (home-page "http://bluefish.openoffice.nl")
8688 (synopsis "Web development studio")
8689 (description
8690 "Bluefish is an editor targeted towards programmers and web developers,
8691with many options to write web sites, scripts and other code.
8692Bluefish supports many programming and markup languages.")
8693 (license license:gpl3+)))
1f6a73ee
RS
8694
8695(define-public gnome-system-monitor
8696 (package
8697 (name "gnome-system-monitor")
083cffaf 8698 (version "3.32.1")
1f6a73ee
RS
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append "mirror://gnome/sources/" name "/"
8703 (version-major+minor version) "/"
8704 name "-" version ".tar.xz"))
8705 (sha256
8706 (base32
083cffaf 8707 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8708 (build-system meson-build-system)
8709 (arguments
8710 '(#:glib-or-gtk? #t
8711 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8712 (native-inputs
8713 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8714 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8715 ("intltool" ,intltool)
8716 ("itstool" ,itstool)
8717 ("libgtop" ,libgtop)
4985d9aa 8718 ("polkit" ,polkit)
1f6a73ee
RS
8719 ("pkg-config" ,pkg-config)))
8720 (inputs
8721 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8722 ("gtk+" ,gtk+)
8723 ("gtkmm" ,gtkmm)
8724 ("librsvg" ,librsvg)
4985d9aa
RW
8725 ("libxml2" ,libxml2)
8726 ("libwnck" ,libwnck)))
1f6a73ee
RS
8727 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8728 (synopsis "Process viewer and system resource monitor for GNOME")
8729 (description
8730 "GNOME System Monitor is a GNOME process viewer and system monitor with
8731an attractive, easy-to-use interface. It has features, such as a tree view
8732for process dependencies, icons for processes, the ability to hide processes,
8733graphical time histories of CPU/memory/swap usage and the ability to
8734kill/reinice processes.")
8735 (license license:gpl2+)))
3e00ac47
SB
8736
8737(define-public python-pyatspi
8738 (package
8739 (name "python-pyatspi")
4f937a32 8740 (version "2.34.0")
3e00ac47
SB
8741 (source (origin
8742 (method url-fetch)
8743 (uri (string-append
8744 "mirror://gnome/sources/pyatspi/"
8745 (version-major+minor version)
8746 "/pyatspi-" version ".tar.xz"))
8747 (sha256
8748 (base32
4f937a32 8749 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8750 (build-system gnu-build-system)
b95af3f6
JL
8751 (arguments
8752 `(#:phases
8753 (modify-phases %standard-phases
8754 (add-before 'build 'fix-atk-load
8755 (lambda _
8756 (substitute* "pyatspi/__init__.py"
8757 (("from gi.repository import Atspi")
8758 "gi.require_version('Gtk', '3.0')
8759from gi.repository import Gtk
8760from gi.repository import Atspi"))
8761 #t)))))
3e00ac47
SB
8762 (native-inputs
8763 `(("pkg-config" ,pkg-config)))
8764 (inputs
8765 `(("python" ,python)
8766 ("python-pygobject" ,python-pygobject)))
8767 (synopsis "Python client bindings for D-Bus AT-SPI")
8768 (home-page "https://wiki.linuxfoundation.org/accessibility\
8769/atk/at-spi/at-spi_on_d-bus")
8770 (description
8771 "This package includes a python client library for the AT-SPI D-Bus
8772accessibility infrastructure.")
8773 (license license:lgpl2.0)
8774 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8775
8776(define-public orca
8777 (package
8778 (name "orca")
089e8585 8779 (version "3.32.0")
53201c0d
SB
8780 (source (origin
8781 (method url-fetch)
8782 (uri (string-append
8783 "mirror://gnome/sources/" name "/"
8784 (version-major+minor version) "/"
8785 name "-" version ".tar.xz"))
8786 (sha256
8787 (base32
089e8585 8788 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8789 (build-system glib-or-gtk-build-system)
8790 (arguments
8791 '(#:phases
8792 (modify-phases %standard-phases
8793 (add-before 'configure 'qualify-xkbcomp
8794 (lambda* (#:key inputs #:allow-other-keys)
8795 (let ((xkbcomp (string-append
8796 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8797 (substitute* "src/orca/orca.py"
8798 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8799 #t))
8800 (add-after 'install 'wrap-orca
8801 (lambda* (#:key outputs #:allow-other-keys)
8802 (let* ((out (assoc-ref outputs "out"))
8803 (prog (string-append out "/bin/orca")))
8804 (wrap-program prog
8805 `("GI_TYPELIB_PATH" ":" prefix
8806 (,(getenv "GI_TYPELIB_PATH")))
8807 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8808 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8809 `("PYTHONPATH" ":" prefix
8810 (,(getenv "PYTHONPATH")))))
8811 #t)))))
8812 (native-inputs
8813 `(("intltool" ,intltool)
8814 ("itstool" ,itstool)
8815 ("pkg-config" ,pkg-config)
8816 ("xmllint" ,libxml2)))
8817 (inputs
8818 `(("at-spi2-atk" ,at-spi2-atk)
8819 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8820 ("gstreamer" ,gstreamer)
8821 ("gst-plugins-base" ,gst-plugins-base)
8822 ("gst-plugins-good" ,gst-plugins-good)
8823 ("gtk+" ,gtk+)
8824 ("python" ,python)
8825 ("python-pygobject" ,python-pygobject)
8826 ("python-pyatspi" ,python-pyatspi)
8827 ("python-speechd" ,speech-dispatcher)
8828 ("xkbcomp" ,xkbcomp)))
8829 (synopsis
8830 "Screen reader for individuals who are blind or visually impaired")
8831 (home-page "https://wiki.gnome.org/Projects/Orca")
8832 (description
8833 "Orca is a screen reader that provides access to the graphical desktop
8834via speech and refreshable braille. Orca works with applications and toolkits
8835that support the Assistive Technology Service Provider Interface (AT-SPI).")
8836 (license license:lgpl2.1+)))
411ba511
LC
8837
8838(define-public gspell
8839 (package
8840 (name "gspell")
7a6bbe9b 8841 (version "1.8.2")
411ba511
LC
8842 (source (origin
8843 (method url-fetch)
8844 (uri (string-append "mirror://gnome/sources/" name "/"
8845 (version-major+minor version) "/"
8846 name "-" version ".tar.xz"))
8847 (sha256
8848 (base32
7a6bbe9b 8849 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8850 (patches (search-patches "gspell-dash-test.patch"))))
8851 (build-system glib-or-gtk-build-system)
8852 (arguments
d0f50164 8853 '(#:configure-flags (list "--enable-vala")
8854 #:phases
411ba511
LC
8855 (modify-phases %standard-phases
8856 (add-before 'check 'pre-check
8857 (lambda* (#:key inputs #:allow-other-keys)
8858 ;; Tests require a running X server.
8859 (system "Xvfb :1 &")
8860 (setenv "DISPLAY" ":1")
8861
8862 ;; For the missing /etc/machine-id.
8863 (setenv "DBUS_FATAL_WARNINGS" "0")
8864
8865 ;; Allow Enchant and its Aspell backend to find the en_US
8866 ;; dictionary.
8867 (setenv "ASPELL_DICT_DIR"
8868 (string-append (assoc-ref inputs "aspell-dict-en")
8869 "/lib/aspell"))
8870 #t)))))
8871 (inputs
eccd35be 8872 `(("gtk+" ,gtk+)
a801ae4c
TGR
8873 ("glib" ,glib)
8874 ("iso-codes" ,iso-codes)))
411ba511
LC
8875 (native-inputs
8876 `(("glib" ,glib "bin")
26ba3f07 8877 ("gobject-introspection" ,gobject-introspection)
411ba511 8878 ("pkg-config" ,pkg-config)
d0f50164 8879 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
8880 ("xmllint" ,libxml2)
8881
8882 ;; For tests.
a801ae4c 8883 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8884 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8885 (propagated-inputs
9b1bb757 8886 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8887 (home-page "https://wiki.gnome.org/Projects/gspell")
8888 (synopsis "GNOME's alternative spell checker")
8889 (description
8890 "gspell provides a flexible API to add spell-checking to a GTK+
8891application. It provides a GObject API, spell-checking to text entries and
8892text views, and buttons to choose the language.")
8893 (license license:gpl2+)))
d1d739fa
CM
8894
8895(define-public gnome-planner
8896 (package
8897 (name "gnome-planner")
8898 (version "0.14.6")
8899 (source (origin
8900 (method url-fetch)
8901 (uri (string-append "mirror://gnome/sources/planner/"
8902 (version-major+minor version) "/planner-"
8903 version ".tar.xz"))
8904 (sha256
8905 (base32
8906 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8907 (build-system glib-or-gtk-build-system)
8908 (arguments
8909 ;; Disable the Python bindings because the Planner program functions
8910 ;; without them, and (as of 2017-06-13) we have not packaged all of
8911 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8912 `(#:configure-flags
8913 (list "--disable-python"
8914 ,@(if (string=? "aarch64-linux" (%current-system))
8915 '("--build=aarch64-unknown-linux-gnu")
8916 '()))))
d1d739fa
CM
8917 (inputs
8918 `(("libgnomecanvas" ,libgnomecanvas)
8919 ("libgnomeui" ,libgnomeui)
8920 ("libglade" ,libglade)
8921 ("gnome-vfs" ,gnome-vfs)
8922 ("gconf" ,gconf)
8923 ("libxml2" ,libxml2)
8924 ("libxslt" ,libxslt)
8925 ("gtk+" ,gtk+)
8926 ("glib" ,glib)))
8927 (native-inputs
8928 `(("intltool" ,intltool)
8929 ("scrollkeeper" ,scrollkeeper)
8930 ("pkg-config" ,pkg-config)))
8931 (home-page "https://wiki.gnome.org/Apps/Planner")
8932 (synopsis "Project management software for the GNOME desktop")
8933 (description
8934 "GNOME Planner is a project management tool based on the Work Breakdown
8935Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8936the resources, tasks, and constraints that you define, Planner generates
8937various views into a project. For example, Planner can show a Gantt chart of
8938the project. It can show a detailed summary of tasks including their
8939duration, cost, and current progress. It can also show a report of resource
8940utilization that highlights under-utilized and over-utilized resources. These
8941views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8942 (license license:gpl2+)))
64fce637
RS
8943
8944(define-public lollypop
8945 (package
8946 (name "lollypop")
24b5d8f7 8947 (version "1.2.32")
64fce637
RS
8948 (source
8949 (origin
8950 (method url-fetch)
24b5d8f7 8951 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 8952 "lollypop-" version ".tar.xz"))
64fce637 8953 (sha256
24b5d8f7 8954 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 8955 (build-system meson-build-system)
64fce637 8956 (arguments
7a9543d7
TGR
8957 `(#:imported-modules
8958 (,@%meson-build-system-modules
8959 (guix build python-build-system))
8960 #:modules
8961 ((guix build meson-build-system)
8962 ((guix build python-build-system) #:prefix python:)
8963 (guix build utils))
aa498fc0 8964 #:glib-or-gtk? #t
7a9543d7 8965 #:tests? #f ; no test suite
5fc9b6c1
EF
8966 #:phases
8967 (modify-phases %standard-phases
5fc9b6c1
EF
8968 (add-after 'install 'wrap-program
8969 (lambda* (#:key outputs #:allow-other-keys)
8970 (let ((out (assoc-ref outputs "out"))
8971 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8972 (wrap-program (string-append out "/bin/lollypop")
8973 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8974 #t))
8ac8b3b3 8975 (add-after 'install 'wrap-python
7a9543d7 8976 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
8977 (native-inputs
8978 `(("intltool" ,intltool)
8979 ("itstool" ,itstool)
aa498fc0
TD
8980 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8981 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8982 ("pkg-config" ,pkg-config)))
8983 (inputs
8984 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8985 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8986 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8987 ("libnotify" ,libnotify)
8988 ("libsecret" ,libsecret)
8989 ("libsoup" ,libsoup)
8990 ("python" ,python)
8991 ("python-beautifulsoup4" ,python-beautifulsoup4)
8992 ("python-gst" ,python-gst)
d029afdd 8993 ("python-pil" ,python-pillow)
64fce637 8994 ("python-pycairo" ,python-pycairo)
7460f346 8995 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8996 ("python-pylast" ,python-pylast)
8997 ("totem-pl-parser" ,totem-pl-parser)
8998 ("webkitgtk" ,webkitgtk)))
8999 (propagated-inputs
9000 `(;; gst-plugins-base is required to start Lollypop,
9001 ;; the others are required to play streaming.
64fce637
RS
9002 ("gst-plugins-good" ,gst-plugins-good)
9003 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9004 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9005 (synopsis "GNOME music playing application")
9006 (description
9007 "Lollypop is a music player designed to play well with GNOME desktop.
9008Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9009from artists and tracks from the web. It also fetches cover artworks
9010automatically and it can stream songs from online music services and charts.")
9011 (license license:gpl3+)))
d831d49d
AW
9012
9013(define-public gnome-video-effects
9014 (package
9015 (name "gnome-video-effects")
9016 (version "0.4.3")
9017 (source (origin
9018 (method url-fetch)
9019 (uri (string-append "mirror://gnome/sources/" name "/"
9020 (version-major+minor version) "/" name "-"
9021 version ".tar.xz"))
9022 (sha256
9023 (base32
9024 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9025 (build-system glib-or-gtk-build-system)
9026 (arguments
9027 `(#:out-of-source? #f))
9028 (native-inputs
9029 `(("glib:bin" ,glib "bin")
9030 ("intltool" ,intltool)
9031 ("gettext" ,gettext-minimal)
9032 ("pkg-config" ,pkg-config)))
9033 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9034 (synopsis "Video effects for Cheese and other GNOME applications")
9035 (description
9036 "A collection of GStreamer video filters and effects to be used in
9037photo-booth-like software, such as Cheese.")
9038 (license license:gpl2+)))
3511c780
AW
9039
9040(define-public cheese
9041 (package
9042 (name "cheese")
dd33b337 9043 (version "3.32.1")
3511c780
AW
9044 (source (origin
9045 (method url-fetch)
9046 (uri (string-append "mirror://gnome/sources/" name "/"
9047 (version-major+minor version) "/" name "-"
9048 version ".tar.xz"))
9049 (sha256
9050 (base32
dd33b337 9051 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
9052 (arguments
9053 ;; Tests require GDK.
9054 `(#:tests? #f
9055 #:phases
9056 (modify-phases %standard-phases
9057 (add-before 'install 'skip-gtk-update-icon-cache
9058 (lambda _
9059 ;; Don't create 'icon-theme.cache'
9060 (substitute* "Makefile"
9061 (("gtk-update-icon-cache") (which "true")))
9062 #t))
9063 (add-after 'install 'wrap-cheese
9064 (lambda* (#:key inputs outputs #:allow-other-keys)
9065 (let ((out (assoc-ref outputs "out"))
9066 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9067 (wrap-program (string-append out "/bin/cheese")
9068 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9069 #t)))))
9070 (build-system glib-or-gtk-build-system)
9071 (native-inputs
9072 `(("glib:bin" ,glib "bin")
9073 ("intltool" ,intltool)
9074 ("itstool" ,itstool)
9075 ("libxml2" ,libxml2)
9076 ("pkg-config" ,pkg-config)
9077 ("vala" ,vala)))
9078 (propagated-inputs
6a19f03e
RW
9079 `(("gnome-video-effects" ,gnome-video-effects)
9080 ("clutter" ,clutter)
3511c780
AW
9081 ("clutter-gst" ,clutter-gst)
9082 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9083 ("libcanberra" ,libcanberra)
3511c780
AW
9084 ("gdk-pixbuf" ,gdk-pixbuf)
9085 ("glib" ,glib)
6a19f03e
RW
9086 ("gstreamer" ,gstreamer)))
9087 (inputs
9088 `(("gnome-desktop" ,gnome-desktop)
3511c780 9089 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9090 ("gst-plugins-base" ,gst-plugins-base)
9091 ("gst-plugins-bad" ,gst-plugins-bad)
9092 ("gtk+" ,gtk+)
3511c780
AW
9093 ("libx11" ,libx11)
9094 ("libxtst" ,libxtst)))
9095 (home-page "https://wiki.gnome.org/Apps/Cheese")
9096 (synopsis "Webcam photo booth software for GNOME")
9097 (description
9098 "Cheese uses your webcam to take photos and videos. Cheese can also
9099apply fancy special effects and lets you share the fun with others.")
9100 (license license:gpl2+)))
3c5dbd2b 9101
9102(define-public sound-juicer
9103 (package
9104 (name "sound-juicer")
9105 (version "3.24.0")
9106 (source
9107 (origin
9108 (method url-fetch)
9109 (uri (string-append "mirror://gnome/sources/" name "/"
9110 (version-major+minor version) "/"
9111 name "-" version ".tar.xz"))
9112 (sha256
9113 (base32
9114 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9115 (build-system glib-or-gtk-build-system)
9116 (native-inputs
9117 `(("desktop-file-utils" ,desktop-file-utils)
9118 ("intltool" ,intltool)
9119 ("itstool" ,itstool)
9120 ("pkg-config" ,pkg-config)
9121 ("xmllint" ,libxml2)))
9122 (inputs
9123 `(("gtk+" ,gtk+)
9124 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9125 ("gstreamer" ,gstreamer)
9126 ("gst-plugins-base" ,gst-plugins-base)
9127 ("gst-plugins-good" ,gst-plugins-good)
9128 ("iso-codes" ,iso-codes)
9129 ("libbrasero-media3" ,brasero)
9130 ("libcanberra" ,libcanberra)
9131 ("libdiscid" ,libdiscid)
9132 ("libmusicbrainz" ,libmusicbrainz)
9133 ("neon" ,neon)))
9134 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9135 (synopsis "Audio music cd ripper")
9136 (description "Sound Juicer extracts audio from compact discs and convert it
9137into audio files that a personal computer or digital audio player can play.
9138It supports ripping to any audio codec supported by a GStreamer plugin, such as
9139mp3, Ogg Vorbis and FLAC")
9140 (license license:gpl2+)))
4e3fdeb7 9141
0d3f1708
CB
9142(define-public soundconverter
9143 (package
9144 (name "soundconverter")
fa75a213 9145 (version "3.0.1")
0d3f1708
CB
9146 (source
9147 (origin
9148 (method url-fetch)
9149 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9150 version "/+download/"
9151 "soundconverter-" version ".tar.xz"))
9152
9153 (sha256
fa75a213 9154 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9155 (patches
9156 (search-patches
9157 "soundconverter-remove-gconf-dependency.patch"))))
9158 (build-system glib-or-gtk-build-system)
9159 (arguments
9160 `(#:imported-modules ((guix build python-build-system)
9161 (guix build glib-or-gtk-build-system)
9162 ,@%gnu-build-system-modules)
9163
9164 #:modules ((guix build glib-or-gtk-build-system)
9165 (guix build utils)
9166 ((guix build gnu-build-system) #:prefix gnu:)
9167 ((guix build python-build-system) #:prefix python:))
9168
9169 #:phases
9170 (modify-phases %standard-phases
0d3f1708
CB
9171 (add-after 'install 'wrap-soundconverter-for-python
9172 (assoc-ref python:%standard-phases 'wrap))
9173 (add-after 'install 'wrap-soundconverter
9174 (lambda* (#:key inputs outputs #:allow-other-keys)
9175 (let ((out (assoc-ref outputs "out"))
9176 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9177 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9178 (wrap-program (string-append out "/bin/soundconverter")
9179 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9180 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9181 #t)))))
9182 (native-inputs
9183 `(("intltool" ,intltool)
9184 ("pkg-config" ,pkg-config)
9185 ("glib:bin" ,glib "bin")))
9186 (inputs
9187 `(("gtk+" ,gtk+)
9188 ("python" ,python)
9189 ("python-pygobject" ,python-pygobject)
9190 ("gstreamer" ,gstreamer)
9191 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9192 (home-page "https://soundconverter.org/")
0d3f1708
CB
9193 (synopsis "Convert between audio formats with a graphical interface")
9194 (description
9195 "SoundConverter supports converting between many audio formats including
9196Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9197configurable file renaming. ")
9198 (license license:gpl3)))
9199
4e3fdeb7 9200(define-public workrave
89f2d736
TGR
9201 (package
9202 (name "workrave")
1b9e1648 9203 (version "1.10.37")
89f2d736
TGR
9204 (source
9205 (origin
9206 (method git-fetch)
9207 (uri (git-reference
9208 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9209 (commit (string-append "v" (string-map
9210 (match-lambda (#\. #\_) (chr chr))
9211 version)))))
89f2d736
TGR
9212 (file-name (git-file-name name version))
9213 (sha256
1b9e1648 9214 (base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13"))))
89f2d736 9215 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9216 (arguments
9217 ;; The only tests are maintainer tests (in po/), which fail.
9218 `(#:tests? #f))
d1c96847
MC
9219 (inputs `(("glib" ,glib)
9220 ("gtk+" ,gtk+)
9221 ("gdk-pixbuf" ,gdk-pixbuf)
9222 ("gtkmm" ,gtkmm)
9223 ("glibmm" ,glibmm)
9224 ("libx11" ,libx11)
9225 ("libxtst" ,libxtst)
9226 ("dconf" ,dconf)
9227 ("libice" ,libice)
9228 ("libsm" ,libsm)
9229 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9230 (native-inputs `(("boost" ,boost)
89f2d736 9231 ("pkg-config" ,pkg-config)
f2d97d57 9232 ("gettext" ,gettext-minimal)
89f2d736
TGR
9233 ("autoconf" ,autoconf)
9234 ("autoconf-archive" , autoconf-archive)
9235 ("automake" ,automake)
9236 ("libtool" ,libtool)
9237 ("intltool" ,intltool)
89f2d736 9238 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9239 ("python3" ,python-3)
9240 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9241 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9242 (description
9243 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9244repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9245micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9246 (home-page "http://www.workrave.org")
9247 (license license:gpl3+)))
312afa7d
LC
9248
9249(define-public ghex
9250 (package
9251 (name "ghex")
3748992a 9252 (version "3.18.4")
312afa7d
LC
9253 (source (origin
9254 (method url-fetch)
2fbab848 9255 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9256 (version-major+minor version) "/"
2fbab848 9257 "ghex-" version ".tar.xz"))
312afa7d
LC
9258 (sha256
9259 (base32
3748992a
KK
9260 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9261 (build-system meson-build-system)
9262 (arguments
9263 '(#:glib-or-gtk? #t
9264 #:phases
9265 (modify-phases %standard-phases
9266 (add-after 'unpack 'skip-gtk-update-icon-cache
9267 ;; Don't create 'icon-theme.cache'.
9268 (lambda _
9269 (substitute* "meson_post_install.py"
9270 (("gtk-update-icon-cache") (which "true")))
9271 #t)))))
312afa7d
LC
9272 (native-inputs
9273 `(("pkg-config" ,pkg-config)
3748992a 9274 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9275 ("gnome-common" ,gnome-common)
9276 ("which" ,which)
9277 ("intltool" ,intltool)
9278 ("yelp-tools" ,yelp-tools)
2fbab848 9279 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9280 (inputs
9281 `(("atk" ,atk)
9282 ("gtk" ,gtk+)))
9283 (synopsis "GNOME hexadecimal editor")
9284 (description "The GHex program can view and edit files in two ways:
9285hexadecimal or ASCII. It is useful for editing binary files in general.")
9286 (home-page "https://wiki.gnome.org/Apps/Ghex")
9287 (license license:gpl2)))
4b2ed6c2
RW
9288
9289(define-public libdazzle
9290 (package
9291 (name "libdazzle")
64fa66ba 9292 (version "3.33.90")
4b2ed6c2
RW
9293 (source (origin
9294 (method url-fetch)
687b4909 9295 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9296 (version-major+minor version) "/"
687b4909 9297 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9298 (sha256
9299 (base32
64fa66ba 9300 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
9301 (build-system meson-build-system)
9302 (arguments
9303 `(#:phases
9304 (modify-phases %standard-phases
4b2ed6c2
RW
9305 (add-before 'check 'pre-check
9306 (lambda _
9307 ;; Tests require a running X server.
9308 (system "Xvfb :1 &")
9309 (setenv "DISPLAY" ":1")
9310 #t)))))
9311 (native-inputs
687b4909 9312 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9313 ("pkg-config" ,pkg-config)
687b4909 9314 ;; For tests.
ff337525 9315 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9316 (inputs
9317 `(("glib" ,glib)
9318 ("gobject-introspection" ,gobject-introspection)
9319 ("gtk+" ,gtk+)
9320 ("vala" ,vala)))
9321 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9322 (synopsis "Companion library to GObject and Gtk+")
9323 (description "The libdazzle library is a companion library to GObject and
9324Gtk+. It provides various features that the authors wish were in the
9325underlying library but cannot for various reasons. In most cases, they are
9326wildly out of scope for those libraries. In other cases, they are not quite
9327generic enough to work for everyone.")
9328 (license license:gpl3+)))
7d3bb433
RW
9329
9330(define-public evolution
9331 (package
9332 (name "evolution")
06141f83 9333 (version "3.32.4")
7d3bb433
RW
9334 (source (origin
9335 (method url-fetch)
9336 (uri (string-append "mirror://gnome/sources/evolution/"
9337 (version-major+minor version) "/"
9338 "evolution-" version ".tar.xz"))
9339 (sha256
9340 (base32
06141f83 9341 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
9342 (build-system cmake-build-system)
9343 (arguments
5229bea1
KK
9344 `(#:imported-modules (,@%cmake-build-system-modules
9345 (guix build glib-or-gtk-build-system))
9346 #:modules ((guix build cmake-build-system)
9347 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9348 (guix build utils))
9349 #:configure-flags
7d3bb433 9350 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9351 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9352 ; in four years and cannot be built.
5229bea1
KK
9353 #:phases
9354 (modify-phases %standard-phases
9355 ;; The build system attempts to install user interface modules to the
9356 ;; output directory of the "evolution-data-server" package. This
9357 ;; change redirects that change.
9358 (add-after 'unpack 'patch-ui-module-dir
9359 (lambda* (#:key outputs #:allow-other-keys)
9360 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9361 (("\\$\\{edsuimoduledir\\}")
9362 (string-append (assoc-ref outputs "out")
9363 "/lib/evolution-data-server/ui-modules")))
9364 #t))
9365 (add-after 'install 'glib-or-gtk-compile-schemas
9366 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9367 (add-after 'install 'glib-or-gtk-wrap
9368 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9369 (native-inputs
ad6e168b 9370 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9371 ("pkg-config" ,pkg-config)
9372 ("intltool" ,intltool)
9373 ("itstool" ,itstool)))
9374 (inputs
9375 `(("enchant" ,enchant)
9376 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9377 ("gcr" ,gcr)
ad6e168b 9378 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9379 ("gnome-autoar" ,gnome-autoar)
9380 ("gnome-desktop" ,gnome-desktop)
9381 ("gtkspell3" ,gtkspell3)
9382 ("highlight" ,highlight)
9383 ("libcanberra" ,libcanberra)
b63c06f1 9384 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9385 ("libgweather" ,libgweather)
9386 ("libnotify" ,libnotify)
9387 ("libsoup" ,libsoup)
9388 ("nss" ,nss)
9389 ("openldap" ,openldap)
9390 ("webkitgtk" ,webkitgtk)
9391 ("ytnef" ,ytnef)))
9392 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9393 (synopsis "Manage your email, contacts and schedule")
9394 (description "Evolution is a personal information management application
9395that provides integrated mail, calendaring and address book
9396functionality.")
9397 ;; See COPYING for details.
23dbe621 9398 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9399 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9400 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9401
9402(define-public gthumb
9403 (package
9404 (name "gthumb")
8280676b 9405 (version "3.8.2")
169d63f5
AT
9406 (source (origin
9407 (method url-fetch)
9408 (uri (string-append "mirror://gnome/sources/gthumb/"
9409 (version-major+minor version) "/"
9410 "gthumb-" version ".tar.xz"))
9411 (sha256
9412 (base32
8280676b 9413 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9414 (build-system meson-build-system)
9415 (arguments
9416 `(#:glib-or-gtk? #t
9417 #:configure-flags
9418 ;; Ensure the RUNPATH contains all installed library locations.
9419 (list (string-append "-Dc_link_args=-Wl,-rpath="
9420 (assoc-ref %outputs "out")
9421 "/lib/gthumb/extensions")
9422 (string-append "-Dcpp_link_args=-Wl,-rpath="
9423 (assoc-ref %outputs "out")
9424 "/lib/gthumb/extensions"))))
9425 (native-inputs
9426 `(("pkg-config" ,pkg-config)
9427 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9428 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9429 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9430 ("intltool" ,intltool)
9431 ("itstool" ,itstool)))
9432 (inputs
9433 `(("exiv2" ,exiv2)
9434 ("gtk" ,gtk+)
9435 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9436 ("gstreamer" ,gstreamer)
9437 ("clutter" ,clutter)
9438 ("clutter-gst" ,clutter-gst)
9439 ("clutter-gtk" ,clutter-gtk)
9440 ("libjpeg" ,libjpeg)
9441 ("libtiff" ,libtiff)
9442 ("libraw" ,libraw)))
9443 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9444 (synopsis "GNOME image viewer and browser")
9445 (description "GThumb is an image viewer, browser, organizer, editor and
9446advanced image management tool")
9447 (license license:gpl2+)))
08be02be
AT
9448
9449(define-public terminator
9450 (package
9451 (name "terminator")
9452 (version "1.91")
9453 (source (origin
9454 (method url-fetch)
9455 (uri (string-append "https://launchpad.net/" name "/"
9456 "gtk3/" version "/" "+download/"
9457 name "-" version ".tar.gz"))
9458 (sha256
9459 (base32
9460 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9461 (build-system python-build-system)
9462 (native-inputs
9463 `(("intltool" ,intltool)
9464 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9465 ("gettext" ,gettext-minimal)
9466 ("pkg-config" ,pkg-config)))
9467 (inputs
9468 `(("cairo" ,cairo)
9469 ("gobject-introspection" ,gobject-introspection)
96681d4b 9470 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9471 ("python2-pycairo" ,python2-pycairo)
9472 ("python2-pygobject" ,python2-pygobject)
9473 ("python2-psutil" ,python2-psutil)
9474 ("vte" ,vte)))
9475 (arguments
96681d4b
TGR
9476 `(#:python ,python-2 ; Python 3 isn't supported
9477 #:imported-modules ((guix build glib-or-gtk-build-system)
9478 ,@%python-build-system-modules)
9479 #:modules ((guix build python-build-system)
9480 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9481 (guix build utils))
08be02be
AT
9482 #:phases
9483 (modify-phases %standard-phases
9484 (add-after
9485 'install 'wrap-program
9486 (lambda* (#:key outputs #:allow-other-keys)
9487 (let ((prog (string-append (assoc-ref outputs "out")
9488 "/bin/terminator")))
9489 (wrap-program prog
9490 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9491 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9492 #t)))
9493 (add-after 'wrap-program 'glib-or-gtk-wrap
9494 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9495 (home-page "https://gnometerminator.blogspot.com/")
9496 (synopsis "Store and run multiple GNOME terminals in one window")
9497 (description
9498 "Terminator allows you to run multiple GNOME terminals in a grid and
9499+tabs, and it supports drag and drop re-ordering of terminals.")
9500 (license license:gpl2)))
213315d4
JF
9501
9502(define-public libhandy
9503 (package
9504 (name "libhandy")
f6501b9f 9505 (version "0.0.12")
213315d4
JF
9506 (source
9507 (origin
9508 (method git-fetch)
9509 (uri (git-reference
9510 (url "https://source.puri.sm/Librem5/libhandy")
9511 (commit (string-append "v" version))))
9512 (file-name (git-file-name name version))
9513 (sha256
f6501b9f 9514 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9515 (build-system meson-build-system)
9516 (arguments
9517 `(#:configure-flags
9518 '("-Dglade_catalog=disabled"
9519 "-Dgtk_doc=true")
9520 #:phases
9521 (modify-phases %standard-phases
213315d4
JF
9522 (add-before 'check 'pre-check
9523 (lambda _
9524 ;; Tests require a running X server.
9525 (system "Xvfb :1 &")
9526 (setenv "DISPLAY" ":1")
9527 #t)))))
9528 (inputs
9529 `(("gtk+" ,gtk+)))
9530 (native-inputs
9531 `(("glib:bin" ,glib "bin")
9532 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9533 ("vala" ,vala)
9534 ("gtk-doc" ,gtk-doc)
9535 ("pkg-config" ,pkg-config)
9536 ("gettext" ,gettext-minimal)
d41ee146
TGR
9537
9538 ;; Test suite dependencies.
ff337525 9539 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9540 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9541 (home-page "https://source.puri.sm/Librem5/libhandy")
9542 (synopsis "Library full of GTK+ widgets for mobile phones")
9543 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9544interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9545for usage on small and big screens.")
213315d4 9546 (license license:lgpl2.1+)))
a830d14d
GL
9547
9548(define-public libgit2-glib
9549 (package
9550 (name "libgit2-glib")
6448c2e1 9551 (version "0.99.0.1")
a830d14d
GL
9552 (source (origin
9553 (method url-fetch)
9554 (uri (string-append "mirror://gnome/sources/" name "/"
9555 (version-major+minor version) "/"
9556 name "-" version ".tar.xz"))
9557 (sha256
9558 (base32
6448c2e1 9559 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9560 (build-system meson-build-system)
9561 (native-inputs
9562 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9563 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9564 ("pkg-config" ,pkg-config)
9565 ("python-pygobject" ,python-pygobject)
9566 ("python-wrapper" ,python-wrapper)
9567 ("vala" ,vala)))
9568 (inputs
9569 `(("glib" ,glib)
8c6aae46
MB
9570 ("libssh2" ,libssh2)))
9571 (propagated-inputs
9572 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9573 ("libgit2" ,libgit2)))
9574 (synopsis "GLib wrapper around the libgit2 Git access library")
9575 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9576access library. It only implements the core plumbing functions, not really the
9577higher level porcelain stuff.")
9578 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9579 (license license:gpl2+)))
93beace0 9580
08db81c9
LP
9581(define-public gitg
9582 (package
9583 (name "gitg")
9584 (version "3.32.1")
9585 (source (origin
9586 (method url-fetch)
9587 (uri (string-append "mirror://gnome/sources/" name "/"
9588 (version-major+minor version) "/"
9589 name "-" version ".tar.xz"))
9590 (sha256
9591 (base32
9592 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9593 (build-system meson-build-system)
9594 (arguments
9595 `(#:glib-or-gtk? #t
9596 #:phases
9597 (modify-phases %standard-phases
9598 (add-after 'unpack 'disable-post-install-partially
9599 (lambda _
9600 (substitute* "meson_post_install.py"
9601 (("'python'") ; there are no python sources to compile
9602 (string-append "'" (which "true") "'"))
9603 (("gtk-update-icon-cache") (which "true")))
9604 #t))
9605 (add-after 'unpack 'fix-test-sources
9606 (lambda _
9607 (substitute* "tests/libgitg/test-commit.vala"
9608 (("/bin/bash") (which "bash")))
9609 #t))
9610 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9611 (lambda* (#:key outputs #:allow-other-keys)
9612 (let ((prog (string-append (assoc-ref outputs "out")
9613 "/bin/gitg")))
9614 (wrap-program prog
9615 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9616 #t))))))
9617 (inputs
9618 `(("glib" ,glib)
9619 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9620 ("gtk+" ,gtk+)
9621 ("gtkspell3" ,gtkspell3)
9622 ("gtksourceview" ,gtksourceview-3)
9623 ("json-glib" ,json-glib)
9624 ("libdazzle" ,libdazzle)
9625 ("libgee" ,libgee)
08db81c9
LP
9626 ("libgit2-glib" ,libgit2-glib)
9627 ("libpeas" ,libpeas)
9628 ("libsecret" ,libsecret)
9629 ("libsoup" ,libsoup)
9630 ("libxml2" ,libxml2)))
9631 (native-inputs
9632 `(("glib:bin" ,glib "bin")
9633 ("gtk+:bin" ,gtk+ "bin")
9634 ("gobject-introspection" ,gobject-introspection)
9635 ("intltool" ,intltool)
9636 ("pkg-config" ,pkg-config)
9637 ("vala" ,vala)))
9638 (synopsis "Graphical user interface for git")
9639 (description
9640 "gitg is a graphical user interface for git. It aims at being a small,
9641fast and convenient tool to visualize the history of git repositories.
9642Besides visualization, gitg also provides several utilities to manage your
9643repository and commit your work.")
9644 (home-page "https://wiki.gnome.org/Apps/Gitg")
9645 (license license:gpl2+)))
9646
1e600ed0
RW
9647(define-public gamin
9648 (package
9649 (name "gamin")
9650 (version "0.1.10")
9651 (source (origin
9652 (method url-fetch)
9653 (uri (string-append "mirror://gnome/sources/" name "/"
9654 (version-major+minor version) "/"
9655 name "-" version ".tar.bz2"))
9656 (sha256
9657 (base32
9658 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9659 (build-system gnu-build-system)
9660 (arguments
9661 `(#:phases
9662 (modify-phases %standard-phases
9663 (add-after 'unpack 'remove-deprecated-macro
9664 (lambda _
9665 (substitute* '("server/gam_node.c"
9666 "server/gam_subscription.h"
9667 "server/gam_node.h"
9668 "server/gam_subscription.c")
9669 (("G_CONST_RETURN") "const"))
9670 #t)))))
9671 (inputs
9672 `(("glib" ,glib)))
9673 (native-inputs
9674 `(("intltool" ,intltool)
9675 ("pkg-config" ,pkg-config)))
9676 (home-page "https://people.gnome.org/~veillard/gamin/")
9677 (synopsis "File alteration monitor")
9678 (description
9679 "Gamin is a file and directory monitoring system defined to be a subset
9680of the FAM (File Alteration Monitor) system. This is a service provided by a
9681library which allows to detect when a file or a directory has been modified.")
9682 (license license:gpl2+)))
9683
93beace0
DW
9684(define-public gnome-mahjongg
9685 (package
9686 (name "gnome-mahjongg")
9687 (version "3.35.1")
9688 (source (origin
9689 (method git-fetch)
9690 (uri (git-reference
9691 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9692 (commit version)))
9693 (file-name (git-file-name name version))
9694 (sha256
9695 (base32
9696 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9697 (build-system meson-build-system)
9698 (arguments
9699 `(#:glib-or-gtk? #t))
9700 (native-inputs
9701 `(("appstream-glib" ,appstream-glib)
9702 ("gettext" ,gettext-minimal)
9703 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9704 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9705 ("itstool" ,itstool)
9706 ("pkg-config" ,pkg-config)
9707 ("vala" ,vala)))
9708 (propagated-inputs
9709 `(("dconf" ,dconf)))
9710 (inputs
9711 `(("glib" ,glib)
9712 ("gtk+" ,gtk+)
9713 ("librsvg" ,librsvg)))
9714 (synopsis "Mahjongg tile-matching game")
9715 (description "GNOME Mahjongg is a game based on the classic Chinese
9716tile-matching game Mahjong. It features multiple board layouts, tile themes,
9717and a high score table.")
9718 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9719 (license license:gpl2+)))
f825476c 9720
76ea7632
RG
9721(define-public gnome-themes-extra
9722 (package
9723 (name "gnome-themes-extra")
9724 (version "3.28")
9725 (source
9726 (origin
9727 (method url-fetch)
9728 (uri (string-append "mirror://gnome/sources/" name "/"
9729 (version-major+minor version) "/" name "-"
9730 version ".tar.xz"))
9731 (sha256
9732 (base32
9733 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9734 (build-system gnu-build-system)
885424bf
RG
9735 (arguments
9736 '(#:configure-flags
9737 ;; Don't create 'icon-theme.cache'.
9738 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9739 (true (string-append coreutils "/bin/true")))
9740 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9741 (native-inputs
9742 `(("glib:bin" ,glib "bin")
9743 ("intltool" ,intltool)
9744 ("pkg-config" ,pkg-config)))
9745 (inputs
9746 `(("glib" ,glib)
9747 ("gtk+" ,gtk+)
9748 ("gtk+-2" ,gtk+-2)
9749 ("librsvg" ,librsvg)
9750 ("libxml2" ,libxml2)))
9751 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9752 (synopsis "GNOME Extra Themes")
9753 (description "This package provides themes and related elements that don't
9754really fit in other upstream packages. It offers legacy support for GTK+ 2
9755versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9756index files needed for Adwaita to be used outside of GNOME.")
9757 (license license:lgpl2.1+)))
9758
f825476c
LP
9759(define-public polari
9760 (package
9761 (name "polari")
9762 (version "3.32.2")
9763 (source (origin
9764 (method url-fetch)
9765 (uri (string-append "mirror://gnome/sources/polari/"
9766 (version-major+minor version)
9767 "/polari-" version ".tar.xz"))
9768 (sha256
9769 (base32
9770 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9771 (build-system meson-build-system)
9772 (arguments
9773 `(#:glib-or-gtk? #t
9774 #:phases
9775 (modify-phases %standard-phases
9776 (add-after 'unpack 'skip-gtk-update-icon-cache
9777 (lambda _
9778 (substitute* "meson/meson-postinstall.sh"
9779 (("gtk-update-icon-cache") (which "true")))
9780 #t))
9781 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9782 (lambda* (#:key outputs #:allow-other-keys)
9783 (let ((prog (string-append (assoc-ref outputs "out")
9784 "/bin/polari")))
9785 (wrap-program prog
9786 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9787 #t))))))
9788 (inputs
9789 `(("glib" ,glib)
9790 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9791 ("gspell" ,gspell)
9792 ("gtk+" ,gtk+)
9793 ("gjs" ,gjs)
9794 ("libsecret" ,libsecret)
9795 ("libsoup" ,libsoup)
9796 ("telepathy-glib" ,telepathy-glib)
9797 ("telepathy-logger" ,telepathy-logger)))
9798 (native-inputs
9799 `(("glib:bin" ,glib "bin")
9800 ("gobject-introspection" ,gobject-introspection)
9801 ("intltool" ,intltool)
9802 ("pkg-config" ,pkg-config)
9803 ("yelp-tools" ,yelp-tools)))
9804 (propagated-inputs
9805 `(("telepathy-idle" ,telepathy-idle)
9806 ("telepathy-mission-control" ,telepathy-mission-control)))
9807 (synopsis "Simple IRC Client")
9808 (description
9809 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9810integrate seamlessly with the GNOME desktop.")
9811 (home-page "https://wiki.gnome.org/Apps/Polari")
9812 (license license:gpl2+)))
59d4c8c2
PN
9813
9814(define-public gnome-boxes
9815 (package
9816 (name "gnome-boxes")
9817 (version "3.35.91")
9818 (source
9819 (origin
9820 (method url-fetch)
9821 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9822 (version-major+minor version) "/"
9823 "gnome-boxes-" version ".tar.xz"))
9824 (sha256
9825 (base32
9826 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9827 (build-system meson-build-system)
9828 (arguments
9829 '(#:glib-or-gtk? #t
9830 #:configure-flags (list "-Drdp=false"
9831 (string-append "-Dc_link_args=-Wl,-rpath="
9832 (assoc-ref %outputs "out")
9833 "/lib/gnome-boxes"))))
9834 (native-inputs
9835 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9836 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9837 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9838 ("itstool" ,itstool)
9839 ("intltool" ,intltool)
9840 ("vala" ,vala)
9841 ("pkg-config" ,pkg-config)))
9842 (inputs
9843 `(("libarchive" ,libarchive)
9844 ("gtk" ,gtk+)
9845 ("gtk-vnc" ,gtk-vnc)
9846 ("libosinfo" ,libosinfo)
9847 ("libsecret" ,libsecret)
9848 ("libsoup" ,libsoup)
9849 ("libusb" ,libusb)
9850 ("libvirt" ,libvirt)
9851 ("libvirt-glib" ,libvirt-glib)
9852 ("libxml" ,libxml2)
9853 ("spice-gtk" ,spice-gtk)
9854 ("sparql-query" ,sparql-query)
9855 ("vte" ,vte)
9856 ("webkitgtk" ,webkitgtk)
9857 ("tracker" ,tracker)
9858 ("libgudev" ,libgudev)))
9859 (home-page "https://wiki.gnome.org/Apps/Boxes")
9860 (synopsis "View, access, and manage remote and virtual systems")
9861 (description "GNOME Boxes is a simple application to view, access, and
9862manage remote and virtual systems.")
9863 (license (list
9864 ;; For data/icons/empty-boxes.png.
9865 license:cc-by2.0
9866 ;; For all others.
9867 license:lgpl2.0+))))
0e26c3cf 9868
9869(define-public geary
9870 (package
9871 (name "geary")
9872 (version "3.34.1")
9873 (source (origin
9874 (method git-fetch)
9875 (uri (git-reference
9876 (url "https://gitlab.gnome.org/GNOME/geary")
9877 (commit version)))
9878 (file-name (git-file-name name version))
9879 (sha256
9880 (base32
9881 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
9882 (build-system meson-build-system)
9883 (arguments
9884 `(#:glib-or-gtk? #t
9885 #:phases (modify-phases %standard-phases
9886 (add-after 'unpack 'disable-failing-tests
9887 (lambda _
9888 (substitute* "test/meson.build"
9889 (("test\\('client-tests', geary_test_client_bin\\)")
9890 ""))
9891 #t))
9892 (add-after 'unpack 'disable-postinstall-script
9893 (lambda _
9894 (substitute* "meson.build"
9895 (("meson.add_install_script\\(\
9896join_paths\\('build-aux', 'post_install.py'\\)\\)")
9897 ""))
9898 #t))
9899 (add-before 'check 'setup-xvfb
9900 (lambda _
9901 (system "Xvfb :1 &")
9902 (setenv "DISPLAY" ":1")
9903 #t)))))
9904 (inputs
9905 `(("enchant" ,enchant)
9906 ("folks" ,folks)
9907 ("gcr" ,gcr)
9908 ("glib" ,glib)
9909 ("gmime" ,gmime-2.6)
9910 ("gnome-online-accounts:lib"
9911 ,gnome-online-accounts "lib")
9912 ("gspell" ,gspell)
9913 ("gtk+" ,gtk+)
9914 ("iso-codes" ,iso-codes)
9915 ("json-glib" ,json-glib)
9916 ("libcanberra" ,libcanberra)
9917 ("libgee" ,libgee)
9918 ("libhandy" ,libhandy)
9919 ("libpeas" ,libpeas)
9920 ("libsecret" ,libsecret)
9921 ("libunwind" ,libunwind)
9922 ("sqlite" ,sqlite)
9923 ("webkitgtk" ,webkitgtk)
9924 ("ytnef" ,ytnef)))
9925 (native-inputs
9926 `(("appstream-glib" ,appstream-glib)
9927 ("cmake-minimal" ,cmake-minimal)
9928 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 9929 ("gettext" ,gettext-minimal)
0e26c3cf 9930 ("glib:bin" ,glib "bin")
9931 ("gobject-introspection" ,gobject-introspection)
9932 ("itstool" ,itstool)
9933 ("libarchive" ,libarchive)
9934 ("libxml2" ,libxml2)
9935 ("pkg-config" ,pkg-config)
9936 ("vala" ,vala)
9937 ("xvfb" ,xorg-server-for-tests)))
9938 (synopsis "GNOME email application built around conversations")
9939 (description
9940 "Geary collects related messages together into conversations,
9941making it easy to find and follow your discussions. Full-text and keyword
9942search makes it easy to find the email you are looking for. Geary's
9943full-featured composer lets you send rich, styled text with images, links, and
9944lists, but also send lightweight, easy to read text messages. Geary
9945automatically picks up your existing GNOME Online Accounts, and adding more is
9946easy. Geary has a clean, fast, modern interface that works like you want it
9947to.")
9948 (home-page "https://wiki.gnome.org/Apps/Geary")
9949 (license (list
9950 ;; geary
9951 license:lgpl2.1+
9952 ;; icons
9953 license:cc-by3.0
9954 license:cc-by-sa3.0
9955 license:public-domain
9956 ;; snowball
9957 license:bsd-2))))
1a17d21b
NG
9958
9959(define-public parlatype
9960 ;; This is one commit away from 2.0, because the latter introduced
9961 ;; a regression in ASR.
9962 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
9963 (revision "0"))
9964 (package
9965 (name "parlatype")
9966 (version (git-version "2.0" revision commit))
9967 (source
9968 (origin
9969 (method git-fetch)
9970 (uri (git-reference
9971 (url "https://github.com/gkarsay/parlatype.git")
9972 (commit commit)))
9973 (file-name (git-file-name name version))
9974 (sha256
9975 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
9976 (build-system meson-build-system)
9977 (arguments
9978 `(#:glib-or-gtk? #t
9979 #:tests? #f ;require internet access
9980 #:phases
9981 (modify-phases %standard-phases
9982 (add-after 'install 'wrap-parlatype
9983 ;; Add gstreamer plugin provided in this package to system's
9984 ;; plugins.
9985 (lambda* (#:key outputs #:allow-other-keys)
9986 (let* ((out (assoc-ref outputs "out"))
9987 (gst-plugin-path (string-append
9988 out "/lib/gstreamer-1.0/"
9989 ":"
9990 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
9991 (wrap-program (string-append out "/bin/parlatype")
9992 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
9993 #t)))))
9994 (native-inputs
9995 `(("appstream-glib" ,appstream-glib)
9996 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
9997 ("gettext" ,gettext-minimal)
9998 ("glib" ,glib "bin") ;for glib-compile-resources
9999 ("pkg-config" ,pkg-config)
10000 ("yelp-tools" ,yelp-tools)))
10001 (inputs
10002 `(("gst-plugins-base" ,gst-plugins-base)
10003 ("gst-plugins-good" ,gst-plugins-good)
10004 ("gstreamer" ,gstreamer)
10005 ("gtk+" ,gtk+)
10006 ("pocketsphinx" ,pocketsphinx)
10007 ("pulseaudio" ,pulseaudio)
10008 ("sphinxbase" ,sphinxbase)))
10009 (home-page "http://gkarsay.github.io/parlatype/")
10010 (synopsis "GNOME audio player for transcription")
10011 (description "Parlatype is an audio player for the GNOME desktop
10012environment. Its main purpose is the manual transcription of spoken
10013audio files.")
10014 (license license:gpl3+))))
95856a6e
AT
10015
10016(define-public jsonrpc-glib
10017 (package
10018 (name "jsonrpc-glib")
10019 (version "3.34.0")
10020 (source (origin
10021 (method url-fetch)
10022 (uri (string-append "mirror://gnome/sources/" name "/"
10023 (version-major+minor version) "/"
10024 name "-" version ".tar.xz"))
10025 (sha256
10026 (base32
10027 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
10028 (build-system meson-build-system)
10029 (inputs
10030 `(("json-glib" ,json-glib)
10031 ("glib" ,glib)))
10032 (native-inputs
10033 `(("pkg-config" ,pkg-config)
10034 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
10035 ("gobject-introspection" ,gobject-introspection)
10036 ("vala" ,vala)))
10037 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
10038 (synopsis "JSON-RPC library for GLib")
10039 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
10040peers in either a synchronous or asynchronous fashion. It also allows
10041communicating using the GVariant serialization format instead of JSON when
10042both peers support it. You might want that when communicating on a single
10043host to avoid parser overhead and memory-allocator fragmentation.")
10044 (license license:lgpl2.1+)))