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