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