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