gnu: guile-dsv: Update to 0.3.0.
[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>
2cd1de32 30;;; Copyright © 2017, 2020 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)
2cd1de32 165 #:use-module (gnu packages swig)
8f9ac901 166 #:use-module (gnu packages tex)
33dc54b0 167 #:use-module (gnu packages time)
a7fd7b68 168 #:use-module (gnu packages tls)
2cd1de32 169 #:use-module (gnu packages valgrind)
3c5dbd2b 170 #:use-module (gnu packages version-control)
b29909b4 171 #:use-module (gnu packages video)
59132b80 172 #:use-module (gnu packages virtualization)
f2b96b3a 173 #:use-module (gnu packages vpn)
a18f8eaf 174 #:use-module (gnu packages web)
b29909b4
TGR
175 #:use-module (gnu packages webkit)
176 #:use-module (gnu packages xdisorg)
177 #:use-module (gnu packages xiph)
178 #:use-module (gnu packages xml)
d633f2f6 179 #:use-module (gnu packages xorg)
a76d0f03 180 #:use-module (gnu artwork)
8f523eb9 181 #:use-module (guix build-system cargo)
b29909b4
TGR
182 #:use-module (guix build-system cmake)
183 #:use-module (guix build-system glib-or-gtk)
184 #:use-module (guix build-system gnu)
185 #:use-module (guix build-system meson)
08be02be 186 #:use-module (guix build-system python)
b29909b4
TGR
187 #:use-module (guix build-system trivial)
188 #:use-module (guix download)
189 #:use-module (guix git-download)
190 #:use-module ((guix licenses) #:prefix license:)
191 #:use-module (guix packages)
192 #:use-module (guix utils)
a76d0f03 193 #:use-module (guix gexp)
8f523eb9
EF
194 #:use-module (guix monads)
195 #:use-module (guix store)
4e3fdeb7 196 #:use-module (ice-9 match)
c024ae36 197 #:use-module (srfi srfi-1))
85f5dc19
AE
198
199(define-public brasero
200 (package
201 (name "brasero")
e2bf423a 202 (version "3.12.2")
85f5dc19
AE
203 (source (origin
204 (method url-fetch)
d1df7554 205 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 206 (version-major+minor version) "/"
d1df7554 207 "brasero-" version ".tar.xz"))
85f5dc19
AE
208 (sha256
209 (base32
e2bf423a 210 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 211 (build-system glib-or-gtk-build-system)
e8627cd9
DH
212 (arguments
213 `(#:configure-flags (list
214 (string-append "--with-girdir="
215 (assoc-ref %outputs "out")
216 "/share/gir-1.0")
217 (string-append "--with-typelibdir="
218 (assoc-ref %outputs "out")
ce426deb
TD
219 "/lib/girepository-1.0"))
220 #:phases
221 (modify-phases %standard-phases
222 (add-before 'configure 'embed-growisofs
223 (lambda* (#:key inputs #:allow-other-keys)
224 (substitute* "plugins/growisofs/burn-growisofs.c"
225 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 226 #t)))))
85f5dc19
AE
227 (propagated-inputs
228 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
229 (native-inputs
230 `(("intltool" ,intltool)
ba549e17 231 ("itstool" ,itstool)
426adbe8 232 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 233 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 234 ("pkg-config" ,pkg-config)))
85f5dc19 235 (inputs
ce426deb
TD
236 `(("dvd+rw-tools" ,dvd+rw-tools)
237 ("glib" ,glib)
85f5dc19
AE
238 ("gnome-doc-utils" ,gnome-doc-utils)
239 ("gstreamer" ,gstreamer)
240 ("gst-plugins-base" ,gst-plugins-base)
241 ("gtk+" ,gtk+)
85f5dc19
AE
242 ("libcanberra" ,libcanberra)
243 ("libice" ,libice)
244 ("libnotify" ,libnotify)
245 ("libsm" ,libsm)
e8627cd9 246 ("libxml2" ,libxml2)
e8627cd9 247 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 248 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
249 (synopsis "CD/DVD burning tool for Gnome")
250 (description "Brasero is an application to burn CD/DVD for the Gnome
251Desktop. It is designed to be as simple as possible and has some unique
252features to enable users to create their discs easily and quickly.")
1dd26275 253 (license license:gpl2+)))
995b7261 254
a3cbcbaf
RG
255(define-public notification-daemon
256 (package
257 (name "notification-daemon")
258 (version "3.20.0")
259 (source
260 (origin
261 (method url-fetch)
262 (uri
263 (string-append "mirror://gnome/sources/" name "/"
264 (version-major+minor version) "/"
265 name "-" version ".tar.xz"))
266 (sha256
267 (base32
268 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
269 (build-system glib-or-gtk-build-system)
270 (native-inputs
271 `(("intltool" ,intltool)
272 ("pkg-config" ,pkg-config)))
273 (inputs
274 `(("glib" ,glib)
275 ("gtk+" ,gtk+)
276 ("x11" ,libx11)))
277 (synopsis "Notification Daemon for GNOME Desktop")
278 (description "Notification-Daemon is the server implementation of the
279freedesktop.org desktop notification specification.")
280 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
281 (license license:gpl2+)))
282
4e8bdbf8
RG
283(define-public mm-common
284 (package
285 (name "mm-common")
286 (version "1.0.0")
287 (source (origin
288 (method url-fetch)
289 (uri (string-append "mirror://gnome/sources/" name "/"
290 (version-major+minor version) "/"
291 name "-" version ".tar.xz"))
292 (sha256
293 (base32
294 "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
295 (build-system meson-build-system)
296 (arguments
297 `(#:phases
298 (modify-phases %standard-phases
299 (add-after 'unpack 'patch
300 (lambda* (#:key inputs #:allow-other-keys)
301 (substitute* "util/mm-common-prepare.in"
302 (("ln") (string-append (assoc-ref inputs "coreutils")
303 "/bin/ln"))
304 (("cp") (string-append (assoc-ref inputs "coreutils")
305 "/bin/cp"))
306 (("sed") (string-append (assoc-ref inputs "sed")
307 "/bin/sed"))
308 (("cat") (string-append (assoc-ref inputs "coreutils")
309 "/bin/cat")))
310 #t)))))
311 (native-inputs
4e8bdbf8 312 `(("coreutils" ,coreutils)
74a65885
DM
313 ("gettext" ,gettext-minimal)
314 ("pkg-config" ,pkg-config)
4e8bdbf8 315 ("sed" ,sed)))
74a65885
DM
316 (inputs
317 `(("python" ,python)))
4e8bdbf8
RG
318 (synopsis "Module of GNOME C++ bindings")
319 (description "The mm-common module provides the build infrastructure
320and utilities shared among the GNOME C++ binding libraries. Release
321archives of mm-common include the Doxygen tag file for the GNU C++
322Library reference documentation.")
323 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
324 (license license:gpl2+)))
325
e05ce17d
RG
326(define-public phodav
327 (package
328 (name "phodav")
329 (version "2.4")
330 (source (origin
331 (method url-fetch)
332 (uri (string-append "mirror://gnome/sources/" name "/"
333 (version-major+minor version) "/"
334 name "-" version ".tar.xz"))
335 (sha256
336 (base32
337 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
338 (build-system meson-build-system)
339 (native-inputs
340 `(("gettext" ,gettext-minimal)
341 ("glib:bin" ,glib "bin")
342 ("gtk-doc" ,gtk-doc)
343 ("pkg-config" ,pkg-config)))
344 (inputs
345 `(("avahi" ,avahi)
346 ("libgudev" ,libgudev)
347 ("libsoup" ,libsoup)))
348 (synopsis "WebDav server implementation using libsoup")
349 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
350but it is generic enough to be reused in other projects,
351in particular in the GNOME desktop.")
352 (home-page "https://wiki.gnome.org/phodav")
353 (license license:lgpl2.1+)))
354
29ae18db
RG
355(define-public gnome-color-manager
356 (package
357 (name "gnome-color-manager")
358 (version "3.32.0")
359 (source (origin
360 (method url-fetch)
361 (uri (string-append "mirror://gnome/sources/" name "/"
362 (version-major+minor version) "/"
363 name "-" version ".tar.xz"))
364 (sha256
365 (base32
366 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
367 (build-system meson-build-system)
368 (arguments
369 `(#:glib-or-gtk? #t
370 #:phases
371 (modify-phases %standard-phases
372 (add-before
373 'check 'pre-check
374 (lambda _
375 ;; Tests require a running X server.
376 (system "Xvfb :1 &")
377 (setenv "DISPLAY" ":1")
378 #t)))))
379 (native-inputs
380 `(("desktop-file-utils" ,desktop-file-utils)
381 ("gettext" ,gettext-minimal)
382 ("glib:bin" ,glib "bin")
383 ("gtk+:bin" ,gtk+ "bin")
384 ("itstool" ,itstool)
385 ("pkg-config" ,pkg-config)
386 ("xorg-server" ,xorg-server-for-tests)))
387 (inputs
388 `(("adwaita-icon-theme" ,adwaita-icon-theme)
389 ("appstream-glib" ,appstream-glib)
390 ("colord-gtk" ,colord-gtk)
391 ("exiv2" ,exiv2)
392 ("gnome-desktop" ,gnome-desktop)
393 ("libcanberra" ,libcanberra)
394 ("libexif" ,libexif)
395 ("libtiff" ,libtiff)
396 ("libxrandr" ,libxrandr)
397 ("libxtst" ,libxtst)
398 ("libxxf86vm" ,libxxf86vm)
399 ("vte" ,vte)
400 ("xorgproto" ,xorgproto)))
401 (synopsis "Color profile manager for the GNOME desktop")
402 (description "GNOME Color Manager is a session framework that makes
403it easy to manage, install and generate color profiles
404in the GNOME desktop.")
405 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 406 (license license:gpl2+)))
29ae18db 407
e05471a1
RG
408(define-public gnome-online-miners
409 (package
410 (name "gnome-online-miners")
49dcd7fc 411 (version "3.34.0")
e05471a1
RG
412 (source (origin
413 (method url-fetch)
414 (uri (string-append "mirror://gnome/sources/" name "/"
415 (version-major+minor version) "/"
416 name "-" version ".tar.xz"))
417 (sha256
418 (base32
49dcd7fc 419 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
420 (build-system glib-or-gtk-build-system)
421 (native-inputs
422 `(("gettext" ,gettext-minimal)
423 ("glib:bin" ,glib "bin")
29ae18db 424 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
425 ("gtk+:bin" ,gtk+ "bin")
426 ("pkg-config" ,pkg-config)))
427 (inputs
428 `(("gnome-online-accounts" ,gnome-online-accounts)
429 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
430 ("grilo" ,grilo)
431 ("libgdata" ,libgdata)
432 ("libgfbgraph" ,gfbgraph)
433 ("libzapojit" ,libzapojit)
434 ("rest" ,rest)
435 ("tracker" ,tracker)))
436 (synopsis "Web Crawlers for GNOME")
437 (description "GNOME Online Miners provides a set of crawlers that
438go through your online content and index them locally in Tracker.
439It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
440 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 441 (license license:gpl2+)))
e05471a1 442
e2aed29c
RG
443(define-public gssdp
444 (package
445 (name "gssdp")
446 (version "1.2.2")
447 (source (origin
448 (method url-fetch)
449 (uri (string-append "mirror://gnome/sources/" name "/"
450 (version-major+minor version) "/"
451 name "-" version ".tar.xz"))
452 (sha256
453 (base32
454 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
455 (build-system meson-build-system)
456 (native-inputs
457 `(("gettext" ,gettext-minimal)
458 ("glib:bin" ,glib "bin")
459 ("gobject-introspection" ,gobject-introspection)
460 ("gtk-doc" ,gtk-doc)
461 ("pkg-config" ,pkg-config)
462 ("vala" ,vala)))
463 (inputs
464 `(("gtk+" ,gtk+)
465 ("libsoup" ,libsoup)))
466 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
467Protocol} for GNOME")
468 (description "This package provides a library to handle resource discovery
469and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
470a debugging tool, @command{gssdp-device-sniffer}.")
471 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
472 (license license:lgpl2.0+)))
473
291a85b2
RG
474(define-public gupnp
475 (package
476 (name "gupnp")
477 (version "1.2.2")
478 (source (origin
479 (method url-fetch)
480 (uri (string-append "mirror://gnome/sources/" name "/"
481 (version-major+minor version) "/"
482 name "-" version ".tar.xz"))
483 (sha256
484 (base32
485 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
486 (build-system meson-build-system)
487 (native-inputs
488 `(("gettext" ,gettext-minimal)
489 ("glib:bin" ,glib "bin")
490 ("gobject-introspection" ,gobject-introspection)
491 ("gtk-doc" ,gtk-doc)
492 ("pkg-config" ,pkg-config)
493 ("vala" ,vala)))
494 (inputs
495 `(("gssdp" ,gssdp)
496 ("gtk+" ,gtk+)
497 ("libsoup" ,libsoup)))
498 (synopsis "PnP API for GNOME")
499 (description "This package provides GUPnP, an object-oriented framework
500for creating UPnP devices and control points, written in C using
501@code{GObject} and @code{libsoup}.")
502 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
503 (license license:lgpl2.0+)))
504
747d7fe4
RG
505(define-public gupnp-dlna
506 (package
507 (name "gupnp-dlna")
508 (version "0.10.5")
509 (source (origin
510 (method url-fetch)
511 (uri (string-append "mirror://gnome/sources/" name "/"
512 (version-major+minor version) "/"
513 name "-" version ".tar.xz"))
514 (sha256
515 (base32
516 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
517 (build-system gnu-build-system)
518 (native-inputs
519 `(("gettext" ,gettext-minimal)
520 ("glib:bin" ,glib "bin")
521 ("gobject-introspection" ,gobject-introspection)
522 ("gtk-doc" ,gtk-doc)
523 ("libxml" ,libxml2)
524 ("pkg-config" ,pkg-config)
525 ("vala" ,vala)))
526 (inputs
527 `(("gstreamer" ,gstreamer)
528 ("gupnp" ,gupnp)))
529 (propagated-inputs
530 `(("gst-plugins-base" ,gst-plugins-base)
531 ("gst-plugins-good" ,gst-plugins-good)))
532 (synopsis "GUPnP DLNA for GNOME")
533 (description "This package provides a small utility library to
534support DLNA-related tasks such as media profile guessing, transcoding to a
535given profile, etc. DLNA is a subset of UPnP A/V.")
536 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
537 (license license:lgpl2.0+)))
538
1b4cb628
RG
539(define-public gupnp-av
540 (package
541 (name "gupnp-av")
542 (version "0.12.11")
543 (source (origin
544 (method url-fetch)
545 (uri (string-append "mirror://gnome/sources/" name "/"
546 (version-major+minor version) "/"
547 name "-" version ".tar.xz"))
548 (sha256
549 (base32
550 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
551 (build-system gnu-build-system)
552 (native-inputs
553 `(("gettext" ,gettext-minimal)
554 ("glib:bin" ,glib "bin")
555 ("gobject-introspection" ,gobject-introspection)
556 ("gtk-doc" ,gtk-doc)
557 ("libxml" ,libxml2)
558 ("pkg-config" ,pkg-config)))
559 (inputs
560 `(("gtk+" ,gtk+)
561 ("gupnp" ,gupnp)))
562 (synopsis "GUPnP A/V for GNOME")
563 (description "This package provides a small library for handling
564and implementation of UPnP A/V profiles.")
565 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
566 (license license:lgpl2.0+)))
e05471a1 567
02ebbca8
RG
568(define-public libmediaart
569 (package
570 (name "libmediaart")
571 (version "1.9.4")
572 (source (origin
573 (method url-fetch)
574 (uri (string-append "mirror://gnome/sources/" name "/"
575 (version-major+minor version) "/"
576 name "-" version ".tar.xz"))
577 (sha256
578 (base32
579 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
580 (build-system gnu-build-system)
581 (native-inputs
582 `(("glib:bin" ,glib "bin")
583 ("pkg-config" ,pkg-config)))
584 (inputs
585 `(("gdk-pixbuf" ,gdk-pixbuf)
586 ("gettext" ,gettext-minimal)
587 ("gobject-introspection" ,gobject-introspection)
588 ("gtk+:doc", gtk+ "doc")
589 ("vala" ,vala)))
590 (synopsis "Media art library for the GNOME desktop")
591 (description
592 "The libmediaart library is the foundation for media art caching,
593extraction, and lookup for applications on the desktop.")
594 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
595 (license license:lgpl2.1+)))
596
a26680eb
RG
597(define-public gnome-initial-setup
598 (package
599 (name "gnome-initial-setup")
600 (version "3.32.1")
601 (source (origin
602 (method url-fetch)
603 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
604 (version-major+minor version)
605 "/gnome-initial-setup-" version ".tar.xz"))
606 (sha256
607 (base32
608 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
609 (build-system meson-build-system)
610 (arguments
a65cc579
DM
611 '(#:configure-flags '(;; Enable camera support for user selfie.
612 "-Dcheese=auto"
c627e2cb
LC
613 "-Dsystemd=false")
614 #:phases (modify-phases %standard-phases
615 (add-after 'unpack 'set-gkbd-file-name
616 (lambda* (#:key inputs #:allow-other-keys)
617 ;; Allow the "Preview" button in the keyboard layout
618 ;; selection dialog to display the layout.
619 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
620 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
621 (("\"gkbd-keyboard-display")
622 (string-append "\"" libgnomekbd
623 "/bin/gkbd-keyboard-display")))
624 #t))))))
a26680eb
RG
625 (native-inputs
626 `(("gettext" ,gettext-minimal)
627 ("glib:bin" ,glib "bin")
628 ("gobject-introspection" ,gobject-introspection)
629 ("gtk+:bin" ,gtk+ "bin")
630 ("pkg-config" ,pkg-config)))
631 (inputs
632 `(("accountsservice" ,accountsservice)
633 ;("adwaita-icon-theme" ,adwaita-icon-theme)
634 ("gdm" ,gdm)
635 ("geoclue" ,geoclue)
636 ("gnome-desktop" ,gnome-desktop)
637 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
638 ("gnome-online-accounts" ,gnome-online-accounts)
639 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
640 ("gstreamer" ,gstreamer)
641 ("ibus" ,ibus)
642 ("json-glib" ,json-glib)
643 ("krb5" ,mit-krb5)
644 ("libgweather" ,libgweather)
645 ("libsecret" ,libsecret)
646 ("network-manager" ,network-manager)
647 ("network-manager-applet" ,network-manager-applet)
648 ("packagekit" ,packagekit)
649 ("polkit" ,polkit)
650 ("pwquality" ,libpwquality)
651 ("rest" ,rest)
652 ("upower" ,upower)
c627e2cb
LC
653 ("webkitgtk" ,webkitgtk)
654 ("libgnomekbd" ,libgnomekbd)))
a26680eb 655 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
656 (description "This package provides a set-up wizard when a
657user logs into GNOME for the first time. It typically provides a
658tour of all gnome components and allows the user to set them up.")
a26680eb
RG
659 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
660 (license license:gpl2)))
661
b5f01392
RG
662(define-public gnome-user-share
663 (package
664 (name "gnome-user-share")
665 (version "3.33.1")
666 (source (origin
667 (method url-fetch)
668 (uri (string-append "mirror://gnome/sources/" name "/"
669 (version-major+minor version) "/"
670 name "-" version ".tar.xz"))
671 (sha256
672 (base32
673 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
674 (build-system meson-build-system)
675 (arguments
676 `(#:glib-or-gtk? #t
677 #:configure-flags
678 `("-Dsystemd=false"
679 ;; Enable nautilus extension for file sharing.
680 "-Dnautilus_extension=true")))
681 (native-inputs
682 `(("gettext" ,gettext-minimal)
683 ("glib:bin" ,glib "bin")
684 ("gobject-introspection" ,gobject-introspection)
685 ("gtk+:bin" ,gtk+ "bin")
686 ("pkg-config" ,pkg-config)
687 ("yelp-tools" ,yelp-tools)))
688 (inputs
689 `(("glib" ,glib)
690 ("gnome-bluetooth" ,gnome-bluetooth)
691 ("gtk+" ,gtk+)
692 ("libcanberra" ,libcanberra)
693 ("libnotify" ,libnotify)
694 ("nautilus" ,nautilus))) ; For nautilus extension.
695 (synopsis "File sharing for GNOME desktop")
696 (description "GNOME User Share is a small package that binds together
697various free software projects to bring easy to use user-level file
698sharing to the masses.")
699 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 700 (license license:gpl2+)))
b5f01392 701
04b201bb
RG
702(define-public sushi
703 (package
704 (name "sushi")
705 (version "3.32.1")
706 (source (origin
707 (method url-fetch)
708 (uri (string-append "mirror://gnome/sources/" name "/"
709 (version-major+minor version) "/"
710 name "-" version ".tar.xz"))
711 (sha256
712 (base32
713 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
714 (build-system meson-build-system)
715 (arguments
716 `(#:glib-or-gtk? #t
717 #:phases
718 (modify-phases %standard-phases
719 (add-after 'glib-or-gtk-wrap 'wrap-typelib
720 (lambda* (#:key outputs #:allow-other-keys)
721 (let ((prog (string-append (assoc-ref outputs "out")
722 "/bin/sushi")))
723 ;; Put existing typelibs before sushi's deps, so as to correctly
724 ;; infer gdk-pixbuf
725 (wrap-program prog
726 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
727 #t))))))
728 (native-inputs
729 `(("glib:bin" ,glib "bin")
730 ("gettext" ,gettext-minimal)
731 ("gobject-introspection" ,gobject-introspection)
732 ("pkg-config" ,pkg-config)))
733 (inputs
734 `(("clutter" ,clutter)
735 ("clutter-gst" ,clutter-gst)
736 ("clutter-gtk" ,clutter-gtk)
737 ("evince" ,evince) ; For file previewing.
738 ("freetype" ,freetype)
739 ("gdk-pixbuf" ,gdk-pixbuf)
740 ("gjs" ,gjs)
741 ("gst-plugins-base" ,gst-plugins-base)
742 ("gstreamer" ,gstreamer)
743 ("gtksourceview" ,gtksourceview-3)
744 ("harfbuzz" ,harfbuzz)
745 ("libepoxy" ,libepoxy)
746 ("libmusicbrainz" ,libmusicbrainz)
747 ("libxml2" ,libxml2)
748 ("neon" ,neon)
749 ("webkitgtk" ,webkitgtk)))
750 (synopsis "File previewer for the GNOME desktop")
751 (description "Sushi is a DBus-activated service that allows applications to
752preview files on the GNOME desktop.")
753 (home-page "https://gitlab.gnome.org/GNOME/sushi")
754 (license license:gpl2+)))
755
89af0902
RG
756(define-public rygel
757 (package
758 (name "rygel")
759 (version "0.38.3")
760 (source (origin
761 (method url-fetch)
762 (uri (string-append "mirror://gnome/sources/" name "/"
763 (version-major+minor version) "/"
764 name "-" version ".tar.xz"))
765 (sha256
766 (base32
767 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
768 (build-system gnu-build-system)
769 (native-inputs
770 `(("gettext" ,gettext-minimal)
771 ("gobject-introspection" ,gobject-introspection)
772 ("gtk-doc" ,gtk-doc)
773 ("pkg-config" ,pkg-config)
774 ("vala" ,vala)))
775 (inputs
776 `(("gdk-pixbuf" ,gdk-pixbuf)
777 ("gssdp" ,gssdp)
778 ("gstreamer" ,gstreamer)
779 ("gst-plugins-base" ,gst-plugins-base)
780 ("gtk+" ,gtk+)
781 ("gupnp" ,gupnp)
782 ("gupnp-av" ,gupnp-av)
783 ("gupnp-dlna" ,gupnp-dlna)
784 ("libgee" ,libgee)
785 ("libmediaart" ,libmediaart)
786 ("libsoup" ,libsoup)
787 ("libxslt" ,libxslt)
788 ("libunistring" ,libunistring)
789 ("tracker" ,tracker)))
790 (synopsis "Share audio, video, and pictures with other devices")
791 (description
792 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
793MediaRenderer}) for GNOME that allows you to easily share audio, video, and
794pictures, and to control a media player on your home network.
795
796Rygel achieves interoperability with other devices by trying to conform to the
797strict requirements of DLNA and by converting media on-the-fly to formats that
798client devices can handle.")
799 (home-page "https://wiki.gnome.org/Projects/Rygel")
800 (license (list
801 ;; For logo (data/icons/*).
802 license:cc-by-sa3.0
803 ;; For all others.
804 license:lgpl2.1+))))
805
47e87093
RG
806(define-public libnma
807 (package
808 (name "libnma")
809 (version "1.8.26")
810 (source (origin
811 (method url-fetch)
812 (uri (string-append "mirror://gnome/sources/" name "/"
813 (version-major+minor version) "/"
814 name "-" version ".tar.xz"))
815 (sha256
816 (base32
817 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
818 (build-system meson-build-system)
819 (arguments
820 `(#:glib-or-gtk? #t))
821 (native-inputs
822 `(("gettext" ,gettext-minimal)
823 ("glib:bin" ,glib "bin")
824 ("gtk-doc" ,gtk-doc)
825 ("gobject-introspection" ,gobject-introspection)
826 ("pkg-config" ,pkg-config)))
827 (inputs
828 `(("adwaita-icon-theme" ,adwaita-icon-theme)
829 ("gcr" ,gcr)
830 ("gtk+" ,gtk+)
831 ("iso-codes" ,iso-codes)
832 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
833 ("network-manager" ,network-manager)))
834 (synopsis "Network Manager's applet library")
835 (description "Libnma is an applet library for Network Manager. It was
836initially part of network-manager-applet and has now become a separate
837project.")
838 (home-page "https://gitlab.gnome.org/GNOME/libnma")
839
840 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
841 ;; "LGPL-2.1+".
842 (license license:gpl2+)))
843
30416265
RG
844(define-public gnome-menus
845 (package
846 (name "gnome-menus")
847 (version "3.32.0")
848 (source (origin
849 (method url-fetch)
850 (uri (string-append "mirror://gnome/sources/gnome-menus/"
851 (version-major+minor version) "/"
852 name "-" version ".tar.xz"))
853 (sha256
854 (base32
855 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
856 (build-system gnu-build-system)
857 (native-inputs
858 `(("gettext" ,gettext-minimal)
859 ("glib" ,glib)
860 ("pkg-config" ,pkg-config)))
861 (synopsis "Menu support for GNOME desktop")
862 (description "GNOME Menus contains the libgnome-menu library, the layout
863configuration files for the GNOME menu, as well as a simple menu editor.")
864 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 865 (license license:lgpl2.0+)))
30416265 866
d61a894b
CB
867(define-public deja-dup
868 (package
869 (name "deja-dup")
870 (version "34.3")
871 (source (origin
872 (method url-fetch)
873 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
874 (sha256
875 (base32
876 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
877 (patches
878 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
879 (build-system glib-or-gtk-build-system)
880 (arguments
881 `(#:modules ((guix build gnu-build-system)
882 ((guix build cmake-build-system) #:prefix cmake:)
883 (guix build glib-or-gtk-build-system)
884 (guix build utils))
885 #:imported-modules (,@%glib-or-gtk-build-system-modules
886 (guix build cmake-build-system))
887 #:test-target "test"
888 #:configure-flags (list (string-append
889 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
890 (string-append
891 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
892 #:phases
893 (modify-phases %standard-phases
894 (add-after 'unpack 'patch-lockfile-deletion
895 (lambda rest
896 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
897 (("/bin/rm")
898 (which "rm")))))
899 (replace 'configure
900 (assoc-ref cmake:%standard-phases 'configure))
901 (delete 'check) ;; Fails due to issues with DBus
902 (add-after 'install 'wrap-deja-dup
903 (lambda* (#:key inputs outputs #:allow-other-keys)
904 (let ((python (assoc-ref inputs "python"))
905 (python-path (getenv "PYTHONPATH"))
906 (duplicity (assoc-ref inputs "duplicity"))
907 (out (assoc-ref outputs "out")))
908 (for-each
909 (lambda (program)
910 (wrap-program program
911 `("PATH" ":" prefix (,(string-append python "/bin")
912 ,(string-append duplicity "/bin"))))
913 (wrap-program program
914 `("PYTHONPATH" ":" prefix (,python-path))))
915
916 (find-files (string-append out "/bin")))
917 #t))))))
918 (inputs
919 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
920 ("gobject-introspection" ,gobject-introspection)
921 ("duplicity" ,duplicity)
61506fe5 922 ("python" ,python-2)
d61a894b
CB
923 ("python-pygobject" ,python2-pygobject)
924 ("gtk+" ,gtk+)
925 ("libnotify" ,libnotify)
926 ("libpeas" ,libpeas)
927 ("libsecret" ,libsecret)
928 ("packagekit" ,packagekit)))
929 (native-inputs
930 `(("pkg-config" ,pkg-config)
931 ("vala" ,vala)
932 ("gettext" ,gettext-minimal)
933 ("itstool" ,itstool)
934 ("intltool" ,intltool)
c69959f0 935 ("cmake" ,cmake-minimal)))
d61a894b
CB
936 (home-page "https://launchpad.net/deja-dup")
937 (synopsis "Simple backup tool, for regular encrypted backups")
938 (description
939 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
940uses duplicity as the backend, which supports incremental backups and storage
941either on a local, or remote machine via a number of methods.")
942 (license license:gpl3+)))
943
823b77fb
RG
944(define-public gnome-user-docs
945 (package
946 (name "gnome-user-docs")
947 (version "3.32.3")
948 (source
949 (origin
950 (method url-fetch)
951 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
952 (version-major+minor version)
953 "/gnome-user-docs-" version ".tar.xz"))
954 (sha256
955 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
956 (build-system gnu-build-system)
957 (native-inputs
958 `(("gettext" ,gettext-minimal)
959 ("itstool" ,itstool)
960 ("pkg-config" ,pkg-config)
961 ("xmllint" ,libxml2)))
962 (synopsis "User documentation for the GNOME desktop")
963 (description
964 "The GNOME User Documentation explains how to use the GNOME desktop and its
965components. It covers usage and setup of the core GNOME programs by end-users
966and system administrators.")
967 (home-page "https://live.gnome.org/DocumentationProject")
968 (license license:cc-by3.0)))
969
be93299d
RG
970(define-public gnome-getting-started-docs
971 (package
972 (name "gnome-getting-started-docs")
973 (version "3.32.2")
974 (source
975 (origin
976 (method url-fetch)
977 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
978 (version-major+minor version)
979 "/gnome-getting-started-docs-" version ".tar.xz"))
980 (sha256
981 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
982 (build-system gnu-build-system)
983 (native-inputs
984 `(("gettext" ,gettext-minimal)
985 ("itstool" ,itstool)
986 ("pkg-config" ,pkg-config)
987 ("xmllint" ,libxml2)))
988 (synopsis "Help to get new users started with the GNOME desktop")
989 (description
990 "The GNOME Getting Started Documentation contains GNOME's intuitive
991\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
992
993It is normally used together with @command{gnome-initial-setup}, but is also
994useful as a tutorial and users' guide for new or less experienced users.")
995 (home-page "https://live.gnome.org/DocumentationProject")
996 (license license:cc-by-sa3.0)))
997
a56be436
RJ
998(define-public dia
999 ;; This version from GNOME's repository includes fixes for compiling with
1000 ;; recent versions of the build tools. The latest activity on the
1001 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
1002 ;; fixes in 2016.
1003 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
1004 (package
1005 (name "dia")
914c8cdf 1006 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
1007 (source (origin
1008 (method git-fetch)
1009 (uri (git-reference
914c8cdf 1010 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1011 (commit commit)))
914c8cdf 1012 (file-name (git-file-name name version))
a56be436
RJ
1013 (sha256
1014 (base32
1015 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
1016 (build-system gnu-build-system)
1017 (inputs
a315afa3 1018 `(("freetype" ,freetype)
a56be436
RJ
1019 ("gdk-pixbuf" ,gdk-pixbuf)
1020 ("gtk+" ,gtk+-2)
a315afa3 1021 ("libart-lgpl" ,libart-lgpl)
a56be436 1022 ("libxml2" ,libxml2)
a315afa3 1023 ("pango" ,pango)))
a56be436 1024 (native-inputs
a315afa3 1025 `(("autoconf" ,autoconf)
a56be436 1026 ("automake" ,automake)
a315afa3
EF
1027 ("intltool" ,intltool)
1028 ("glib" ,glib "bin")
a56be436
RJ
1029 ("libtool" ,libtool)
1030 ("perl" ,perl)
a315afa3 1031 ("pkg-config" ,pkg-config)
a56be436 1032 ("python-wrapper" ,python-wrapper)))
a56be436
RJ
1033 (home-page "https://wiki.gnome.org/Apps/Dia")
1034 (synopsis "Diagram creation for GNOME")
1035 (description "Dia can be used to draw different types of diagrams, and
1036includes support for UML static structure diagrams (class diagrams), entity
1037relationship modeling, and network diagrams. The program supports various file
1038formats like PNG, SVG, PDF and EPS.")
1039 (license license:gpl2+))))
1040
d0b19e44
RW
1041;; This is the unstable release, but it is required for the current stable
1042;; release of gvfs (1.38.1).
adc5cb1b
KK
1043(define-public libgdata
1044 (package
1045 (name "libgdata")
d0b19e44 1046 (version "0.17.9")
adc5cb1b
KK
1047 (source (origin
1048 (method url-fetch)
1049 (uri (string-append "mirror://gnome/sources/" name "/"
1050 (version-major+minor version) "/"
1051 name "-" version ".tar.xz"))
1052 (sha256
1053 (base32
d0b19e44 1054 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1055 (build-system gnu-build-system)
1056 (arguments
1057 '(#:phases
1058 (modify-phases %standard-phases
448052b7
TGR
1059 (add-before 'check 'disable-failing-tests
1060 (lambda _
1061 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1062 ;; They have been removed in libgdata 0.17.6, so just do the same.
1063 (substitute* "gdata/tests/Makefile"
1064 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1065 #t)))))
1066 (native-inputs
1067 `(("glib:bin" ,glib "bin")
1068 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1069 ("intltool" ,intltool)
1070 ("pkg-config" ,pkg-config)
1071 ("uhttpmock" ,uhttpmock)))
1072 (inputs
1073 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1074 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1075 (propagated-inputs
1076 `(("gcr" ,gcr)
d0b19e44 1077 ("glib" ,glib)
14c297fd 1078 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1079 ("json-glib" ,json-glib)
adc5cb1b 1080 ("liboauth" ,liboauth)
d0b19e44 1081 ("libsoup" ,libsoup)
adc5cb1b
KK
1082 ("libxml2" ,libxml2)))
1083 (home-page "https://wiki.gnome.org/Projects/libgdata")
1084 (synopsis "Library for accessing online service APIs")
1085 (description
1086 "libgdata is a GLib-based library for accessing online service APIs using
1087the GData protocol — most notably, Google's services. It provides APIs to
1088access the common Google services, and has full asynchronous support.")
1089 (license license:lgpl2.1+)))
1090
94e10cf4
KK
1091(define-public libgxps
1092 (package
1093 (name "libgxps")
66470a5a 1094 (version "0.3.1")
94e10cf4
KK
1095 (source (origin
1096 (method url-fetch)
7f10628c 1097 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1098 (version-major+minor version) "/"
1099 name "-" version ".tar.xz"))
1100 (sha256
1101 (base32
66470a5a 1102 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1103 (build-system meson-build-system)
94e10cf4
KK
1104 (native-inputs
1105 `(("gobject-introspection" ,gobject-introspection)
1106 ("pkg-config" ,pkg-config)))
1107 (inputs
c8d62d93 1108 `(("gtk+" ,gtk+)
b6b3e512 1109 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1110 ("lcms" ,lcms)
0a6e9e13 1111 ("libtiff" ,libtiff)))
c8d62d93
MB
1112 (propagated-inputs
1113 ;; In Requires of libgxps.pc.
1114 `(("cairo" ,cairo)
1115 ("glib" ,glib)
1116 ("libarchive" ,libarchive)))
94e10cf4
KK
1117 (home-page "https://wiki.gnome.org/Projects/libgxps")
1118 (synopsis "GObject-based library for handling and rendering XPS documents")
1119 (description
1120 "libgxps is a GObject-based library for handling and rendering XPS
1121documents. This package also contains binaries that can convert XPS documents
1122to other formats.")
1123 (license license:lgpl2.1+)))
1124
4e09f57a
RG
1125(define-public gnome-characters
1126 (package
1127 (name "gnome-characters")
1128 (version "3.30.0")
1129 (source
1130 (origin
1131 (method url-fetch)
1132 (uri (string-append "mirror://gnome/sources/"
1133 "gnome-characters/" (version-major+minor version)
1134 "/gnome-characters-" version ".tar.xz"))
1135 (sha256
1136 (base32
1137 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1138 (build-system meson-build-system)
5757c641 1139 (arguments
1140 `(#:glib-or-gtk? #t
1141 #:phases (modify-phases %standard-phases
1142 (add-after 'install 'wrap
1143 (lambda* (#:key outputs #:allow-other-keys)
1144 ;; GNOME Characters needs Typelib files from GTK and
1145 ;; gnome-desktop.
1146 (wrap-program (string-append (assoc-ref outputs "out")
1147 "/bin/gnome-characters")
1148 `("GI_TYPELIB_PATH" ":" prefix
1149 (,(getenv "GI_TYPELIB_PATH"))))
1150 #t)))))
4e09f57a
RG
1151 (native-inputs
1152 `(("gettext" ,gettext-minimal)
1153 ("glib:bin" ,glib "bin")
1154 ("gtk+:bin" ,gtk+ "bin")
1155 ("pkg-config" ,pkg-config)
1156 ("python" ,python-minimal)))
1157 (inputs
1158 `(("gjs" ,gjs)
1159 ("gtk+" ,gtk+)
5757c641 1160 ("libunistring" ,libunistring)
1161 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1162 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1163 (synopsis "Find and insert unusual characters")
1164 (description "Characters is a simple utility application to find
1165and insert unusual characters. It allows you to quickly find the
1166character you are looking for by searching for keywords.")
1167 (license license:bsd-3)))
1168
7aab13f1
ML
1169(define-public gnome-common
1170 (package
1171 (name "gnome-common")
af83490d 1172 (version "3.18.0")
7aab13f1
ML
1173 (source
1174 (origin
1175 (method url-fetch)
1176 (uri (string-append "mirror://gnome/sources/" name "/"
1177 (version-major+minor version) "/"
1178 name "-" version ".tar.xz"))
1179 (sha256
1180 (base32
af83490d 1181 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1182 (build-system gnu-build-system)
1183 (home-page "https://www.gnome.org/")
1184 (synopsis "Bootstrap GNOME modules built from Git")
1185 (description "gnome-common contains various files needed to bootstrap
1186GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1187can be used to configure a source directory checked out from Git and some
1188commonly used macros.")
1189 (license license:gpl2+)))
1190
4e868d22
RG
1191(define-public gnome-contacts
1192 (package
1193 (name "gnome-contacts")
b3492e39 1194 (version "3.34")
4e868d22
RG
1195 (source (origin
1196 (method url-fetch)
1197 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1198 (version-major+minor version) "/"
1199 name "-" version ".tar.xz"))
1200 (sha256
1201 (base32
b3492e39 1202 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1203 (build-system meson-build-system)
1204 (arguments
b3492e39
KK
1205 `(#:configure-flags '("-Dcheese=false")
1206 #:phases
4e868d22
RG
1207 (modify-phases %standard-phases
1208 (add-after 'unpack 'generate-vapis
1209 (lambda* (#:key inputs #:allow-other-keys)
1210 ;; To generate goa's missing .vapi file
1211 (define goa
1212 (assoc-ref inputs "gnome-online-accounts:lib"))
1213
1214 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1215 "--library=goa-1.0"
1216 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1217 #t))
1218 (add-after 'unpack 'skip-gtk-update-icon-cache
1219 ;; Don't create 'icon-theme.cache'.
1220 (lambda _
1221 (substitute* "build-aux/meson_post_install.py"
1222 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1223 #t)))))
1224 (native-inputs
1225 `(("glib:bin" ,glib "bin")
4e868d22
RG
1226 ("pkg-config" ,pkg-config)))
1227 (inputs
b3492e39 1228 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1229 ("dockbook-xsl" ,docbook-xsl)
1230 ("evolution-data-server" ,evolution-data-server)
1231 ("gettext" ,gettext-minimal)
1232 ("gnome-desktop" ,gnome-desktop)
1233 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1234 ("gobject-introspection" ,gobject-introspection)
1235 ("gst-plugins-base" ,gst-plugins-base)
1236 ("gtk+" ,gtk+)
1237 ("libgee" ,libgee)
1238 ("libxslt" ,libxslt)
1239 ("telepathy-glib" ,telepathy-glib)
1240 ("vala" ,vala)))
1241 (propagated-inputs
1242 `(("folks", folks)
1243 ("telepathy-mission-control" ,telepathy-mission-control)))
1244 (synopsis "GNOME's integrated address book")
1245 (description
1246 "GNOME Contacts organizes your contact information from online and
1247offline sources, providing a centralized place for managing your contacts.")
1248 (home-page "https://wiki.gnome.org/Apps/Contacts")
1249 (license license:gpl2+)))
1250
9cc98f8a
CR
1251(define-public gnome-desktop
1252 (package
1253 (name "gnome-desktop")
8a7afc81 1254 (version "3.34.2")
9cc98f8a
CR
1255 (source
1256 (origin
1257 (method url-fetch)
b38e45d8
EB
1258 (uri (string-append "mirror://gnome/sources/" name "/"
1259 (version-major+minor version) "/"
9cc98f8a
CR
1260 name "-" version ".tar.xz"))
1261 (sha256
1262 (base32
8a7afc81 1263 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1264 (build-system meson-build-system)
a0fe7c06
CB
1265 (arguments
1266 '(#:phases
1267 (modify-phases %standard-phases
1268 (add-before 'configure 'patch-path
1269 (lambda* (#:key inputs #:allow-other-keys)
1270 (let ((libc (assoc-ref inputs "libc")))
1271 (substitute* "libgnome-desktop/gnome-languages.c"
1272 (("\"locale\"")
1273 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1274 #t)))
1275 (add-before 'check 'pre-check
1276 (lambda* (#:key inputs #:allow-other-keys)
1277 ;; Tests require a running X server and locales.
1278 (system "Xvfb :1 &")
1279 (setenv "DISPLAY" ":1")
1280 (setenv "GUIX_LOCPATH"
1281 (string-append (assoc-ref inputs "glibc-locales")
1282 "/lib/locale"))
1283 #t)))))
9cc98f8a 1284 (native-inputs
e8a26caa
KK
1285 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1286 ("glibc-locales" ,glibc-locales) ; for tests
1287 ("gobject-introspection" ,gobject-introspection)
a8340482 1288 ("itstool" ,itstool)
bcb354ad
SB
1289 ("intltool" ,intltool)
1290 ("pkg-config" ,pkg-config)
e8a26caa
KK
1291 ("xmllint" ,libxml2)
1292 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1293 (propagated-inputs
1294 ;; Required by gnome-desktop-3.0.pc.
1295 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1296 ("gtk+" ,gtk+)
9cc98f8a 1297 ("iso-codes" ,iso-codes)
9863ce20 1298 ("libseccomp" ,libseccomp)
9cc98f8a 1299 ("libx11" ,libx11)
e8a26caa
KK
1300 ("xkeyboard-config" ,xkeyboard-config)))
1301 (inputs
1302 `(("gdk-pixbuf" ,gdk-pixbuf)
1303 ("glib" ,glib)
9cc98f8a
CR
1304 ("libxext" ,libxext)
1305 ("libxkbfile" ,libxkbfile)
e8a26caa 1306 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1307 (home-page "https://www.gnome.org/")
1308 (synopsis
35b9e423 1309 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1310 (description
1311 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1312on the desktop, but that cannot live in the platform for various reasons.
1313There is no API or ABI guarantee, although we are doing our best to provide
1314stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1315
1316The gnome-about program helps find which version of GNOME is installed.")
1317 ; Some bits under the LGPL.
1dd26275 1318 (license license:gpl2+)))
9cc98f8a 1319
995b7261
AE
1320(define-public gnome-doc-utils
1321 (package
1322 (name "gnome-doc-utils")
1323 (version "0.20.10")
1324 (source
1325 (origin
1326 (method url-fetch)
b38e45d8
EB
1327 (uri (string-append "mirror://gnome/sources/" name "/"
1328 (version-major+minor version) "/"
995b7261
AE
1329 name "-" version ".tar.xz"))
1330 (sha256
1331 (base32
1332 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1333 (build-system gnu-build-system)
c4c4cc05 1334 (native-inputs
995b7261 1335 `(("intltool" ,intltool)
b4ce6300 1336 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1337 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1338 ("libxml2" ,libxml2)
1339 ("libxslt" ,libxslt)
1340 ("pkg-config" ,pkg-config)
1341 ("python-2" ,python-2)))
995b7261
AE
1342 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1343 (synopsis
1344 "Documentation utilities for the Gnome project")
1345 (description
1346 "Gnome-doc-utils is a collection of documentation utilities for the
1347Gnome project. It includes xml2po tool which makes it easier to translate
1348and keep up to date translations of documentation.")
1dd26275 1349 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1350
6c4f7022
DC
1351(define-public gnome-disk-utility
1352 (package
1353 (name "gnome-disk-utility")
262e660e 1354 (version "3.34.0")
6c4f7022
DC
1355 (source (origin
1356 (method url-fetch)
1357 (uri (string-append "mirror://gnome/sources/" name "/"
1358 (version-major+minor version) "/"
1359 name "-" version ".tar.xz"))
1360 (sha256
1361 (base32
262e660e 1362 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 1363 (build-system meson-build-system)
321c73c3 1364 (arguments
262e660e
KK
1365 '(#:configure-flags '("-Dlogind=libelogind")
1366 #:phases
321c73c3
EF
1367 (modify-phases %standard-phases
1368 (add-after 'unpack 'skip-gtk-update-icon-cache
1369 ;; Don't create 'icon-theme.cache'.
1370 (lambda _
1371 (substitute* "meson_post_install.py"
1372 (("gtk-update-icon-cache") "true"))
1373 #t)))))
6c4f7022
DC
1374 (native-inputs
1375 `(("glib:bin" ,glib "bin")
1376 ("intltool" ,intltool)
1377 ("pkg-config" ,pkg-config)
1378 ("docbook-xml" ,docbook-xml)
1379 ("docbook-xsl" ,docbook-xsl)
1380 ("libxml2" ,libxml2)
1381 ("libxslt" ,libxslt)))
1382 (inputs
262e660e
KK
1383 `(("elogind" ,elogind)
1384 ("glib" ,glib)
6c4f7022
DC
1385 ("appstream-glib" ,appstream-glib)
1386 ("gnome-settings-daemon" ,gnome-settings-daemon)
1387 ("gtk+" ,gtk+)
1388 ("libcanberra" ,libcanberra)
1389 ("libdvdread" ,libdvdread)
1390 ("libnotify" ,libnotify)
1391 ("libpwquality" ,libpwquality)
1392 ("libsecret" ,libsecret)
1393 ("udisks" ,udisks)))
1394 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1395 (synopsis "Disk management utility for GNOME")
1396 (description "Disk management utility for GNOME.")
1397 (license license:gpl2+)))
1398
3d217317
RG
1399(define-public gnome-font-viewer
1400 (package
1401 (name "gnome-font-viewer")
1402 (version "3.30.0")
1403 (source (origin
1404 (method url-fetch)
1405 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1406 (version-major+minor version)
1407 "/gnome-font-viewer-" version ".tar.xz"))
1408 (sha256
1409 (base32
1410 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1411 (build-system meson-build-system)
1412 (arguments
1413 '(#:phases
1414 (modify-phases %standard-phases
1415 (add-after 'unpack 'patch-post-install-script
1416 (lambda _
1417 (substitute* "meson-postinstall.sh"
1418 (("update-desktop-database") (which "true")))
1419 #t)))))
1420 (native-inputs
1421 `(("gettext" ,gettext-minimal)
1422 ("glib:bin" ,glib "bin")
1423 ("pkg-config" ,pkg-config)))
1424 (inputs
1425 `(("glib" ,glib)
1426 ("gnome-desktop" ,gnome-desktop)
1427 ("gtk+" ,gtk+)))
1428 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1429 (synopsis "GNOME Fonts")
1430 (description "Application to show you the fonts installed on your computer
1431for your use as thumbnails. Selecting any thumbnails shows the full view of how
1432the font would look under various sizes.")
1433 (license license:gpl2+)))
1434
8ff49011
RW
1435(define-public gcr
1436 (package
1437 (name "gcr")
1de804da 1438 (version "3.34.0")
8ff49011 1439 (source (origin
0daf0efb
RW
1440 (method url-fetch)
1441 (uri (string-append "mirror://gnome/sources/" name "/"
1442 (version-major+minor version) "/"
1443 name "-" version ".tar.xz"))
1444 (sha256
1445 (base32
1de804da 1446 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
1447 (build-system gnu-build-system)
1448 (arguments
0daf0efb
RW
1449 '(#:phases
1450 (modify-phases %standard-phases
1451 ;; These fail because /var/lib/dbus/machine-id is not present in the
1452 ;; build environment.
1453 (add-after 'unpack 'disable-failing-tests
1454 (lambda _
1de804da
MB
1455 (substitute* "Makefile.in"
1456 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
1457 ""))
0daf0efb
RW
1458 #t))
1459 (add-before 'check 'pre-check
1460 (lambda _
1461 ;; Some tests expect to write to $HOME.
1462 (setenv "HOME" "/tmp")
1463 #t)))))
8ff49011
RW
1464 (inputs
1465 `(("dbus" ,dbus)
0daf0efb 1466 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1467 ("libgcrypt" ,libgcrypt)))
1468 (native-inputs
1de804da 1469 `(("python" ,python-wrapper) ;for tests
8ff49011 1470 ("pkg-config" ,pkg-config)
1de804da 1471 ("gettext" ,gettext-minimal)
8ff49011 1472 ("glib" ,glib "bin")
2af4f5b0 1473 ("gobject-introspection" ,gobject-introspection)
0daf0efb 1474 ("libxml2" ,libxml2)
bea6b829 1475 ("vala" ,vala)
2af4f5b0 1476 ("xsltproc" ,libxslt)))
8ff49011
RW
1477 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1478 (propagated-inputs
1479 `(("p11-kit" ,p11-kit)
1480 ("glib" ,glib)
1481 ("gtk+" ,gtk+)))
f032d0be 1482 (home-page "https://www.gnome.org")
8ff49011
RW
1483 (synopsis "Libraries for displaying certificates and accessing key stores")
1484 (description
1485 "The GCR package contains libraries used for displaying certificates and
1486accessing key stores. It also provides the viewer for crypto files on the
1487GNOME Desktop.")
1488 (license license:lgpl2.1+)))
1489
c1354b90
LC
1490(define-public libgnome-keyring
1491 (package
1492 (name "libgnome-keyring")
5e8aec2c 1493 (version "3.12.0")
c1354b90
LC
1494 (source (origin
1495 (method url-fetch)
b38e45d8
EB
1496 (uri (string-append "mirror://gnome/sources/" name "/"
1497 (version-major+minor version) "/"
1498 name "-" version ".tar.xz"))
c1354b90
LC
1499 (sha256
1500 (base32
5e8aec2c 1501 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1502 (build-system gnu-build-system)
c1354b90 1503 (inputs
c4c4cc05 1504 `(("libgcrypt" ,libgcrypt)
c1354b90 1505 ("dbus" ,dbus)))
c4c4cc05
JD
1506 (native-inputs
1507 `(("pkg-config" ,pkg-config)
426adbe8 1508 ("glib" ,glib "bin")
c4c4cc05 1509 ("intltool" ,intltool)))
c1354b90
LC
1510 (propagated-inputs
1511 ;; Referred to in .h files and .pc.
1512 `(("glib" ,glib)))
f032d0be 1513 (home-page "https://www.gnome.org")
c1354b90
LC
1514 (synopsis "Accessing passwords from the GNOME keyring")
1515 (description
1516 "Client library to access passwords from the GNOME keyring.")
1517
1518 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1519 (license license:lgpl2.0+)))
c1354b90 1520
e99a3d6f
RW
1521(define-public gnome-keyring
1522 (package
1523 (name "gnome-keyring")
14faeadd 1524 (version "3.34.0")
e99a3d6f
RW
1525 (source (origin
1526 (method url-fetch)
1527 (uri (string-append "mirror://gnome/sources/" name "/"
1528 (version-major+minor version) "/"
1529 name "-" version ".tar.xz"))
1530 (sha256
1531 (base32
14faeadd 1532 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
1533 (build-system gnu-build-system)
1534 (arguments
1535 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1536 ;not exist
1537 #:configure-flags
1538 (list
1539 (string-append "--with-pkcs11-config="
1540 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1541 (string-append "--with-pkcs11-modules="
1542 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1543 #:phases
1544 (modify-phases %standard-phases
ab35cc6e
RW
1545 (add-after 'unpack 'fix-/bin/sh-reference
1546 (lambda _
1547 (substitute* "po/Makefile.in.in"
1548 (("/bin/sh") (which "sh")))
1549 #t))
5120f24f
RW
1550 (add-after 'unpack 'fix-docbook
1551 (lambda* (#:key inputs #:allow-other-keys)
1552 (substitute* "docs/Makefile.am"
1553 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1554 (string-append (assoc-ref inputs "docbook-xsl")
1555 "/xml/xsl/docbook-xsl-"
1556 ,(package-version docbook-xsl)
1557 "/manpages/docbook.xsl")))
1558 (setenv "XML_CATALOG_FILES"
1559 (string-append (assoc-ref inputs "docbook-xml")
1560 "/xml/dtd/docbook/catalog.xml"))
1561 ;; Rerun the whole thing to avoid version mismatch ("This is
1562 ;; Automake 1.15.1, but the definition used by this
1563 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1564 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1565 (invoke "autoconf")
1566 (invoke "aclocal")
1567 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1568 (inputs
1569 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1570 ("linux-pam" ,linux-pam)
ab35cc6e 1571 ("openssh" ,openssh)
e99a3d6f
RW
1572 ("dbus" ,dbus)
1573 ("gcr" ,gcr)))
1574 (native-inputs
1575 `(("pkg-config" ,pkg-config)
1576 ("glib" ,glib "bin")
5120f24f 1577 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1578 ("python" ,python-2) ;for tests
1579 ("intltool" ,intltool)
1580 ("autoconf" ,autoconf)
1581 ("automake" ,automake)
1582 ("libxslt" ,libxslt) ;for documentation
1583 ("docbook-xml" ,docbook-xml-4.2)
1584 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1585 (home-page "https://www.gnome.org")
e99a3d6f
RW
1586 (synopsis "Daemon to store passwords and encryption keys")
1587 (description
1588 "gnome-keyring is a program that keeps passwords and other secrets for
1589users. It is run as a daemon in the session, similar to ssh-agent, and other
1590applications locate it via an environment variable or D-Bus.
1591
1592The program can manage several keyrings, each with its own master password,
1593and there is also a session keyring which is never stored to disk, but
1594forgotten when the session ends.")
1595 (license license:lgpl2.1+)))
1596
c1354b90
LC
1597(define-public evince
1598 (package
1599 (name "evince")
936d5642 1600 (version "3.34.2")
c1354b90
LC
1601 (source (origin
1602 (method url-fetch)
ac631328 1603 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1604 (version-major+minor version) "/"
ac631328 1605 "evince-" version ".tar.xz"))
c1354b90
LC
1606 (sha256
1607 (base32
936d5642 1608 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1609 (build-system glib-or-gtk-build-system)
c1354b90 1610 (arguments
169b8f77 1611 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1612 #:phases
1613 (modify-phases %standard-phases
1614 (add-before 'install 'skip-gtk-update-icon-cache
1615 ;; Don't create 'icon-theme.cache'.
1616 (lambda _
1617 (substitute* "data/Makefile"
1618 (("gtk-update-icon-cache") "true"))
1619 #t)))))
c1354b90 1620 (inputs
9a096881
KK
1621 `(("libarchive" ,libarchive)
1622 ("libgxps" ,libgxps)
1623 ("libspectre" ,libspectre)
c769cf9f 1624 ("djvulibre" ,djvulibre)
c1354b90
LC
1625 ("ghostscript" ,ghostscript)
1626 ("poppler" ,poppler)
c769cf9f
SB
1627 ("libtiff" ,libtiff)
1628 ;; TODO:
c769cf9f
SB
1629 ;; Build libkpathsea as a shared library for DVI support.
1630 ;; ("libkpathsea" ,texlive-bin)
1631 ("gnome-desktop" ,gnome-desktop)
c1354b90 1632 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1633 ("gspell" ,gspell)
c1354b90 1634 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1635 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1636 ("gdk-pixbuf" ,gdk-pixbuf)
1637 ("atk" ,atk)
1638 ("pango" ,pango)
1639 ("gtk+" ,gtk+)
1640 ("glib" ,glib)
1641 ("libxml2" ,libxml2)
c1354b90
LC
1642 ("libsm" ,libsm)
1643 ("libice" ,libice)
96e42467 1644 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1645 ("dconf" ,dconf)
1646 ("libcanberra" ,libcanberra)
c769cf9f 1647 ("libsecret" ,libsecret)
a271096b 1648
c1354b90
LC
1649 ;; For tests.
1650 ("dogtail" ,python2-dogtail)))
96e42467 1651 (native-inputs
bcb354ad
SB
1652 `(("itstool" ,itstool)
1653 ("intltool" ,intltool)
426adbe8 1654 ("glib" ,glib "bin")
169b8f77 1655 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1656 ("pkg-config" ,pkg-config)
1657 ("xmllint" ,libxml2)))
c1354b90 1658 (home-page
f032d0be 1659 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1660 (synopsis "GNOME's document viewer")
1661 (description
1662 "Evince is a document viewer for multiple document formats. It
1663currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1664of Evince is to replace the multiple document viewers that exist
96e42467 1665on the GNOME Desktop with a single simple application.")
1dd26275 1666 (license license:gpl2+)))
c1354b90 1667
22e32e69
AE
1668(define-public gsettings-desktop-schemas
1669 (package
1670 (name "gsettings-desktop-schemas")
8468117e 1671 (version "3.34.0")
22e32e69
AE
1672 (source
1673 (origin
1674 (method url-fetch)
1675 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1676 (version-major+minor version) "/"
22e32e69
AE
1677 name "-" version ".tar.xz"))
1678 (sha256
1679 (base32
8468117e 1680 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 1681 (build-system meson-build-system)
65209ffa
LC
1682 (arguments
1683 '(#:phases (modify-phases %standard-phases
3861fb1c 1684 (add-after 'unpack 'patch-schemas
65209ffa 1685 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1686 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1687 (substitute* (find-files "schemas"
1688 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1689 ;; Provide the correct file name of the default GNOME
1690 ;; background, 'adwaita-timed.xml'.
65209ffa 1691 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1692 (string-append theme "/share/backgrounds/gnome"))
1693 ;; Do not reference fonts, that may not exist.
1694 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1695 #t))))))
22e32e69 1696 (inputs
65209ffa
LC
1697 `(("glib" ,glib)
1698 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1699 (native-inputs
1700 `(("intltool" ,intltool)
426adbe8 1701 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1702 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1703 ("pkg-config" ,pkg-config)))
1704 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1705 (synopsis
1706 "GNOME settings for various desktop components")
1707 (description
1708 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1709for settings shared by various components of the GNOME desktop.")
1dd26275 1710 (license license:lgpl2.1+)))
22e32e69 1711
27477d2d
AE
1712(define-public icon-naming-utils
1713 (package
1714 (name "icon-naming-utils")
1715 (version "0.8.90")
1716 (source
1717 (origin
1718 (method url-fetch)
5cc3096c 1719 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1720 version ".tar.bz2"))
1721 (sha256
1722 (base32
1723 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1724 (build-system gnu-build-system)
1725 (inputs
1726 `(("perl" ,perl)
1727 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1728 (arguments
1729 '(#:phases
dc1d3cde
KK
1730 (modify-phases %standard-phases
1731 (add-after 'install 'set-load-paths
1732 ;; Tell 'icon-name-mapping' where XML::Simple is.
1733 (lambda* (#:key outputs #:allow-other-keys)
1734 (let* ((out (assoc-ref outputs "out"))
1735 (prog (string-append out "/libexec/icon-name-mapping")))
1736 (wrap-program
1737 prog
1738 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1739 #t)))))
27477d2d
AE
1740 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1741 (synopsis
1742 "Utility to implement the Freedesktop Icon Naming Specification")
1743 (description
1744 "To help with the transition to the Freedesktop Icon Naming
1745Specification, the icon naming utility maps the icon names used by the
1746GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1747 (license license:lgpl2.1+)))
27477d2d 1748
7d3f3651
AE
1749(define-public gnome-icon-theme
1750 (package
1751 (name "gnome-icon-theme")
b32f58dd 1752 (version "3.12.0")
7d3f3651
AE
1753 (source
1754 (origin
1755 (method url-fetch)
1756 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1757 (version-major+minor version) "/"
7d3f3651
AE
1758 name "-" version ".tar.xz"))
1759 (sha256
1760 (base32
b32f58dd 1761 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1762 (build-system gnu-build-system)
5613c27d
SB
1763 (arguments
1764 '(#:configure-flags
1765 ;; Don't create 'icon-theme.cache'.
1766 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1767 (true (string-append coreutils "/bin/true")))
1768 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1769 (native-inputs
5613c27d 1770 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1771 ("intltool" ,intltool)
1772 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1773 (home-page "https://wiki.gnome.org/Personalization")
1774 (synopsis "GNOME icon theme")
1775 (description "Icons for the GNOME desktop.")
1dd26275 1776 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1777
14eeefa2
SB
1778;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1779(define-public adwaita-icon-theme
1780 (package (inherit gnome-icon-theme)
1781 (name "adwaita-icon-theme")
e21788f2 1782 (version "3.34.3")
14eeefa2
SB
1783 (source (origin
1784 (method url-fetch)
1785 (uri (string-append "mirror://gnome/sources/" name "/"
1786 (version-major+minor version) "/"
1787 name "-" version ".tar.xz"))
1788 (sha256
1789 (base32
e21788f2 1790 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
1791 (native-inputs
1792 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1793
ae792dba
RW
1794(define-public tango-icon-theme
1795 (package
1796 (name "tango-icon-theme")
1797 (version "0.8.90")
1798 (source (origin
1799 (method url-fetch)
1800 (uri (string-append "http://tango.freedesktop.org/releases/"
1801 "tango-icon-theme-" version ".tar.bz2"))
1802 (sha256
1803 (base32
1804 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1805 (build-system gnu-build-system)
1806 (native-inputs
1807 `(("icon-naming-utils" ,icon-naming-utils)
1808 ("intltool" ,intltool)
1809 ("imagemagick" ,imagemagick)
1810 ("pkg-config" ,pkg-config)))
1811 (home-page "http://tango-project.org/")
1812 (synopsis "Tango icon theme")
1813 (description "This is an icon theme that follows the Tango visual
1814guidelines.")
1815 (license license:public-domain)))
1816
9167f8e6
LC
1817(define-public shared-mime-info
1818 (package
1819 (name "shared-mime-info")
404e386e 1820 (version "1.15")
9167f8e6
LC
1821 (source (origin
1822 (method url-fetch)
404e386e
MB
1823 (uri (string-append
1824 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
1825 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
1826 ".tar.xz"))
9167f8e6
LC
1827 (sha256
1828 (base32
404e386e 1829 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
1830 (build-system gnu-build-system)
1831 (arguments
1832 ;; The build system appears not to be parallel-safe.
1833 '(#:parallel-build? #f))
1834 (inputs
1835 `(("glib" ,glib)
c4c4cc05 1836 ("libxml2" ,libxml2)))
9167f8e6 1837 (native-inputs
404e386e
MB
1838 `(("gettext" ,gettext-minimal)
1839 ("itstool" ,itstool)
c4c4cc05 1840 ("pkg-config" ,pkg-config)))
57e7d748 1841 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1842 (synopsis "Database of common MIME types")
1843 (description
1844 "The shared-mime-info package contains the core database of common types
1845and the update-mime-database command used to extend it. It requires glib2 to
1846be installed for building the update command. Additionally, it uses intltool
1847for translations, though this is only a dependency for the maintainers. This
1848database is translated at Transifex.")
1dd26275 1849 (license license:gpl2+)))
9167f8e6 1850
dd1fcddc
CB
1851(define-public system-config-printer
1852 (package
1853 (name "system-config-printer")
fa01e10d 1854 (version "1.5.12")
a5643044
TGR
1855 (source
1856 (origin
1857 (method url-fetch)
1858 (uri (string-append
1859 "https://github.com/OpenPrinting/system-config-printer/releases/"
1860 "download/" version
1861 "/system-config-printer-" version ".tar.xz"))
1862 (sha256
fa01e10d 1863 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1864 (build-system glib-or-gtk-build-system)
1865 (arguments
1866 `(#:imported-modules ((guix build python-build-system)
1867 ,@%glib-or-gtk-build-system-modules)
1868 #:phases
1869 (modify-phases %standard-phases
1870 (add-after 'unpack 'patch-Makefile.am
1871 (lambda _
1872 ;; The Makefile generates some scripts, so set a valid shebang
1873 (substitute* "Makefile.am"
1874 (("/bin/bash") (which "bash")))
1875 (delete-file "configure")
1876 #t))
1877 (add-after 'unpack 'patch-docbook-xml
1878 (lambda* (#:key inputs #:allow-other-keys)
1879 ;; Modify the man XML otherwise xmlto tries to access the network
1880 (substitute* "man/system-config-printer.xml"
1881 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1882 (string-append (assoc-ref inputs "docbook-xml")
1883 "/xml/dtd/docbook/")))
1884 #t))
1885 (add-after 'install 'wrap-for-python
1886 (@@ (guix build python-build-system) wrap))
1887 (add-after 'install 'wrap
1888 (lambda* (#:key outputs #:allow-other-keys)
1889 (let ((out (assoc-ref outputs "out"))
1890 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1891 (for-each
1892 (lambda (program)
1893 (wrap-program program
1894 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1895 (map (lambda (name)
1896 (string-append out "/bin/" name))
1897 '("system-config-printer"
1898 "system-config-printer-applet"
1899 "install-printerdriver"
1900 "scp-dbus-service"))))
1901 #t)))))
1902 (inputs
1903 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1904 ("gobject-introspection" ,gobject-introspection)
1905 ("python" ,python)
1906 ("cups" ,cups)
1907 ("python-dbus" ,python-dbus)
1908 ("python-pygobject" ,python-pygobject)
1909 ("python-pycups" ,python-pycups)
1910 ("python-requests" ,python-requests)
1911 ("python-pycairo" ,python-pycairo)
1912 ("libnotify" ,libnotify)
1913 ("packagekit" ,packagekit)))
1914 (native-inputs
1915 `(("pkg-config" ,pkg-config)
1916 ("desktop-file-utils" ,desktop-file-utils)
1917 ("glib" ,glib)
1918 ("autoconf" ,autoconf)
1919 ("automake" ,automake)
1920 ("intltool" ,intltool)
1921 ("xmlto" ,xmlto)
1922 ("docbook-xml" ,docbook-xml-4.1.2)
1923 ("docbook-xsl" ,docbook-xsl)
1924 ("libxml2" ,libxml2)))
1925 (home-page "https://github.com/zdohnal/system-config-printer")
1926 (synopsis "CUPS administration tool")
1927 (description
1928 "system-config-printer is a CUPS administration tool. It's written in
1929Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1930configuring CUPS.")
1931 (license license:gpl2+)))
1932
bef4dd92
AE
1933(define-public hicolor-icon-theme
1934 (package
1935 (name "hicolor-icon-theme")
851cb6dd 1936 (version "0.17")
bef4dd92
AE
1937 (source
1938 (origin
1939 (method url-fetch)
5cc3096c 1940 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1941 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1942 (sha256
1943 (base32
851cb6dd 1944 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1945 (build-system gnu-build-system)
1946 (arguments
1947 `(#:tests? #f)) ; no check target
57e7d748 1948 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1949 (synopsis
1950 "Freedesktop icon theme")
1951 (description
1952 "Freedesktop icon theme.")
1dd26275 1953 (license license:gpl2)))
bef4dd92 1954
d9c1a22b
AE
1955(define-public libnotify
1956 (package
1957 (name "libnotify")
195bfa68 1958 (version "0.7.7")
d9c1a22b
AE
1959 (source
1960 (origin
1961 (method url-fetch)
1962 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1963 (version-major+minor version) "/"
d9c1a22b
AE
1964 name "-" version ".tar.xz"))
1965 (sha256
1966 (base32
195bfa68 1967 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1968 (build-system gnu-build-system)
6acf6cec
MB
1969 (arguments
1970 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1971 (propagated-inputs
1972 `(;; In Requires of libnotify.pc.
1973 ("gdk-pixbuf" ,gdk-pixbuf)
1974 ("glib" ,glib)))
d9c1a22b 1975 (inputs
7ef08efa 1976 `(("gtk+" ,gtk+)
c4c4cc05
JD
1977 ("libpng" ,libpng)))
1978 (native-inputs
426adbe8 1979 `(("pkg-config" ,pkg-config)
277a7d82
JN
1980 ("glib" ,glib "bin")
1981 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1982 (home-page "https://developer-next.gnome.org/libnotify/")
1983 (synopsis
1984 "GNOME desktop notification library")
1985 (description
1986 "Libnotify is a library that sends desktop notifications to a
35b9e423 1987notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1988notifications can be used to inform the user about an event or display
1989some form of information without getting in the user's way.")
1dd26275 1990 (license license:lgpl2.1+)))
7a8605ce
CR
1991
1992(define-public libpeas
1993 (package
1994 (name "libpeas")
f2d56e39 1995 (version "1.24.1")
7a8605ce
CR
1996 (source
1997 (origin
1998 (method url-fetch)
1999 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2000 (version-major+minor version) "/"
7a8605ce
CR
2001 name "-" version ".tar.xz"))
2002 (sha256
2003 (base32
f2d56e39
MB
2004 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2005 (build-system meson-build-system)
2006 (arguments
2007 '(#:phases
2008 (modify-phases %standard-phases
2009 (add-before 'check 'start-xserver
2010 (lambda* (#:key inputs #:allow-other-keys)
2011 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2012 (disp ":1"))
2013 (setenv "DISPLAY" disp)
2014 ;; Tests require a running X server.
2015 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2016 #t))))))
7a8605ce 2017 (inputs
2ed6522a
SB
2018 `(("gtk+" ,gtk+)
2019 ("glade" ,glade3)
2ed6522a
SB
2020 ("python" ,python)
2021 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2022 (native-inputs
2023 `(("pkg-config" ,pkg-config)
f2d56e39 2024 ("gettext" ,gettext-minimal)
93622993 2025 ("glib:bin" ,glib "bin")
141aed80 2026 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2027 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2028 (propagated-inputs
2029 ;; The .pc file "Requires" gobject-introspection.
2030 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2031 (home-page "https://wiki.gnome.org/Libpeas")
2032 (synopsis "GObject plugin system")
2033 (description
d1e4ad1b
TGR
2034 "Libpeas is a gobject-based plugin engine, targeted at giving every
2035application the chance to assume its own extensibility. It also has a set of
2036features including, but not limited to: multiple extension points; on-demand
2037(lazy) programming language support for C, Python and JS; simplicity of the
2038API.")
1dd26275 2039 (license license:lgpl2.0+)))
ed19903d
JD
2040
2041(define-public gtkglext
2042 (package
2043 (name "gtkglext")
2044 (version "1.2.0")
2045 (source (origin
2046 (method url-fetch)
0f971a04 2047 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2048 version "/gtkglext-" version ".tar.gz"))
2049 (sha256
2050 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2051 (patches (search-patches
2052 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2053 (build-system gnu-build-system)
14e2f61a
RW
2054 (arguments
2055 `(#:phases
2056 (modify-phases %standard-phases
2057 ;; Fix a collision between a local variable and a definition from
2058 ;; glibc's string.h.
2059 (add-after 'unpack 'fix-collision
2060 (lambda _
2061 (substitute* "gdk/gdkglshapes.c"
2062 ((" index") " triangle_index"))
2063 #t)))))
ed19903d
JD
2064 (inputs `(("gtk+" ,gtk+-2)
2065 ("mesa" ,mesa)
cc8b02f4 2066 ("glu" ,glu)
ed19903d
JD
2067 ("libx11" ,libx11)
2068 ("libxt" ,libxt)))
426adbe8
LC
2069 (native-inputs `(("pkg-config" ,pkg-config)
2070 ("glib" ,glib "bin")))
a83b6a06 2071 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2072 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2073 (synopsis "OpenGL extension to GTK+")
35b9e423 2074 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2075additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2076API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2077 (license license:lgpl2.1+)))
3600420e
JD
2078
2079(define-public glade3
2080 (package
2081 (name "glade")
c6571adb 2082 (version "3.22.1")
b38e45d8
EB
2083 (source (origin
2084 (method url-fetch)
2085 (uri (string-append "mirror://gnome/sources/" name "/"
2086 (version-major+minor version) "/"
f5ca44b8 2087 name "-" version ".tar.xz"))
3600420e 2088 (sha256
f714d9fe 2089 (base32
c6571adb 2090 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2091 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2092 (arguments
2093 `(#:tests? #f ; needs X, GL, and software rendering
2094 #:phases
2095 (modify-phases %standard-phases
2096 (add-before 'configure 'fix-docbook
2097 (lambda* (#:key inputs #:allow-other-keys)
2098 (substitute* "man/Makefile.in"
2099 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2100 (string-append (assoc-ref inputs "docbook-xsl")
2101 "/xml/xsl/docbook-xsl-"
2102 ,(package-version docbook-xsl)
2103 "/manpages/docbook.xsl")))
2104 #t)))))
3600420e 2105 (inputs
f5ca44b8 2106 `(("gtk+" ,gtk+)
3600420e
JD
2107 ("libxml2" ,libxml2)))
2108 (native-inputs
2109 `(("intltool" ,intltool)
f5ca44b8
RW
2110 ("itstool" ,itstool)
2111 ("libxslt" ,libxslt) ;for xsltproc
2112 ("docbook-xml" ,docbook-xml-4.2)
2113 ("docbook-xsl" ,docbook-xsl)
2114 ("python" ,python-2)
3600420e
JD
2115 ("pkg-config" ,pkg-config)))
2116 (home-page "https://glade.gnome.org")
2117 (synopsis "GTK+ rapid application development tool")
2118 (description "Glade is a rapid application development (RAD) tool to
2119enable quick & easy development of user interfaces for the GTK+ toolkit and
2120the GNOME desktop environment.")
1dd26275
LC
2121 (license license:lgpl2.0+)))
2122
2123(define-public libcroco
2124 (package
2125 (name "libcroco")
8bdacad2 2126 (version "0.6.13")
1dd26275
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"))
1dd26275
LC
2132 (sha256
2133 (base32
8bdacad2 2134 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2135 (build-system gnu-build-system)
2136 (native-inputs
2137 `(("pkg-config" ,pkg-config)))
2138 (inputs
2139 `(("glib" ,glib)
2140 ("libxml2" ,libxml2)
2141 ("zlib" ,zlib)))
2142 (home-page "https://github.com/GNOME/libcroco")
2143 (synopsis "CSS2 parsing and manipulation library")
2144 (description
2145 "Libcroco is a standalone CSS2 parsing and manipulation library.
2146The parser provides a low level event driven SAC-like API and a CSS object
2147model like API. Libcroco provides a CSS2 selection engine and an experimental
2148XML/CSS rendering engine.")
2149
2150 ;; LGPLv2.1-only.
2151 (license license:lgpl2.1)))
25178594
LC
2152
2153(define-public libgsf
2154 (package
2155 (name "libgsf")
2b9b854c 2156 (version "1.14.47")
25178594
LC
2157 (source (origin
2158 (method url-fetch)
b38e45d8
EB
2159 (uri (string-append "mirror://gnome/sources/" name "/"
2160 (version-major+minor version) "/"
2161 name "-" version ".tar.xz"))
25178594
LC
2162 (sha256
2163 (base32
2b9b854c 2164 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2165 (build-system gnu-build-system)
23904adb
MB
2166 (arguments
2167 '(#:configure-flags '("--disable-static")))
25178594 2168 (native-inputs
0a1559cc
MB
2169 `(("pkg-config" ,pkg-config)
2170 ("gettext" ,gettext-minimal)
2171
2172 ;; For tests.
2173 ("perl" ,perl)
2174 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2175 (inputs
4ffa9f6b 2176 `(("zlib" ,zlib)
25178594
LC
2177 ("bzip2" ,bzip2)))
2178 (propagated-inputs
2179 `(("gdk-pixbuf" ,gdk-pixbuf)
2180 ("glib" ,glib)
2181 ("libxml2" ,libxml2)))
f032d0be 2182 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2183 (synopsis "GNOME's Structured File Library")
2184 (description
2185 "Libgsf aims to provide an efficient extensible I/O abstraction for
2186dealing with different structured file formats.")
2187
2188 ;; LGPLv2.1-only.
2189 (license license:lgpl2.1)))
63016e7c
LC
2190
2191(define-public librsvg
f67417a1
MB
2192 (package
2193 (name "librsvg")
c1cc52a2 2194 (version "2.40.21")
f67417a1
MB
2195 (source (origin
2196 (method url-fetch)
2197 (uri (string-append "mirror://gnome/sources/" name "/"
2198 (version-major+minor version) "/"
2199 name "-" version ".tar.xz"))
2200 (sha256
2201 (base32
c1cc52a2 2202 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2203 (build-system gnu-build-system)
2204 (arguments
2205 `(#:configure-flags
2206 (list "--disable-static"
2207 "--enable-vala") ; needed for e.g. gnome-mines
2208 #:phases
2209 (modify-phases %standard-phases
2210 (add-before 'configure 'pre-configure
2211 (lambda* (#:key inputs #:allow-other-keys)
2212 (substitute* "gdk-pixbuf-loader/Makefile.in"
2213 ;; By default the gdk-pixbuf loader is installed under
2214 ;; gdk-pixbuf's prefix. Work around that.
2215 (("gdk_pixbuf_moduledir = .*$")
2216 (string-append "gdk_pixbuf_moduledir = "
2217 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2218 "loaders\n"))
2219 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2220 (("gdk_pixbuf_cache_file = .*$")
2221 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2222 #t))
2223 (add-before 'check 'remove-failing-tests
2224 (lambda _
2225 (with-directory-excursion "tests/fixtures/reftests"
2226 (for-each delete-file
2227 '(;; This test fails on i686:
2228 "svg1.1/masking-path-04-b.svg"
2229 ;; This test fails on armhf:
2230 "svg1.1/masking-mask-01-b.svg"
2231 ;; This test fails on aarch64:
2232 "bugs/777834-empty-text-children.svg")))
2233 #t)))))
2234 (native-inputs
2235 `(("pkg-config" ,pkg-config)
2236 ("vala" ,vala)
2237 ("glib" ,glib "bin") ; glib-mkenums, etc.
2238 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2239 (inputs
869b63cb
MB
2240 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
2241 ;; this ancient version of librsvg.
2242 ("pango" ,pango-1.42)
f67417a1
MB
2243 ("libcroco" ,libcroco)
2244 ("bzip2" ,bzip2)
2245 ("libgsf" ,libgsf)
2246 ("libxml2" ,libxml2)))
2247 (propagated-inputs
2248 ;; librsvg-2.0.pc refers to all of that.
2249 `(("cairo" ,cairo)
2250 ("gdk-pixbuf" ,gdk-pixbuf)
2251 ("glib" ,glib)))
2252 (home-page "https://wiki.gnome.org/LibRsvg")
2253 (synopsis "Render SVG files using Cairo")
2254 (description
2255 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2256library.")
2257 (license license:lgpl2.0+)))
2258
2259(define-public librsvg-next
63016e7c 2260 (package
25d39a2a 2261 (inherit librsvg)
63016e7c 2262 (name "librsvg")
3276e123 2263 (version "2.46.4")
69568670
EF
2264 (source (origin
2265 (method url-fetch)
2266 (uri (string-append "mirror://gnome/sources/librsvg/"
2267 (version-major+minor version) "/"
2268 "librsvg-" version ".tar.xz"))
2269 (sha256
2270 (base32
2271 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2272 (modules '((guix build utils)))
2273 (snippet
2274 '(begin (delete-file-recursively "vendor")
2275 ;; Don't demand an exact version for string_cache
2276 (substitute* "rsvg_internals/Cargo.toml"
2277 (("\"=") "\""))
2278 #t))))
2279 (build-system cargo-build-system)
63016e7c 2280 (arguments
69568670
EF
2281 `(#:modules ((guix build cargo-build-system)
2282 (guix build utils)
2283 ((guix build gnu-build-system) #:prefix gnu:))
2284 #:vendor-dir "vendor"
2285 #:cargo-inputs
2286 (("rust-bitflags" ,rust-bitflags-1)
2287 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2288 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2289 ("rust-cssparser" ,rust-cssparser-0.25)
2290 ("rust-data-url" ,rust-data-url-0.1)
2291 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2292 ("rust-encoding" ,rust-encoding-0.2)
2293 ("rust-float-cmp" ,rust-float-cmp-0.5)
2294 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2295 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2296 ("rust-gio" ,rust-gio-0.7)
2297 ("rust-gio-sys" ,rust-gio-sys-0.9)
2298 ("rust-glib" ,rust-glib-0.8)
2299 ("rust-glib-sys" ,rust-glib-sys-0.9)
2300 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2301 ("rust-itertools" ,rust-itertools-0.8)
2302 ("rust-language-tags" ,rust-language-tags-0.2)
2303 ("rust-lazy-static" ,rust-lazy-static-1)
2304 ("rust-libc" ,rust-libc-0.2)
2305 ("rust-locale-config" ,rust-locale-config-0.3)
2306 ("rust-markup5ever" ,rust-markup5ever-0.9)
2307 ("rust-nalgebra" ,rust-nalgebra-0.18)
2308 ("rust-num-traits" ,rust-num-traits-0.2)
2309 ("rust-pkg-config" ,rust-pkg-config-0.3)
2310 ("rust-pango" ,rust-pango-0.7)
2311 ("rust-pango-sys" ,rust-pango-sys-0.9)
2312 ("rust-pangocairo" ,rust-pangocairo-0.8)
2313 ("rust-phf" ,rust-phf-0.7)
2314 ("rust-rayon" ,rust-rayon-1.3)
2315 ("rust-rctree" ,rust-rctree-0.3)
2316 ("rust-string-cache" ,rust-string-cache-0.7)
2317 ("rust-regex" ,rust-regex-1.3)
2318 ("rust-url" ,rust-url-2.1)
2319 ("rust-xml-rs" ,rust-xml-rs-0.8))
2320 #:cargo-development-inputs
2321 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2322 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2323 #:phases
b6239e45 2324 (modify-phases %standard-phases
69568670 2325 (add-after 'unpack 'prepare-for-build
ec47c07d 2326 (lambda _
69568670
EF
2327 ;; In lieu of #:make-flags
2328 (setenv "CC" "gcc")
2329 ;; Something about the build environment resists building
2330 ;; successfully with the '--locked' flag.
2331 (substitute* '("Makefile.am"
2332 "Makefile.in")
2333 (("--locked") ""))
2334 #t))
b6239e45 2335 (add-before 'configure 'pre-configure
69568670 2336 (lambda _
b6239e45
EF
2337 (substitute* "gdk-pixbuf-loader/Makefile.in"
2338 ;; By default the gdk-pixbuf loader is installed under
2339 ;; gdk-pixbuf's prefix. Work around that.
2340 (("gdk_pixbuf_moduledir = .*$")
2341 (string-append "gdk_pixbuf_moduledir = "
2342 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2343 "loaders\n"))
2344 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2345 (("gdk_pixbuf_cache_file = .*$")
2346 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2347 #t))
69568670
EF
2348 (add-after 'configure 'gnu-configure
2349 (assoc-ref gnu:%standard-phases 'configure))
2350 ;(lambda* (#:key outputs #:allow-other-keys)
2351 ; ((assoc-ref gnu:%standard-phases 'configure)
2352 ; #:outputs outputs
2353 ; #:configure-flags ("--disable-static"
2354 ; "--enable-vala"))))
2355 (add-after 'configure 'dont-vendor-self
2356 (lambda* (#:key vendor-dir #:allow-other-keys)
2357 ;; Don't keep the whole tarball in the vendor directory
2358 (delete-file-recursively
2359 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2360 #t))
2361 (replace 'build
2362 (assoc-ref gnu:%standard-phases 'build))
2363 (replace 'check
2364 (lambda* args
2365 ((assoc-ref gnu:%standard-phases 'check)
2366 #:test-target "check")))
2367 (replace 'install
2368 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2369 (add-before 'check 'remove-failing-tests
b6239e45 2370 (lambda _
64a153bd
MW
2371 (with-directory-excursion "tests/fixtures/reftests"
2372 (for-each delete-file
ec47c07d
MB
2373 '(;; The images produced by these tests differ slightly
2374 ;; from their reference counterparts due to differences
2375 ;; in the build environment (missing fonts, etc). See
2376 ;; <tests/README.md> for details.
2377 ;; These fail on x86_64.
2378 "svg1.1/coords-viewattr-02-b.svg"
2379 "svg1.1/filters-composite-04-f.svg"
2380 "svg1.1/filters-image-01-b.svg"
2381 "svg1.1/filters-conv-02-f.svg"
2382 "svg1.1/filters-conv-04-f.svg"
2383 ;; This test fails on i686:
64a153bd 2384 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2385 ;; This test fails on armhf:
2386 "svg1.1/masking-mask-01-b.svg"
64a153bd 2387 ;; This test fails on aarch64:
ec47c07d 2388 "bugs/777834-empty-text-children.svg")))
b6239e45 2389 #t)))))
cf9dad6c 2390 (license license:lgpl2.1+)))
5698b8b8
JD
2391
2392(define-public libidl
2393 (package
2394 (name "libidl")
2395 (version "0.8.14")
2396 (source (origin
2397 (method url-fetch)
80a06e62
EF
2398 (uri (string-append "mirror://gnome/sources/libIDL/"
2399 (version-major+minor version) "/"
2400 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2401 (sha256
2402 (base32
2403 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2404 (build-system gnu-build-system)
2405 (inputs `(("glib" ,glib)))
2406 (native-inputs
2407 `(("pkg-config" ,pkg-config)
b3546174 2408 ("flex" ,flex)
5698b8b8
JD
2409 ("bison" ,bison)))
2410 (home-page "http://freecode.com/projects/libidl")
2411 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2412 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2413Definition Language (idl) files, which is a specification for defining
2414portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2415GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2416functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2417 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2418 (license license:lgpl2.0+)))
2419
2420
2421(define-public orbit2
2422 (package
2423 (name "orbit2")
2424 (version "2.14.19")
2425 (source (origin
2426 (method url-fetch)
2e6ecc5c 2427 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2428 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2429 (version-major+minor version) "/"
2430 upstream-name "-" version ".tar.bz2")))
5698b8b8 2431 (sha256
a124bbd2
SB
2432 (base32
2433 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2434 (build-system gnu-build-system)
2435 (arguments
c2d837b9
MB
2436 `(;; The "timeout-server" test hangs when run in parallel.
2437 #:parallel-tests? #f
2438 #:configure-flags
8aad2e32
LC
2439 '(;; We don't need static libraries, plus they don't build reproducibly
2440 ;; (non-deterministic ordering of .o files in the archive.)
2441 "--disable-static"
2442
2443 ;; The programmer kindly gives us a hook to turn off deprecation
2444 ;; warnings ...
2445 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2446 ;; ... which they then completly ignore !!
2447 #:phases
dc1d3cde
KK
2448 (modify-phases %standard-phases
2449 (add-before 'configure 'ignore-deprecations
2450 (lambda _
2451 (substitute* "linc2/src/Makefile.in"
2452 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2453 #t)))))
5698b8b8
JD
2454 (inputs `(("glib" ,glib)
2455 ("libidl" ,libidl)))
2456 (native-inputs
2457 `(("pkg-config" ,pkg-config)))
2458 (home-page "https://projects.gnome.org/orbit2/")
2459 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2460 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2461featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2462 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2463 ;; a version. SOME of the code files have licence notices for GPLv2+.
2464 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2465 (license license:gpl2+)
2466 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2467
2468
2469(define-public libbonobo
2470 (package
2471 (name "libbonobo")
2472 (version "2.32.1")
2473 (source (origin
2474 (method url-fetch)
5becd025 2475 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2476 (version-major+minor version)
5becd025 2477 "/" name "-" version ".tar.bz2"))
5698b8b8 2478 (sha256
f1fc45a9 2479 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2480 (patches (search-patches
2481 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2482 (build-system gnu-build-system)
2483 (arguments
2484 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2485 `(#:configure-flags
2486 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2487 ;; ... which they then completly ignore !!
2488 #:phases
dc1d3cde
KK
2489 (modify-phases %standard-phases
2490 (add-before 'configure 'ignore-deprecations
2491 (lambda _
2492 (substitute* "activation-server/Makefile.in"
2493 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2494 #t)))
2495
2496 ;; There's apparently a race condition between the server stub
2497 ;; generation and linking of the example under 'samples/echo' that can
2498 ;; lead do undefined references when building in parallel, as reported
2499 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2500 ;; Thus, disable parallel builds.
2501 #:parallel-build? #f))
5698b8b8
JD
2502 (inputs `(("popt" ,popt)
2503 ("libxml2" ,libxml2)))
2504 ;; The following are Required by the .pc file
44add1ce 2505 (propagated-inputs
5698b8b8
JD
2506 `(("glib" ,glib)
2507 ("orbit2" ,orbit2)))
2508 (native-inputs
2509 `(("intltool" ,intltool)
2510 ("pkg-config" ,pkg-config)
221ed17a 2511 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2512 ("flex" ,flex)
2513 ("bison" ,bison)))
2514 (home-page "https://developer.gnome.org/libbonobo/")
2515 (synopsis "Framework for creating reusable components for use in GNOME applications")
2516 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2517use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2518 ;; Licence not explicitly stated. Source files contain no licence notices.
2519 ;; Tarball contains text of both GPLv2 and LGPLv2
2520 ;; GPLv2 covers both conditions
2521 (license license:gpl2+)))
2522
2523
2524(define-public gconf
2525 (package
2526 (name "gconf")
2527 (version "3.2.6")
2528 (source (origin
2529 (method url-fetch)
a124bbd2
SB
2530 (uri
2531 (let ((upstream-name "GConf"))
2532 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2533 (version-major+minor version) "/"
2534 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2535 (sha256
2536 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2537 (build-system gnu-build-system)
2e88d113 2538 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2539 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2540 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2541 ("orbit2" ,orbit2)))
5698b8b8
JD
2542 (native-inputs
2543 `(("intltool" ,intltool)
221ed17a 2544 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2545 ("pkg-config" ,pkg-config)))
2546 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2547 (synopsis "Store application preferences")
2548 (description "Gconf is a system for storing application preferences. It
2549is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2550 (license license:lgpl2.0+)
2551 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2552
2553
2554(define-public gnome-mime-data
2555 (package
2556 (name "gnome-mime-data")
2557 (version "2.18.0")
2558 (source (origin
2559 (method url-fetch)
b38e45d8
EB
2560 (uri (string-append "mirror://gnome/sources/" name "/"
2561 (version-major+minor version) "/"
2562 name "-" version ".tar.bz2"))
5698b8b8
JD
2563 (sha256
2564 (base32
2565 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2566 (build-system gnu-build-system)
2567 (native-inputs
2568 `(("perl" ,perl)
2569 ("intltool" ,intltool)))
3e6add96
LC
2570 (arguments
2571 '(#:phases (modify-phases %standard-phases
2572 (add-after 'configure 'use-our-intltool
2573 (lambda _
2574 ;; Do not use the bundled intltool commands, which lack
2575 ;; the "dotless @INC" fixes of our 'intltool' package.
2576 (substitute* (find-files "." "^Makefile$")
2577 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2578 (string-append "INTLTOOL_" tool " = intltool-"
2579 (string-downcase tool) "\n")))
2580 #t)))))
f032d0be 2581 (home-page "https://www.gnome.org")
35b9e423 2582 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2583 (description "GNOME Mime Data is a module which contains the base MIME
2584and Application database for GNOME. The data stored by this module is
2585designed to be accessed through the MIME functions in GnomeVFS.")
2586 (license license:gpl2+)))
2587
2588
2589(define-public gnome-vfs
2590 (package
2591 (name "gnome-vfs")
2592 (version "2.24.4")
2593 (source (origin
2594 (method url-fetch)
b38e45d8
EB
2595 (uri (string-append "mirror://gnome/sources/" name "/"
2596 (version-major+minor version) "/"
2597 name "-" version ".tar.bz2"))
5698b8b8 2598 (sha256
9e12bc34
MW
2599 (base32
2600 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2601 (build-system gnu-build-system)
2602 (arguments
db5127d8 2603 `(#:phases
dc1d3cde
KK
2604 (modify-phases %standard-phases
2605 (add-before 'configure 'ignore-deprecations
2606 (lambda _
2607 (substitute* '("libgnomevfs/Makefile.in"
2608 "daemon/Makefile.in")
2609 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2610 #t))
2611 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2612 (lambda _
2613 (substitute* "test/test-async-cancel.c"
2614 (("EXIT_FAILURE") "77"))
2615 #t)))))
2e6ecc5c 2616 (inputs `(("libxml2" ,libxml2)
5698b8b8 2617 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2618 ("gconf" ,gconf)
2619 ("gnome-mime-data" ,gnome-mime-data)
2620 ("zlib" ,zlib)))
2621 (native-inputs
221ed17a
EB
2622 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2623 ("intltool" ,intltool)
5698b8b8
JD
2624 ("pkg-config" ,pkg-config)))
2625 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2626 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2627 (description
2628 "GnomeVFS is the core library used to access files and folders in GNOME
2629applications. It provides a file system abstraction which allows applications
2630to access local and remote files with a single consistent API.")
5698b8b8
JD
2631 (license license:lgpl2.0+)))
2632
2633
2634
2635(define-public libgnome
2636 (package
2637 (name "libgnome")
2638 (version "2.32.1")
2639 (source (origin
2640 (method url-fetch)
b38e45d8
EB
2641 (uri (string-append "mirror://gnome/sources/" name "/"
2642 (version-major+minor version) "/"
2643 name "-" version ".tar.bz2"))
5698b8b8
JD
2644 (sha256
2645 (base32
17c3eea7
LC
2646 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2647 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2648 (build-system gnu-build-system)
2649 (arguments
2650 `(#:phases
dc1d3cde
KK
2651 (modify-phases %standard-phases
2652 (add-before 'configure 'enable-deprecated
2653 (lambda _
2654 (substitute* "libgnome/Makefile.in"
2655 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2656 #t)))))
25338e9f 2657 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2658 (native-inputs
221ed17a
EB
2659 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2660 ("intltool" ,intltool)
5698b8b8
JD
2661 ("pkg-config" ,pkg-config)))
2662 ;; The following are listed as Required in the .pc file
2663 ;; (except for libcanberra -- which seems to be oversight on the part
2664 ;; of the upstream developers -- anything that links against libgnome,
2665 ;; must also link against libcanberra
2666 (propagated-inputs
2667 `(("libcanberra" ,libcanberra)
2668 ("libbonobo" ,libbonobo)
2669 ("gconf" ,gconf)
a640d3d5
LC
2670 ("gnome-vfs" ,gnome-vfs)
2671 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2672 (home-page "https://developer.gnome.org/libgnome/")
2673 (synopsis "Useful routines for building applications")
2674 (description "The libgnome library provides a number of useful routines
2675for building modern applications, including session management, activation of
2676files and URIs, and displaying help.")
2677 (license license:lgpl2.0+)))
2678
2679
2680(define-public libart-lgpl
2681 (package
2682 (name "libart-lgpl")
76c9b6aa 2683 (version "2.3.21")
5698b8b8
JD
2684 (source (origin
2685 (method url-fetch)
2686 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2687 (string-append "mirror://gnome/sources/" upstream-name "/"
2688 (version-major+minor version) "/"
2689 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2690 (sha256
2691 (base32
76c9b6aa 2692 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2693 (build-system gnu-build-system)
2694 (native-inputs
2695 `(("pkg-config" ,pkg-config)))
2696 (home-page "https://people.gnome.org/~mathieu/libart")
2697 (synopsis "2D drawing library")
2e6ecc5c 2698 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2699high-quality vector-based 2D library with antialiasing and alpha composition.")
2700 (license license:lgpl2.0+)))
2701
2702
2703
2704(define-public libgnomecanvas
2705 (package
2706 (name "libgnomecanvas")
2707 (version "2.30.3")
2708 (source (origin
2709 (method url-fetch)
b38e45d8
EB
2710 (uri (string-append "mirror://gnome/sources/" name "/"
2711 (version-major+minor version) "/"
2712 name "-" version ".tar.gz"))
5698b8b8
JD
2713 (sha256
2714 (base32
2715 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2716 (build-system gnu-build-system)
2717 ;; Mentioned as Required in the .pc file
2718 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2719 ("gtk+" ,gtk+-2)))
2720 (native-inputs
2721 `(("intltool" ,intltool)
221ed17a 2722 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2723 ("pkg-config" ,pkg-config)))
2724 (home-page "https://developer.gnome.org/libgnomecanvas/")
2725 (synopsis "Flexible widget for creating interactive structured graphics")
2726 (description "The GnomeCanvas widget provides a flexible widget for
2727creating interactive structured graphics.")
2728 (license license:lgpl2.0+)))
2729
eadc734e
RW
2730(define-public libgnomecanvasmm
2731 (package
2732 (name "libgnomecanvasmm")
2733 (version "2.26.0")
2734 (source (origin
2735 (method url-fetch)
2736 (uri (string-append "mirror://gnome/sources/" name "/"
2737 (version-major+minor version) "/"
2738 name "-" version ".tar.bz2"))
2739 (sha256
2740 (base32
2741 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2742 (build-system gnu-build-system)
2743 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2744 (native-inputs
2745 `(("gtkmm-2" ,gtkmm-2)
2746 ("pkg-config" ,pkg-config)))
8e933cb3 2747 (home-page "https://gtkmm.org")
eadc734e
RW
2748 (synopsis "C++ bindings to the GNOME Canvas library")
2749 (description "C++ bindings to the GNOME Canvas library.")
2750 (license license:lgpl2.0+)))
2751
5698b8b8
JD
2752(define-public libgnomeui
2753 (package
2754 (name "libgnomeui")
2755 (version "2.24.5")
2756 (source (origin
2757 (method url-fetch)
b38e45d8
EB
2758 (uri (string-append "mirror://gnome/sources/" name "/"
2759 (version-major+minor version) "/"
2760 name "-" version ".tar.bz2"))
8fa1872a 2761 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2762 (sha256
2763 (base32
2764 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2765 (build-system gnu-build-system)
2766 ;; Mentioned as Required in the .pc file
0a38a497
AE
2767 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2768 ("libgnome" ,libgnome)
2769 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2770 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 2771 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
2772 ("popt" ,popt)
2773 ("libbonobo" ,libbonobo)
2774 ("libxml2" ,libxml2)
2775 ("libglade" ,libglade)))
2776 (native-inputs
221ed17a
EB
2777 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2778 ("intltool" ,intltool)
5698b8b8
JD
2779 ("pkg-config" ,pkg-config)))
2780 (home-page "https://developer.gnome.org/libgnomeui/")
2781 (synopsis "Additional widgets for applications")
35b9e423 2782 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2783applications. Many of the widgets from libgnomeui have already been
2784ported to GTK+.")
5698b8b8
JD
2785 (license license:lgpl2.0+)))
2786
2787(define-public libglade
2788 (package
2789 (name "libglade")
2790 (version "2.6.4")
2791 (source (origin
2792 (method url-fetch)
b38e45d8
EB
2793 (uri (string-append "mirror://gnome/sources/" name "/"
2794 (version-major+minor version) "/"
2795 name "-" version ".tar.bz2"))
5698b8b8
JD
2796 (sha256
2797 (base32
2798 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2799 (build-system gnu-build-system)
2800 (inputs
92dcc23d
AE
2801 `(("python" ,python))) ;; needed for the optional libglade-convert program
2802 (propagated-inputs
5698b8b8 2803 `(("gtk+-2" ,gtk+-2)
92dcc23d 2804 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2805 (native-inputs
2806 `(("pkg-config" ,pkg-config)))
2807 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2808 (synopsis "Load glade interfaces and access the glade built widgets")
2809 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2810graphical interfaces described in glade files and for accessing the
2811widgets built in the loading process.")
2812 (license license:gpl2+))) ; This is correct. GPL not LGPL
2813
2814(define-public libgnomeprint
eb497b66
LC
2815 ;; This library has been deprecated since 2006; see
2816 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2817 (package
2818 (name "libgnomeprint")
d19db454 2819 (version "2.18.8")
5698b8b8
JD
2820 (source (origin
2821 (method url-fetch)
b38e45d8
EB
2822 (uri (string-append "mirror://gnome/sources/" name "/"
2823 (version-major+minor version) "/"
2824 name "-" version ".tar.bz2"))
5698b8b8
JD
2825 (sha256
2826 (base32
d19db454 2827 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2828 (build-system gnu-build-system)
2829 (inputs
2830 `(("popt" ,popt)
2831 ("libart-lgpl" ,libart-lgpl)
2832 ("gtk+" ,gtk+-2)
44add1ce 2833 ("libxml2" ,libxml2)))
5698b8b8
JD
2834 (native-inputs
2835 `(("intltool" ,intltool)
221ed17a 2836 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2837 ("pkg-config" ,pkg-config)))
2838 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2839 (synopsis "Printing framework for GNOME")
eb497b66
LC
2840 (description
2841 "GNOME-print was a printing framework for GNOME. It has been deprecated
2842since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2843 (license license:lgpl2.0+)))
2844
2845
2846(define-public libgnomeprintui
eb497b66 2847 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2848 (package
2849 (name "libgnomeprintui")
36053d7f 2850 (version "2.18.6")
5698b8b8
JD
2851 (source (origin
2852 (method url-fetch)
b38e45d8
EB
2853 (uri (string-append "mirror://gnome/sources/" name "/"
2854 (version-major+minor version) "/"
2855 name "-" version ".tar.bz2"))
5698b8b8
JD
2856 (sha256
2857 (base32
36053d7f 2858 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2859 (build-system gnu-build-system)
2860 ;; Mentioned as Required in the .pc file
2861 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2862 (inputs `(("gtk+" ,gtk+-2)
2863 ("glib" ,glib)
2864 ("gnome-icon-theme" ,gnome-icon-theme)
2865 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2866 ("libxml2" ,libxml2)))
5698b8b8
JD
2867 (native-inputs
2868 `(("intltool" ,intltool)
2869 ("pkg-config" ,pkg-config)))
2870 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2871 (synopsis "Printing framework for GNOME")
eb497b66 2872 (description (package-description libgnomeprint))
5698b8b8
JD
2873 (license license:lgpl2.0+)))
2874
5698b8b8
JD
2875(define-public libbonoboui
2876 (package
2877 (name "libbonoboui")
2878 (version "2.24.5")
2879 (source (origin
2880 (method url-fetch)
b38e45d8
EB
2881 (uri (string-append "mirror://gnome/sources/" name "/"
2882 (version-major+minor version) "/"
2883 name "-" version ".tar.bz2"))
5698b8b8
JD
2884 (sha256
2885 (base32
2886 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2887 (build-system gnu-build-system)
2888 (arguments
2889 `(#:phases
dc1d3cde
KK
2890 (modify-phases %standard-phases
2891 (add-before 'check 'start-xserver
2892 (lambda* (#:key inputs #:allow-other-keys)
2893 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2894 (disp ":1"))
2895
2896 (setenv "HOME" (getcwd))
2897 (setenv "DISPLAY" disp)
2898 ;; There must be a running X server and make check doesn't start one.
2899 ;; Therefore we must do it.
2900 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2901 ;; Mentioned as Required by the .pc file
2902 (propagated-inputs `(("libxml2" ,libxml2)))
2903 (inputs
2904 `(("popt" ,popt)
2905 ("pangox-compat" ,pangox-compat)
2906 ("libgnome" ,libgnome)
2907 ("libgnomecanvas" ,libgnomecanvas)
2908 ("libglade" ,libglade)))
2909 (native-inputs
221ed17a
EB
2910 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2911 ("intltool" ,intltool)
ff337525 2912 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2913 ("pkg-config" ,pkg-config)))
2914 (home-page "https://developer.gnome.org/libbonoboui/")
2915 (synopsis "Some user interface controls using Bonobo")
2916 (description "The Bonobo UI library provides a number of user interface
2917controls using the Bonobo component framework.")
2918 (license license:lgpl2.0+)))
2919
fecbf86e
SB
2920(define-public libwnck
2921 (package
2922 (name "libwnck")
d3b40696 2923 (version "3.32.0")
fecbf86e
SB
2924 (source (origin
2925 (method url-fetch)
2926 (uri (string-append "mirror://gnome/sources/" name "/"
2927 (version-major+minor version) "/"
2928 name "-" version ".tar.xz"))
2929 (sha256
ad9b8987 2930 (base32
d3b40696
KK
2931 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2932 (build-system meson-build-system)
fecbf86e
SB
2933 (native-inputs
2934 `(("pkg-config" ,pkg-config)
d3b40696
KK
2935 ("glib" ,glib "bin") ; for glib-mkenums
2936 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2937 ("intltool" ,intltool)))
2938 (propagated-inputs
427476d5
SB
2939 `(("gtk+" ,gtk+)
2940 ("libxres" ,libxres)
2941 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2942 (home-page "https://developer.gnome.org/libwnck/")
2943 (synopsis "Window Navigator Construction Kit")
2944 (description
2945 "Libwnck is the Window Navigator Construction Kit, a library for use in
2946writing pagers, tasklists, and more generally applications that are dealing
2947with window management. It tries hard to respect the Extended Window Manager
2948Hints specification (EWMH).")
2949 (license license:lgpl2.0+)))
2950
2951;; stable version for gtk2, required by xfwm4.
dbb7a081 2952(define-public libwnck-2
fecbf86e
SB
2953 (package (inherit libwnck)
2954 (name "libwnck")
2955 (version "2.30.7")
2956 (source (origin
2957 (method url-fetch)
2958 (uri (string-append "mirror://gnome/sources/" name "/"
2959 (version-major+minor version) "/"
2960 name "-" version ".tar.xz"))
2961 (sha256
2962 (base32
2963 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2964 (build-system gnu-build-system)
2965 (native-inputs
2966 `(("pkg-config" ,pkg-config)
2967 ("intltool" ,intltool)))
fecbf86e 2968 (propagated-inputs
427476d5
SB
2969 `(("gtk+" ,gtk+-2)
2970 ("libxres" ,libxres)
2971 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2972
2973(define-public goffice
2974 (package
2975 (name "goffice")
09abffcc 2976 (version "0.10.46")
b804c61e
JD
2977 (source (origin
2978 (method url-fetch)
16243f0b 2979 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2980 (version-major+minor version) "/"
16243f0b 2981 "goffice-" version ".tar.xz"))
b804c61e 2982 (sha256
09abffcc 2983 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2984 (build-system gnu-build-system)
72a06d3e 2985 (outputs '("out"
355420c6 2986 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2987 (arguments
2988 '(#:configure-flags (list (string-append "--with-html-dir="
2989 (assoc-ref %outputs "doc")
2990 "/share/gtk-doc/html"))))
b804c61e
JD
2991 (inputs
2992 `(("gtk+" ,gtk+)
2993 ("libgsf" ,libgsf)
2994 ("librsvg" ,librsvg)
2995 ("libxslt" ,libxslt)
2996 ("libxml2" ,libxml2)))
2997 (native-inputs
2998 `(("intltool" ,intltool)
f280cdb1 2999 ("glib" ,glib "bin")
b804c61e
JD
3000 ("pkg-config" ,pkg-config)))
3001 (home-page "https://developer.gnome.org/goffice/")
3002 (synopsis "Document-centric objects and utilities")
3003 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3004 (license
b804c61e
JD
3005 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3006 ;; Note: NOT LGPL
3007 (list license:gpl2 license:gpl3))))
3008
c024ae36
RW
3009(define-public goffice-0.8
3010 (package (inherit goffice)
3011 (version "0.8.17")
3012 (source (origin
3013 (method url-fetch)
3014 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3015 (version-major+minor version) "/"
3016 (package-name goffice) "-" version ".tar.xz"))
3017 (sha256
3018 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3019 (arguments
3020 `(#:phases
dc1d3cde
KK
3021 (modify-phases %standard-phases
3022 (add-after 'unpack 'fix-pcre-check
3023 (lambda _
3024 ;; Only glib.h can be included directly. See
3025 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3026 (substitute* "configure"
3027 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3028
3029 ,@(package-arguments goffice)))
c024ae36
RW
3030 (propagated-inputs
3031 ;; libgoffice-0.8.pc mentions libgsf-1
3032 `(("libgsf" ,libgsf)))
3033 (inputs
3034 `(("gtk" ,gtk+-2)
3035 ,@(alist-delete "gtk" (package-inputs goffice))))))
3036
b804c61e
JD
3037(define-public gnumeric
3038 (package
3039 (name "gnumeric")
f0517b5d 3040 (version "1.12.46")
b804c61e
JD
3041 (source (origin
3042 (method url-fetch)
b7fd0217 3043 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3044 (version-major+minor version) "/"
b7fd0217 3045 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3046 (sha256
3047 (base32
f0517b5d 3048 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3049 (build-system glib-or-gtk-build-system)
b804c61e
JD
3050 (arguments
3051 `(;; The gnumeric developers don't worry much about failing tests.
3052 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3053 #:tests? #f
b804c61e 3054 #:phases
7bcbd40d
EF
3055 (modify-phases %standard-phases
3056 (add-before
3057 'configure 'pre-conf
3058 (lambda* (#:key outputs #:allow-other-keys)
3059 ;; Make install tries to write into the directory of goffice
3060 ;; I am informed that this only affects the possibility to embed a
3061 ;; spreadsheet inside an Abiword document. So presumably when we
3062 ;; package Abiword we'll have to refer it to this directory.
3063 (substitute* "configure"
3064 (("^GOFFICE_PLUGINS_DIR=.*")
3065 (string-append "GOFFICE_PLUGINS_DIR="
3066 (assoc-ref outputs "out")
3067 "/goffice/plugins"))))))))
b804c61e
JD
3068 (inputs
3069 `(("glib" ,glib)
3070 ("gtk+" ,gtk+)
3071 ("goffice" ,goffice)
3072 ("libgsf" ,libgsf)
7bcbd40d 3073 ("librsvg" ,librsvg)
b804c61e 3074 ("libxml2" ,libxml2)
7bcbd40d 3075 ("libxslt" ,libxslt)
2e4c5457 3076 ("python" ,python-2)
6983ba56 3077 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3078 ("zlib" ,zlib)))
3079 (native-inputs
6983ba56 3080 `(("bison" ,bison)
1ed398d1 3081 ("docbook-xml" ,docbook-xml)
6983ba56 3082 ("intltool" ,intltool)
785fcb62 3083 ("itstool" ,itstool)
b9663471 3084 ("glib:bin" ,glib "bin")
b804c61e
JD
3085 ("pkg-config" ,pkg-config)))
3086 (home-page "http://www.gnumeric.org")
66672a45
LC
3087 (synopsis "Spreadsheet application")
3088 (description
3089 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3090interoperable with other spreadsheet applications. It has a vast array of
3091features beyond typical spreadsheet functionality, such as support for linear
3092and non-linear solvers, statistical analysis, and telecommunication
3093engineering.")
3094 (license
b804c61e
JD
3095 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3096 (list license:gpl2 license:gpl3))))
6f885c05
FB
3097
3098(define-public gnome-themes-standard
3099 (package
3100 (name "gnome-themes-standard")
0b7b8fb0 3101 (version "3.22.3")
6f885c05
FB
3102 (source
3103 (origin
3104 (method url-fetch)
2e6ecc5c 3105 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3106 (version-major+minor version) "/" name "-"
3107 version ".tar.xz"))
3108 (sha256
3109 (base32
0b7b8fb0 3110 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3111 (build-system gnu-build-system)
8ac70c7f
SB
3112 (arguments
3113 '(#:configure-flags
3114 ;; Don't create 'icon-theme.cache'.
3115 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3116 (true (string-append coreutils "/bin/true")))
3117 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3118 (inputs
3119 `(("gtk+" ,gtk+)
3120 ("gtk+-2" ,gtk+-2)
3121 ("librsvg" ,librsvg)
3122 ("libxml2" ,libxml2)
3123 ("glib" ,glib)))
3124 (native-inputs
3125 `(("intltool" ,intltool)
3126 ("glib:bin" ,glib "bin")
3127 ("pkg-config" ,pkg-config)))
6f885c05
FB
3128 (home-page "https://launchpad.net/gnome-themes-standard")
3129 (synopsis "Default GNOME 3 themes")
3130 (description
3131 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3132 (license license:lgpl2.1+)))
5a659a48 3133
df90c701
RW
3134(define-public seahorse
3135 (package
3136 (name "seahorse")
1efcf722 3137 (version "3.34")
df90c701
RW
3138 (source
3139 (origin
3140 (method url-fetch)
3141 (uri (string-append "mirror://gnome/sources/" name "/"
3142 (version-major+minor version) "/" name "-"
3143 version ".tar.xz"))
3144 (sha256
3145 (base32
1efcf722 3146 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3147 (build-system meson-build-system)
3148 (arguments
bcea3c11
KK
3149 '(#:glib-or-gtk? #t
3150 #:phases
af561664
MÁAV
3151 (modify-phases %standard-phases
3152 (add-after 'unpack 'skip-gtk-update-icon-cache
3153 ;; Don't create 'icon-theme.cache'.
3154 (lambda _
3155 (substitute* "build-aux/meson_post_install.py"
3156 (("gtk-update-icon-cache") "true"))
3157 #t)))))
df90c701
RW
3158 (inputs
3159 `(("gtk+" ,gtk+)
3160 ("gcr" ,gcr)
34b979b9 3161 ("gnupg" ,gnupg)
df90c701 3162 ("gpgme" ,gpgme)
34b979b9 3163 ("openldap" ,openldap)
4a1bf090 3164 ("openssh" ,openssh)
af561664 3165 ("avahi" ,avahi)
bcea3c11 3166 ("libpwquality" ,libpwquality)
34b979b9
EF
3167 ("libsecret" ,libsecret)
3168 ("libsoup" ,libsoup)))
df90c701 3169 (native-inputs
af561664 3170 `(("gettext" ,gettext-minimal)
df90c701
RW
3171 ("glib:bin" ,glib "bin")
3172 ("itstool" ,itstool)
bcb354ad 3173 ("pkg-config" ,pkg-config)
af561664 3174 ("vala" ,vala)
bcb354ad 3175 ("xmllint" ,libxml2)))
bcea3c11 3176 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3177 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3178 (description
3179 "Seahorse is a GNOME application for managing encryption keys and
3180passwords in the GNOME keyring.")
3181 (license license:gpl2+)))
3182
5a659a48
SB
3183(define-public vala
3184 (package
3185 (name "vala")
b92a36db 3186 (version "0.46.5")
5a659a48
SB
3187 (source (origin
3188 (method url-fetch)
3189 (uri (string-append "mirror://gnome/sources/" name "/"
3190 (version-major+minor version) "/"
3191 name "-" version ".tar.xz"))
3192 (sha256
3193 (base32
b92a36db 3194 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 3195 (build-system gnu-build-system)
1ea90625
SB
3196 (arguments
3197 '(#:phases
3198 (modify-phases %standard-phases
f4925a4f 3199 (add-before 'check 'pre-check
1ea90625
SB
3200 (lambda _
3201 (setenv "CC" "gcc")
8839b6be
RW
3202 (substitute* "valadoc/tests/testrunner.sh"
3203 (("export PKG_CONFIG_PATH=" m)
3204 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3205 ;; For missing '/etc/machine-id'.
3206 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3207 #t)))))
5a659a48
SB
3208 (native-inputs
3209 `(("pkg-config" ,pkg-config)
3210 ("flex" ,flex)
3211 ("bison" ,bison)
3212 ("xsltproc" ,libxslt)
3213 ("dbus" ,dbus) ; for dbus tests
3214 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3215 (inputs
3216 `(("graphviz" ,graphviz)))
5a659a48 3217 (propagated-inputs
8839b6be 3218 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3219 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3220 (synopsis "Compiler for the GObject type system")
3221 (description
3222 "Vala is a programming language that aims to bring modern programming
3223language features to GNOME developers without imposing any additional runtime
3224requirements and without using a different ABI compared to applications and
3225libraries written in C.")
3226 (license license:lgpl2.1+)))
ea57378f
SB
3227
3228(define-public vte
3229 (package
3230 (name "vte")
68c47474 3231 (version "0.58.3")
ea57378f
SB
3232 (source (origin
3233 (method url-fetch)
ac87ffb8 3234 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3235 (version-major+minor version) "/"
ac87ffb8 3236 "vte-" version ".tar.xz"))
ea57378f
SB
3237 (sha256
3238 (base32
68c47474
TGR
3239 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
3240 (build-system meson-build-system)
ea57378f
SB
3241 (native-inputs
3242 `(("pkg-config" ,pkg-config)
3243 ("intltool" ,intltool)
3244 ("vala" ,vala)
3245 ("gobject-introspection" ,gobject-introspection)
68c47474 3246 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3247 ("gperf" ,gperf)
ea57378f
SB
3248 ("xmllint" ,libxml2)))
3249 (propagated-inputs
68c47474
TGR
3250 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3251 ("gnutls" ,gnutls) ; ditto
3252 ("pcre2" ,pcre2))) ; ditto
f032d0be 3253 (home-page "https://www.gnome.org/")
ea57378f
SB
3254 (synopsis "Virtual Terminal Emulator")
3255 (description
3256 "VTE is a library (libvte) implementing a terminal emulator widget for
3257GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3258gnome-terminal, but can also be used to embed a console/terminal in games,
3259editors, IDEs, etc.")
3260 (license license:lgpl2.1+)))
3261
c44fb4df
MO
3262(define-public vte-ng
3263 (package
3264 (inherit vte)
3265 (name "vte-ng")
24f4fcbe 3266 (version "0.58.2.a")
afd90f8d 3267 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3268 (source (origin
3269 (method git-fetch)
3270 (uri (git-reference (url home-page) (commit version)))
3271 (file-name (git-file-name name version))
3272 (sha256
3273 (base32
24f4fcbe
MB
3274 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3275 (build-system meson-build-system)
c44fb4df
MO
3276 (native-inputs
3277 `(("gtk-doc" ,gtk-doc)
c44fb4df 3278 ,@(package-native-inputs vte)))
c44fb4df 3279 (arguments
24f4fcbe 3280 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3281 (synopsis "Enhanced VTE terminal widget")
3282 (description
3283 "VTE is a library (libvte) implementing a terminal emulator widget for
3284GTK+, this fork provides additional functions exposed for keyboard text
3285selection and URL hints.")))
3286
2776d72c
EF
3287;; provides vte 2.90, required for some terminal emulators
3288;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3289;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3290;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3291;; pantheon-terminal, roxterm are not currently packaged
3292(define-public vte-0.36
3293 (package (inherit vte)
3294 (name "vte")
3295 (version "0.36.5")
3296 (source (origin
3297 (method url-fetch)
3298 (uri (string-append "mirror://gnome/sources/" name "/"
3299 (version-major+minor version) "/"
3300 name "-" version ".tar.xz"))
3301 (sha256
3302 (base32
3303 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3304 (propagated-inputs
3305 `(("gtk" ,gtk+)
3306 ("ncurses" ,ncurses)))))
3307
ea57378f
SB
3308;; stable version for gtk2, required by xfce4-terminal.
3309(define-public vte/gtk+-2
3310 (package (inherit vte)
3311 (name "vte")
3312 (version "0.28.2")
3313 (source (origin
3314 (method url-fetch)
3315 (uri (string-append "mirror://gnome/sources/" name "/"
3316 (version-major+minor version) "/"
3317 name "-" version ".tar.xz"))
3318 (sha256
3319 (base32
7d48938a
EF
3320 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3321 (patches (search-patches
3322 "vte-CVE-2012-2738-pt1.patch"
3323 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3324 (build-system gnu-build-system)
ea57378f
SB
3325 (arguments
3326 '(#:configure-flags '("--disable-python")))
3327 (native-inputs
3328 `(("pkg-config" ,pkg-config)
3329 ("intltool" ,intltool)
3330 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3331 (propagated-inputs
3332 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3333 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3334
cce0da5e
TD
3335(define-public vinagre
3336 (package
3337 (name "vinagre")
3338 (version "3.22.0")
3339 (source (origin
3340 (method url-fetch)
3341 (uri (string-append "mirror://gnome/sources/" name "/"
3342 (version-major+minor version) "/"
3343 name "-" version ".tar.xz"))
684f97f8
EF
3344 (patches (search-patches "vinagre-newer-freerdp.patch"
3345 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3346 (sha256
3347 (base32
3348 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3349 (build-system glib-or-gtk-build-system)
684f97f8 3350 (arguments
7f486d25
MC
3351 ;; Disable -Werror and such, to avoid build failures on compilation
3352 ;; warnings.
3353 '(#:configure-flags '("--enable-compile-warnings=minimum")
3354 #:phases
684f97f8 3355 (modify-phases %standard-phases
1839768c
EF
3356 (add-before 'install 'skip-gtk-update-icon-cache
3357 (lambda _
3358 ;; Don't create 'icon-theme.cache'
3359 (substitute* (find-files "." "^Makefile$")
3360 (("gtk-update-icon-cache") (which "true")))
3361 #t))
684f97f8
EF
3362 (add-after 'unpack 'patch-configure
3363 (lambda _
3364 (substitute* "configure"
3365 (("freerdp") "freerdp2"))
3366 #t)))))
cce0da5e
TD
3367 (native-inputs
3368 `(("pkg-config" ,pkg-config)
3369 ("intltool" ,intltool)
3370 ("itstool" ,itstool)
1839768c 3371 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3372 (inputs
3373 `(("libxml2" ,libxml2)
3374 ("gtk-vnc" ,gtk-vnc)
3375 ("gnome-keyring" ,gnome-keyring)
3376 ("libsecret" ,libsecret)
3377 ("freerdp" ,freerdp)
3378 ("spice" ,spice)
3379 ("spice-gtk" ,spice-gtk)
3380 ("telepathy-glib" ,telepathy-glib)
3381 ("vte" ,vte)))
cce0da5e
TD
3382 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3383 (synopsis "Remote desktop viewer for GNOME")
3384 (description "Vinagre is a remote display client supporting the VNC, SPICE
3385and RDP protocols.")
3386 (license license:gpl3+)))
3387
b47e1b20
FB
3388(define-public dconf
3389 (package
3390 (name "dconf")
7f4d075d 3391 (version "0.34.0")
b47e1b20
FB
3392 (source (origin
3393 (method url-fetch)
3394 (uri (string-append
2e6ecc5c 3395 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3396 (version-major+minor version) "/"
3397 name "-" version ".tar.xz"))
46c3a08b 3398 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 3399 (sha256
f05c809f 3400 (base32
7f4d075d 3401 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 3402 (build-system meson-build-system)
bc036f4c
MB
3403 (propagated-inputs
3404 ;; In Requires of dconf.pc.
3405 `(("glib" ,glib)))
b47e1b20
FB
3406 (inputs
3407 `(("gtk+" ,gtk+)
bc036f4c 3408 ("dbus" ,dbus)))
b47e1b20 3409 (native-inputs
1e33331c
MB
3410 `(("bash-completion" ,bash-completion)
3411 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3412 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3413 ("docbook-xml" ,docbook-xml-4.2)
3414 ("docbook-xsl" ,docbook-xsl)
35fa923d 3415 ("glib:bin" ,glib "bin")
03676d6f 3416 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3417 ("pkg-config" ,pkg-config)
3418 ("vala" ,vala)))
b47e1b20
FB
3419 (arguments
3420 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3421 ; or /etc/machine-id.
35fa923d
MB
3422 #:glib-or-gtk? #t
3423 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3424 (home-page "https://developer.gnome.org/dconf")
3425 (synopsis "Low-level GNOME configuration system")
3426 (description "Dconf is a low-level configuration system. Its main purpose
3427is to provide a backend to GSettings on platforms that don't already have
3428configuration storage systems.")
e20e6b40 3429 (license license:lgpl2.1+)))
109da1c0
AE
3430
3431(define-public json-glib
3432 (package
3433 (name "json-glib")
4115e8ea 3434 (version "1.4.4")
109da1c0
AE
3435 (source (origin
3436 (method url-fetch)
3437 (uri (string-append "mirror://gnome/sources/" name "/"
3438 (version-major+minor version) "/"
3439 name "-" version ".tar.xz"))
3440 (sha256
3441 (base32
4115e8ea 3442 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3443 (build-system meson-build-system)
109da1c0 3444 (native-inputs
98afa184
MB
3445 `(("gettext" ,gettext-minimal)
3446 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3447 ("gobject-introspection" ,gobject-introspection)
3448 ("pkg-config" ,pkg-config)))
3449 (propagated-inputs
88c6b580 3450 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3451 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3452 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3453 (description
3454 "JSON-GLib is a C library based on GLib providing serialization and
3455deserialization support for the JavaScript Object Notation (JSON) format
3456described by RFC 4627. It provides parser and generator GObject classes and
3457various wrappers for the complex data types employed by JSON, such as arrays
3458and objects.")
109da1c0 3459 (license license:lgpl2.1+)))
6f96a359
SB
3460
3461(define-public libxklavier
3462 (package
3463 (name "libxklavier")
5f39050b 3464 (version "5.4")
6f96a359 3465 (source (origin
5f39050b 3466 ;; Note: There's no tarball at ftp.gnome.org for this version.
3467 (method git-fetch)
3468 (uri (git-reference
3469 (url "https://anongit.freedesktop.org/git/libxklavier")
3470 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3471 (sha256
3472 (base32
5f39050b 3473 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3474 (file-name (git-file-name name version))))
6f96a359
SB
3475 (build-system gnu-build-system)
3476 (arguments
778d6b52 3477 '(#:configure-flags
6f96a359
SB
3478 (list (string-append "--with-xkb-base="
3479 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3480 "/share/X11/xkb")
3481 "--disable-xmodmap-support")))
6f96a359
SB
3482 (native-inputs
3483 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3484 ("gobject-introspection" ,gobject-introspection)
5f39050b 3485 ("pkg-config" ,pkg-config)
3486 ("gtk-doc" ,gtk-doc)
3487 ("intltool" ,intltool)
3488 ("which" ,which)
3489 ("autoconf" ,autoconf)
3490 ("automake" ,automake)
3491 ("libtool" ,libtool)))
6f96a359
SB
3492 (propagated-inputs
3493 ;; Required by libxklavier.pc.
3494 `(("glib" ,glib)
3495 ("libxml2" ,libxml2)))
3496 (inputs
3497 `(("iso-codes" ,iso-codes)
3498 ("libxi" ,libxi)
3499 ("libxkbfile" ,libxkbfile)
3500 ("xkbcomp" ,xkbcomp)
3501 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3502 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3503 (synopsis "High-level API for X Keyboard Extension")
3504 (description
3505 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3506Extension known as XKB. This library is intended to support XFree86 and other
3507commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3508indicators etc).")
3509 (license license:lgpl2.0+)))
619936a4
LC
3510
3511(define-public python2-rsvg
3512 ;; XXX: This is actually a subset of gnome-python-desktop.
3513 (package
3514 (name "python2-rsvg")
3515 (version "2.32.0")
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append
3520 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3521 version ".tar.bz2"))
3522 (sha256
3523 (base32
3524 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3525 (build-system gnu-build-system)
3526 (native-inputs
3527 `(("pkg-config" ,pkg-config)))
3528 (inputs
3529 `(("python" ,python-2)
3530 ("python2-pygtk" ,python2-pygtk)
3531 ("librsvg" ,librsvg)))
f032d0be 3532 (home-page "https://www.gnome.org")
619936a4
LC
3533 (synopsis "Python bindings to librsvg")
3534 (description
3ad75446 3535 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3536library.")
3537
3538 ;; This is the license of the rsvg bindings. The license of each module
3539 ;; of gnome-python-desktop is given in 'COPYING'.
3540 (license license:lgpl2.1+)))
a31a6d22 3541
f2ca414a
SB
3542(define-public glib-networking
3543 (package
3544 (name "glib-networking")
ea9f74b0 3545 (version "2.62.2")
f2ca414a
SB
3546 (source (origin
3547 (method url-fetch)
3548 (uri (string-append "mirror://gnome/sources/glib-networking/"
3549 (version-major+minor version) "/"
fb8fe1e8 3550 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3551 (sha256
3552 (base32
ea9f74b0 3553 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 3554 (build-system meson-build-system)
f2ca414a 3555 (arguments
0d75c64d 3556 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3557 (native-inputs
3558 `(("pkg-config" ,pkg-config)
3559 ("intltool" ,intltool)))
3560 (inputs
3561 `(("glib" ,glib)
3562 ("gnutls" ,gnutls)
4b8f1313 3563 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3564 (home-page "https://www.gnome.org")
f2ca414a
SB
3565 (synopsis "Network-related GIO modules")
3566 (description
3567 "This package contains various network related extensions for the GIO
3568library.")
3569 (license license:lgpl2.0+)))
3570
ca649680 3571(define-public rest
4510b2da 3572 (package
ca649680 3573 (name "rest")
a4194d16 3574 (version "0.8.1")
4510b2da
SB
3575 (source (origin
3576 (method url-fetch)
3577 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3578 (version-major+minor version) "/"
3579 name "-" version ".tar.xz"))
4510b2da
SB
3580 (sha256
3581 (base32
a4194d16 3582 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3583 (build-system gnu-build-system)
3584 (arguments
3585 '(#:tests? #f ; tests require internet connection
3586 #:configure-flags
3587 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3588 (native-inputs
3589 `(("glib-mkenums" ,glib "bin")
3590 ("gobject-introspection" ,gobject-introspection)
3591 ("pkg-config" ,pkg-config)))
3592 (propagated-inputs
3593 ;; rest-0.7.pc refers to all these.
3594 `(("glib" ,glib)
3595 ("libsoup" ,libsoup)
3596 ("libxml2" ,libxml2)))
24d6cc1d 3597 (home-page "https://www.gtk.org/")
4510b2da
SB
3598 (synopsis "RESTful web api query library")
3599 (description
3600 "This library was designed to make it easier to access web services that
3601claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3602libxml to ease remote use of the RESTful API.")
3603 (license license:lgpl2.1+)))
3604
6e1bb642
SB
3605(define-public libsoup
3606 (package
3607 (name "libsoup")
9a9cd9bc 3608 (version "2.70.0")
6e1bb642
SB
3609 (source (origin
3610 (method url-fetch)
3611 (uri (string-append "mirror://gnome/sources/libsoup/"
3612 (version-major+minor version) "/"
c1b79b36 3613 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3614 (sha256
3615 (base32
9a9cd9bc 3616 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3617 (build-system meson-build-system)
6e1bb642
SB
3618 (outputs '("out" "doc"))
3619 (arguments
2deb146f 3620 `(#:modules ((guix build utils)
eccaa8bf 3621 (guix build meson-build-system)
2deb146f
LC
3622 (ice-9 popen))
3623
f8026a79 3624 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3625 #:phases
3626 (modify-phases %standard-phases
eccaa8bf 3627 (add-after 'unpack 'adjust-tests
26c228f9 3628 (lambda _
eccaa8bf
MB
3629 ;; This test fails due to missing /etc/nsswitch.conf
3630 ;; in the build environment.
26c228f9
LC
3631 (substitute* "tests/socket-test.c"
3632 ((".*/sockets/unconnected.*") ""))
2deb146f 3633
f8026a79
MB
3634 ;; These fail because "subdomain.localhost" does not resolve in
3635 ;; the build environment.
3636 (substitute* "tests/hsts-test.c"
3637 ((".*/hsts/basic.*") "")
3638 ((".*/hsts/subdomains.*") "")
3639 ((".*/hsts/superdomain.*") "")
3640 ((".*/hsts/utf8-address.*") ""))
3641 (substitute* "tests/hsts-db-test.c"
3642 ((".*/hsts-db/subdomains.*") ""))
3643
2deb146f
LC
3644 ;; Generate a self-signed certificate that has "localhost" as its
3645 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3646 ;; 3.5.12, tests such as "ssl-tests" fail:
3647 ;;
3648 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3649 ;;
3650 ;; 'certtool' is interactive so we have to pipe it the answers.
3651 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3652 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3653 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3654 (for-each (lambda (line)
3655 (display line pipe)
3656 (newline pipe))
3657 '("" ;Common name
3658 "" ;UID
3659 "Guix" ;Organizational unit name
3660 "GNU" ;Organization name
3661 "" ;Locality name
3662 "" ;State or province
3663 "" ;Country
3664 "" ;subject's domain component (DC)
3665 "" ;E-mail
3666 "" ;serial number
3667 "-1" ;expiration time
3668 "N" ;belong to authority?
3669 "N" ;web client certificate?
3670 "N" ;IPsec IKE?
3671 "Y" ;web server certificate?
3672 "localhost" ;dnsName of subject
3673 "" ;dnsName of subject (end)
3674 "" ;URI of subject
3675 "127.0.0.1" ;IP address of subject
3676 "" ;signing?
06f5bc4e
MB
3677 "" ;encryption (RSA)?
3678 "" ;data encryption?
2deb146f
LC
3679 "" ;sign OCSP requests?
3680 "" ;sign code?
3681 "" ;time stamping?
3682 "" ;email protection?
3683 "" ;URI of the CRL distribution point
3684 "y" ;above info OK?
3685 ))
3686 (close-pipe pipe))
26c228f9 3687 #t))
eccaa8bf
MB
3688 (add-after 'install 'move-doc
3689 (lambda* (#:key outputs #:allow-other-keys)
3690 (let ((out (assoc-ref outputs "out"))
3691 (doc (assoc-ref outputs "doc")))
3692 (mkdir-p (string-append doc "/share"))
3693 (copy-recursively (string-append out "/share/gtk-doc")
3694 (string-append doc "/share/gtk-doc"))
3695 (delete-file-recursively (string-append out "/share/gtk-doc"))
3696 #t))))))
6e1bb642 3697 (native-inputs
26c228f9 3698 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3699 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3700 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3701 ("intltool" ,intltool)
3702 ("pkg-config" ,pkg-config)
3703 ("python" ,python-wrapper)
fd730590 3704 ("vala" ,vala)
6e1bb642
SB
3705 ;; These are needed for the tests.
3706 ;; FIXME: Add PHP once available.
3707 ("curl" ,curl)
2deb146f 3708 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3709 ("httpd" ,httpd)))
3710 (propagated-inputs
3711 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3712 `(("brotli" ,google-brotli)
3713 ("glib" ,glib)
249846bf 3714 ("libpsl" ,libpsl)
eccaa8bf 3715 ("libxml2" ,libxml2)
f8026a79
MB
3716 ("sqlite" ,sqlite)
3717 ("zlib" ,zlib)))
eccaa8bf
MB
3718 (inputs
3719 `(("glib-networking" ,glib-networking)
3720 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3721 (home-page "https://live.gnome.org/LibSoup/")
3722 (synopsis "GLib-based HTTP Library")
3723 (description
3724 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3725and the GLib main loop, to integrate well with GNOME applications.")
3726 (license license:lgpl2.0+)))
3727
bba229a3
SB
3728(define-public libsecret
3729 (package
3730 (name "libsecret")
b05a2f62 3731 (version "0.20.3")
bba229a3
SB
3732 (source (origin
3733 (method url-fetch)
3734 (uri (string-append
896dcbc7
EF
3735 "mirror://gnome/sources/libsecret/"
3736 (version-major+minor version) "/"
0ada4e29 3737 "libsecret-" version ".tar.xz"))
bba229a3
SB
3738 (sha256
3739 (base32
b05a2f62 3740 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
3741 (build-system gnu-build-system)
3742 (outputs '("out" "doc"))
3743 (arguments
3744 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3745 #:configure-flags
3746 (list (string-append "--with-html-dir="
3747 (assoc-ref %outputs "doc")
3748 "/share/gtk-doc/html"))))
3749 (native-inputs
c06ef010
MB
3750 `(("gettext" ,gettext-minimal)
3751 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3752 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3753 ("pkg-config" ,pkg-config)
3754 ("vala" ,vala)
3755 ("xsltproc" ,libxslt)))
3756 ;; These are needed for the tests.
3757 ;; FIXME: Add gjs once available.
3758 ;("dbus" ,dbus)
3759 ;("python2" ,python-2)
3760 ;("python2-dbus" ,python2-dbus)
3761 ;("python2-pygobject" ,python2-pygobject)
3762 ;("python2-pygobject-2" ,python2-pygobject-2)))
3763 (propagated-inputs
3764 `(("glib" ,glib))) ; required by libsecret-1.pc
3765 (inputs
3766 `(("docbook-xsl" ,docbook-xsl)
3767 ("libgcrypt" ,libgcrypt)
3768 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3769 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3770 (synopsis "GObject bindings for \"Secret Service\" API")
3771 (description
3772 "Libsecret is a GObject based library for storing and retrieving passwords
3773and other secrets. It communicates with the \"Secret Service\" using DBus.")
3774 (license license:lgpl2.1+)))
3775
b6821ee0 3776(define-public five-or-more
3777 (package
3778 (name "five-or-more")
ee75b46f 3779 (version "3.32.2")
b6821ee0 3780 (source
3781 (origin
3782 (method url-fetch)
bf782bfc 3783 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3784 (version-major+minor version) "/"
bf782bfc 3785 "five-or-more-" version ".tar.xz"))
b6821ee0 3786 (sha256
ee75b46f 3787 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
3788 (build-system meson-build-system)
3789 (arguments
3790 '(#:glib-or-gtk? #t
3791 #:phases
3792 (modify-phases %standard-phases
3793 (add-after 'unpack 'skip-gtk-update-icon-cache
3794 (lambda _
3795 (substitute* "meson_post_install.py"
3796 (("gtk-update-icon-cache") (which "true")))
3797 #t)))))
b6821ee0 3798 (native-inputs
3799 `(("pkg-config" ,pkg-config)
d9795e93 3800 ("appstream-glib" ,appstream-glib)
b6821ee0 3801 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3802 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3803 ("intltool" ,intltool)
3804 ("itstool" ,itstool)
d9795e93 3805 ("vala" ,vala)
b6821ee0 3806 ("xmllint" ,libxml2)))
3807 (inputs
3808 `(("gtk+" ,gtk+)
d9795e93 3809 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3810 ("librsvg" ,librsvg)))
3811 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3812 (synopsis "Logic puzzle game")
3813 (description "Five or More is a game where you try to align
3814 five or more objects of the same color and shape causing them to disappear.
3815 On every turn more objects will appear, until the board is full.
3816 Try to last as long as possible.")
3817 (license license:gpl2+)))
3818
a31a6d22
SB
3819(define-public gnome-mines
3820 (package
3821 (name "gnome-mines")
d79e9b1b 3822 (version "3.34.0")
a31a6d22
SB
3823 (source
3824 (origin
3825 (method url-fetch)
3826 (uri (string-append "mirror://gnome/sources/" name "/"
3827 (version-major+minor version) "/"
3828 name "-" version ".tar.xz"))
3829 (sha256
3830 (base32
d79e9b1b 3831 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 3832 (build-system meson-build-system)
a31a6d22 3833 (arguments
2d817e41
KK
3834 '(#:glib-or-gtk? #t
3835 #:phases
a31a6d22 3836 (modify-phases %standard-phases
2d817e41
KK
3837 (add-after 'unpack 'skip-gtk-update-icon-cache
3838 (lambda _
3839 (substitute* "build-aux/meson_post_install.py"
3840 (("gtk-update-icon-cache") (which "true")))
3841 #t)))))
a31a6d22 3842 (native-inputs
8c0fab36
RW
3843 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3844 ("pkg-config" ,pkg-config)
a31a6d22
SB
3845 ("desktop-file-utils" ,desktop-file-utils)
3846 ("intltool" ,intltool)
bcb354ad 3847 ("itstool" ,itstool)
8c0fab36
RW
3848 ("vala" ,vala)
3849 ("yelp" ,yelp)
3850 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3851 (inputs
3852 `(("gtk+" ,gtk+)
73992962 3853 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3854 ("librsvg" ,librsvg)))
3855 (home-page "https://wiki.gnome.org/Apps/Mines")
3856 (synopsis "Minesweeper game")
3857 (description
3858 "Mines (previously gnomine) is a puzzle game where you locate mines
3859floating in an ocean using only your brain and a little bit of luck.")
3860 (license license:gpl2+)))
88f70665 3861
dfc407f3
KY
3862(define-public gnome-sudoku
3863 (package
3864 (name "gnome-sudoku")
857eb190 3865 (version "3.34.1")
dfc407f3
KY
3866 (source
3867 (origin
3868 (method url-fetch)
3869 (uri (string-append "mirror://gnome/sources/" name "/"
3870 (version-major+minor version) "/"
3871 name "-" version ".tar.xz"))
3872 (sha256
3873 (base32
857eb190 3874 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
3875 (build-system meson-build-system)
3876 (arguments
3877 '(#:glib-or-gtk? #t
3878 #:phases
3879 (modify-phases %standard-phases
3880 (add-after 'unpack 'skip-gtk-update-icon-cache
3881 (lambda _
3882 (substitute* "build-aux/post_install.py"
3883 (("gtk-update-icon-cache") (which "true")))
3884 #t)))))
dfc407f3
KY
3885 (native-inputs
3886 `(("pkg-config" ,pkg-config)
3887 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3888 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3889 ("intltool" ,intltool)
3890 ("itstool" ,itstool)
7dc728c4 3891 ("vala" ,vala)
dfc407f3
KY
3892 ("xmllint" ,libxml2)))
3893 (inputs
3894 `(("gtk+" ,gtk+)
3895 ("json-glib" ,json-glib)
3896 ("libgee" ,libgee)
3897 ("librsvg" ,librsvg)
3898 ("qqwing" ,qqwing)))
3899 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3900 (synopsis "Japanese logic game")
3901 (description
3902 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3903GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3904possible while still providing features that make playing difficult Sudoku
3905more fun.")
3906 (license license:gpl2+)))
3907
88f70665
AW
3908(define-public gnome-terminal
3909 (package
3910 (name "gnome-terminal")
80f6f9d8 3911 (version "3.34.2")
88f70665
AW
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append "mirror://gnome/sources/" name "/"
3916 (version-major+minor version) "/"
3917 name "-" version ".tar.xz"))
3918 (sha256
3919 (base32
80f6f9d8 3920 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
3921 (build-system glib-or-gtk-build-system)
3922 (arguments
3923 '(#:configure-flags
3924 (list "--disable-migration" "--disable-search-provider"
3925 "--without-nautilus-extension")
3926 #:phases
3927 (modify-phases %standard-phases
3a4de6b2 3928 (add-before 'configure 'patch-/bin/true
88f70665
AW
3929 (lambda _
3930 (substitute* "configure"
3931 (("/bin/true") (which "true"))))))))
3932 (native-inputs
3933 `(("pkg-config" ,pkg-config)
3934 ("desktop-file-utils" ,desktop-file-utils)
3935 ("intltool" ,intltool)
bcb354ad
SB
3936 ("itstool" ,itstool)
3937 ("xmllint" ,libxml2)))
68702167
MW
3938 (propagated-inputs
3939 `(("dconf" ,dconf)))
88f70665
AW
3940 (inputs
3941 `(("gtk+" ,gtk+)
3942 ("vte" ,vte)
3943 ("gnutls" ,gnutls)
88f70665 3944 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 3945 ("util-linux" ,util-linux "lib")
88f70665
AW
3946 ("vala" ,vala)))
3947 (home-page "https://wiki.gnome.org/Apps/Terminal")
3948 (synopsis "Terminal emulator")
3949 (description
3950 "GNOME Terminal is a terminal emulator application for accessing a
3951UNIX shell environment which can be used to run programs available on
3952your system.
3953
3954It supports several profiles, multiple tabs and implements several
3955keyboard shortcuts.")
3956 (license license:gpl3+)))
75016d07
AW
3957
3958(define-public colord
3959 (package
3960 (name "colord")
f98be942 3961 (version "1.4.4")
75016d07
AW
3962 (source
3963 (origin
3964 (method url-fetch)
5cc3096c 3965 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3966 "colord-" version ".tar.xz"))
75016d07 3967 (sha256
f98be942 3968 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3969 (build-system meson-build-system)
75016d07 3970 (arguments
a68544a8
RW
3971 '(;; FIXME: One test fails:
3972 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3973 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3974 ;; application/x-zerosize
75016d07 3975 #:tests? #f
a68544a8
RW
3976 #:glib-or-gtk? #t
3977 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3978 ;; No dep on systemd.
a68544a8 3979 "-Dsystemd=false"
75016d07
AW
3980 ;; Wants to install to global completion dir;
3981 ;; punt.
a68544a8 3982 "-Dbash_completion=false"
a68544a8
RW
3983 "-Ddaemon_user=colord"
3984 "-Dsane=true"
dac26e22 3985 "-Dvapi=true"
6f20e2dc 3986 ;; Requires spotread.
a68544a8 3987 "-Dargyllcms_sensor=false"
6f20e2dc 3988 ;; TODO: Requires docbook2x.
a68544a8 3989 "-Dman=false")
75016d07
AW
3990 #:phases
3991 (modify-phases %standard-phases
a68544a8
RW
3992 (add-before 'configure 'patch-build-system
3993 (lambda* (#:key outputs #:allow-other-keys)
3994 (substitute* "rules/meson.build"
3995 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3996 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3997 #t))
3998 (add-before 'configure 'set-sqlite3-file-name
3999 (lambda* (#:key inputs #:allow-other-keys)
4000 ;; "colormgr dump" works by invoking the "sqlite3" command.
4001 ;; Record its absolute file name.
4002 (let ((sqlite (assoc-ref inputs "sqlite")))
4003 (substitute* "client/cd-util.c"
4004 (("\"sqlite3\"")
4005 (string-append "\"" sqlite "/bin/sqlite3\"")))
4006 #t))))))
75016d07 4007 (native-inputs
6f20e2dc 4008 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4009 ("gettext" ,gettext-minimal)
75016d07 4010 ("gobject-introspection" ,gobject-introspection)
a68544a8 4011 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4012 ("pkg-config" ,pkg-config)
4013 ("vala" ,vala)))
65cb2d61
SB
4014 (propagated-inputs
4015 ;; colord.pc refers to all these.
4016 `(("glib" ,glib)
6f20e2dc
TGR
4017 ("lcms" ,lcms)
4018 ("udev" ,eudev)))
75016d07 4019 (inputs
65cb2d61 4020 `(("dbus-glib" ,dbus-glib)
a68544a8 4021 ("gusb" ,gusb)
80c7dd1a 4022 ("libgudev" ,libgudev)
75016d07 4023 ("libusb" ,libusb)
75016d07 4024 ("polkit" ,polkit)
a68544a8 4025 ("python" ,python-wrapper)
6f20e2dc 4026 ("sqlite" ,sqlite)
4c928743 4027 ("sane-backends" ,sane-backends)))
57e7d748 4028 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4029 (synopsis "Color management service")
4030 (description "Colord is a system service that makes it easy to manage,
4031install and generate color profiles to accurately color manage input and
4032output devices.")
4033 (license license:gpl2+)))
7b2abd00
AW
4034
4035(define-public geoclue
4036 (package
4037 (name "geoclue")
50e96d25 4038 (version "2.5.5")
7b2abd00
AW
4039 (source
4040 (origin
4041 (method url-fetch)
50e96d25
MB
4042 (uri
4043 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4044 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4045 (sha256
4046 (base32
50e96d25 4047 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4048 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4049 (build-system meson-build-system)
7b2abd00 4050 (arguments
50e96d25 4051 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4052 (native-inputs
4053 `(("pkg-config" ,pkg-config)
758798a9 4054 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4055 ("modem-manager" ,modem-manager)
4056 ("libnotify" ,libnotify)
4057 ("gtk-doc", gtk-doc)
7b2abd00
AW
4058 ("intltool" ,intltool)))
4059 (inputs
54e911bc 4060 `(("avahi" ,avahi)
50e96d25
MB
4061 ("glib:bin" ,glib "bin")
4062 ("glib-networking" ,glib-networking)
7b2abd00
AW
4063 ("json-glib" ,json-glib)
4064 ("libsoup" ,libsoup)))
50e96d25 4065 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4066 (synopsis "Geolocation service")
4067 (description "Geoclue is a D-Bus service that provides location
4068information. The primary goal of the Geoclue project is to make creating
4069location-aware applications as simple as possible, while the secondary goal is
4070to ensure that no application can access location information without explicit
e881752c 4071permission from user.")
7b2abd00 4072 (license license:gpl2+)))
2bfe7437
AW
4073
4074(define-public geocode-glib
4075 (package
4076 (name "geocode-glib")
65de725f 4077 (version "3.26.1")
2bfe7437
AW
4078 (source (origin
4079 (method url-fetch)
4080 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4081 (version-major+minor version) "/"
d485cdc0 4082 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4083 (sha256
4084 (base32
65de725f 4085 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4086 (build-system meson-build-system)
2bfe7437 4087 (arguments
a7dd0c02
RW
4088 `(#:phases
4089 (modify-phases %standard-phases
4090 ;; The tests require a bunch of locales.
4091 (add-before 'check 'set-locales
4092 (lambda* (#:key inputs #:allow-other-keys)
4093 (setenv "GUIX_LOCPATH"
4094 (string-append (assoc-ref inputs "glibc-locales")
4095 "/lib/locale"))
4096 #t)))))
2bfe7437
AW
4097 (native-inputs
4098 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4099 ("glibc-locales" ,glibc-locales) ; for tests
4100 ("gettext" ,gettext-minimal)
2bfe7437 4101 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4102 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4103 ("pkg-config" ,pkg-config)
4104 ("json-glib" ,json-glib)))
4105 (propagated-inputs
4106 ;; geocode-glib-1.0.pc refers to GIO.
4107 `(("glib" ,glib)))
4108 (inputs
4109 `(("libsoup" ,libsoup)))
4110 (home-page "https://github.com/GNOME/geocode-glib/")
4111 (synopsis "Geocoding and reverse-geocoding library")
4112 (description
4113 "geocode-glib is a convenience library for geocoding (finding longitude,
4114and latitude from an address) and reverse geocoding (finding an address from
4115coordinates) using the Nominatim service. geocode-glib caches requests for
4116faster results and to avoid unnecessary server load.")
4117 (license license:lgpl2.0+)))
a1d5bb0e
AW
4118
4119(define-public upower
4120 (package
4121 (name "upower")
df45af90 4122 (version "0.99.11")
a1d5bb0e
AW
4123 (source (origin
4124 (method url-fetch)
df45af90 4125 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4126 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4127 (sha256
4128 (base32
df45af90 4129 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4130 (patches (search-patches "upower-builddir.patch"))
4131 (modules '((guix build utils)))
4132 (snippet
4133 '(begin
4134 ;; Upstream commit
4135 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4136 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4137 ;; 'dbus-configuration-directory' in (gnu services dbus)
4138 ;; expects it in etc/. Thus, move it back to its previous
4139 ;; location.
4140 (substitute* "src/Makefile.in"
4141 (("^dbusconfdir =.*$")
4142 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4143 #t))))
a1d5bb0e
AW
4144 (build-system glib-or-gtk-build-system)
4145 (arguments
4146 '( ;; The tests want to contact the system bus, which can't be done in the
4147 ;; build environment. The integration test can run, but the last of
4148 ;; the up-self-tests doesn't. Disable tests for now.
4149 #:tests? #f
4150 #:configure-flags (list "--localstatedir=/var"
4151 (string-append "--with-udevrulesdir="
4152 (assoc-ref %outputs "out")
9ec54965 4153 "/lib/udev/rules.d"))))
a1d5bb0e 4154 (native-inputs
ebeabe2d
SB
4155 `(("gobject-introspection" ,gobject-introspection)
4156 ("pkg-config" ,pkg-config)
a1d5bb0e 4157 ("intltool" ,intltool)
55409295
LC
4158 ("python" ,python)
4159
4160 ;; For man pages.
4161 ("libxslt" ,libxslt) ;for 'xsltproc'
4162 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4163 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4164 (inputs
ea226291
SB
4165 `(("dbus-glib" ,dbus-glib)
4166 ("libgudev" ,libgudev)
a1d5bb0e 4167 ("libusb" ,libusb)))
d7a503fc
MB
4168 (propagated-inputs
4169 ;; In Requires of upower-glib.pc.
4170 `(("glib" ,glib)))
57e7d748 4171 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4172 (synopsis "System daemon for managing power devices")
4173 (description
4174 "UPower is an abstraction for enumerating power devices,
4175listening to device events and querying history and statistics. Any
4176application or service on the system can access the org.freedesktop.UPower
4177service via the system message bus.")
4178 (license license:gpl2+)))
6a180f6f
AW
4179
4180(define-public libgweather
4181 (package
4182 (name "libgweather")
462d3416 4183 (version "3.34.0")
6a180f6f
AW
4184 (source (origin
4185 (method url-fetch)
4186 (uri (string-append "mirror://gnome/sources/" name "/"
4187 (version-major+minor version) "/"
4188 name "-" version ".tar.xz"))
4189 (sha256
4190 (base32
462d3416 4191 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 4192 (build-system meson-build-system)
6a180f6f 4193 (arguments
cf6cbc34
RW
4194 `(#:tests? #f ; one of two tests requires network access
4195 #:configure-flags
4196 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4197 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4198 "/share/zoneinfo"))))
6a180f6f
AW
4199 (native-inputs
4200 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4201 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4202 ("pkg-config" ,pkg-config)
1d3fcf94 4203 ("vala" ,vala)
6a180f6f
AW
4204 ("intltool" ,intltool)))
4205 (propagated-inputs
4206 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4207 ;; libsoup.
4208 `(("gtk+" ,gtk+)
4209 ("gdk-pixbuf" ,gdk-pixbuf)
4210 ("libxml2" ,libxml2)
cf6cbc34 4211 ("libsoup" ,libsoup)
6a180f6f 4212 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4213 (inputs
4214 `(("tzdata" ,tzdata)))
6a180f6f
AW
4215 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4216 (synopsis "Location, time zone, and weather library for GNOME")
4217 (description
4218 "libgweather is a library to access weather information from online
4219services for numerous locations.")
4220 (license license:gpl2+)))
23a22af6
AW
4221
4222(define-public gnome-settings-daemon
4223 (package
4224 (name "gnome-settings-daemon")
20154759 4225 (version "3.34.1")
23a22af6
AW
4226 (source
4227 (origin
4228 (method url-fetch)
4229 (uri (string-append "mirror://gnome/sources/" name "/"
4230 (version-major+minor version) "/"
4231 name "-" version ".tar.xz"))
4232 (sha256
4233 (base32
20154759 4234 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 4235 (build-system meson-build-system)
23a22af6 4236 (arguments
e644f9fa
RW
4237 `(#:glib-or-gtk? #t
4238 #:configure-flags
4239 (list (string-append "-Dudev_dir="
4240 (assoc-ref %outputs "out")
4d0e085b 4241 "/lib/udev/rules.d/")
20154759 4242 "-Dsystemd=false"
4d0e085b
RW
4243 ;; Otherwise, the RUNPATH will lack the final path component.
4244 (string-append "-Dc_link_args=-Wl,-rpath="
4245 (assoc-ref %outputs "out")
4246 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4247 ;; Color management test can't reach the colord system service.
23a22af6
AW
4248 #:tests? #f))
4249 (native-inputs
e644f9fa
RW
4250 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4251 ("pkg-config" ,pkg-config)
23a22af6
AW
4252 ("intltool" ,intltool)
4253 ("xsltproc" ,libxslt)
4254 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4255 ("docbook-xml" ,docbook-xml-4.2)
4256 ("docbook-xsl" ,docbook-xsl)))
4257 (inputs
e644f9fa
RW
4258 `(("alsa-lib" ,alsa-lib)
4259 ("colord" ,colord)
ea226291 4260 ("libgudev" ,libgudev)
23a22af6
AW
4261 ("upower" ,upower)
4262 ("polkit" ,polkit)
4263 ("pulseaudio" ,pulseaudio)
4264 ("libcanberra" ,libcanberra)
4265 ("libx11" ,libx11)
4266 ("libxtst" ,libxtst)
4267 ("lcms" ,lcms)
4268 ("libnotify" ,libnotify)
4269 ("geoclue" ,geoclue)
4270 ("geocode-glib" ,geocode-glib)
4271 ("libgweather" ,libgweather)
4272 ("gnome-desktop" ,gnome-desktop)
4273 ("nss" ,nss)
4274 ("cups" ,cups)
ec2b1921
AW
4275 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4276 ("libwacom" ,libwacom)
4277 ("librsvg" ,librsvg)
eee7878f 4278 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4279 ("wayland" ,wayland)
20154759
KK
4280 ("network-manager" ,network-manager)
4281 ("gcr" ,gcr)
4282 ("modem-manager" ,modem-manager)))
f032d0be 4283 (home-page "https://www.gnome.org")
23a22af6
AW
4284 (synopsis "GNOME settings daemon")
4285 (description
4286 "This package contains the daemon responsible for setting the various
4287parameters of a GNOME session and the applications that run under it. It
4288handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4289settings, themes, mouse settings, and startup of other daemons.")
4290 (license license:gpl2+)))
1e7464a9
DH
4291
4292(define-public totem-pl-parser
4293 (package
4294 (name "totem-pl-parser")
77425f04 4295 (version "3.26.3")
1e7464a9
DH
4296 (source (origin
4297 (method url-fetch)
e980cbe9
MW
4298 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4299 (version-major+minor version) "/"
1e7464a9
DH
4300 "totem-pl-parser-" version ".tar.xz"))
4301 (sha256
4302 (base32
77425f04 4303 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4304 (build-system meson-build-system)
1e7464a9
DH
4305 (arguments
4306 ;; FIXME: Tests require gvfs.
4307 `(#:tests? #f))
4308 (native-inputs
4309 `(("intltool" ,intltool)
4310 ("glib" ,glib "bin")
4d6d8281 4311 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4312 ("pkg-config" ,pkg-config)))
22a6ad6a 4313 (propagated-inputs
1e7464a9
DH
4314 `(("glib" ,glib)
4315 ("gmime" ,gmime)
1e9b19dd
RW
4316 ("libarchive" ,libarchive)
4317 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4318 ("libxml2" ,libxml2)))
4319 (inputs
0a6e9e13 4320 `(("libsoup" ,libsoup)))
1e7464a9
DH
4321 (home-page "https://projects.gnome.org/totem")
4322 (synopsis "Library to parse and save media playlists for GNOME")
4323 (description "Totem-pl-parser is a GObjects-based library to parse and save
4324playlists in a variety of formats.")
4325 (license license:lgpl2.0+)))
4326
6b888eff
SB
4327(define-public aisleriot
4328 (package
4329 (name "aisleriot")
36ed9b46 4330 (version "3.22.9")
6b888eff
SB
4331 (source (origin
4332 (method url-fetch)
e43f622a 4333 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4334 (version-major+minor version) "/"
e43f622a 4335 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4336 (sha256
4337 (base32
36ed9b46 4338 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4339 (build-system glib-or-gtk-build-system)
4340 (arguments
4341 '(#:configure-flags
4342 '("--with-platform=gtk-only"
4343 "--with-card-theme-formats=svg")))
4344 (native-inputs
4345 `(("desktop-file-utils" ,desktop-file-utils)
4346 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4347 ("intltool" ,intltool)
4348 ("itstool" ,itstool)
4349 ("pkg-config" ,pkg-config)
4350 ("xmllint" ,libxml2)))
4351 (inputs
4352 `(("gtk+" ,gtk+)
226e57d6 4353 ("guile" ,guile-2.2)
6b888eff
SB
4354 ("libcanberra" ,libcanberra)
4355 ("librsvg" ,librsvg)))
4356 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4357 (synopsis "Solitaire card games")
4358 (description
4359 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4360which are easy to play with the aid of a mouse.")
4361 (license license:gpl3+)))
4a79e256 4362
f828d05b
KK
4363(define-public amtk
4364 (package
4365 (name "amtk")
0e08ca14 4366 (version "5.0.2")
f828d05b
KK
4367 (source (origin
4368 (method url-fetch)
bf92ba6b 4369 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4370 (version-major+minor version) "/"
bf92ba6b 4371 "amtk-" version ".tar.xz"))
f828d05b
KK
4372 (sha256
4373 (base32
0e08ca14 4374 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4375 (build-system gnu-build-system)
4376 (arguments
4377 '(#:configure-flags '("--enable-gtk-doc")))
4378 (native-inputs
4379 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4380 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4381 ("gtk-doc" ,gtk-doc)
4382 ("pkg-config" ,pkg-config)))
4383 (inputs
4384 `(("glib" ,glib)
4385 ("gtk+" ,gtk+)))
4386 (home-page "https://wiki.gnome.org/Projects/Amtk")
4387 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4388 (description
4389 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4390It is a basic GtkUIManager replacement based on GAction. It is suitable for
4391both a traditional UI or a modern UI with a GtkHeaderBar.")
4392 (license license:lgpl2.1+)))
4393
4a79e256
SB
4394(define-public devhelp
4395 (package
4396 (name "devhelp")
8ae23a1d 4397 (version "3.34.0")
4a79e256
SB
4398 (source (origin
4399 (method url-fetch)
4400 (uri (string-append "mirror://gnome/sources/" name "/"
4401 (version-major+minor version) "/"
4402 name "-" version ".tar.xz"))
4403 (sha256
4404 (base32
8ae23a1d 4405 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 4406 (build-system meson-build-system)
35407f94 4407 (arguments
20db7a3d
KK
4408 '(#:glib-or-gtk? #t
4409 #:phases
35407f94
EF
4410 (modify-phases %standard-phases
4411 (add-after 'unpack 'skip-gtk-update-icon-cache
4412 ;; Don't create 'icon-theme.cache'.
4413 (lambda _
4414 (substitute* "meson_post_install.py"
4415 (("gtk-update-icon-cache") "true"))
4416 #t)))))
4a79e256
SB
4417 (native-inputs
4418 `(("intltool" ,intltool)
5dd12afc 4419 ("itstool" ,itstool)
11d28bd9
KK
4420 ("gobject-introspection" ,gobject-introspection)
4421 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4422 ("pkg-config" ,pkg-config)))
4423 (inputs
11d28bd9
KK
4424 `(("amtk" ,amtk)
4425 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4426 ("webkitgtk" ,webkitgtk)))
4427 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4428 (synopsis "API documentation browser for GNOME")
4429 (description
4430 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4431natively with GTK-Doc (the API reference system developed for GTK+ and used
4432throughout GNOME for API documentation).")
4433 (license license:gpl2+)))
ba421ab7
MW
4434
4435(define-public cogl
4436 (package
4437 (name "cogl")
54c69ae1 4438 (version "1.22.4")
ba421ab7
MW
4439 (source
4440 (origin
4441 (method url-fetch)
5754f0cf 4442 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4443 (version-major+minor version) "/"
5754f0cf 4444 "cogl-" version ".tar.xz"))
ba421ab7 4445 (sha256
54c69ae1 4446 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4447 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4448 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4449 (build-system gnu-build-system)
4450 (native-inputs
4451 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4452 ("gobject-introspection" ,gobject-introspection)
4453 ;;("xorg-server" ,xorg-server) ; for the test suite
4454 ("pkg-config" ,pkg-config)))
4455 (propagated-inputs
4456 `(("glib" ,glib)
4457 ("gdk-pixbuf" ,gdk-pixbuf)
4458 ("libx11" ,libx11)
4459 ("libxext" ,libxext)
4460 ("libxfixes" ,libxfixes)
4461 ("libxdamage" ,libxdamage)
4462 ("libxcomposite" ,libxcomposite)
4463 ("libxrandr" ,libxrandr)))
4464 (inputs
4465 `(("mesa" ,mesa)
4466 ("cairo" ,cairo)
4467 ("pango" ,pango)
4468 ("gstreamer" ,gstreamer)
31860852
KK
4469 ("gst-plugins-base" ,gst-plugins-base)
4470 ("wayland" ,wayland)))
ba421ab7
MW
4471 (arguments
4472 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4473 "--enable-wayland-egl-platform"
4474 "--enable-wayland-egl-server"
4475
ba421ab7
MW
4476 ;; Arrange to pass an absolute file name to
4477 ;; dlopen for libGL.so.
4478 (string-append "--with-gl-libname="
4479 (assoc-ref %build-inputs "mesa")
4480 "/lib/libGL.so"))
4481 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4482 ;; _FontTransOpen: Unable to Parse address
4483 ;; ${prefix}/share/fonts/X11/misc/
4484 #:tests? #f
4485 #; #:phases
4486 #;
4487 (modify-phases %standard-phases
4488 (add-before 'check 'start-xorg-server
4489 (lambda* (#:key inputs #:allow-other-keys)
4490 ;; The test suite requires a running X server.
4491 (system (format #f "~a/bin/Xvfb :1 &"
4492 (assoc-ref inputs "xorg-server")))
4493 (setenv "DISPLAY" ":1")
4494 #t)))))
89b49245 4495 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4496 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4497 (description
4498 "Cogl is a small library for using 3D graphics hardware to draw pretty
4499pictures. The API departs from the flat state machine style of OpenGL and is
4500designed to make it easy to write orthogonal components that can render
4501without stepping on each others toes.")
4502 (license (list license:expat ; most of the code
4503 license:bsd-3 ; cogl/cogl-point-in-poly.c
4504 license:sgifreeb2.0 ; cogl-path/tesselator/
4505 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4506
4507(define-public clutter
4508 (package
4509 (name "clutter")
6a88e4ee 4510 (version "1.26.2")
fb182b8a
MW
4511 (source
4512 (origin
4513 (method url-fetch)
4514 (uri (string-append "mirror://gnome/sources/" name "/"
4515 (version-major+minor version) "/"
4516 name "-" version ".tar.xz"))
4517 (sha256
4518 (base32
6a88e4ee 4519 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4520 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4521 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4522 (build-system gnu-build-system)
600233bd
LC
4523 (outputs '("out"
4524 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4525 (native-inputs
4526 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4527 ("gobject-introspection" ,gobject-introspection)
4528 ("pkg-config" ,pkg-config)
4529 ("xsltproc" ,libxslt)))
4530 (propagated-inputs
4531 `(("cogl" ,cogl)
4532 ("cairo" ,cairo)
4533 ("atk" ,atk)
4534 ("gtk+" ,gtk+)
4535 ("json-glib" ,json-glib)
4536 ("glib" ,glib)
4537 ("libxcomposite" ,libxcomposite)
4538 ("libxdamage" ,libxdamage)
4539 ("libxext" ,libxext)
4540 ("xinput" ,xinput)))
4541 (inputs
4542 `(("libxkbcommon" ,libxkbcommon)
4543 ("udev" ,eudev)))
4544 (arguments
600233bd
LC
4545 `(#:configure-flags (list "--enable-x11-backend=yes"
4546
4547 ;; This produces share/doc/{clutter,cally}.
4548 (string-append "--with-html-dir="
4549 (assoc-ref %outputs "doc")
4550 "/share/doc"))
fb182b8a
MW
4551 ;; XXX FIXME: Get test suite working. It would probably fail in the
4552 ;; same way the cogl tests fail, since clutter is based on cogl.
4553 #:tests? #f))
4554 (home-page "http://www.clutter-project.org")
476af713 4555 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4556 (description
476af713 4557 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4558creating fast, mainly 2D single window applications such as media box UIs,
4559presentations, kiosk style applications and so on.")
4560 (license license:lgpl2.0+)))
bf7f17ba
MW
4561
4562(define-public clutter-gtk
4563 (package
4564 (name "clutter-gtk")
5d1a3219 4565 (version "1.8.4")
bf7f17ba
MW
4566 (source
4567 (origin
4568 (method url-fetch)
4569 (uri (string-append "mirror://gnome/sources/" name "/"
4570 (version-major+minor version) "/"
4571 name "-" version ".tar.xz"))
4572 (sha256
4573 (base32
5d1a3219 4574 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4575 (build-system gnu-build-system)
4576 (native-inputs
4577 `(("pkg-config" ,pkg-config)
4578 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4579 (propagated-inputs
4580 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4581 `(("clutter" ,clutter)
4582 ("gtk+" ,gtk+)))
4583 (home-page "http://www.clutter-project.org")
476af713 4584 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4585 (description
476af713 4586 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4587creating fast, mainly 2D single window applications such as media box UIs,
4588presentations, kiosk style applications and so on.")
4589 (license license:lgpl2.0+)))
86d6a893
MW
4590
4591(define-public clutter-gst
4592 (package
4593 (name "clutter-gst")
ba07ac19 4594 (version "3.0.27")
86d6a893
MW
4595 (source
4596 (origin
4597 (method url-fetch)
f010f89b 4598 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4599 (version-major+minor version) "/"
f010f89b 4600 "clutter-gst-" version ".tar.xz"))
86d6a893 4601 (sha256
ba07ac19 4602 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4603 (build-system gnu-build-system)
4604 (native-inputs
ba07ac19 4605 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4606 ("pkg-config" ,pkg-config)
4607 ("gobject-introspection" ,gobject-introspection)))
4608 (inputs
4609 `(("clutter" ,clutter)
4610 ("gstreamer" ,gstreamer)
4611 ("gst-plugins-base" ,gst-plugins-base)))
4612 (home-page "http://www.clutter-project.org")
4613 (synopsis "Integration library for using GStreamer with Clutter")
4614 (description
4615 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4616It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4617implements the ClutterGstPlayer interface using playbin. Clutter is an
4618OpenGL-based interactive canvas library.")
86d6a893 4619 (license license:lgpl2.0+)))
607a04ae 4620
30dc88d9
LC
4621(define-public libchamplain
4622 (package
4623 (name "libchamplain")
5564b2c5 4624 (version "0.12.16")
30dc88d9
LC
4625 (source (origin
4626 (method url-fetch)
4627 (uri (string-append
4628 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4629 version ".tar.xz"))
4630 (sha256
4631 (base32
5564b2c5 4632 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4633 (build-system gnu-build-system)
f7c6833f
LF
4634 (arguments '(#:configure-flags '("--enable-vala")))
4635 (native-inputs
4636 `(("gobject-introspection" ,gobject-introspection)
4637 ("pkg-config" ,pkg-config)
4638 ("vala" ,vala)))
30dc88d9
LC
4639 (propagated-inputs
4640 `(("libsoup" ,libsoup)
4641 ("sqlite" ,sqlite)
4642 ("clutter" ,clutter)
4643 ("clutter-gtk" ,clutter-gtk)
4644 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4645 ("cairo" ,cairo)
4646 ("gtk+3" ,gtk+)
4647 ("glib" ,glib)))
f032d0be 4648 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4649 (synopsis "C library providing a ClutterActor to display maps")
4650 (description
4651 "libchamplain is a C library providing a ClutterActor to display maps.
4652It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4653and Perl bindings are also available. It supports numerous free map sources
4654such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4655 (license license:lgpl2.1+)))
4656
607a04ae
MW
4657(define-public gom
4658 (package
4659 (name "gom")
0510440b 4660 (version "0.3.2")
607a04ae
MW
4661 (source
4662 (origin
4663 (method url-fetch)
6c8a0b6f 4664 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4665 (version-major+minor version) "/"
6c8a0b6f 4666 "gom-" version ".tar.xz"))
607a04ae
MW
4667 (sha256
4668 (base32
0510440b 4669 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4670 (build-system gnu-build-system)
4671 (native-inputs
4672 `(("intltool" ,intltool)
4673 ("pkg-config" ,pkg-config)
4674 ("gobject-introspection" ,gobject-introspection)))
4675 (inputs
4676 `(("glib" ,glib)
4677 ("gdk-pixbuf" ,gdk-pixbuf)
4678 ("sqlite" ,sqlite)))
4679 ;; XXX TODO: Figure out how to run the test suite.
4680 (arguments `(#:tests? #f))
4681 (home-page "https://wiki.gnome.org/Projects/Gom")
4682 (synopsis "Object mapper from GObjects to SQLite")
4683 (description
4684 "Gom provides an object mapper from GObjects to SQLite. It helps you
4685write applications that need to store structured data as well as make complex
4686queries upon that data.")
4687 (license license:lgpl2.1+)))
b7a3cf11 4688
865aacc9 4689(define-public libgnome-games-support
f09520db 4690 (package
865aacc9 4691 (name "libgnome-games-support")
4c6d15cf 4692 (version "1.4.4")
f09520db
SB
4693 (source (origin
4694 (method url-fetch)
2d8dca9d 4695 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4696 (version-major+minor version) "/"
2d8dca9d 4697 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4698 (sha256
4699 (base32
4c6d15cf 4700 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4701 (build-system gnu-build-system)
4702 (arguments
4703 '(#:phases
4704 (modify-phases %standard-phases
4705 (add-before 'check 'pre-check
4706 (lambda _
865aacc9 4707 ;; Tests require a writable HOME.
f09520db
SB
4708 (setenv "HOME" (getcwd))
4709 #t)))))
4710 (native-inputs
4711 `(("intltool" ,intltool)
4712 ("pkg-config" ,pkg-config)
4713 ("vala" ,vala)))
4714 (propagated-inputs
865aacc9 4715 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4716 `(("gtk+" ,gtk+)
4717 ("libgee" ,libgee)))
4718 (home-page "https://www.gnome.org/")
4719 (synopsis "Useful functionality shared among GNOME games")
4720 (description
865aacc9 4721 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4722GNOME Games, but it may be used by others.")
4723 (license license:lgpl3+)))
4724
b7a3cf11
SB
4725(define-public gnome-klotski
4726 (package
4727 (name "gnome-klotski")
18364fbc 4728 (version "3.34.0")
b7a3cf11
SB
4729 (source (origin
4730 (method url-fetch)
4731 (uri (string-append "mirror://gnome/sources/" name "/"
4732 (version-major+minor version) "/"
4733 name "-" version ".tar.xz"))
4734 (sha256
4735 (base32
18364fbc 4736 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
4737 (build-system meson-build-system)
4738 (arguments
4739 '(#:glib-or-gtk? #t
4740 #:phases
4741 (modify-phases %standard-phases
4742 (add-after 'unpack 'skip-gtk-update-icon-cache
4743 ;; Don't create 'icon-theme.cache'.
4744 (lambda _
4745 (substitute* "build-aux/meson_post_install.py"
4746 (("gtk-update-icon-cache") (which "true")))
4747 #t)))))
b7a3cf11
SB
4748 (native-inputs
4749 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4750 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4751 ("intltool" ,intltool)
4752 ("itstool" ,itstool)
bcb354ad 4753 ("pkg-config" ,pkg-config)
c1e419c4 4754 ("vala" ,vala)
bcb354ad 4755 ("xmllint" ,libxml2)))
b7a3cf11
SB
4756 (inputs
4757 `(("gtk+" ,gtk+)
f4eae76f 4758 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4759 ("librsvg" ,librsvg)))
4760 (home-page "https://wiki.gnome.org/Apps/Klotski")
4761 (synopsis "Sliding block puzzles")
4762 (description
4763 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4764the patterned block to the area bordered by green markers. To do so, you will
4765need to slide other blocks out of the way. Complete each puzzle in as few moves
4766as possible!")
4767 (license license:gpl2+)))
8d4791bf
MW
4768
4769(define-public grilo
4770 (package
4771 (name "grilo")
a865e938 4772 (version "0.3.10")
8d4791bf
MW
4773 (source
4774 (origin
4775 (method url-fetch)
4776 (uri (string-append "mirror://gnome/sources/" name "/"
4777 (version-major+minor version) "/"
4778 name "-" version ".tar.xz"))
4779 (sha256
4780 (base32
a865e938 4781 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4782 (build-system meson-build-system)
8d4791bf
MW
4783 (native-inputs
4784 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4785 ("intltool" ,intltool)
4786 ("pkg-config" ,pkg-config)
d48d4c98
KK
4787 ("gobject-introspection" ,gobject-introspection)
4788 ("gtk-doc" ,gtk-doc)
4789 ("vala" ,vala)))
8d4791bf 4790 (inputs
6d7273a0
KK
4791 `(("cyrus-sasl" ,cyrus-sasl)
4792 ("glib" ,glib)
8d4791bf
MW
4793 ("gtk+" ,gtk+)
4794 ("libxml2" ,libxml2)
6d7273a0 4795 ("liboauth" ,liboauth)
8d4791bf
MW
4796 ("libsoup" ,libsoup)
4797 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4798 (native-search-paths
4799 (list (search-path-specification
4800 (variable "GRL_PLUGIN_PATH")
4801 (files (list (string-append "lib/grilo-"
4802 (version-major+minor version)))))))
d48d4c98 4803 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4804 (synopsis "Framework for discovering and browsing media")
4805 (description
4806 "Grilo is a framework focused on making media discovery and browsing easy
4807for application developers.")
4808 (license license:lgpl2.1+)))
7b212526
MW
4809
4810(define-public grilo-plugins
4811 (package
4812 (name "grilo-plugins")
281f6b3a 4813 (version "0.3.10")
7b212526
MW
4814 (source
4815 (origin
4816 (method url-fetch)
4817 (uri (string-append "mirror://gnome/sources/" name "/"
4818 (version-major+minor version) "/"
4819 name "-" version ".tar.xz"))
4820 (sha256
4821 (base32
281f6b3a
RG
4822 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4823 (build-system meson-build-system)
7b212526 4824 (native-inputs
281f6b3a
RG
4825 `(("gettext" ,gettext-minimal)
4826 ("glib:bin" ,glib "bin")
4827 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4828 ("itstool" ,itstool)
4829 ("pkg-config" ,pkg-config)))
281f6b3a 4830 ;; TODO: ahavi, gstreamer
7b212526
MW
4831 (inputs
4832 `(("grilo" ,grilo)
281f6b3a
RG
4833 ;("gmime" ,gmime) ; unused
4834 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4835 ("gom" ,gom)
281f6b3a
RG
4836 ;("gssdp" ,gssdp) ; unused
4837 ;("gupnp" ,gupnp) ; unused
4838 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4839 ("json-glib" ,json-glib)
4840 ("avahi" ,avahi)
281f6b3a
RG
4841 ("libgdata" ,libgdata)
4842 ("libmediaart" ,libmediaart)
4843 ;("librest" ,rest) ; unused
7b212526 4844 ("libsoup" ,libsoup)
281f6b3a
RG
4845 ("totam-pl-parser" ,totem-pl-parser)
4846 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4847 (arguments
281f6b3a
RG
4848 `(#:glib-or-gtk? #t
4849 ;;Disable lua-factory as it needs missing dependencies
4850 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4851 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4852 (synopsis "Plugins for the Grilo media discovery library")
4853 (description
4854 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4855for application developers. This package provides plugins for common media
4856discovery protocols.")
7b212526 4857 (license license:lgpl2.1+)))
4e3fc547
MW
4858
4859(define-public totem
4860 (package
4861 (name "totem")
961dc62d 4862 (version "3.34.1")
4e3fc547
MW
4863 (source
4864 (origin
4865 (method url-fetch)
4866 (uri (string-append "mirror://gnome/sources/" name "/"
4867 (version-major+minor version) "/"
4868 name "-" version ".tar.xz"))
4869 (sha256
4870 (base32
961dc62d 4871 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 4872 (build-system meson-build-system)
4e3fc547
MW
4873 (native-inputs
4874 `(("pkg-config" ,pkg-config)
4875 ("desktop-file-utils" ,desktop-file-utils)
4876 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4877 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4878 ("intltool" ,intltool)
bcb354ad 4879 ("itstool" ,itstool)
995ef5ea
KK
4880 ("xmllint" ,libxml2)
4881 ("python-pylint" ,python-pylint)
4882 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4883 (propagated-inputs
4884 `(("dconf" ,dconf)))
4885 (inputs
4886 `(("gtk+" ,gtk+)
4887 ("gdk-pixbuf" ,gdk-pixbuf)
4888 ("atk" ,atk)
4889 ("cairo" ,cairo)
4890 ("dbus-glib" ,dbus-glib)
4891 ("clutter" ,clutter)
4892 ("clutter-gtk" ,clutter-gtk)
4893 ("clutter-gst" ,clutter-gst)
6a6db57f 4894 ("xorgproto" ,xorgproto)
4e3fc547
MW
4895 ("libxxf86vm" ,libxxf86vm)
4896 ("libxtst" ,libxtst)
4897 ("libxrandr" ,libxrandr)
4898 ("libxml2" ,libxml2)
4899 ("libsoup" ,libsoup)
4900 ("libpeas" ,libpeas)
4901 ("librsvg" ,librsvg)
4902 ("lirc" ,lirc)
4903 ("gnome-desktop" ,gnome-desktop)
4904 ("gstreamer" ,gstreamer)
4905 ("gst-plugins-base" ,gst-plugins-base)
4906 ("gst-plugins-good" ,gst-plugins-good)
4907 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4908 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4909 ("python" ,python)
995ef5ea 4910 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4911 ("totem-pl-parser" ,totem-pl-parser)
4912 ("grilo" ,grilo)
4913 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4914 ("vala" ,vala)))
4915 (arguments
7ad81b8b
LC
4916 `(#:glib-or-gtk? #t
4917
4918 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4919 ;; all that.
7ad81b8b 4920 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4921
4922 ;; Do not build .a files for the plugins, it's
4923 ;; completely useless. This saves 2 MiB.
7ad81b8b 4924 "--default-library" "shared")
ec5c24f9 4925 #:phases
4e3fc547 4926 (modify-phases %standard-phases
d51b19ad
EF
4927 (add-after 'unpack 'skip-gtk-update-icon-cache
4928 ;; Don't create 'icon-theme.cache'.
4929 (lambda _
4930 (substitute* "meson_post_install.py"
4931 (("gtk-update-icon-cache") "true"))
4932 #t))
6368eb39
DM
4933 (add-before
4934 'install 'disable-cache-generation
4935 (lambda _
4936 (setenv "DESTDIR" "/")
4937 #t))
995ef5ea
KK
4938 (add-before
4939 'check 'pre-check
4940 (lambda _
4941 ;; Tests require a running X server.
4942 (system "Xvfb :1 &")
4943 (setenv "DISPLAY" ":1")
4944 #t))
4e3fc547
MW
4945 (add-after
4946 'install 'wrap-totem
4947 (lambda* (#:key inputs outputs #:allow-other-keys)
4948 (let ((out (assoc-ref outputs "out"))
4949 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4950 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4951 (wrap-program (string-append out "/bin/totem")
4952 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4953 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4954 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4955 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4956 #t)))))
4957 (home-page "https://wiki.gnome.org/Apps/Videos")
4958 (synopsis "Simple media player for GNOME based on GStreamer")
4959 (description "Totem is a simple yet featureful media player for GNOME
4960which can read a large number of file formats.")
4961 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4962 ;; to be used and distributed together with GStreamer and Totem. See
4963 ;; file://COPYING in the source distribution for details.
4964 (license license:gpl2+)))
f0afb0c8
DH
4965
4966(define-public rhythmbox
4967 (package
4968 (name "rhythmbox")
eda580c0 4969 (version "3.4.4")
f0afb0c8
DH
4970 (source (origin
4971 (method url-fetch)
2588693d 4972 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 4973 (version-major+minor version) "/"
2588693d 4974 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
4975 (sha256
4976 (base32
eda580c0 4977 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
4978 (build-system glib-or-gtk-build-system)
4979 (arguments
4980 `(#:configure-flags
4981 (list "--enable-lirc"
4982 "--enable-python"
4983 "--enable-vala"
4984 "--with-brasero"
4985 "--with-gudev"
4986 "--with-libsecret")
4987 #:phases
4988 (modify-phases %standard-phases
4989 (add-after
4990 'install 'wrap-rhythmbox
4991 (lambda* (#:key inputs outputs #:allow-other-keys)
4992 (let ((out (assoc-ref outputs "out"))
4993 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4994 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4995 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4996 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4997 (wrap-program (string-append out "/bin/rhythmbox")
4998 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4999 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5000 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5001 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5002 #t)))))
5003 (propagated-inputs
5004 `(("dconf" ,dconf)))
5005 (native-inputs
bcb354ad
SB
5006 `(("itstool" ,itstool)
5007 ("intltool" ,intltool)
f0afb0c8
DH
5008 ("glib" ,glib "bin")
5009 ("gobject-introspection" ,gobject-introspection)
5010 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5011 ("pkg-config" ,pkg-config)
5012 ("xmllint" ,libxml2)))
f0afb0c8
DH
5013 (inputs
5014 `(("json-glib" ,json-glib)
5015 ("tdb" ,tdb)
5016 ("gnome-desktop" ,gnome-desktop)
5017 ("python" ,python)
5018 ("python-pygobject" ,python2-pygobject)
5019 ("vala" ,vala)
5020 ("gmime" ,gmime)
f0afb0c8
DH
5021 ("adwaita-icon-theme" ,adwaita-icon-theme)
5022 ("grilo" ,grilo)
5023 ("grilo-plugins" ,grilo-plugins)
5024 ("gstreamer" ,gstreamer)
5025 ("gst-plugins-base" ,gst-plugins-base)
5026 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5027 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5028 ("libgudev" ,libgudev)
f0afb0c8
DH
5029 ;;("libmtp" ,libmtp) FIXME: Not detected
5030 ("libsecret" ,libsecret)
5031 ("libsoup" ,libsoup)
5032 ("libnotify" ,libnotify)
5033 ("libpeas" ,libpeas)
5034 ("lirc" ,lirc)
5035 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5036 ;;("clutter" ,clutter)
5037 ;;("clutter-gtk" ,clutter-gtk)
5038 ;;("clutter-gst" ,clutter-gst)
5039 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5040 ("atk" ,atk)
5041 ("pango" ,pango)
5042 ("gtk+" ,gtk+)
5043 ;; TODO:
5044 ;; * libgpod
5045 ;; * mx
f0afb0c8
DH
5046 ("brasero" ,brasero)))
5047 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5048 (synopsis "Music player for GNOME")
5049 (description "Rhythmbox is a music playing application for GNOME. It
5050supports playlists, song ratings, and any codecs installed through gstreamer.")
5051 (license license:gpl2+)))
f70d8383
DH
5052
5053(define-public eog
5054 (package
5055 (name "eog")
0c9031fa 5056 (version "3.34.1")
f70d8383
DH
5057 (source (origin
5058 (method url-fetch)
5059 (uri (string-append "mirror://gnome/sources/" name "/"
5060 (version-major+minor version) "/"
5061 name "-" version ".tar.xz"))
5062 (sha256
5063 (base32
0c9031fa 5064 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5065 (build-system meson-build-system)
f70d8383 5066 (arguments
34c44a34
RW
5067 `(#:configure-flags
5068 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5069 (list (string-append "-Dc_link_args=-Wl,-rpath="
5070 (assoc-ref %outputs "out") "/lib/eog"))
5071 #:phases
f70d8383 5072 (modify-phases %standard-phases
7a034665
EF
5073 (add-after 'unpack 'skip-gtk-update-icon-cache
5074 ;; Don't create 'icon-theme.cache'.
5075 (lambda _
5076 (substitute* "meson_post_install.py"
5077 (("gtk-update-icon-cache") "true"))
5078 #t))
61fb581f
RW
5079 (add-after 'install 'wrap-eog
5080 (lambda* (#:key outputs #:allow-other-keys)
5081 (let ((out (assoc-ref outputs "out"))
5082 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5083 (wrap-program (string-append out "/bin/eog")
5084 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5085 #t)))))
f70d8383
DH
5086 (propagated-inputs
5087 `(("dconf" ,dconf)))
5088 (native-inputs
5089 `(("intltool" ,intltool)
b3546174 5090 ("itstool" ,itstool)
f70d8383
DH
5091 ("glib" ,glib "bin")
5092 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5093 ("pkg-config" ,pkg-config)
5094 ("xmllint" ,libxml2)))
f70d8383
DH
5095 (inputs
5096 `(("gnome-desktop" ,gnome-desktop)
5097 ("shared-mime-info" ,shared-mime-info)
5098 ("adwaita-icon-theme" ,adwaita-icon-theme)
5099 ("exempi" ,exempi)
5100 ("lcms" ,lcms)
5101 ("libexif" ,libexif)
5102 ("libpeas" ,libpeas)
4bd428a7 5103 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5104 ("librsvg" ,librsvg-next)
f70d8383
DH
5105 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5106 ("gtk+" ,gtk+)))
5107 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5108 (synopsis "GNOME image viewer")
5109 (description "Eye of GNOME is the GNOME image viewer. It
5110supports image conversion, rotation, and slideshows.")
5111 (license license:gpl2+)))
41af5e7b 5112
0c3f8cb8
LC
5113(define-public eog-plugins
5114 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5115 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5116 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5117 ;; 'XDG_DATA_DIRS' appropriately set.
5118 (package
5119 (name "eog-plugins")
54b74cc6 5120 (version "3.26.4")
0c3f8cb8
LC
5121 (source (origin
5122 (method url-fetch)
f3b88ed2 5123 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5124 (version-major+minor version) "/"
f3b88ed2 5125 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5126 (sha256
5127 (base32
54b74cc6 5128 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5129 (build-system gnu-build-system)
5130 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5131 (synopsis "Extensions for the Eye of GNOME image viewer")
5132 (native-inputs
5133 `(("pkg-config" ,pkg-config)
f2d97d57 5134 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
5135 (inputs
5136 `(("eog" ,eog)
5137 ("glib" ,glib)
5138 ("gtk+" ,gtk+)
5139 ("libpeas" ,libpeas)
5140 ("libexif" ,libexif)
5141 ("libchamplain" ,libchamplain)))
5142 (description
5143 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5144notably:
5145
5146@itemize
5147@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5148@item @dfn{Map}, which displays a map of where the picture was taken on the
5149side panel;
5150@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5151@end itemize\n")
5152
5153 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5154 ;; long suspicious byte stream that goes to a
5155 ;; ".gresource.eog_postasa_plugin" ELF section.
5156 (license license:gpl2+)))
5157
41af5e7b
SB
5158(define-public libgudev
5159 (package
5160 (name "libgudev")
b78f5118 5161 (version "232")
41af5e7b
SB
5162 (source (origin
5163 (method url-fetch)
5164 (uri (string-append "mirror://gnome/sources/" name "/"
5165 version "/" name "-" version ".tar.xz"))
5166 (sha256
5167 (base32
b78f5118 5168 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5169 (build-system gnu-build-system)
b78f5118
RW
5170 (arguments
5171 '(#:configure-flags
5172 ;; umockdev depends on libgudev.
5173 (list "--disable-umockdev")))
41af5e7b
SB
5174 (native-inputs
5175 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5176 ("gobject-introspection" ,gobject-introspection)
5177 ("pkg-config" ,pkg-config)))
5178 (propagated-inputs
5179 `(("glib" ,glib))) ; required by gudev-1.0.pc
5180 (inputs
5181 `(("udev" ,eudev)))
5182 (home-page "https://wiki.gnome.org/Projects/libgudev")
5183 (synopsis "GObject bindings for libudev")
5184 (description
5185 "This library provides GObject bindings for libudev. It was originally
5186part of udev-extras, then udev, then systemd. It's now a project on its own.")
5187 (license license:lgpl2.1+)))
3dc8828f
SB
5188
5189(define-public gvfs
5190 (package
5191 (name "gvfs")
12fe4846 5192 (version "1.40.1")
3dc8828f
SB
5193 (source (origin
5194 (method url-fetch)
1d68eb32 5195 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5196 (version-major+minor version) "/"
1d68eb32 5197 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5198 (sha256
5199 (base32
12fe4846 5200 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5201 (build-system meson-build-system)
3dc8828f 5202 (arguments
e762d943
RW
5203 '(#:glib-or-gtk? #t
5204 #:configure-flags
5205 (list "-Dsystemduserunitdir=no"
5206 "-Dtmpfilesdir=no"
5207 ;; Otherwise, the RUNPATH will lack the final path component.
5208 (string-append "-Dc_link_args=-Wl,-rpath="
5209 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5210 (native-inputs
5211 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5212 ("gettext" ,gettext-minimal)
5213 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5214 ("pkg-config" ,pkg-config)
5215 ("xsltproc" ,libxslt)))
5216 (inputs
5217 `(("avahi" ,avahi)
5218 ("docbook-xml" ,docbook-xml-4.2)
5219 ("docbook-xsl" ,docbook-xsl)
5220 ("dbus" ,dbus)
e762d943 5221 ("elogind" ,elogind)
3dc8828f 5222 ("fuse" ,fuse)
24a78aa6 5223 ("gcr" ,gcr)
3dc8828f 5224 ("glib" ,glib)
e762d943 5225 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5226 ("libarchive" ,libarchive)
5227 ("libbluray" ,libbluray)
8852ca24 5228 ("libcap" ,libcap)
3dc8828f
SB
5229 ("libcdio-paranoia" ,libcdio-paranoia)
5230 ("libgcrypt" ,libgcrypt)
e762d943 5231 ("libgdata" ,libgdata)
3dc8828f
SB
5232 ("libgphoto2" ,libgphoto2)
5233 ("libgudev" ,libgudev)
0ab9f949 5234 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5235 ("libmtp" ,libmtp)
e762d943 5236 ("libnfs" ,libnfs)
3dc8828f
SB
5237 ("libsecret" ,libsecret)
5238 ("libsmbclient" ,samba)
5239 ("libsoup" ,libsoup)
5240 ("libxml2" ,libxml2)
e762d943 5241 ("openssh" ,openssh)
8852ca24 5242 ("polkit" ,polkit)
3dc8828f
SB
5243 ("udisks" ,udisks)))
5244 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5245 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5246 (description
8f65585b 5247 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5248abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5249to all applications using the GIO API. It also supports exposing the GVFS
5250mounts to non-GIO applications using FUSE.
5251
5252GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5253DAV, and others.")
5254 (license license:lgpl2.0+)))
7c88b6bd
AW
5255
5256(define-public gusb
5257 (package
5258 (name "gusb")
536b3274 5259 (version "0.3.0")
7c88b6bd 5260 (source (origin
bbfb36f9
EF
5261 (method git-fetch)
5262 (uri (git-reference
5263 (url "https://github.com/hughsie/libgusb.git")
5264 (commit version)))
5265 (file-name (git-file-name name version))
7c88b6bd
AW
5266 (sha256
5267 (base32
bbfb36f9 5268 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5269 (build-system meson-build-system)
7c88b6bd 5270 (native-inputs
536b3274 5271 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5272 ("pkg-config" ,pkg-config)
5273 ("vala" ,vala)
7c88b6bd
AW
5274 ("gtk-doc" ,gtk-doc)))
5275 (propagated-inputs
5276 ;; Both of these are required by gusb.pc.
5277 `(("glib" ,glib)
5278 ("libusb" ,libusb)))
5279 (arguments
536b3274 5280 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5281 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5282 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5283 (description
5284 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5285asynchronous control, bulk and interrupt transfers with proper cancellation
5286and integration into a mainloop. This makes it easy to integrate low level
5287USB transfers with your high-level application or system daemon.")
5288 (license license:lgpl2.1+)))
0abe1d86
AW
5289
5290(define-public simple-scan
5291 (package
5292 (name "simple-scan")
fe6cfa99 5293 (version "3.36.0")
d9f6d587
TGR
5294 (source
5295 (origin
5296 (method url-fetch)
5297 (uri (string-append "mirror://gnome/sources/simple-scan/"
5298 (version-major+minor version) "/"
5299 "simple-scan-" version ".tar.xz"))
5300 (sha256
fe6cfa99 5301 (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
d9f6d587
TGR
5302 (build-system meson-build-system)
5303 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5304 (arguments
5305 '(#:glib-or-gtk? #t))
0abe1d86
AW
5306 (inputs
5307 `(("gtk" ,gtk+)
5308 ("zlib" ,zlib)
5309 ("cairo" ,cairo)
c501f592 5310 ("colord" ,colord)
0abe1d86
AW
5311 ("gdk-pixbuf" ,gdk-pixbuf)
5312 ("gusb" ,gusb)
4c928743 5313 ("libsane" ,sane-backends)))
0abe1d86 5314 (native-inputs
b94a6ca0 5315 `(("gettext" ,gettext-minimal)
0abe1d86 5316 ("itstool" ,itstool)
c501f592 5317 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5318 ("pkg-config" ,pkg-config)
bcb354ad
SB
5319 ("vala" ,vala)
5320 ("xmllint" ,libxml2)))
dff0eedb 5321 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5322 (synopsis "Document and image scanner")
d9f6d587
TGR
5323 (description
5324 "Document Scanner is an easy-to-use application that lets you connect your
5325scanner and quickly capture images and documents in an appropriate format. It
5326supports any scanner for which a suitable SANE driver is available, which is
5327almost all of them.")
0abe1d86 5328 (license license:gpl3+)))
7549f984 5329
ab466d79
RW
5330(define-public eolie
5331 (package
5332 (name "eolie")
ed783404 5333 (version "0.9.98.1")
ab466d79
RW
5334 (source (origin
5335 (method url-fetch)
ed783404
RW
5336 (uri (string-append "https://adishatz.org/eolie/eolie-"
5337 version ".tar.xz"))
ab466d79
RW
5338 (sha256
5339 (base32
ed783404 5340 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5341 (build-system meson-build-system)
ab466d79 5342 (arguments
00014781
RW
5343 `(#:glib-or-gtk? #t
5344 #:phases
ab466d79 5345 (modify-phases %standard-phases
f0c68100
EF
5346 (add-after 'unpack 'skip-gtk-update-icon-cache
5347 ;; Don't create 'icon-theme.cache'.
5348 (lambda _
5349 (substitute* "meson_post_install.py"
5350 (("gtk-update-icon-cache") "true"))
5351 #t))
ab466d79
RW
5352 (add-after 'wrap 'wrap-more
5353 (lambda* (#:key inputs outputs #:allow-other-keys)
5354 (let* ((out (assoc-ref outputs "out"))
5355 ;; These libraries must be on LD_LIBRARY_PATH.
5356 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5357 "atk" "gtk+" "gsettings-desktop-schemas"
5358 "gobject-introspection"))
5359 (path (string-join
5360 (map (lambda (lib)
5361 (string-append (assoc-ref inputs lib) "/lib"))
5362 libs)
5363 ":")))
5364 (wrap-program (string-append out "/bin/eolie")
5365 `("LD_LIBRARY_PATH" ":" prefix (,path))
5366 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5367 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5368 #t)))))
5369 (native-inputs
f85ca6ed 5370 `(("intltool" ,intltool)
ab466d79 5371 ("itstool" ,itstool)
d95f1041 5372 ("pkg-config" ,pkg-config)
d95f1041 5373 ("python" ,python)
f0c68100 5374 ("glib:bin" ,glib "bin")))
ab466d79
RW
5375 (inputs
5376 `(("gobject-introspection" ,gobject-introspection)
5377 ("glib-networking" ,glib-networking)
5378 ("cairo" ,cairo)
5379 ("gtk+" ,gtk+)
5380 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5381 ("python" ,python-wrapper)
d72f76df 5382 ("python-dateutil" ,python-dateutil)
00014781 5383 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5384 ("python-pygobject" ,python-pygobject)
5385 ("python-pycairo" ,python-pycairo)
00014781 5386 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5387 ("libsecret" ,libsecret)
5388 ("gtkspell3" ,gtkspell3)
5389 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5390 ("webkitgtk" ,webkitgtk)))
166b2c97 5391 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5392 (synopsis "Web browser for GNOME")
5393 (description
5394 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5395a secret password store, an adblocker, and a modern UI.")
5396 (license license:gpl3+)))
5397
7549f984
SB
5398(define-public epiphany
5399 (package
5400 (name "epiphany")
5a30f67f 5401 (version "3.34.2")
7549f984
SB
5402 (source (origin
5403 (method url-fetch)
dd3266ec 5404 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5405 (version-major+minor version) "/"
dd3266ec 5406 "epiphany-" version ".tar.xz"))
7549f984
SB
5407 (sha256
5408 (base32
5a30f67f 5409 "18d48vcp2nxs63bddkdplslgbnlfq79pm2ivl8hk38kkggy3dahf"))))
fc5c5b92
R
5410
5411 (build-system meson-build-system)
7549f984
SB
5412 (arguments
5413 ;; FIXME: tests run under Xvfb, but fail with:
5414 ;; /src/bookmarks/ephy-bookmarks/create:
5415 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5416 ;; subsystem
5417 ;; FAIL
6f48d9db 5418 '(#:tests? #f
e19f9c24 5419 #:glib-or-gtk? #t
bb7ff88f
EF
5420 #:phases
5421 (modify-phases %standard-phases
5422 (add-after 'unpack 'skip-gtk-update-icon-cache
5423 ;; Don't create 'icon-theme.cache'.
5424 (lambda _
5425 (substitute* "post_install.py"
5426 (("gtk-update-icon-cache") "true"))
5427 #t)))
e19f9c24
LF
5428 #:configure-flags
5429 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5430 (list (string-append "-Dc_link_args=-Wl,-rpath="
5431 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5432 (propagated-inputs
5433 `(("dconf" ,dconf)))
7549f984 5434 (native-inputs
fc5c5b92
R
5435 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5436 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5437 ("intltool" ,intltool)
7549f984 5438 ("itstool" ,itstool)
bcb354ad
SB
5439 ("pkg-config" ,pkg-config)
5440 ("xmllint" ,libxml2)))
7549f984
SB
5441 (inputs
5442 `(("avahi" ,avahi)
5443 ("gcr" ,gcr)
fc5c5b92 5444 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5445 ("glib-networking" ,glib-networking)
5446 ("gnome-desktop" ,gnome-desktop)
5447 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5448 ("json-glib" ,json-glib)
7549f984 5449 ("iso-codes" ,iso-codes)
8748e29c 5450 ("libdazzle" ,libdazzle)
7549f984
SB
5451 ("libnotify" ,libnotify)
5452 ("libsecret" ,libsecret)
7549f984 5453 ("libxslt" ,libxslt)
fc5c5b92 5454 ("nettle" ,nettle) ; for hogweed
7549f984 5455 ("sqlite" ,sqlite)
f85ca6ed 5456 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5457 (home-page "https://wiki.gnome.org/Apps/Web")
5458 (synopsis "GNOME web browser")
5459 (description
5460 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5461principles are simplicity and standards compliance.")
5462 (license license:gpl2+)))
a3856b2c
SB
5463
5464(define-public d-feet
5465 (package
5466 (name "d-feet")
458e9221 5467 (version "0.3.14")
a3856b2c
SB
5468 (source (origin
5469 (method url-fetch)
5470 (uri (string-append "mirror://gnome/sources/" name "/"
5471 (version-major+minor version) "/"
5472 name "-" version ".tar.xz"))
5473 (sha256
5474 (base32
458e9221 5475 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5476 (build-system glib-or-gtk-build-system)
5477 (arguments
5478 '(#:out-of-source? #f ; tests need to run in the source directory.
5479 #:phases
5480 (modify-phases %standard-phases
5481 (add-before
5482 'check 'pre-check
86aff791 5483 (lambda _
a3856b2c
SB
5484 ;; The test suite requires a running X server.
5485 (system "Xvfb :1 &")
5486 (setenv "DISPLAY" ":1")
5487 ;; Don't fail on missing '/etc/machine-id'.
5488 (setenv "DBUS_FATAL_WARNINGS" "0")
5489 ;; tests.py and window.py don't meet E402:
5490 ;; E402 module level import not at top of file
5491 (substitute* "src/tests/Makefile"
86aff791
MW
5492 (("--ignore=E123") "--ignore=E123,E402"))
5493 #t))
a3856b2c
SB
5494 (add-after
5495 'install 'wrap-program
5496 (lambda* (#:key outputs #:allow-other-keys)
5497 (let ((prog (string-append (assoc-ref outputs "out")
5498 "/bin/d-feet")))
5499 (wrap-program prog
5500 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5501 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5502 #t))))))
a3856b2c
SB
5503 (native-inputs
5504 `(("intltool" ,intltool)
5505 ("itstool" ,itstool)
5506 ("pkg-config" ,pkg-config)
5507 ("python-pep8" ,python-pep8)
5508 ("xmllint" ,libxml2)
ff337525 5509 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5510 (inputs
5511 `(("gobject-introspection" ,gobject-introspection)
5512 ("gtk+" ,gtk+)
5513 ("python" ,python-wrapper)
458e9221 5514 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5515 ("python-pygobject" ,python-pygobject)))
5516 (home-page "https://wiki.gnome.org/Apps/DFeet")
5517 (synopsis "D-Bus debugger")
5518 (description
5519 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5520of running programs and invoke methods on those interfaces.")
5521 (license license:gpl2+)))
c3b97bd9
SB
5522
5523(define-public yelp-xsl
5524 (package
5525 (name "yelp-xsl")
632a9b32 5526 (version "3.34.2")
c3b97bd9
SB
5527 (source (origin
5528 (method url-fetch)
5529 (uri (string-append "mirror://gnome/sources/" name "/"
5530 (version-major+minor version) "/"
5531 name "-" version ".tar.xz"))
5532 (sha256
5533 (base32
632a9b32 5534 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
5535 (build-system gnu-build-system)
5536 (native-inputs
632a9b32 5537 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
5538 ("itstool" ,itstool)
5539 ("xmllint" ,libxml2)))
5540 (home-page "https://wiki.gnome.org/Apps/Yelp")
5541 (synopsis "XSL stylesheets for Yelp")
5542 (description
5543 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5544to format Docbook and Mallard documents.")
5545 (license license:gpl2+)))
de3d612a
SB
5546
5547(define-public yelp
5548 (package
5549 (name "yelp")
1f1b6d60 5550 (version "3.32.2")
de3d612a
SB
5551 (source (origin
5552 (method url-fetch)
5553 (uri (string-append "mirror://gnome/sources/" name "/"
5554 (version-major+minor version) "/"
5555 name "-" version ".tar.xz"))
5556 (sha256
5557 (base32
1f1b6d60 5558 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5559 (build-system glib-or-gtk-build-system)
5560 (native-inputs
5561 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5562 ("intltool" ,intltool)
5563 ("itstool" ,itstool)
5564 ("pkg-config" ,pkg-config)))
5565 (propagated-inputs
5566 `(("dconf" ,dconf)))
5567 (inputs
ad1b7d8b
SB
5568 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5569 ("libxslt" ,libxslt)
de3d612a 5570 ("sqlite" ,sqlite)
4c28ca1d
SB
5571 ("webkitgtk" ,webkitgtk)
5572 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5573 (home-page "https://wiki.gnome.org/Apps/Yelp")
5574 (synopsis "GNOME help browser")
5575 (description
5576 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5577man, info, and HTML documents. It can locate documents according to the
5578freedesktop.org help system specification.")
5579 (license license:gpl2+)))
122d0d10
SB
5580
5581(define-public yelp-tools
5582 (package
5583 (name "yelp-tools")
8fe8a42a 5584 (version "3.32.2")
122d0d10
SB
5585 (source (origin
5586 (method url-fetch)
5587 (uri (string-append "mirror://gnome/sources/" name "/"
5588 (version-major+minor version) "/"
5589 name "-" version ".tar.xz"))
5590 (sha256
5591 (base32
8fe8a42a 5592 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
5593 (build-system gnu-build-system)
5594 (native-inputs
5595 `(("pkg-config" ,pkg-config)))
5596 (propagated-inputs
5597 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5598 `(("itstool" ,itstool)
5599 ("xmllint" ,libxml2)
5600 ("xsltproc" ,libxslt)))
5601 (inputs
5602 `(("yelp-xsl" ,yelp-xsl)))
5603 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5604 (synopsis "Yelp documentation tools")
5605 (description
5606 "Yelp-tools is a collection of scripts and build utilities to help create,
5607manage, and publish documentation for Yelp and the web. Most of the heavy
5608lifting is done by packages like yelp-xsl and itstool. This package just
5609wraps things up in a developer-friendly way.")
5610 (license license:gpl2+)))
af8f9f23
RW
5611
5612(define-public libgee
5613 (package
5614 (name "libgee")
9cedae2a 5615 (version "0.20.3")
af8f9f23
RW
5616 (source (origin
5617 (method url-fetch)
84a1b007 5618 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5619 (version-major+minor version) "/"
84a1b007 5620 "libgee-" version ".tar.xz"))
af8f9f23
RW
5621 (sha256
5622 (base32
9cedae2a 5623 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5624 (build-system gnu-build-system)
5625 (arguments
5626 `(#:phases
5627 (modify-phases %standard-phases
5628 (add-after 'unpack 'fix-introspection-install-dir
5629 (lambda* (#:key outputs #:allow-other-keys)
5630 (let ((out (assoc-ref outputs "out")))
5631 (substitute* "gee/Makefile.in"
5632 (("@INTROSPECTION_GIRDIR@")
5633 (string-append out "/share/gir-1.0/"))
5634 (("@INTROSPECTION_TYPELIBDIR@")
5635 (string-append out "/lib/girepository-1.0/")))))))))
5636 (native-inputs
5637 `(("glib" ,glib "bin")
5638 ("pkg-config" ,pkg-config)))
5639 (inputs
5640 `(("glib" ,glib)
5641 ("gobject-introspection" ,gobject-introspection)))
5642 (home-page "https://wiki.gnome.org/Projects/Libgee")
5643 (synopsis "GObject collection library")
5644 (description
5645 "Libgee is a utility library providing GObject-based interfaces and
5646classes for commonly used data structures.")
5647 (license license:lgpl2.1+)))
b0f9c4b8
RW
5648
5649(define-public gexiv2
5650 (package
5651 (name "gexiv2")
b1a8b408 5652 (version "0.12.0")
b0f9c4b8
RW
5653 (source (origin
5654 (method url-fetch)
5655 (uri (string-append "mirror://gnome/sources/" name "/"
5656 (version-major+minor version) "/"
5657 name "-" version ".tar.xz"))
5658 (sha256
5659 (base32
b1a8b408 5660 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5661 (build-system meson-build-system)
b0f9c4b8 5662 (native-inputs
b1a8b408
KK
5663 `(("gcr" ,gcr)
5664 ("glib" ,glib "bin")
5665 ("pkg-config" ,pkg-config)
5666 ("vala" ,vala)))
b0f9c4b8
RW
5667 (propagated-inputs
5668 ;; Listed in "Requires" section of gexiv2.pc
5669 `(("exiv2" ,exiv2)))
5670 (inputs
5671 `(("glib" ,glib)
5672 ("gobject-introspection" ,gobject-introspection)))
5673 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5674 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5675 (description
5676 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5677allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5678metadata in photo and video files of various formats.")
5679 (license license:gpl2+)))
fed5a689
RW
5680
5681(define-public shotwell
5682 (package
5683 (name "shotwell")
bcea20cc 5684 (version "0.30.8")
fed5a689
RW
5685 (source (origin
5686 (method url-fetch)
5497d682 5687 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5688 (version-major+minor version) "/"
5497d682 5689 "shotwell-" version ".tar.xz"))
fed5a689
RW
5690 (sha256
5691 (base32
bcea20cc 5692 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5693 (build-system meson-build-system)
5694 (arguments
5a0beca3
EF
5695 '(#:glib-or-gtk? #t
5696 #:phases
5697 (modify-phases %standard-phases
5698 (add-after 'unpack 'skip-gtk-update-icon-cache
5699 (lambda _
5700 (substitute* "build-aux/meson/postinstall.py"
5701 (("gtk-update-icon-cache") (which "true"))
5702 (("update-desktop-database") (which "true")))
5703 #t)))))
735b8db6
TGR
5704 (propagated-inputs
5705 `(("dconf" ,dconf)))
fed5a689 5706 (native-inputs
5a0beca3
EF
5707 `(("gettext" ,gettext-minimal)
5708 ("glib:bin" ,glib "bin")
735b8db6 5709 ("itstool" ,itstool)
3b79afa6 5710 ("pkg-config" ,pkg-config)
735b8db6 5711 ("vala" ,vala)))
fed5a689 5712 (inputs
5a0beca3
EF
5713 `(("gcr" ,gcr)
5714 ("gexiv2" ,gexiv2)
fed5a689 5715 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5716 ("gstreamer" ,gstreamer)
5717 ("json-glib" ,json-glib)
dfb0323d 5718 ("libgdata" ,libgdata)
fed5a689 5719 ("libgee" ,libgee)
5a0beca3
EF
5720 ("libgphoto2" ,libgphoto2)
5721 ("libgudev" ,libgudev)
fed5a689 5722 ("libraw" ,libraw)
fed5a689
RW
5723 ("libsoup" ,libsoup)
5724 ("libxml2" ,libxml2)
5a0beca3
EF
5725 ("sqlite" ,sqlite)
5726 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5727 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5728 (synopsis "Photo manager for GNOME 3")
5729 (description
5730 "Shotwell is a digital photo manager designed for the GNOME desktop
5731environment. It allows you to import photos from disk or camera, organize
5732them by keywords and events, view them in full-window or fullscreen mode, and
5733share them with others via social networking and more.")
5734 (license license:lgpl2.1+)))
293ff8b2
DT
5735
5736(define-public file-roller
5737 (package
5738 (name "file-roller")
dcae4270 5739 (version "3.32.3")
293ff8b2
DT
5740 (source (origin
5741 (method url-fetch)
f89a27c6 5742 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5743 (version-major+minor version) "/"
f89a27c6 5744 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5745 (sha256
5746 (base32
dcae4270 5747 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5748 (build-system meson-build-system)
293ff8b2 5749 (native-inputs
0a500745
RW
5750 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5751 ("intltool" ,intltool)
4c96e5d1 5752 ("itstool" ,itstool)
0a500745
RW
5753 ("pkg-config" ,pkg-config)
5754 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5755 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5756 ;; TODO: Add libnautilus.
5757 (inputs
5758 `(("gtk+" ,gtk+)
5759 ("gdk-pixbuf" ,gdk-pixbuf)
5760 ("json-glib" ,json-glib)
5761 ("libarchive" ,libarchive)
5762 ("libnotify" ,libnotify)
4c96e5d1 5763 ("nettle" ,nettle)
293ff8b2
DT
5764 ("libxml2" ,libxml2)))
5765 (synopsis "Graphical archive manager for GNOME")
5766 (description "File Roller is an archive manager for the GNOME desktop
5767environment that allows users to view, unpack, and create compressed archives
5768such as gzip tarballs.")
5769 (home-page "http://fileroller.sourceforge.net/")
5770 (license license:gpl2+)))
7ce49365
SB
5771
5772(define-public gnome-session
5773 (package
5774 (name "gnome-session")
f67ce006 5775 (version "3.34.2")
7ce49365
SB
5776 (source (origin
5777 (method url-fetch)
5778 (uri (string-append "mirror://gnome/sources/" name "/"
5779 (version-major+minor version) "/"
5780 name "-" version ".tar.xz"))
5781 (sha256
5782 (base32
f67ce006 5783 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 5784 (arguments
df278071
RW
5785 '(#:glib-or-gtk? #t
5786 #:phases
2914af3c
AW
5787 (modify-phases %standard-phases
5788 (add-before 'configure 'pre-configure
5789 (lambda* (#:key outputs #:allow-other-keys)
5790 ;; Use elogind instead of systemd.
df278071
RW
5791 (substitute* "meson.build"
5792 (("libsystemd-login") "libelogind")
5793 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5794 (substitute* "gnome-session/gsm-systemd.c"
5795 (("#include <systemd/sd-login.h>")
5796 "#include <elogind/sd-login.h>"))
df278071 5797 ;; Remove uses of the systemd daemon.
803ab416
SB
5798 (substitute* "gnome-session/gsm-autostart-app.c"
5799 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5800 #t))
5801 (add-after 'install 'wrap-gnome-session
5802 (lambda* (#:key inputs outputs #:allow-other-keys)
5803 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5804 (let ((glib (assoc-ref inputs "glib:bin"))
5805 (out (assoc-ref outputs "out")))
5806 (wrap-program (string-append out "/bin/gnome-session")
5807 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5808 #t))))
6cbc8d57 5809
2914af3c 5810 #:configure-flags
df278071
RW
5811 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5812 "-Dman=false" ; FIXME: disabled because of docbook validation error
5813 "-Dsystemd_journal=false")))
5814 (build-system meson-build-system)
7ce49365
SB
5815 (native-inputs
5816 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5817 ("pkg-config" ,pkg-config)
5818 ("intltool" ,intltool)
df278071
RW
5819 ("xsltproc" ,libxslt)
5820 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5821 ("docbook-xsl" ,docbook-xsl)
5822 ("docbook-xml" ,docbook-xml)
5823 ("xmlto" ,xmlto)))
7ce49365 5824 (inputs
2914af3c
AW
5825 `(("elogind" ,elogind)
5826 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5827 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5828 ("gtk+" ,gtk+)
5829 ("json-glib" ,json-glib)
5830 ("libsm" ,libsm)
5831 ("libxcomposite" ,libxcomposite)
5832 ("libxtst" ,libxtst)
5833 ("mesa" ,mesa)
5834 ("upower" ,upower)
5835 ("xtrans" ,xtrans)))
5836 (synopsis "Session manager for GNOME")
5837 (description
5838 "This package contains the GNOME session manager, as well as a
5839configuration program to choose applications starting on login.")
5840 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5841 (license license:gpl2+)))
f47ba77e
SB
5842
5843(define-public gjs
5844 (package
5845 (name "gjs")
76e1830c 5846 (version "1.58.3")
f47ba77e
SB
5847 (source (origin
5848 (method url-fetch)
5849 (uri (string-append "mirror://gnome/sources/" name "/"
5850 (version-major+minor version) "/"
5851 name "-" version ".tar.xz"))
5852 (sha256
5853 (base32
76e1830c 5854 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
5855 (build-system gnu-build-system)
5856 (arguments
5857 '(#:phases
5858 (modify-phases %standard-phases
5859 (add-before
5860 'check 'pre-check
5861 (lambda _
fc119619
MW
5862 ;; The test suite requires a running X server.
5863 (system "Xvfb :1 &")
5864 (setenv "DISPLAY" ":1")
5865
f47ba77e
SB
5866 ;; For the missing /etc/machine-id.
5867 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5868
144f94d0
KK
5869 ;; Our mozjs-38 package does not compile the required Intl API
5870 ;; support for these failing tests.
5871 (substitute* "installed-tests/js/testLocale.js"
5872 ((".*toBeDefined.*") "")
5873 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5874 (substitute* "installed-tests/scripts/testCommandLine.sh"
5875 (("Valentín") "")
5876 (("☭") ""))
f47ba77e
SB
5877 #t)))))
5878 (native-inputs
8a831c6f 5879 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5880 ("pkg-config" ,pkg-config)
5881 ("xmllint" ,libxml2)
5882 ;; For testing
5883 ("dbus-launch" ,dbus)
76e1830c 5884 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 5885 ("uuidgen" ,util-linux)
ebebee94 5886 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5887 (propagated-inputs
5888 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5889 `(("cairo" ,cairo)
5890 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5891 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5892 (inputs
5893 `(("gtk+" ,gtk+)
5894 ("readline" ,readline)))
5895 (synopsis "Javascript bindings for GNOME")
f032d0be 5896 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5897 (description
5898 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5899javascript engine and the GObject introspection framework.")
5900 (license license:gpl2+)))
329d731b
DH
5901
5902(define-public gedit
5903 (package
5904 (name "gedit")
edec7128 5905 (version "3.34.1")
329d731b
DH
5906 (source (origin
5907 (method url-fetch)
5908 (uri (string-append "mirror://gnome/sources/" name "/"
5909 (version-major+minor version) "/"
5910 name "-" version ".tar.xz"))
5911 (sha256
5912 (base32
edec7128 5913 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 5914 (build-system meson-build-system)
329d731b 5915 (arguments
480c9226
KK
5916 `(#:glib-or-gtk? #t
5917 #:configure-flags
5918 ;; Otherwise, the RUNPATH will lack the final path component.
5919 (list (string-append "-Dc_link_args=-Wl,-rpath="
5920 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5921
5922 ;; XXX: Generated .h files are sometimes used before being built.
5923 #:parallel-build? #f
5924
480c9226 5925 #:phases
329d731b 5926 (modify-phases %standard-phases
480c9226
KK
5927 (add-after 'unpack 'skip-gtk-update-icon-cache
5928 ;; Don't create 'icon-theme.cache'.
5929 (lambda _
5930 (substitute* "build-aux/meson/post_install.py"
5931 (("gtk-update-icon-cache") (which "true")))
5932 #t))
5933 (add-after 'unpack 'patch-libgd-fetch
5934 (lambda* (#:key inputs #:allow-other-keys)
5935 (let ((libgd (assoc-ref inputs "libgd")))
5936 ;; Calling git is unnecessary because libgd is fetched as a
5937 ;; native input to this package.
5938 (substitute* "meson.build"
5939 ((".*git.*") ""))
5940 (copy-recursively libgd "subprojects/libgd")
5941 #t)))
5942 (add-after 'install 'wrap-gedit
5943 (lambda* (#:key inputs outputs #:allow-other-keys)
5944 (let ((out (assoc-ref outputs "out"))
5945 (gtksourceview (assoc-ref inputs "gtksourceview"))
5946 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5947 (python-path (getenv "PYTHONPATH")))
5948 (wrap-program (string-append out "/bin/gedit")
5949 ;; For plugins.
5950 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5951 `("PYTHONPATH" ":" prefix (,python-path))
5952 ;; For language-specs.
5953 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5954 "/share")))))
5955 #t)))))
329d731b
DH
5956 (propagated-inputs
5957 `(("dconf" ,dconf)))
5958 (native-inputs
480c9226
KK
5959 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5960 ("intltool" ,intltool)
b3546174 5961 ("itstool" ,itstool)
480c9226 5962 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5963 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5964 ("libgd"
5965 ,(origin
5966 (method git-fetch)
5967 (uri (git-reference
5968 (url "https://gitlab.gnome.org/GNOME/libgd")
5969 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5970 (file-name (git-file-name "libgd" version))
5971 (sha256
5972 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5973 ("pkg-config" ,pkg-config)))
5974 (inputs
5975 `(("glib" ,glib)
0d2df50c 5976 ("gspell" ,gspell)
329d731b 5977 ("gtk+" ,gtk+)
480c9226 5978 ("gtksourceview" ,gtksourceview)
329d731b
DH
5979 ("libpeas" ,libpeas)
5980 ("libxml2" ,libxml2)
329d731b
DH
5981 ("iso-codes" ,iso-codes)
5982 ("python-pygobject" ,python-pygobject)
5983 ("python" ,python)
5984 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5985 ("libx11" ,libx11)
5986 ("vala" ,vala)
5987 ("adwaita-icon-theme" ,adwaita-icon-theme)
5988 ("libsoup" ,libsoup)
5989 ("gnome-desktop" ,gnome-desktop)))
5990 (home-page "https://wiki.gnome.org/Apps/Gedit")
5991 (synopsis "GNOME text editor")
5992 (description "While aiming at simplicity and ease of use, gedit is a
5993powerful general purpose text editor.")
5994 (license license:gpl2+)))
b7179363
SB
5995
5996(define-public zenity
5997 (package
5998 (name "zenity")
4f581bd0 5999 (version "3.32.0")
b7179363
SB
6000 (source (origin
6001 (method url-fetch)
5958df04 6002 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6003 (version-major+minor version) "/"
5958df04 6004 "zenity-" version ".tar.xz"))
b7179363
SB
6005 (sha256
6006 (base32
4f581bd0 6007 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6008 (build-system gnu-build-system)
6009 (native-inputs
b94a6ca0 6010 `(("gettext" ,gettext-minimal)
b7179363
SB
6011 ("itstool" ,itstool)
6012 ("pkg-config" ,pkg-config)))
6013 (inputs
6014 `(("libnotify" ,libnotify)
6015 ("webkitgtk" ,webkitgtk)))
6016 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6017 (home-page "https://www.gnome.org")
b7179363
SB
6018 (description
6019 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6020to display dialog boxes from the commandline and shell scripts.")
6021 (license license:lgpl2.0+)))
60c3627c
SB
6022
6023(define-public mutter
6024 (package
6025 (name "mutter")
ec3ceabd 6026 (version "3.34.2")
60c3627c 6027 (source (origin
86c44e72
KK
6028 (method url-fetch)
6029 (uri (string-append "mirror://gnome/sources/" name "/"
6030 (version-major+minor version) "/"
6031 name "-" version ".tar.xz"))
60c3627c
SB
6032 (sha256
6033 (base32
ec3ceabd 6034 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6035 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6036 ;; versions of cogl and clutter. As a result, many of the inputs,
6037 ;; propagated-inputs, and configure flags used in cogl and clutter are
6038 ;; needed here as well.
edf43f68 6039 (build-system meson-build-system)
60c3627c 6040 (arguments
edf43f68
KK
6041 '(;; XXX: All mutter tests fail with the following error:
6042 ;; Settings schema 'org.gnome.mutter' is not installed
6043 #:tests? #f
6044 #:glib-or-gtk? #t
6045 #:configure-flags
ec3ceabd
KK
6046 ;; TODO: Enable profiler when Sysprof is packaged.
6047 (list "-Dprofiler=false"
6048 ;; Otherwise, the RUNPATH will lack the final path component.
6049 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6050 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6051 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6052
6053 ;; The following flags are needed for the bundled clutter
edf43f68 6054 (string-append "-Dxwayland_path="
d633f2f6
RH
6055 (assoc-ref %build-inputs "xorg-server-xwayland")
6056 "/bin/Xwayland")
6057
a88d5a0c 6058 ;; the remaining flags are needed for the bundled cogl
edf43f68 6059 (string-append "-Dopengl_libname="
a88d5a0c 6060 (assoc-ref %build-inputs "mesa")
ec3ceabd 6061 "/lib/libGL.so"))))
60c3627c 6062 (native-inputs
ec3ceabd
KK
6063 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6064 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6065 ("gobject-introspection" ,gobject-introspection)
6066 ("intltool" ,intltool)
f23052a6 6067 ("pkg-config" ,pkg-config)
edf43f68 6068 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6069 ;; For git build
6070 ("autoconf" ,autoconf)
6071 ("automake" ,automake)
6072 ("libtool" ,libtool)))
60c3627c 6073 (propagated-inputs
a88d5a0c
MW
6074 `(;; libmutter.pc refers to these:
6075 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6076 ("gtk+" ,gtk+)
6077 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6078 ("atk" ,atk)
6079 ("cairo" ,cairo)
6080 ("gdk-pixbuf" ,gdk-pixbuf)
6081 ("glib" ,glib)
a88d5a0c
MW
6082 ("json-glib" ,json-glib)
6083 ("libinput" ,libinput)
6084 ("libx11" ,libx11)
6085 ("libxcomposite" ,libxcomposite)
6086 ("libxdamage" ,libxdamage)
6087 ("libxext" ,libxext)
6088 ("libxfixes" ,libxfixes)
6089 ("libxkbcommon" ,libxkbcommon)
6090 ("libxrandr" ,libxrandr)
6091 ("mesa" ,mesa)
6092 ("pango" ,pango)
6093 ("udev" ,eudev)
a88d5a0c 6094 ("xinput" ,xinput)))
60c3627c 6095 (inputs
86c44e72
KK
6096 `(("elogind" ,elogind)
6097 ("gnome-desktop" ,gnome-desktop)
edf43f68 6098 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6099 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6100 ("libgudev" ,libgudev)
60c3627c
SB
6101 ("libice" ,libice)
6102 ("libsm" ,libsm)
edf43f68 6103 ("libwacom" ,libwacom)
60c3627c 6104 ("libxkbfile" ,libxkbfile)
a88d5a0c 6105 ("libxrandr" ,libxrandr)
86c44e72 6106 ("libxtst" ,libxtst)
edf43f68 6107 ("pipewire" ,pipewire)
60c3627c
SB
6108 ("startup-notification" ,startup-notification)
6109 ("upower-glib" ,upower)
6110 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6111 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6112 ("zenity" ,zenity)))
6113 (synopsis "Window and compositing manager")
f032d0be 6114 (home-page "https://www.gnome.org")
60c3627c
SB
6115 (description
6116 "Mutter is a window and compositing manager that displays and manages your
6117desktop via OpenGL. Mutter combines a sophisticated display engine using the
6118Clutter toolkit with solid window-management logic inherited from the Metacity
6119window manager.")
86c44e72 6120 (license license:gpl2+)))
685cee87
SB
6121
6122(define-public gnome-online-accounts
6123 (package
6124 (name "gnome-online-accounts")
dd233e4d 6125 (version "3.36.0")
685cee87
SB
6126 (source (origin
6127 (method url-fetch)
6128 (uri (string-append "mirror://gnome/sources/" name "/"
6129 (version-major+minor version) "/"
6130 name "-" version ".tar.xz"))
6131 (sha256
6132 (base32
dd233e4d 6133 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 6134 (outputs '("out" "lib"))
685cee87 6135 (build-system glib-or-gtk-build-system)
14c297fd
TS
6136 (arguments
6137 `(#:configure-flags
6138 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6139 #:phases
6140 (modify-phases %standard-phases
6141 (add-before 'configure 'patch-libgoa-output
6142 (lambda* (#:key outputs #:allow-other-keys)
6143 (let ((lib (assoc-ref outputs "lib")))
6144 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6145 (("@prefix@") lib)
6146 (("@exec_prefix@") lib)
6147 (("@libdir@") (string-append lib "/lib"))
6148 (("@includedir@") (string-append lib "/include"))
6149 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6150 ;; Make sure gobject-introspection knows about the output
6151 ;; too (see <https://bugs.gnu.org/36535>).
6152 (setenv "outputs" "out lib")
14c297fd 6153 #t))))))
685cee87
SB
6154 (native-inputs
6155 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6156 ("gobject-introspection" ,gobject-introspection)
6157 ("intltool" ,intltool)
6158 ("pkg-config" ,pkg-config)
ebb2873d 6159 ("vala" ,vala)
685cee87
SB
6160 ("xsltproc" ,libxslt)))
6161 (propagated-inputs
6162 `(("glib" ,glib) ; required by goa-1.0.pc
6163 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6164 (inputs
6165 `(("docbook-xsl" ,docbook-xsl)
6166 ("json-glib" ,json-glib)
6167 ("libsecret" ,libsecret)
6168 ("rest" ,rest)
685cee87
SB
6169 ("webkitgtk" ,webkitgtk)))
6170 (synopsis "Single sign-on framework for GNOME")
6171 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6172 (description
6173 "GNOME Online Accounts provides interfaces so that applications and
6174libraries in GNOME can access the user's online accounts. It has providers for
6175Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6176Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6177 (license license:lgpl2.0+)))
df217748
SB
6178
6179(define-public evolution-data-server
6180 (package
6181 (name "evolution-data-server")
162048be 6182 (version "3.34.2")
df217748
SB
6183 (source (origin
6184 (method url-fetch)
6185 (uri (string-append "mirror://gnome/sources/" name "/"
6186 (version-major+minor version) "/"
6187 name "-" version ".tar.xz"))
43190ac6
MB
6188 (patches (search-patches "evolution-data-server-locales.patch"
6189 "evolution-data-server-libical-compat.patch"))
df217748
SB
6190 (sha256
6191 (base32
162048be 6192 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 6193 (build-system cmake-build-system)
df217748 6194 (arguments
b468eedc
RW
6195 '(#:configure-flags
6196 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6197 (runpaths (map (lambda (s)
6198 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6199 '("addressbook-backends" "calendar-backends"
6200 "camel-providers" "credential-modules"
6201 "registry-modules"))))
6202 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6203 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6204 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6205 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6206 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6207 (string-append lib "/evolution-data-server;")
6208 (string-join runpaths ";"))
6209 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6210 #:phases
6211 (modify-phases %standard-phases
b468eedc
RW
6212 (add-after 'unpack 'disable-failing-tests
6213 (lambda _
6214 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6215 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6216 (delete-file-recursively "tests/book-migration")
6217 (substitute* "tests/CMakeLists.txt"
6218 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 6219 #t))
743aebd7 6220 (add-after 'unpack 'patch-paths
df217748 6221 (lambda _
b468eedc
RW
6222 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6223 "tests/libedata-book/data-test-utils.c"
6224 "tests/libedata-book/test-book-cache-utils.c"
6225 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6226 (("/bin/rm") (which "rm")))
ac033c7b
MB
6227 #t))
6228 (add-before 'configure 'dont-override-rpath
6229 (lambda _
6230 (substitute* "CMakeLists.txt"
6231 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6232 ;; Remove it so the configure flag is respected.
6233 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6234 #t)))))
df217748
SB
6235 (native-inputs
6236 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6237 ("gobject-introspection" ,gobject-introspection)
6238 ("gperf" ,gperf)
6239 ("intltool" ,intltool)
6240 ("pkg-config" ,pkg-config)
a73c1cf8 6241 ("vala" ,vala)
743aebd7 6242 ("python" ,python-wrapper)))
df217748
SB
6243 (propagated-inputs
6244 ;; These are all in the Requires field of .pc files.
6245 `(("gtk+" ,gtk+)
6246 ("libical" ,libical)
6247 ("libsecret" ,libsecret)
6248 ("libsoup" ,libsoup)
6249 ("nss" ,nss)
6250 ("sqlite" ,sqlite)))
6251 (inputs
6252 `(("bdb" ,bdb)
6253 ("gcr" ,gcr)
14c297fd 6254 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6255 ("json-glib" ,json-glib)
b468eedc 6256 ("libcanberra" ,libcanberra)
743aebd7
MB
6257 ("libgweather" ,libgweather)
6258 ("mit-krb5" ,mit-krb5)
891199c6
MW
6259 ("openldap" ,openldap)
6260 ("webkitgtk" ,webkitgtk)))
df217748
SB
6261 (synopsis "Store address books and calendars")
6262 (home-page "https://wiki.gnome.org/Apps/Evolution")
6263 (description
6264 "This package provides a unified backend for programs that work with
6265contacts, tasks, and calendar information. It was originally developed for
6266Evolution (hence the name), but is now used by other packages as well.")
6267 (license license:lgpl2.0)))
bd7dfafa
SB
6268
6269(define-public caribou
6270 (package
6271 (name "caribou")
fe964bb5 6272 (version "0.4.21")
bd7dfafa
SB
6273 (source (origin
6274 (method url-fetch)
6275 (uri (string-append "mirror://gnome/sources/" name "/"
6276 (version-major+minor version) "/"
6277 name "-" version ".tar.xz"))
6278 (sha256
6279 (base32
fe964bb5 6280 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6281 (build-system glib-or-gtk-build-system)
6282 (arguments
6283 '(#:phases
6284 (modify-phases %standard-phases
6285 (add-before
6286 'build 'pre-build
6287 (lambda* (#:key outputs #:allow-other-keys)
6288 (let ((out (assoc-ref outputs "out")))
6289 ;; Use absolute shared library path in Caribou-1.0.typelib.
6290 (substitute* "libcaribou/Makefile"
6291 (("--shared-library=libcaribou.so")
6292 (string-append "--shared-library="
6293 out "/lib/libcaribou.so")))
6294 #t)))
6295 (add-after 'install 'wrap-programs
6296 (lambda* (#:key outputs #:allow-other-keys)
6297 (let* ((out (assoc-ref outputs "out"))
6298 (python-path (getenv "PYTHONPATH"))
6299 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6300 (for-each
6301 (lambda (prog)
6302 (wrap-program prog
6303 `("PYTHONPATH" ":" prefix (,python-path))
6304 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6305 (list (string-append out "/bin/caribou-preferences")
6306 (string-append out "/libexec/antler-keyboard"))))
6307 #t)))))
6308 (native-inputs
6309 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6310 ("gobject-introspection" ,gobject-introspection)
6311 ("intltool" ,intltool)
6312 ("pkg-config" ,pkg-config)
9f7f5ba2 6313 ("python" ,python)
bd7dfafa
SB
6314 ("vala" ,vala)
6315 ("xsltproc" ,libxslt)))
6316 (propagated-inputs
6317 ;; caribou-1.0.pc refers to all these.
6318 `(("libgee" ,libgee)
6319 ("libxklavier" ,libxklavier)
6320 ("libxtst" ,libxtst)
6321 ("gtk+" ,gtk+)))
6322 (inputs
6323 `(("clutter" ,clutter)
6324 ("dconf" ,dconf)
6325 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6326 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6327 (synopsis "Text entry and UI navigation application")
6328 (home-page "https://wiki.gnome.org/Projects/Caribou")
6329 (description
6330 "Caribou is an input assistive technology intended for switch and pointer
6331users.")
6332 (license license:lgpl2.1)))
ba5dd105 6333
ba5dd105
SB
6334(define-public network-manager
6335 (package
6336 (name "network-manager")
6425d87a 6337 (version "1.18.4")
ba5dd105
SB
6338 (source (origin
6339 (method url-fetch)
6340 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6341 (version-major+minor version) "/"
6342 "NetworkManager-" version ".tar.xz"))
9d3b6a5d 6343 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6344 (sha256
6345 (base32
6425d87a 6346 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6347 (modules '((guix build utils)))
fd070f35 6348 (snippet
02710a9b
RW
6349 '(begin
6350 (substitute* "src/devices/wwan/nm-modem-manager.c"
6351 (("systemd") "elogind"))
6352 #t))))
ba5dd105
SB
6353 (build-system gnu-build-system)
6354 (outputs '("out"
6355 "doc")) ; 8 MiB of gtk-doc HTML
6356 (arguments
6357 '(#:configure-flags
6358 (let ((out (assoc-ref %outputs "out"))
6359 (doc (assoc-ref %outputs "doc"))
6360 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6361 "/sbin/dhclient")))
02710a9b
RW
6362 (list "--with-libnm-glib" ; needed by network-manager-applet
6363 "--with-systemd-journal=no"
6364 "--with-session-tracking=elogind"
6365 "--with-suspend-resume=elogind"
fd070f35
CM
6366 "--with-consolekit=no"
6367 "--with-crypto=gnutls"
ba5dd105
SB
6368 "--disable-config-plugin-ibft"
6369 "--sysconfdir=/etc"
6370 "--localstatedir=/var"
6371 (string-append "--with-udev-dir="
6372 out "/lib/udev")
6373 (string-append "--with-dbus-sys-dir="
6374 out "/etc/dbus-1/system.d")
6375 (string-append "--with-html-dir="
6376 doc "/share/gtk-doc/html")
6377 (string-append "--with-dhclient=" dhclient)))
6378 #:phases
6379 (modify-phases %standard-phases
02710a9b
RW
6380 ;; This bare "ls" invocation breaks some tests.
6381 (add-after 'unpack 'patch-ls-invocation
6382 (lambda _
6383 (substitute* "build-aux/ltmain.sh"
6384 (("`ls -")
6385 (string-append "`" (which "ls") " -")))
6386 #t))
b4f59d87
AW
6387 (add-before 'configure 'pre-configure
6388 (lambda _
6389 ;; These tests try to test aspects of network-manager's
6390 ;; functionality within restricted containers, but they don't
6391 ;; cope with being already in the Guix build jail as that jail
6392 ;; lacks some features that they would like to proxy over (like
6393 ;; a /sys mount).
d04687dc
HG
6394 (substitute* '("Makefile.in")
6395 (("src/platform/tests/test-address-linux") " ")
6396 (("src/platform/tests/test-cleanup-linux") " ")
6397 (("src/platform/tests/test-link-linux") " ")
6398 (("src/platform/tests/test-route-linux") " ")
02710a9b 6399 (("src/devices/tests/test-acd") "")
d04687dc
HG
6400 (("src/devices/tests/test-arping") " ")
6401 (("src/devices/tests/test-lldp") " ")
6402 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6403 #t))
45f80fce
RW
6404 (add-after 'unpack 'delete-failing-tests
6405 (lambda _
02710a9b 6406 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6407 ;; ERROR:libnm-core/tests/test-general.c:5842:
6408 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6409 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6410 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6411 ;; ERROR:libnm-core/tests/test-setting.c:907:
6412 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6413 (substitute* "Makefile.in"
6414 (("libnm-core/tests/test-general") " ")
6415 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6416 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6417 #t))
ba5dd105
SB
6418 (add-before 'check 'pre-check
6419 (lambda _
6420 ;; For the missing /etc/machine-id.
6421 (setenv "DBUS_FATAL_WARNINGS" "0")
bf252286
MB
6422
6423 ;; XXX: Regenerate some of the tests that are dependent on Python version.
6424 ;; Try removing this variable for newer versions of NetworkManager.
6425 (setenv "NM_TEST_REGENERATE" "1")
ba5dd105
SB
6426 #t))
6427 (replace 'install
6428 (lambda _
45f80fce
RW
6429 (invoke "make"
6430 "sysconfdir=/tmp"
6431 "rundir=/tmp"
6432 "statedir=/tmp"
6433 "nmstatedir=/tmp/nm"
6434 "install")
6435 #t)))))
b93502d6
DC
6436 (propagated-inputs
6437 `(("glib" ,glib)))
ba5dd105
SB
6438 (native-inputs
6439 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6440 ("gobject-introspection" ,gobject-introspection)
d04687dc 6441 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6442 ("intltool" ,intltool)
d04687dc
HG
6443 ("libxslt" ,libxslt)
6444 ("libxml2" ,libxml2)
ba5dd105
SB
6445 ("pkg-config" ,pkg-config)
6446 ;; For testing.
6447 ("python" ,python-wrapper)
6448 ("python-dbus" ,python-dbus)
6449 ("python-pygobject" ,python-pygobject)))
6450 (inputs
02710a9b
RW
6451 `(("coreutils" ,coreutils) ; for ls
6452 ("curl" ,curl)
856ca567
KK
6453 ("cyrus-sasl" ,cyrus-sasl)
6454 ("dbus-glib" ,dbus-glib)
ba5dd105 6455 ("dnsmasq" ,dnsmasq)
856ca567 6456 ("eudev" ,eudev)
ba5dd105
SB
6457 ("gnutls" ,gnutls)
6458 ("iptables" ,iptables)
6459 ("isc-dhcp" ,isc-dhcp)
d04687dc 6460 ("jansson" ,jansson)
ba5dd105
SB
6461 ("libgcrypt" ,libgcrypt)
6462 ("libgudev" ,libgudev)
6463 ("libndp" ,libndp)
6464 ("libnl" ,libnl)
6465 ("libsoup" ,libsoup)
142bdcbc 6466 ("modem-manager" ,modem-manager)
c27e02bf 6467 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6468 ("polkit" ,polkit)
6469 ("ppp" ,ppp)
6470 ("readline" ,readline)
fd070f35
CM
6471 ("util-linux" ,util-linux)
6472 ("elogind" ,elogind)))
ba5dd105 6473 (synopsis "Network connection manager")
f032d0be 6474 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6475 (description
6476 "NetworkManager is a system network service that manages your network
6477devices and connections, attempting to keep active network connectivity when
6478available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6479devices, and provides VPN integration with a variety of different VPN
6480services.")
29d2f451
LC
6481 (license license:gpl2+)
6482 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6483
f2b96b3a
LC
6484(define-public network-manager-openvpn
6485 (package
6486 (name "network-manager-openvpn")
be1c4b07 6487 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6488 (version "1.8.10")
f2b96b3a
LC
6489 (source (origin
6490 (method url-fetch)
6491 (uri (string-append
6492 "mirror://gnome/sources/NetworkManager-openvpn/"
6493 (version-major+minor version)
6494 "/NetworkManager-openvpn-" version ".tar.xz"))
6495 (sha256
6496 (base32
7d87eede 6497 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6498 (build-system gnu-build-system)
6499 (arguments
633422b0
JL
6500 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6501 #:phases
6502 (modify-phases %standard-phases
6503 (add-after 'configure 'patch-path
6504 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6505 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6506 "/sbin/openvpn"))
6507 (modprobe (string-append (assoc-ref inputs "kmod")
6508 "/bin/modprobe"))
6509 (pretty-ovpn (string-append "\"" ovpn "\"")))
6510 (for-each
6511 (lambda (file)
6512 (substitute* file
6513 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6514 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6515 (("\"/sbin/openvpn\"") pretty-ovpn)
6516 (("/sbin/modprobe") modprobe)))
6517 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6518 #t)))))
f2b96b3a
LC
6519 (native-inputs
6520 `(("pkg-config" ,pkg-config)
6521 ("intltool" ,intltool)))
6522 (inputs
6523 `(("gtk+" ,gtk+)
633422b0 6524 ("kmod" ,kmod)
f2b96b3a
LC
6525 ("openvpn" ,openvpn)
6526 ("network-manager" ,network-manager)
6527 ("network-manager-applet" ,network-manager-applet) ;for libnma
6528 ("libsecret" ,libsecret)))
6529 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6530 (synopsis "OpenVPN plug-in for NetworkManager")
6531 (description
6532 "This extension of NetworkManager allows it to take care of connections
6533to virtual private networks (VPNs) via OpenVPN.")
6534 (license license:gpl2+)
6535 (properties `((upstream-name . "NetworkManager-openvpn")))))
6536
d376129f
JL
6537(define-public network-manager-vpnc
6538 (package
6539 (name "network-manager-vpnc")
6540 (version "1.2.6")
6541 (source (origin
6542 (method url-fetch)
6543 (uri (string-append
6544 "mirror://gnome/sources/NetworkManager-vpnc/"
6545 (version-major+minor version)
6546 "/NetworkManager-vpnc-" version ".tar.xz"))
6547 (sha256
6548 (base32
6549 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6550 (build-system gnu-build-system)
6551 (arguments
6552 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6553 #:phases
6554 (modify-phases %standard-phases
6555 (add-after 'configure 'patch-path
6556 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6557 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6558 "/sbin/vpnc"))
6559 (modprobe (string-append (assoc-ref inputs "kmod")
6560 "/bin/modprobe"))
6561 (pretty-ovpn (string-append "\"" vpnc "\"")))
6562 (substitute* "src/nm-vpnc-service.c"
6563 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6564 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6565 (("\"/sbin/vpnc\"") pretty-ovpn)
6566 (("/sbin/modprobe") modprobe)))
6567 #t)))))
6568 (native-inputs
6569 `(("pkg-config" ,pkg-config)
6570 ("intltool" ,intltool)))
6571 (inputs
6572 `(("gtk+" ,gtk+)
6573 ("kmod" ,kmod)
6574 ("vpnc" ,vpnc)
6575 ("network-manager" ,network-manager)
6576 ("network-manager-applet" ,network-manager-applet) ;for libnma
6577 ("libsecret" ,libsecret)))
6578 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6579 (synopsis "VPNC plug-in for NetworkManager")
6580 (description
6581 "Support for configuring virtual private networks based on VPNC.
6582Compatible with Cisco VPN concentrators configured to use IPsec.")
6583 (license license:gpl2+)
6584 (properties `((upstream-name . "NetworkManager-vpnc")))))
6585
8378c87a
EF
6586(define-public network-manager-openconnect
6587 (package
6588 (name "network-manager-openconnect")
6589 (version "1.2.6")
6590 (source (origin
6591 (method url-fetch)
6592 (uri (string-append
6593 "mirror://gnome/sources/NetworkManager-openconnect/"
6594 (version-major+minor version)
6595 "/NetworkManager-openconnect-" version ".tar.xz"))
6596 (sha256
6597 (base32
6598 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6599 (build-system gnu-build-system)
6600 (arguments
6601 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6602 #:phases
6603 (modify-phases %standard-phases
6604 (add-after 'configure 'patch-path
6605 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6606 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6607 "/sbin/openconnect"))
6608 (modprobe (string-append (assoc-ref inputs "kmod")
6609 "/bin/modprobe"))
6610 (pretty-ovpn (string-append "\"" openconnect "\"")))
6611 (substitute* "src/nm-openconnect-service.c"
6612 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6613 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6614 (("/sbin/modprobe") modprobe)))
6615 #t)))))
6616 (native-inputs
6617 `(("intltool" ,intltool)
6618 ("network-manager-applet" ,network-manager-applet) ;for libnma
6619 ("pkg-config" ,pkg-config)))
6620 (inputs
6621 `(("gcr" ,gcr)
6622 ("gtk+" ,gtk+)
6623 ("kmod" ,kmod)
6624 ("libsecret" ,libsecret)
6625 ("libxml2" ,libxml2)
b4fe5dab 6626 ("lz4" ,lz4)
8378c87a
EF
6627 ("network-manager" ,network-manager)
6628 ("openconnect" ,openconnect)))
6629 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6630 (synopsis "OpenConnect plug-in for NetworkManager")
6631 (description
6632 "This extension of NetworkManager allows it to take care of connections
6633to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6634Cisco's AnyConnect SSL VPN.")
6635 (license license:gpl2+)
e52b9534
LC
6636 (properties `((upstream-name . "NetworkManager-openconnect")
6637
6638 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6639 ;; file refers to account "nm-openconnect". Specify it here
6640 ;; so that 'network-manager-service-type' creates it.
6641 (user-accounts . ("nm-openconnect"))))))
8378c87a 6642
e5e1df4d
DC
6643(define-public mobile-broadband-provider-info
6644 (package
6645 (name "mobile-broadband-provider-info")
310c89e3 6646 (version "20190116")
e5e1df4d
DC
6647 (source (origin
6648 (method url-fetch)
6649 (uri (string-append
6650 "mirror://gnome/sources/"
6651 "mobile-broadband-provider-info/" version "/"
6652 "mobile-broadband-provider-info-" version ".tar.xz"))
6653 (sha256
6654 (base32
310c89e3 6655 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6656 (build-system gnu-build-system)
6657 (arguments
310c89e3 6658 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6659 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6660 (synopsis "Database of broadband connection configuration")
6661 (description "Database of broadband connection configuration.")
6662 (license license:public-domain)))
6663
4d62a9d3
SB
6664(define-public network-manager-applet
6665 (package
6666 (name "network-manager-applet")
8fc3a337 6667 (version "1.8.24")
4d62a9d3
SB
6668 (source (origin
6669 (method url-fetch)
3df63444 6670 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6671 (version-major+minor version) "/"
3df63444 6672 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6673 (sha256
6674 (base32
8fc3a337 6675 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6676 (build-system meson-build-system)
6677 (arguments
be1c4b07
TGR
6678 '(#:configure-flags
6679 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6680 (list "-Dlibnm_gtk=true")
6681 #:glib-or-gtk? #t))
4d62a9d3
SB
6682 (native-inputs
6683 `(("intltool" ,intltool)
cd7f718e 6684 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6685 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6686 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6687 ("pkg-config" ,pkg-config)))
6688 (propagated-inputs
6689 ;; libnm-gtk.pc refers to all these.
6690 `(("dbus-glib" ,dbus-glib)
6691 ("gtk+" ,gtk+)
6692 ("network-manager" ,network-manager)))
6693 (inputs
cd7f718e
RW
6694 `(("gcr" ,gcr)
6695 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6696 ("libgudev" ,libgudev)
6697 ("libnotify" ,libnotify)
2116bfb3 6698 ("libsecret" ,libsecret)
240cee8a
KK
6699 ("libselinux" ,libselinux)
6700 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6701 ("modem-manager" ,modem-manager)
6702 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6703 (synopsis "Applet for managing network connections")
f032d0be 6704 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6705 (description
6706 "This package contains a systray applet for NetworkManager. It displays
6707the available networks and allows users to easily switch between them.")
6708 (license license:gpl2+)))
56196594
RW
6709
6710(define-public libxml++
6711 (package
6712 (name "libxml++")
8344a85e 6713 (version "3.0.1")
56196594
RW
6714 (source (origin
6715 (method url-fetch)
6716 (uri (string-append "mirror://gnome/sources/" name "/"
6717 (version-major+minor version) "/"
6718 name "-" version ".tar.xz"))
6719 (sha256
6720 (base32
8344a85e 6721 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6722 (build-system gnu-build-system)
6723 ;; libxml++-3.0.pc refers to all these.
6724 (propagated-inputs
6725 `(("libxml2" ,libxml2)
6726 ("glibmm" ,glibmm)))
6727 (native-inputs
6728 `(("perl" ,perl)
6729 ("pkg-config" ,pkg-config)))
6730 (home-page "http://libxmlplusplus.sourceforge.net/")
6731 (synopsis "C++ wrapper for XML parser library libxml2")
6732 (description
6733 "This package provides a C++ wrapper for the XML parser library
6734libxml2.")
6735 (license license:lgpl2.1+)))
df12f04a 6736
b61d9627
AW
6737(define-public libxml++-2
6738 (package
6739 (inherit libxml++)
6740 (name "libxml++")
6741 (version "2.40.1")
6742 (source (origin
6743 (method url-fetch)
6744 (uri (string-append "mirror://gnome/sources/" name "/"
6745 (version-major+minor version) "/"
6746 name "-" version ".tar.xz"))
6747 (sha256
6748 (base32
6749 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6750
df12f04a
SB
6751(define-public gdm
6752 (package
6753 (name "gdm")
0fda99c5 6754 (version "3.34.1")
df12f04a
SB
6755 (source (origin
6756 (method url-fetch)
6757 (uri (string-append "mirror://gnome/sources/" name "/"
6758 (version-major+minor version) "/"
6759 name "-" version ".tar.xz"))
6760 (sha256
6761 (base32
0fda99c5 6762 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 6763 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 6764 (build-system glib-or-gtk-build-system)
df12f04a
SB
6765 (arguments
6766 '(#:configure-flags
af37e6bb 6767 `("--without-plymouth"
957dbc0a 6768 "--disable-systemd-journal"
51bc8357
TS
6769
6770 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6771 ;; instead of having to replace it (i.e., stopping the mingetty
6772 ;; service for TTY 1 before starting GDM).
6773 "--with-initial-vt=7"
6774
89c86562
TS
6775 ;; Use '/etc/environment' for locale settings instead of the
6776 ;; systemd-specific '/etc/locale.conf'.
6777 "--with-lang-file=/etc/environment"
6778
b74ef0ba
RW
6779 ,(string-append "--with-udevdir="
6780 (assoc-ref %outputs "out") "/lib/udev")
6781
af37e6bb
AW
6782 "--localstatedir=/var"
6783 ,(string-append "--with-default-path="
6784 (string-join '("/run/setuid-programs"
6785 "/run/current-system/profile/bin"
6786 "/run/current-system/profile/sbin")
957dbc0a
AW
6787 ":"))
6788 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6789 ;; XDG_DATA_DIRS so that it finds its schemas.
6790 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6791 #:phases
6792 (modify-phases %standard-phases
6793 (add-before
6794 'configure 'pre-configure
e8c6e771 6795 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6796 ;; We don't have <systemd/sd-daemon.h>.
6797 (substitute* '("common/gdm-log.c"
6798 "daemon/gdm-server.c"
6799 "daemon/gdm-session-worker.c"
6800 "daemon/gdm-session-worker-job.c")
6801 (("#include <systemd/sd-daemon\\.h>") ""))
6802 ;; Use elogind for sd-login.
6803 (substitute* '("common/gdm-common.c"
0fda99c5 6804 "daemon/gdm-local-display-factory.c"
df12f04a
SB
6805 "daemon/gdm-manager.c"
6806 "libgdm/gdm-user-switching.c")
6807 (("#include <systemd/sd-login\\.h>")
6808 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6809 ;; Check for elogind.
6810 (substitute* '("configure")
6811 (("libsystemd")
6812 "libelogind"))
af37e6bb
AW
6813 ;; Look for system-installed sessions in
6814 ;; /run/current-system/profile/share.
6815 (substitute* '("libgdm/gdm-sessions.c"
6816 "daemon/gdm-session.c"
6817 "daemon/gdm-display.c"
6818 "daemon/gdm-launch-environment.c")
6819 (("DATADIR \"/x")
6820 "\"/run/current-system/profile/share/x")
6821 (("DATADIR \"/wayland")
6822 "\"/run/current-system/profile/share/wayland")
6823 (("DATADIR \"/gnome")
6824 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6825 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6826 "GDM_DBUS_DAEMON"
c9ff92b5 6827 "GDM_X_SERVER"
41fa9f18 6828 "GDM_X_SESSION"
c9ff92b5
TS
6829 ;; XXX: Remove this once GNOME Shell is
6830 ;; a dependency of GDM.
6831 "XDG_DATA_DIRS")))
6832 (substitute* "daemon/gdm-session.c"
6833 (("set_up_session_environment \\(self\\);")
6834 (apply string-append
6835 "set_up_session_environment (self);\n"
6836 (map (lambda (name)
6837 (string-append
6838 "gdm_session_set_environment_variable "
6839 "(self, \"" name "\","
6840 "g_getenv (\"" name "\"));\n"))
6841 propagate)))))
a430a350
TS
6842 ;; Find the configuration file using an environment variable.
6843 (substitute* '("common/gdm-settings.c")
e0e6756f 6844 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6845 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6846 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6847 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6848 ;; Use service-supplied path to X.
6849 (substitute* '("daemon/gdm-server.c")
6850 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6851 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
6852 (substitute* '("daemon/gdm-wayland-session.c"
6853 "daemon/gdm-x-session.c")
1f564c15
TS
6854 (("\"dbus-daemon\"")
6855 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6856 (("X_SERVER")
41fa9f18
TS
6857 "g_getenv (\"GDM_X_SERVER\")")
6858 (("GDMCONFDIR \"/Xsession\"")
6859 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6860 ;; Use an absolute path for GNOME Session.
6861 (substitute* "daemon/gdm-launch-environment.c"
6862 (("\"gnome-session\"")
6863 (string-append "\"" (assoc-ref inputs "gnome-session")
6864 "/bin/gnome-session\"")))
e8c6e771
TS
6865 ;; Do not automatically select the placeholder session.
6866 (substitute* "daemon/gdm-session.c"
6867 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6868 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6869 "(g_strcmp0(search_dirs[i], \""
6870 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6871 "\") == 0 && "
6872 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6873 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6874 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6875 #t))
8caa4589
TS
6876 ;; GDM requires that there be at least one desktop entry
6877 ;; file. This phase installs a hidden one that simply
6878 ;; fails. This enables users to use GDM with a
6879 ;; '~/.xsession' script with no other desktop entry files.
6880 ;; See <https://bugs.gnu.org/35068>.
6881 (add-after 'install 'install-placeholder-desktop-entry
6882 (lambda* (#:key inputs outputs #:allow-other-keys)
6883 (let* ((out (assoc-ref outputs "out"))
6884 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6885 (fail (string-append sessions "/fail.desktop")))
6886 (mkdir-p sessions)
6887 (with-output-to-file fail
6888 (lambda ()
6889 (for-each
6890 display
6891 '("[Desktop Entry]\n"
6892 "Encoding=UTF-8\n"
6893 "Type=Application\n"
6894 "Name=Fail\n"
6895 "Comment=This session fails immediately.\n"
6896 "NoDisplay=true\n"
6897 "Exec=false\n"))))
6898 #t)))
69544798
TS
6899 ;; GDM needs GNOME Session to run these applications. We link
6900 ;; their autostart files in `share/gdm/greeter/autostart'
6901 ;; because GDM explicitly tells GNOME Session to look there.
6902 ;;
6903 ;; XXX: GNOME Shell should be linked here too, but currently
6904 ;; GNOME Shell depends on GDM.
6905 (add-after 'install 'link-autostart-files
6906 (lambda* (#:key inputs outputs #:allow-other-keys)
6907 (let* ((out (assoc-ref outputs "out"))
6908 (autostart (string-append out "/share/gdm/"
6909 "greeter/autostart"))
6910 (settings (assoc-ref inputs "gnome-settings-daemon")))
6911 (mkdir-p autostart)
6912 (with-directory-excursion autostart
6913 (for-each (lambda (desktop)
6914 (symlink desktop (basename desktop)))
6915 (find-files (string-append settings "/etc/xdg"))))
6916 #t))))))
df12f04a
SB
6917 (native-inputs
6918 `(("dconf" ,dconf)
6919 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6920 ("gobject-introspection" ,gobject-introspection)
6921 ("intltool" ,intltool)
6922 ("itstool" ,itstool)
6923 ("pkg-config" ,pkg-config)
6924 ("xmllint" ,libxml2)))
6925 (inputs
6926 `(("accountsservice" ,accountsservice)
6927 ("check" ,check) ; for testing
6928 ("elogind" ,elogind)
def6d6b6 6929 ("gnome-session" ,gnome-session)
69544798 6930 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6931 ("gtk+" ,gtk+)
6932 ("iso-codes" ,iso-codes)
6933 ("libcanberra" ,libcanberra)
6934 ("linux-pam" ,linux-pam)))
6935 (synopsis "Display manager for GNOME")
f032d0be 6936 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6937 (description
6938 "GNOME Display Manager is a system service that is responsible for
6939providing graphical log-ins and managing local and remote displays.")
6940 (license license:gpl2+)))
8e1dd04f
SB
6941
6942(define-public libgtop
6943 (package
6944 (name "libgtop")
015fc036 6945 (version "2.40.0")
8e1dd04f
SB
6946 (source (origin
6947 (method url-fetch)
59487fc2 6948 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6949 (version-major+minor version) "/"
59487fc2 6950 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6951 (sha256
6952 (base32
015fc036 6953 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6954 (build-system gnu-build-system)
6955 (native-inputs
6956 `(("gobject-introspection" ,gobject-introspection)
6957 ("intltool" ,intltool)
6958 ("perl" ,perl)
6959 ("pkg-config" ,pkg-config)))
6960 (propagated-inputs
6961 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6962 (synopsis "Portable system access library")
6963 (home-page "https://www.gnome.org/")
6964 (description
6965 "LibGTop is a library to get system specific data such as CPU and memory
6966usage and information about running processes.")
6967 (license license:gpl2+)))
b96c4260
SB
6968
6969(define-public gnome-bluetooth
6970 (package
6971 (name "gnome-bluetooth")
e8f4bf6b 6972 (version "3.34.0")
b96c4260
SB
6973 (source (origin
6974 (method url-fetch)
6975 (uri (string-append "mirror://gnome/sources/" name "/"
6976 (version-major+minor version) "/"
6977 name "-" version ".tar.xz"))
6978 (sha256
6979 (base32
e8f4bf6b 6980 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 6981 (build-system meson-build-system)
b96c4260
SB
6982 (native-inputs
6983 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6984 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6985 ("gobject-introspection" ,gobject-introspection)
6986 ("intltool" ,intltool)
6987 ("pkg-config" ,pkg-config)
6988 ("xmllint" ,libxml2)))
6989 (propagated-inputs
6990 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6991 `(("glib" ,glib)
6992 ("gtk+" ,gtk+)))
b96c4260 6993 (inputs
723afae6
KK
6994 `(("eudev" ,eudev)
6995 ("libcanberra" ,libcanberra)
b96c4260
SB
6996 ("libnotify" ,libnotify)))
6997 (synopsis "GNOME Bluetooth subsystem")
6998 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6999 (description
7000 "This package contains tools for managing and manipulating Bluetooth
7001devices using the GNOME desktop.")
7002 (license license:lgpl2.1+)))
b645146f
SB
7003
7004(define-public gnome-control-center
7005 (package
7006 (name "gnome-control-center")
c576328d 7007 (version "3.34.2")
b645146f
SB
7008 (source (origin
7009 (method url-fetch)
7010 (uri (string-append "mirror://gnome/sources/" name "/"
7011 (version-major+minor version) "/"
7012 name "-" version ".tar.xz"))
7013 (sha256
7014 (base32
c576328d 7015 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7016 (build-system meson-build-system)
b645146f 7017 (arguments
59dac026
RW
7018 '(#:glib-or-gtk? #t
7019 #:configure-flags
64c70430
KK
7020 (list "-Dcheese=false"
7021 (string-append "-Dgnome_session_libexecdir="
7022 (assoc-ref %build-inputs "gnome-session")
7023 "/libexec"))
59dac026 7024 #:phases
b645146f
SB
7025 (modify-phases %standard-phases
7026 (add-before 'configure 'patch-paths
7027 (lambda* (#:key inputs #:allow-other-keys)
7028 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7029 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7030 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7031 (nm-applet (assoc-ref inputs "network-manager-applet"))
7032 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7033 (substitute* "panels/datetime/tz.h"
7034 (("/usr/share/zoneinfo/zone.tab")
7035 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7036 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7037 (("/usr/share/locale")
7038 (string-append libc "/share/locale")))
1df38cfc
LC
7039 (substitute* "panels/region/cc-region-panel.c"
7040 (("\"gkbd-keyboard-display")
7041 (string-append "\"" libgnomekbd
7042 "/bin/gkbd-keyboard-display")))
341225ac
LC
7043 (substitute* '("panels/network/net-device-wifi.c"
7044 "panels/network/net-device.c"
7045 "panels/network/connection-editor/net-connection-editor.c")
7046 (("\"nm-connection-editor")
7047 (string-append "\"" nm-applet
7048 "/bin/nm-connection-editor")))
1acd107c
FP
7049 (substitute* '("panels/user-accounts/run-passwd.c")
7050 (("/usr/bin/passwd")
7051 "/run/setuid-programs/passwd"))
64c70430
KK
7052 (substitute* "panels/info/cc-info-overview-panel.c"
7053 (("DATADIR \"/gnome/gnome-version.xml\"")
7054 (string-append "\"" gnome-desktop
7055 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7056 #t)))
7057 (add-after 'unpack 'skip-gtk-update-icon-cache
7058 ;; Don't create 'icon-theme.cache'.
7059 (lambda _
7060 (substitute* "build-aux/meson/meson_post_install.py"
7061 (("gtk-update-icon-cache") (which "true")))
7062 #t)))))
b645146f
SB
7063 (native-inputs
7064 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7065 ("intltool" ,intltool)
7066 ("pkg-config" ,pkg-config)
a6938bac
KK
7067 ("xsltproc" ,libxslt)
7068 ;; For tests
7069 ("hicolor-icon-theme" ,hicolor-icon-theme)
7070 ("python-dbusmock" ,python-dbusmock)
7071 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7072 (inputs
7073 `(("accountsservice" ,accountsservice)
7074 ("clutter-gtk" ,clutter-gtk)
7075 ("colord-gtk" ,colord-gtk)
7076 ("cups" ,cups)
7077 ("dconf" ,dconf)
7078 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7079 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7080 ("gnome-bluetooth" ,gnome-bluetooth)
7081 ("gnome-desktop" ,gnome-desktop)
7082 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7083 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7084 ("gnome-session" ,gnome-session)
b645146f
SB
7085 ("gnome-settings-daemon" ,gnome-settings-daemon)
7086 ("grilo" ,grilo)
a6938bac 7087 ("gsound" ,gsound)
b645146f
SB
7088 ("ibus" ,ibus)
7089 ("libcanberra" ,libcanberra)
1df38cfc 7090 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7091 ("libgudev" ,libgudev)
7092 ("libgtop" ,libgtop)
7093 ("libpwquality" ,libpwquality)
982c0b36 7094 ("libsecret" ,libsecret)
b645146f
SB
7095 ("libsoup" ,libsoup)
7096 ("libxml2" ,libxml2)
7097 ("libwacom" ,libwacom)
7098 ("mesa" ,mesa)
7099 ("mit-krb5" ,mit-krb5)
7100 ("modem-manager" ,modem-manager)
7101 ("network-manager-applet" ,network-manager-applet)
7102 ("polkit" ,polkit)
7103 ("pulseaudio" ,pulseaudio)
7104 ("smbclient" ,samba)
7105 ("tzdata" ,tzdata)
982c0b36 7106 ("udisks" ,udisks)
b645146f
SB
7107 ("upower" ,upower)))
7108 (synopsis "Utilities to configure the GNOME desktop")
7109 (home-page "https://www.gnome.org/")
7110 (description
7111 "This package contains configuration applets for the GNOME desktop,
7112allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7113properties, sound setup, desktop theme and background, user interface
7114properties, screen resolution, and other GNOME parameters.")
7115 (license license:gpl2+)))
a4df5756
SB
7116
7117(define-public gnome-shell
7118 (package
7119 (name "gnome-shell")
28457ae6 7120 (version "3.34.2")
a4df5756
SB
7121 (source (origin
7122 (method url-fetch)
7123 (uri (string-append "mirror://gnome/sources/" name "/"
7124 (version-major+minor version) "/"
7125 name "-" version ".tar.xz"))
7126 (sha256
7127 (base32
28457ae6
KK
7128 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
7129 (patches (search-patches "gnome-shell-theme.patch"
7130 "gnome-shell-disable-test.patch"))
a76d0f03
LC
7131 (modules '((guix build utils)))
7132 (snippet
7133 #~(begin
a76d0f03
LC
7134 ;; Copy images for use on the GDM log-in screen.
7135 (copy-file #$(file-append %artwork-repository
7136 "/slim/0.x/background.png")
7137 "data/theme/guix-background.png")
45fef894
LC
7138 (copy-file #$(file-append %artwork-repository
7139 "/logo/Guix-horizontal-white.svg")
7140 "data/theme/guix-logo.svg")
a76d0f03 7141 #t))))
2b0c755d 7142 (build-system meson-build-system)
a4df5756 7143 (arguments
08185081
MB
7144 `(#:glib-or-gtk? #t
7145 #:disallowed-references ((,glib "bin")
11e1df56
LC
7146 ,inkscape ,libxslt
7147 ,ruby-sass)
2b0c755d
RW
7148 #:configure-flags
7149 (list "-Dsystemd=false"
7150 ;; Otherwise, the RUNPATH will lack the final path component.
7151 (string-append "-Dc_link_args=-Wl,-rpath="
7152 (assoc-ref %outputs "out")
7153 "/lib/gnome-shell"))
11e1df56 7154
08185081 7155 #:modules ((guix build meson-build-system)
11e1df56
LC
7156 (guix build utils)
7157 (srfi srfi-1))
7158
2b0c755d 7159 #:phases
a4df5756 7160 (modify-phases %standard-phases
2b0c755d 7161 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7162 (lambda* (#:key outputs #:allow-other-keys)
7163 (let* ((out (assoc-ref outputs "out"))
7164 (keysdir (string-append
7165 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7166 (substitute* "meson.build"
7167 (("keysdir =.*")
7168 (string-append "keysdir = '" keysdir "'\n")))
7169 #t)))
ebfe259f
MB
7170 (add-before 'configure 'convert-logo-to-png
7171 (lambda* (#:key inputs #:allow-other-keys)
7172 ;; Convert the logo from SVG to PNG.
7173 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7174 "data/theme/guix-logo.svg")))
ba00235a 7175 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7176 (lambda* (#:key inputs #:allow-other-keys)
7177 (substitute* "js/misc/ibusManager.js"
7178 (("'ibus-daemon'")
7179 (string-append "'" (assoc-ref inputs "ibus")
7180 "/bin/ibus-daemon'")))
d6fda4d3
LC
7181 (substitute* "js/ui/status/keyboard.js"
7182 (("'gkbd-keyboard-display'")
7183 (string-append "'" (assoc-ref inputs "libgnomekbd")
7184 "/bin/gkbd-keyboard-display'")))
2472cdec 7185 #t))
2b0c755d
RW
7186 (add-before 'check 'pre-check
7187 (lambda* (#:key inputs #:allow-other-keys)
7188 ;; Tests require a running X server.
7189 (system "Xvfb :1 &")
7190 (setenv "DISPLAY" ":1")
7191 #t))
7192 (add-after 'install 'wrap-programs
7193 (lambda* (#:key inputs outputs #:allow-other-keys)
7194 (let ((out (assoc-ref outputs "out"))
7195 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7196 (python-path (getenv "PYTHONPATH")))
7197 (wrap-program (string-append out "/bin/gnome-shell")
7198 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7199 ;; FIXME: gnome-shell loads these libraries with unqualified
7200 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7201 ;; alternative might be to patch gnome-shell.
7202 `("LD_LIBRARY_PATH" ":" prefix
7203 ,(map (lambda (pkg)
7204 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7205 '("gdk-pixbuf"
7206 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7207 (for-each
7208 (lambda (prog)
7209 (wrap-program (string-append out "/bin/" prog)
7210 `("PYTHONPATH" ":" prefix (,python-path))
7211 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7212 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7213 #t)))
11e1df56
LC
7214 (replace 'glib-or-gtk-wrap
7215 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7216 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7217 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7218 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7219 ;; phase. Fix that since we don't need these.
7220 (wrap #:inputs (fold alist-delete inputs
7221 '("inkscape" "intltool" "glib:bin"))
7222 #:outputs outputs)))))))
a4df5756 7223 (native-inputs
28457ae6
KK
7224 `(("asciidoc" ,asciidoc)
7225 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7226 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7227 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7228 ("inkscape" ,inkscape)
a4df5756
SB
7229 ("intltool" ,intltool)
7230 ("pkg-config" ,pkg-config)
7231 ("python" ,python)
2b0c755d
RW
7232 ("ruby-sass" ,ruby-sass)
7233 ("sassc" ,sassc)
a76d0f03 7234 ("xsltproc" ,libxslt)
2b0c755d 7235 ;; For tests
0b4504f6 7236 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7237 (inputs
7238 `(("accountsservice" ,accountsservice)
7239 ("caribou" ,caribou)
7240 ("docbook-xsl" ,docbook-xsl)
7241 ("evolution-data-server" ,evolution-data-server)
7242 ("gcr" ,gcr)
7243 ("gdm" ,gdm)
c5db31d4 7244 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 7245 ("gjs" ,gjs)
28457ae6 7246 ("gnome-autoar" ,gnome-autoar)
a4df5756 7247 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7248 ("gnome-desktop" ,gnome-desktop)
7249 ("gnome-settings-daemon" ,gnome-settings-daemon)
7250 ("gst-plugins-base" ,gst-plugins-base)
7251 ("ibus" ,ibus)
7252 ("libcanberra" ,libcanberra)
7253 ("libcroco" ,libcroco)
d6fda4d3 7254 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7255 ("libgweather" ,libgweather)
7256 ("libsoup" ,libsoup)
7257 ("mesa-headers" ,mesa-headers)
7258 ("mutter" ,mutter)
7259 ("network-manager-applet" ,network-manager-applet)
7260 ("polkit" ,polkit)
7261 ("pulseaudio" ,pulseaudio)
7262 ("python-pygobject" ,python-pygobject)
7263 ("startup-notification" ,startup-notification)
7264 ("telepathy-logger" ,telepathy-logger)
7265 ("upower" ,upower)
30e760f0
MB
7266 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7267 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7268 ("librsvg" ,librsvg)
2b0c755d 7269 ("geoclue" ,geoclue)))
a4df5756
SB
7270 (synopsis "Desktop shell for GNOME")
7271 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7272 (description
7273 "GNOME Shell provides core user interface functions for the GNOME desktop,
7274like switching to windows and launching applications.")
7275 (license license:gpl2+)))
c3f29bc9
RS
7276
7277(define-public gtk-vnc
7278 (package
7279 (name "gtk-vnc")
965ff023 7280 (version "0.9.0")
c3f29bc9
RS
7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append "mirror://gnome/sources/" name "/"
7285 (version-major+minor version) "/"
7286 name "-" version ".tar.xz"))
7287 (sha256
7288 (base32
965ff023 7289 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7290 (build-system gnu-build-system)
7291 (arguments
7292 '(#:configure-flags '("--with-gtk=3.0")))
7293 (propagated-inputs
7294 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7295 (inputs
7296 `(("cyrus-sasl" ,cyrus-sasl)
7297 ("gnutls" ,gnutls)
7298 ("libgcrypt" ,libgcrypt)
7299 ("pulseaudio" ,pulseaudio)))
7300 (native-inputs
7301 `(("glib:bin" ,glib "bin")
7302 ("gobject-introspection" ,gobject-introspection)
7303 ("intltool" ,intltool)
7304 ("pkg-config" ,pkg-config)
2f17e939 7305 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7306 ("vala" ,vala)))
7307 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7308 (synopsis "VNC viewer widget for GTK+")
7309 (description
7310 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7311applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7312GTK-VNC implements client side RFB protocol and authentication extensions such
7313as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7314 (license license:lgpl2.1+)))
8b877545 7315
dc69fe18
MW
7316(define-public gnome-autoar
7317 (package
7318 (name "gnome-autoar")
17969940 7319 (version "0.2.4")
dc69fe18
MW
7320 (source (origin
7321 (method url-fetch)
7322 (uri (string-append "mirror://gnome/sources/" name "/"
7323 (version-major+minor version) "/"
7324 name "-" version ".tar.xz"))
7325 (sha256
7326 (base32
17969940 7327 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
7328 (build-system glib-or-gtk-build-system)
7329 (native-inputs
17969940 7330 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
7331 ("pkg-config" ,pkg-config)))
7332 (propagated-inputs
17969940 7333 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 7334 (inputs
0a6e9e13 7335 `(("gtk+" ,gtk+)))
dc69fe18
MW
7336 (synopsis "Archives integration support for GNOME")
7337 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7338 (description
7339 "GNOME Autoar is a library which makes creating and extracting archives
7340easy, safe, and automatic.")
7341 (license license:lgpl2.1+)))
7342
b64e217f
MW
7343(define-public tracker
7344 (package
7345 (name "tracker")
caaefa40 7346 (version "2.3.4")
b64e217f
MW
7347 (source (origin
7348 (method url-fetch)
b5b0fd23 7349 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7350 (version-major+minor version) "/"
b5b0fd23 7351 "tracker-" version ".tar.xz"))
b64e217f
MW
7352 (sha256
7353 (base32
caaefa40 7354 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7355 (build-system meson-build-system)
c8bdf589 7356 (arguments
5ada561c
KK
7357 `(#:glib-or-gtk? #t
7358 #:configure-flags
7359 ;; Otherwise, the RUNPATH will lack the final path component.
7360 (list (string-append "-Dc_link_args=-Wl,-rpath="
7361 (assoc-ref %outputs "out") "/lib:"
7362 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7363 #:phases
c8bdf589 7364 (modify-phases %standard-phases
c8bdf589
RW
7365 (add-before 'check 'pre-check
7366 (lambda _
63db190a
PN
7367 ;; Some tests expect to write to $HOME.
7368 (setenv "HOME" "/tmp")
c8bdf589 7369 #t)))))
b64e217f 7370 (native-inputs
5ada561c 7371 `(("glib:bin" ,glib "bin")
b64e217f 7372 ("gobject-introspection" ,gobject-introspection)
5ada561c 7373 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7374 ("intltool" ,intltool)
7375 ("pkg-config" ,pkg-config)
7376 ("vala" ,vala)))
7377 (inputs
63db190a 7378 `(("dbus" ,dbus)
44ed6284 7379 ("sqlite" ,sqlite)
b64e217f 7380 ("libxml2" ,libxml2)
63db190a 7381 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7382 ("json-glib" ,json-glib)
63db190a 7383 ("libsoup" ,libsoup)))
b64e217f
MW
7384 (synopsis "Metadata database, indexer and search tool")
7385 (home-page "https://wiki.gnome.org/Projects/Tracker")
7386 (description
63db190a
PN
7387 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7388
7389It is a middleware component aimed at desktop application developers who want
7390their apps to browse and search user content. It's not designed to be used
7391directly by desktop users, but it provides a commandline tool named
7392@command{tracker} for the adventurous.
7393
7394Tracker allows your application to instantly perform full-text searches across
7395all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7396example. This is achieved by indexing the user's home directory in the
7397background.
7398
7399Tracker also allows your application to query and list content that the user
7400has stored. For example, GNOME Music displays all the music files that are
7401found by Tracker. This means that GNOME Music doesn't need to maintain a
7402database of its own.
7403
7404If you need to go beyond simple searches, Tracker is also a linked data
7405endpoint and it understands SPARQL. ")
7406 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7407 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7408 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7409 (license (list license:gpl2+
63db190a
PN
7410 license:bsd-3
7411 license:lgpl2.1+))))
b64e217f 7412
03be9874
KK
7413(define-public tracker-miners
7414 (package
7415 (name "tracker-miners")
de60ac2f 7416 (version "2.3.3")
03be9874
KK
7417 (source (origin
7418 (method url-fetch)
7419 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7420 (version-major+minor version)
7421 "/tracker-miners-" version ".tar.xz"))
7422 (sha256
7423 (base32
de60ac2f 7424 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7425 (build-system meson-build-system)
7426 (arguments
7427 `(#:glib-or-gtk? #t
7428 #:configure-flags
7429 (list "-Dminer_rss=false" ; libgrss is required.
7430 ;; Ensure the RUNPATH contains all installed library locations.
7431 (string-append "-Dc_link_args=-Wl,-rpath="
7432 (assoc-ref %outputs "out")
7433 "/lib/tracker-miners-2.0")
7434 ;; TODO: Enable functional tests. Currently, the following error
7435 ;; appears:
7436 ;; Exception: The functional tests require DConf to be the default
7437 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7438 "-Dfunctional_tests=false")))
7439 (native-inputs
7440 `(("dbus" ,dbus)
7441 ("intltool" ,intltool)
7442 ("glib:bin" ,glib "bin")
7443 ("gobject-introspection" ,gobject-introspection)
7444 ("pkg-config" ,pkg-config)
7445 ("python-pygobject" ,python-pygobject)))
7446 (inputs
7447 `(("exempi" ,exempi)
7448 ("ffmpeg" ,ffmpeg)
7449 ("flac" ,flac)
7450 ("giflib" ,giflib)
7451 ("glib" ,glib)
7452 ("gstreamer" ,gstreamer)
7453 ("icu4c" ,icu4c)
7454 ("libcue" ,libcue)
7455 ("libexif" ,libexif)
7456 ("libgsf" ,libgsf)
7457 ("libgxps" ,libgxps)
7458 ("libiptcdata" ,libiptcdata)
4bd428a7 7459 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
7460 ("libosinfo" ,libosinfo)
7461 ("libpng" ,libpng)
7462 ("libseccomp" ,libseccomp)
7463 ("libtiff" ,libtiff)
7464 ("libvorbis" ,libvorbis)
7465 ("libxml2" ,libxml2)
7466 ("poppler" ,poppler)
7467 ("taglib" ,taglib)
7468 ("totem-pl-parser" ,totem-pl-parser)
7469 ("tracker" ,tracker)
7470 ("upower" ,upower)
7471 ("zlib" ,zlib)))
b64e217f
MW
7472 (synopsis "Metadata database, indexer and search tool")
7473 (home-page "https://wiki.gnome.org/Projects/Tracker")
7474 (description
7475 "Tracker is an advanced framework for first class objects with associated
7476metadata and tags. It provides a one stop solution for all metadata, tags,
7477shared object databases, search tools and indexing.")
7478 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7479 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7480 (license (list license:gpl2+
7481 license:lgpl2.1+
7482 license:lgpl2.0+))))
7483
8b877545
RS
7484(define-public nautilus
7485 (package
7486 (name "nautilus")
8069ff0b 7487 (version "3.34.2")
8b877545
RS
7488 (source (origin
7489 (method url-fetch)
7490 (uri (string-append "mirror://gnome/sources/" name "/"
7491 (version-major+minor version) "/"
7492 name "-" version ".tar.xz"))
7493 (sha256
7494 (base32
8069ff0b 7495 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 7496 (build-system meson-build-system)
8b877545 7497 (arguments
35e2d0cf 7498 '(#:glib-or-gtk? #t
8069ff0b
KK
7499 #:phases
7500 (modify-phases %standard-phases
7501 (add-after 'unpack 'skip-gtk-update-icon-cache
7502 ;; Don't create 'icon-theme.cache'.
7503 (lambda _
7504 (substitute* "build-aux/meson/postinstall.py"
7505 (("gtk-update-icon-cache") "true"))
7506 #t)))
8b877545
RS
7507 ;; XXX: FAIL: check-nautilus
7508 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7509 #:tests? #f))
7510 (native-inputs
35e2d0cf
R
7511 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7512 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
7513 ("gobject-introspection" ,gobject-introspection)
7514 ("intltool" ,intltool)
7515 ("pkg-config" ,pkg-config)))
8b877545 7516 (inputs
8b877545 7517 `(("dconf" ,dconf)
caf6c363 7518 ("gexiv2" ,gexiv2)
dd05e731 7519 ("gvfs" ,gvfs)
8b877545
RS
7520 ("exempi" ,exempi)
7521 ("gnome-desktop" ,gnome-desktop)
09d88905 7522 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7523 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7524 ("libseccomp" ,libseccomp)
35e2d0cf 7525 ("libselinux" ,libselinux)
09d88905 7526 ("tracker" ,tracker)
3cafb9d4 7527 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7528 ;; XXX: gtk+ is required by libnautilus-extension.pc
7529 ;;
7530 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7531 ;; package. See:
7532 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7533 ("gtk+" ,gtk+)
8b877545
RS
7534 ("libexif" ,libexif)
7535 ("libxml2" ,libxml2)))
7536 (synopsis "File manager for GNOME")
7537 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7538 (description
7539 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7540design and behaviour, giving the user a simple way to navigate and manage its
7541files.")
7542 (license license:gpl2+)))
3c697ffd
JR
7543
7544(define-public baobab
7545 (package
7546 (name "baobab")
e0c5f20c 7547 (version "3.32.0")
3c697ffd
JR
7548 (source (origin
7549 (method url-fetch)
7550 (uri (string-append
7551 "mirror://gnome/sources/" name "/"
7552 (version-major+minor version) "/"
7553 name "-" version ".tar.xz"))
7554 (sha256
7555 (base32
e0c5f20c 7556 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7557 (build-system meson-build-system)
7558 (arguments
7559 '(#:glib-or-gtk? #t))
3c697ffd
JR
7560 (native-inputs
7561 `(("intltool" ,intltool)
7562 ("pkg-config" ,pkg-config)
d233d373
RJ
7563 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7564 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7565 ("itstool" ,itstool)
7566 ("xmllint" ,libxml2)
7567 ("glib" ,glib "bin")
7568 ("vala" ,vala)))
7569 (inputs
7570 `(("gtk+" ,gtk+)))
7571 (synopsis "Disk usage analyzer for GNOME")
7572 (description
7573 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7574usage in the GNOME desktop environment. It can easily scan device volumes or
7575a specific user-requested directory branch (local or remote). Once the scan
7576is complete it provides a graphical representation of each selected folder.")
7577 (home-page "https://wiki.gnome.org/Apps/Baobab")
7578 (license license:gpl2+)))
dc050251 7579
fdba447c
RS
7580(define-public gnome-backgrounds
7581 (package
7582 (name "gnome-backgrounds")
0856b0d9 7583 (version "3.34.0")
fdba447c
RS
7584 (source
7585 (origin
7586 (method url-fetch)
7587 (uri (string-append "mirror://gnome/sources/" name "/"
7588 (version-major+minor version) "/"
7589 name "-" version ".tar.xz"))
7590 (sha256
7591 (base32
0856b0d9 7592 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 7593 (build-system meson-build-system)
fdba447c
RS
7594 (native-inputs
7595 `(("intltool" ,intltool)))
e04e8a8c 7596 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7597 (synopsis "Background images for the GNOME desktop")
7598 (description
7599 "GNOME backgrounds package contains a collection of graphics files which
7600can be used as backgrounds in the GNOME Desktop environment. Additionally,
7601the package creates the proper framework and directory structure so that you
7602can add your own files to the collection.")
7603 (license (list license:gpl2+
7604 license:cc-by2.0
7605 license:cc-by-sa2.0
7606 license:cc-by-sa3.0))))
7607
b784b1a9
RS
7608(define-public gnome-screenshot
7609 (package
7610 (name "gnome-screenshot")
d5101dab 7611 (version "3.34.0")
b784b1a9
RS
7612 (source
7613 (origin
7614 (method url-fetch)
7615 (uri (string-append "mirror://gnome/sources/" name "/"
7616 (version-major+minor version) "/"
7617 name "-" version ".tar.xz"))
7618 (sha256
7619 (base32
d5101dab 7620 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 7621 (build-system meson-build-system)
d5101dab
KK
7622 (arguments
7623 '(#:phases
7624 (modify-phases %standard-phases
7625 (add-after 'unpack 'skip-gtk-update-icon-cache
7626 ;; Don't create 'icon-theme.cache'.
7627 (lambda _
7628 (substitute* "build-aux/postinstall.py"
7629 (("gtk-update-icon-cache") "true"))
7630 #t)))))
b784b1a9
RS
7631 (native-inputs
7632 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 7633 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7634 ("intltool" ,intltool)
8356aefa 7635 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7636 ("pkg-config" ,pkg-config)))
7637 (inputs
7638 `(("gtk+" ,gtk+)
7639 ("libcanberra" ,libcanberra)
7640 ("libx11" ,libx11)
7641 ("libxext" ,libxext)))
676e7cb4 7642 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7643 (synopsis "Take pictures of your screen")
7644 (description
7645 "GNOME Screenshot is a utility used for taking screenshots of the entire
7646screen, a window or a user defined area of the screen, with optional
7647beautifying border effects.")
7648 (license license:gpl2+)))
7649
66d59111
RS
7650(define-public dconf-editor
7651 (package
7652 (name "dconf-editor")
720aa20f 7653 (version "3.34.2")
66d59111
RS
7654 (source
7655 (origin
7656 (method url-fetch)
7657 (uri (string-append "mirror://gnome/sources/" name "/"
7658 (version-major+minor version) "/"
7659 name "-" version ".tar.xz"))
7660 (sha256
7661 (base32
720aa20f 7662 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 7663 (build-system meson-build-system)
66d59111
RS
7664 (native-inputs
7665 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7666 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7667 ("intltool" ,intltool)
294ff39d
RW
7668 ("pkg-config" ,pkg-config)
7669 ("vala" ,vala)))
66d59111
RS
7670 (inputs
7671 `(("dconf" ,dconf)
7672 ("gtk+" ,gtk+)
7673 ("libxml2" ,libxml2)))
720aa20f 7674 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
7675 (synopsis "Graphical editor for GNOME's dconf configuration system")
7676 (description
7677 "Dconf-editor is a graphical tool for browsing and editing the dconf
7678configuration system for GNOME. It allows users to configure desktop
7679software that do not provide their own configuration interface.")
7680 (license license:lgpl2.1+)))
7681
96d36f38
AW
7682(define-public gnome-default-applications
7683 (package
7684 (name "gnome-default-applications")
7685 (version "0")
7686 (build-system trivial-build-system)
7687 (source #f)
7688 (propagated-inputs
8ad4f0aa
LC
7689 `(("nautilus" ,nautilus)
7690 ("evince" ,evince)))
96d36f38
AW
7691 (arguments
7692 `(#:modules ((guix build utils))
7693 #:builder
7694 (begin
7695 (use-modules (guix build utils))
7696 (let* ((out (assoc-ref %outputs "out"))
7697 (apps (string-append out "/share/applications")))
7698 (mkdir-p apps)
a6ac679f 7699 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7700 (lambda (port)
7701 (format port "[Default Applications]\n")
8ad4f0aa
LC
7702 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7703 (format port "application/pdf=evince.desktop\n")
7704 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7705 #t))))
7706 (synopsis "Default MIME type associations for the GNOME desktop")
7707 (description
7708 "Given many installed packages which might handle a given MIME type, a
7709user running the GNOME desktop probably has some preferences: for example,
7710that folders be opened by default by the Nautilus file manager, not the Baobab
7711disk usage analyzer. This package establishes that set of default MIME type
7712associations for GNOME.")
7713 (license license:gpl3+)
7714 (home-page #f)))
7715
3f1ed953
RG
7716(define-public libgovirt
7717 (package
7718 (name "libgovirt")
7719 (version "0.3.6")
7720 (source (origin
7721 (method url-fetch)
7722 (uri (string-append "mirror://gnome/sources/" name "/"
7723 (version-major+minor version) "/"
7724 name "-" version ".tar.xz"))
7725 (sha256
7726 (base32
7727 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7728 (build-system glib-or-gtk-build-system)
7729 (native-inputs
7730 `(("gettext" ,gettext-minimal)
7731 ("glib:bin" ,glib "bin")
7732 ("gobject-introspection" ,gobject-introspection)
7733 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7734 ("gtk+:bin" ,gtk+ "bin")
7735 ("pkg-config" ,pkg-config)))
7736 (inputs
7737 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7738 ("librest" ,rest)))
7739 (synopsis "GoVirt Library")
7740 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7741 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7742 (license license:gpl2+)))
7743
8672e5e9
RG
7744(define-public gnome-weather
7745 (package
7746 (name "gnome-weather")
7747 (version "3.34.0")
7748 (source (origin
7749 (method url-fetch)
7750 (uri (string-append "mirror://gnome/sources/" name "/"
7751 (version-major+minor version) "/"
7752 name "-" version ".tar.xz"))
7753 (sha256
7754 (base32
7755 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7756 (build-system meson-build-system)
7757 (native-inputs
7758 `(("gettext" ,gettext-minimal)
7759 ("glib:bin" ,glib "bin")
7760 ("gobject-introspection" ,gobject-introspection)
7761 ("gtk+:bin" ,gtk+ "bin")
7762 ("pkg-config" ,pkg-config)))
7763 (inputs
7764 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7765 ("appstream-glib" ,appstream-glib)
7766 ("geoclue" ,geoclue)
7767 ("gdk-pixbuf" ,gdk-pixbuf)
7768 ("gjs" ,gjs)
7769 ("gnome-desktop" ,gnome-desktop)
7770 ("libgweather" ,libgweather)))
4391fefc 7771 (arguments
2b68ba72
MB
7772 `(#:glib-or-gtk? #t
7773 #:phases
4391fefc
PN
7774 (modify-phases %standard-phases
7775 (add-after 'install 'fix-desktop-file
7776 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
7777 ;; See https://issues.guix.gnu.org/issue/39324.
7778 (lambda* (#:key outputs #:allow-other-keys)
7779 (let* ((out (assoc-ref outputs "out"))
7780 (applications (string-append out "/share/applications")))
7781 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
7782 (("Exec=.*") "Exec=gnome-weather\n"))
7783 #t)))
7784 (add-after 'install 'wrap
7785 (lambda* (#:key inputs outputs #:allow-other-keys)
7786 (let ((out (assoc-ref outputs "out"))
7787 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7788 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
7789 (wrap-program (string-append out "/bin/gnome-weather")
7790 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
7791 #t))))))
8672e5e9
RG
7792 (synopsis "Weather monitoring for GNOME desktop")
7793 (description "GNOME Weather is a small application that allows you to
7794monitor the current weather conditions for your city, or anywhere in the
7795world.")
7796 (home-page "https://wiki.gnome.org/Apps/Weather")
7797 (license license:gpl2+)))
7798
dc050251
SB
7799(define-public gnome
7800 (package
7801 (name "gnome")
7802 (version (package-version gnome-shell))
7803 (source #f)
7804 (build-system trivial-build-system)
e3cfef22 7805 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7806 (propagated-inputs
8d8c6bff 7807 ;; TODO: Add or remove packages according to:
a8cda7f5 7808 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7809 `(
8d8c6bff 7810 ;; GNOME-Core-OS-Services
7922b6f7 7811 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7812 ("network-manager" ,network-manager)
7813 ("packagekit" ,packagekit)
7814 ("upower" ,upower)
7815 ;; GNOME-Core-Shell
7816 ("adwaita-icon-theme" ,adwaita-icon-theme)
7817 ("gdm" ,gdm)
7818 ("glib-networking" ,glib-networking)
7819 ("gnome-backgrounds" ,gnome-backgrounds)
7820 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7821 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7822 ("gnome-control-center" ,gnome-control-center)
7823 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7824 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 7825 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7826 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7827 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7828 ("gnome-session" ,gnome-session)
7829 ("gnome-settings-daemon" ,gnome-settings-daemon)
7830 ("gnome-shell-extensions" ,gnome-shell-extensions)
7831 ("gnome-shell" ,gnome-shell)
7832 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7833 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7834 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7835 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7836 ("gvfs" ,gvfs)
7837 ("mutter" ,mutter)
7838 ("orca" ,orca)
d36fa50f
RG
7839 ("rygel" ,rygel)
7840 ("sushi" ,sushi)
8d8c6bff
RG
7841 ;; GNOME-Core-Utilities
7842 ("baobab" ,baobab)
7843 ("cheese" ,cheese)
ce784e6c
MB
7844 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
7845 ;; only works on x86_64, so exclude it on other architectures.
7846 ,@(if (string-prefix? "x86_64" (%current-system))
7847 `(("eog" ,eog))
7848 '())
8d8c6bff
RG
7849 ("epiphany" ,epiphany)
7850 ("evince" ,evince)
7851 ("file-roller" ,file-roller)
7852 ("gedit" ,gedit)
d36fa50f 7853 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7854 ("gnome-calculator" ,gnome-calculator)
7855 ("gnome-calendar" ,gnome-calendar)
7856 ("gnome-characters" ,gnome-characters)
7857 ("gnome-clocks" ,gnome-clocks)
7858 ("gnome-contacts" ,gnome-contacts)
7859 ("gnome-disk-utility" ,gnome-disk-utility)
7860 ("gnome-font-viewer" ,gnome-font-viewer)
7861 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7862 ; TODO: ("gnome-music" ,gnome-music)
7863 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7864 ("gnome-screenshot" ,gnome-screenshot)
7865 ("gnome-system-monitor" ,gnome-system-monitor)
7866 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7867 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7868 ("nautilus" ,nautilus)
7869 ("simple-scan" ,simple-scan)
7870 ("totem" ,totem)
7922b6f7
RG
7871 ("yelp" ,yelp)
7872 ;; Others
7873 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7874 ("gnome-online-accounts" ,gnome-online-accounts)
7875
7876 ;; Packages not part of GNOME proper but that are needed for a good
7877 ;; experience. See <https://bugs.gnu.org/39646>.
7878 ;; XXX: Find out exactly which ones are needed and why.
7879 ("font-cantarell" ,font-cantarell)
7880 ("font-dejavu" ,font-dejavu)
7881 ("at-spi2-core" ,at-spi2-core)
7882 ("dbus" ,dbus)
7883 ("dconf" ,dconf)
7884 ("desktop-file-utils" ,desktop-file-utils)
7885 ("gnome-default-applications" ,gnome-default-applications)
7886 ("gnome-themes-standard" ,gnome-themes-standard)
7887 ("gst-plugins-base" ,gst-plugins-base)
7888 ("gst-plugins-good" ,gst-plugins-good)
7889 ("gucharmap" ,gucharmap)
7890 ("pinentry-gnome3" ,pinentry-gnome3)
7891 ("pulseaudio" ,pulseaudio)
7892 ("shared-mime-info" ,shared-mime-info)
7893 ("system-config-printer" ,system-config-printer)
7894 ("xdg-user-dirs" ,xdg-user-dirs)
7895 ("yelp" ,yelp)
7896 ("zenity" ,zenity)))
fe4e698d 7897 (synopsis "The GNU desktop environment")
dc050251
SB
7898 (home-page "https://www.gnome.org/")
7899 (description
fe4e698d
LC
7900 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7901applications for browsing the web, editing text and images, creating
7902documents and diagrams, playing media, scanning, and much more.")
dc050251 7903 (license license:gpl2+)))
4a526711
DT
7904
7905(define-public byzanz
7906 ;; The last stable release of Byzanz was in 2011, but there have been many
7907 ;; useful commits made to the Byzanz repository since then that it would be
7908 ;; silly to use such an old release.
7909 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7910 (package
7911 (name "byzanz")
7912 (version (string-append "0.2-1." (string-take commit 7)))
7913 (source (origin
7914 (method git-fetch)
7915 (uri (git-reference
5f13bf09 7916 (url "https://git.gnome.org/browse/byzanz")
4a526711 7917 (commit commit)))
5a6527e4 7918 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7919 (sha256
7920 (base32
7921 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7922 (build-system glib-or-gtk-build-system)
7923 (arguments
7924 '(#:phases
7925 (modify-phases %standard-phases
778d6b52 7926 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
7927 (lambda _
7928 ;; The build system cleverly detects that we're not building from
7929 ;; a release tarball and turns on -Werror for GCC.
7930 ;; Unsurprisingly, there is a warning during compilation that
7931 ;; causes the build to fail unnecessarily, so we remove the flag.
7932 (substitute* '("configure.ac")
7933 (("-Werror") ""))
778d6b52 7934 #t)))))
4a526711
DT
7935 (native-inputs
7936 `(("autoconf" ,autoconf)
7937 ("automake" ,automake)
7938 ("gnome-common" ,gnome-common)
7939 ("intltool" ,intltool)
7940 ("libtool" ,libtool)
7941 ("pkg-config" ,pkg-config)
7942 ("which" ,which)))
7943 (inputs
7944 `(("glib" ,glib)
7945 ("gstreamer" ,gstreamer)
7946 ("gst-plugins-base" ,gst-plugins-base)
7947 ("gtk+" ,gtk+)))
7948 (synopsis "Desktop recording program")
7949 (description "Byzanz is a simple desktop recording program with a
7950command-line interface. It can record part or all of an X display for a
7951specified duration and save it as a GIF encoded animated image file.")
7952 (home-page "https://git.gnome.org/browse/byzanz")
7953 (license license:gpl2+))))
3a9a4c51 7954
0ec171ec
MS
7955(define-public gsound
7956 (package
7957 (name "gsound")
7958 (version "1.0.2")
7959 (source (origin
7960 (method url-fetch)
7961 (uri (string-append "mirror://gnome/sources/" name "/"
7962 (version-major+minor version) "/"
7963 name "-" version ".tar.xz"))
7964 (sha256
7965 (base32
7966 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7967 (build-system glib-or-gtk-build-system)
7968 (native-inputs
7969 `(("pkg-config" ,pkg-config)
7970 ("gobject-introspection" ,gobject-introspection)
7971 ("vala" ,vala)))
7972 (inputs
7973 `(("glib" ,glib)
7974 ("libcanberra" ,libcanberra)))
7975 (home-page "https://wiki.gnome.org/Projects/GSound")
7976 (synopsis "GObject wrapper for libcanberra")
7977 (description
7978 "GSound is a small library for playing system sounds. It's designed to be
7979used via GObject Introspection, and is a thin wrapper around the libcanberra C
7980library.")
7981 (license license:lgpl2.1+)))
7982
3a9a4c51
RS
7983(define-public libzapojit
7984 (package
7985 (name "libzapojit")
7986 (version "0.0.3")
7987 (source (origin
7988 (method url-fetch)
7989 (uri (string-append "mirror://gnome/sources/" name "/"
7990 (version-major+minor version) "/"
7991 name "-" version ".tar.xz"))
7992 (sha256
7993 (base32
7994 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7995 (build-system gnu-build-system)
7996 (native-inputs
7997 `(("gobject-introspection" ,gobject-introspection)
7998 ("intltool" ,intltool)
7999 ("pkg-config" ,pkg-config)))
8000 (inputs
14c297fd 8001 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8002 ("json-glib" ,json-glib)
8003 ("rest" ,rest)))
8004 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8005 (synopsis "Library for accessing SkyDrive and Hotmail")
8006 (description
8007 "Libzapojit is a GLib-based library for accessing online service APIs of
8008Microsoft SkyDrive and Hotmail, using their REST protocols.")
8009 (license license:lgpl2.1+)))
9365ee1c 8010
60e2a9ae
MS
8011(define-public gnome-clocks
8012 (package
8013 (name "gnome-clocks")
feee5ff5 8014 (version "3.34.0")
60e2a9ae
MS
8015 (source (origin
8016 (method url-fetch)
8017 (uri (string-append "mirror://gnome/sources/" name "/"
8018 (version-major+minor version) "/"
8019 name "-" version ".tar.xz"))
8020 (sha256
8021 (base32
feee5ff5 8022 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8023 (build-system meson-build-system)
8024 (arguments
feee5ff5
KK
8025 '(#:glib-or-gtk? #t
8026 #:phases
8027 (modify-phases %standard-phases
8028 (add-after 'unpack 'skip-gtk-update-icon-cache
8029 ;; Don't create 'icon-theme.cache'.
8030 (lambda _
8031 (substitute* "build-aux/post-install.py"
8032 (("gtk-update-icon-cache") "true"))
8033 #t)))))
60e2a9ae
MS
8034 (native-inputs
8035 `(("vala" ,vala)
8036 ("pkg-config" ,pkg-config)
8037 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8038 ("desktop-file-utils" ,desktop-file-utils)
8039 ("gettext" ,gettext-minimal)
8040 ("itstool" ,itstool)))
8041 (inputs
8042 `(("glib" ,glib)
8043 ("gtk+" ,gtk+)
8044 ("gsound" ,gsound)
8045 ("geoclue" ,geoclue)
8046 ("geocode-glib" ,geocode-glib)
8047 ("libgweather" ,libgweather)
8048 ("gnome-desktop" ,gnome-desktop)))
8049 (home-page "https://wiki.gnome.org/Apps/Clocks")
8050 (synopsis "GNOME's clock application")
8051 (description
8052 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8053desktop. It supports world clock, stop watch, alarms, and count down timer.")
8054 (license license:gpl3+)))
8055
3c474897
KY
8056(define-public gnome-calendar
8057 (package
8058 (name "gnome-calendar")
27dd1d76 8059 (version "3.34.2")
3c474897
KY
8060 (source (origin
8061 (method url-fetch)
8062 (uri (string-append "mirror://gnome/sources/" name "/"
8063 (version-major+minor version) "/"
8064 name "-" version ".tar.xz"))
8065 (sha256
8066 (base32
27dd1d76 8067 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8068 (build-system meson-build-system)
8069 (arguments
8070 '(#:glib-or-gtk? #t
8071 ;; gnome-calendar has to be installed before the tests can be run
8072 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8073 #:tests? #f
8074 #:phases
8075 (modify-phases %standard-phases
8076 (add-after 'unpack 'skip-gtk-update-icon-cache
8077 ;; Don't create 'icon-theme.cache'.
8078 (lambda _
8079 (substitute* "build-aux/meson/meson_post_install.py"
8080 (("gtk-update-icon-cache") "true"))
8081 #t)))))
3c474897 8082 (native-inputs
a49d3e37
MS
8083 `(("gettext" ,gettext-minimal)
8084 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
8085 ("pkg-config" ,pkg-config)))
8086 (inputs
27cb52a2 8087 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8088 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8089 ("libdazzle" ,libdazzle)
b63c06f1 8090 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8091 ("libgweather" ,libgweather)
8092 ("geoclue" ,geoclue)))
27cb52a2
RG
8093 (propagated-inputs
8094 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
8095 (home-page "https://wiki.gnome.org/Apps/Calendar")
8096 (synopsis "GNOME's calendar application")
8097 (description
8098 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8099desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8100 (license license:gpl3+)))
8101
57b14665
MS
8102(define-public gnome-todo
8103 (package
8104 (name "gnome-todo")
9f3c6c88 8105 (version "3.28.1")
57b14665
MS
8106 (source (origin
8107 (method url-fetch)
8108 (uri (string-append "mirror://gnome/sources/" name "/"
8109 (version-major+minor version) "/"
8110 name "-" version ".tar.xz"))
8111 (sha256
8112 (base32
b17b2945
DM
8113 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
8114 (patches
8115 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
8116 (build-system meson-build-system)
8117 (arguments
8118 '(#:glib-or-gtk? #t
8119 #:phases (modify-phases %standard-phases
8120 (add-after
8121 'install 'wrap-gnome-todo
8122 (lambda* (#:key inputs outputs #:allow-other-keys)
8123 (let ((out (assoc-ref outputs "out"))
8124 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8125 (python-path (getenv "PYTHONPATH")))
8126 (wrap-program (string-append out "/bin/gnome-todo")
8127 ;; XXX: gi plugins are broken.
8128 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8129 ;; For plugins.
8130 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8131 `("PYTHONPATH" ":" prefix (,python-path))))
8132 #t)))))
8133 (native-inputs
8134 `(("gettext" ,gettext-minimal)
8135 ("gobject-introspection" ,gobject-introspection)
8136 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8137 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8138 ("pkg-config" ,pkg-config)))
8139 (inputs
8140 `(("rest" ,rest) ; For Todoist plugin
8141 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8142 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8143 ("libical" ,libical)
8144 ("libpeas" ,libpeas)
8145 ("python-pygobject" ,python-pygobject)
8146 ("evolution-data-server" ,evolution-data-server)
14c297fd 8147 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8148 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8149 (home-page "https://wiki.gnome.org/Apps/Todo")
8150 (synopsis "GNOME's ToDo Application")
8151 (description
8152 "GNOME To Do is a simplistic personal task manager designed to perfectly
8153fit the GNOME desktop.")
8154 (license license:gpl3+)))
8155
ab179eaf
SB
8156(define-public gnome-dictionary
8157 (package
8158 (name "gnome-dictionary")
cf81ddef 8159 (version "3.26.1")
ab179eaf
SB
8160 (source (origin
8161 (method url-fetch)
8162 (uri (string-append "mirror://gnome/sources/" name "/"
8163 (version-major+minor version) "/"
8164 name "-" version ".tar.xz"))
8165 (sha256
8166 (base32
cf81ddef
LC
8167 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8168 (build-system meson-build-system)
2776b5d5
MB
8169 (arguments '(#:glib-or-gtk? #t
8170 #:phases (modify-phases %standard-phases
8171 (add-after 'unpack 'patch-install-script
8172 (lambda _
8173 ;; This script attempts to compile glib schemas
8174 ;; and create an empty MIME database. We do
8175 ;; that elsewhere, so prevent it from running.
8176 (substitute* "build-aux/post-install.sh"
8177 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8178 #t)))))
ab179eaf
SB
8179 (native-inputs
8180 `(("glib:bin" ,glib "bin")
8181 ("gobject-introspection" ,gobject-introspection)
8182 ("intltool" ,intltool)
8183 ("itstool" ,itstool)
8184 ("pkg-config" ,pkg-config)
8185 ("xmllint" ,libxml2)))
8186 (inputs
8187 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8188 ("gtk+" ,gtk+)))
8189 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8190 (synopsis "Look up words in dictionary sources")
8191 (description
8192 "GNOME Dictionary can look for the definition or translation of a word in
8193existing databases over the internet.")
8194 (license license:gpl3+)))
8195
d13f3a03 8196(define-public gnome-tweaks
9365ee1c 8197 (package
d13f3a03 8198 (name "gnome-tweaks")
4add1bae 8199 (version "3.34.0")
9365ee1c
JN
8200 (source (origin
8201 (method url-fetch)
d13f3a03 8202 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8203 (version-major+minor version) "/"
d13f3a03
RW
8204 "gnome-tweaks-" version ".tar.xz"))
8205 (patches
8206 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8207 (sha256
8208 (base32
4add1bae 8209 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 8210 (build-system meson-build-system)
9365ee1c 8211 (arguments
d13f3a03
RW
8212 `(#:glib-or-gtk? #t
8213 #:configure-flags '("-Dlocalstatedir=/tmp"
8214 "-Dsysconfdir=/tmp")
9365ee1c 8215 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8216 ,@%meson-build-system-modules)
8217 #:phases
8218 (modify-phases %standard-phases
4add1bae
KK
8219 (add-after 'unpack 'skip-gtk-update-icon-cache
8220 ;; Don't create 'icon-theme.cache'.
8221 (lambda _
8222 (substitute* "meson-postinstall.py"
8223 (("gtk-update-icon-cache") "true"))
8224 #t))
d13f3a03
RW
8225 (add-after 'install 'wrap
8226 (@@ (guix build python-build-system) wrap))
8227 (add-after 'wrap 'wrap-gi-typelib
8228 (lambda* (#:key inputs outputs #:allow-other-keys)
8229 (let ((out (assoc-ref outputs "out"))
8230 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8231 (wrap-program (string-append out "/bin/gnome-tweaks")
8232 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8233 #t)))))
9365ee1c 8234 (native-inputs
4add1bae 8235 `(("intltool" ,intltool)
9365ee1c
JN
8236 ("pkg-config" ,pkg-config)))
8237 (inputs
c7fc414e
RH
8238 `(("gnome-desktop" ,gnome-desktop)
8239 ("gtk+" ,gtk+)
9365ee1c
JN
8240 ("gobject-introspection" ,gobject-introspection)
8241 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 8242 ("libhandy" ,libhandy)
c7fc414e
RH
8243 ("libnotify" ,libnotify)
8244 ("libsoup" ,libsoup)
8245 ("nautilus" ,nautilus)
8246 ("python" ,python)
8247 ("python-pygobject" ,python-pygobject)))
9365ee1c 8248 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8249 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8250 (description
d13f3a03 8251 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8252GNOME 3. This includes things like the fonts used in user interface elements,
8253alternative user interface themes, changes in window management behavior,
8254GNOME Shell appearance and extension, etc.")
8255 (license license:gpl3+)))
813f814a 8256
32ac717c
DT
8257(define-public gnome-shell-extensions
8258 (package
8259 (name "gnome-shell-extensions")
c7305466 8260 (version "3.34.2")
32ac717c
DT
8261 (source (origin
8262 (method url-fetch)
8263 (uri (string-append "mirror://gnome/sources/" name "/"
8264 (version-major+minor version) "/"
8265 name "-" version ".tar.xz"))
8266 (sha256
8267 (base32
c7305466 8268 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 8269 (build-system meson-build-system)
32ac717c 8270 (arguments
100f625b 8271 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8272 (native-inputs
c9ea8873
LP
8273 `(("glib:bin" ,glib "bin")
8274 ("intltool" ,intltool)
32ac717c
DT
8275 ("pkg-config" ,pkg-config)))
8276 (propagated-inputs
c9ea8873 8277 `(("glib" ,glib)))
32ac717c
DT
8278 (synopsis "Extensions for GNOME Shell")
8279 (description "GNOME Shell extensions modify and extend GNOME Shell
8280functionality and behavior.")
8281 (home-page "https://extensions.gnome.org/")
8282 (license license:gpl3+)))
8283
813f814a
DT
8284(define-public arc-theme
8285 (package
8286 (name "arc-theme")
37781323 8287 (version "20190917")
813f814a 8288 (source (origin
a18f8eaf
BH
8289 (method git-fetch)
8290 (uri (git-reference
8291 (url "https://github.com/NicoHood/arc-theme.git")
8292 (commit version)))
8293 (file-name (git-file-name name version))
813f814a
DT
8294 (sha256
8295 (base32
37781323 8296 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8297 (build-system gnu-build-system)
d88884fa
EF
8298 (arguments
8299 '(#:phases
8300 (modify-phases %standard-phases
8301 ;; autogen.sh calls configure at the end of the script.
8302 (replace 'bootstrap
4690e3a4
MC
8303 (lambda _ (invoke "autoreconf" "-vfi")))
8304 (add-before 'build 'set-home ;placate Inkscape
8305 (lambda _
8306 (setenv "HOME" (getcwd))
8307 #t)))))
813f814a
DT
8308 (native-inputs
8309 `(("autoconf" ,autoconf)
8310 ("automake" ,automake)
a18f8eaf
BH
8311 ("glib" ,glib "bin") ; for glib-compile-resources
8312 ("gnome-shell" ,gnome-shell)
8313 ("gtk+" ,gtk+)
8314 ("inkscape" ,inkscape)
8315 ("optipng" ,optipng)
8316 ("pkg-config" ,pkg-config)
bed24ecf 8317 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8318 (synopsis "A flat GTK+ theme with transparent elements")
8319 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
83202, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8321like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8322 (home-page "https://github.com/horst3180/arc-theme")
8323 ;; No "or later" language found.
a18f8eaf 8324 (license license:gpl3+)))
9987c57c 8325
d935e6a1 8326(define-public faba-icon-theme
9987c57c 8327 (package
d935e6a1 8328 (name "faba-icon-theme")
2eee7ee3 8329 (version "4.3")
d935e6a1
BT
8330 (source
8331 (origin
757e4027
TGR
8332 (method git-fetch)
8333 (uri (git-reference
8334 (url "https://github.com/snwh/faba-icon-theme.git")
8335 (commit (string-append "v" version))))
8336 (file-name (git-file-name name version))
d935e6a1 8337 (sha256
757e4027 8338 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8339 (build-system meson-build-system)
9987c57c 8340 (arguments
82da291a 8341 `(#:phases
9987c57c 8342 (modify-phases %standard-phases
82da291a 8343 (add-before 'configure 'disable-post-install
9987c57c 8344 (lambda _
82da291a
JL
8345 (substitute* "meson.build"
8346 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8347 (native-inputs
8348 `(("autoconf" ,autoconf)
8349 ("automake" ,automake)))
d935e6a1
BT
8350 (synopsis "Faba icon theme")
8351 (description
8352 "Faba is a minimal icon set used as a basis for other themes such as
8353Moka")
8354 (home-page "https://snwh.org/moka")
8355 (license (list license:lgpl3+
8356 license:cc-by-sa4.0))))
8357
9987c57c
DT
8358(define-public moka-icon-theme
8359 (package
8b0e4177 8360 (inherit faba-icon-theme)
9987c57c 8361 (name "moka-icon-theme")
105a3625 8362 (version "5.4.0")
8c3f2170
TGR
8363 (source
8364 (origin
8365 (method git-fetch)
8366 (uri (git-reference
8367 (url "https://github.com/snwh/moka-icon-theme.git")
8368 (commit (string-append "v" version))))
8369 (file-name (git-file-name name version))
8370 (sha256
8371 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8372 (propagated-inputs
8373 ;; Moka is based on Faba by using it as a fallback icon set instead of
8374 ;; bundling it, so we need to add it as a propagated input.
8375 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8376 (synopsis "Moka icon theme")
8377 (description "Moka is a stylized desktop icon set, designed to be clear,
8378simple and consistent.")
fedde43b
BT
8379 (license (list license:gpl3+
8380 license:cc-by-sa4.0))))
6fd8f8d6
DT
8381
8382(define-public arc-icon-theme
8383 (package
8384 (name "arc-icon-theme")
c4180240 8385 (version "20161122")
bbf66cbf
TGR
8386 (source
8387 (origin
8388 (method git-fetch)
8389 (uri (git-reference
8390 (url "https://github.com/horst3180/arc-icon-theme.git")
8391 (commit version)))
8392 (file-name (git-file-name name version))
8393 (sha256
8394 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8395 (build-system gnu-build-system)
9e1ede95
JL
8396 (arguments
8397 `(#:phases
8398 (modify-phases %standard-phases
8399 (add-after 'unpack 'disable-configure-during-bootstrap
8400 (lambda _
8401 (substitute* "autogen.sh"
8402 (("^\"\\$srcdir/configure\".*") ""))
8403 #t)))))
6fd8f8d6
DT
8404 (native-inputs
8405 `(("autoconf" ,autoconf)
8406 ("automake" ,automake)))
8407 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8408 (propagated-inputs
8409 `(("moka-icon-theme" ,moka-icon-theme)))
8410 (synopsis "Arc icon theme")
8411 (description "The Arc icon theme provides a set of icons matching the
8412style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8413the Moka icon theme.")
8414 (home-page "https://github.com/horst3180/arc-icon-theme")
8415 (license license:gpl3+)))
6064a4e8
LF
8416
8417(define-public folks
8418 (package
8419 (name "folks")
fd11f6f3 8420 (version "0.13.1")
6064a4e8
LF
8421 (source (origin
8422 (method url-fetch)
8423 (uri (string-append
e5f4796e 8424 "mirror://gnome/sources/folks/"
6064a4e8 8425 (version-major+minor version) "/"
e5f4796e 8426 "folks-" version ".tar.xz"))
6064a4e8
LF
8427 (sha256
8428 (base32
fd11f6f3
KK
8429 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
8430 (build-system meson-build-system)
8431 (arguments
8432 '(#:phases
8433 (modify-phases %standard-phases
8434 (add-after 'unpack 'skip-gtk-update-icon-cache
8435 ;; Don't create 'icon-theme.cache'.
8436 (lambda _
8437 (substitute* "meson_post_install.py"
8438 (("gtk-update-icon-cache") "true"))
8439 #t)))))
6064a4e8
LF
8440 (inputs
8441 `(("bdb" ,bdb)
8442 ("dbus-glib" ,dbus-glib)
8443 ("evolution-data-server" ,evolution-data-server)
8444 ("glib" ,glib)
8445 ("libgee" ,libgee)
fd11f6f3 8446 ("readline" ,readline)
6064a4e8
LF
8447 ("telepathy-glib" ,telepathy-glib)))
8448 (native-inputs
fd11f6f3
KK
8449 `(("glib:bin" ,glib "bin")
8450 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
8451 ("intltool" ,intltool)
8452 ("pkg-config" ,pkg-config)
8453 ("vala" ,vala)))
8454 (synopsis "Library to aggregate data about people")
8455 (description "Libfolks is a library that aggregates information about people
8456from multiple sources (e.g., Telepathy connection managers for IM contacts,
8457Evolution Data Server for local contacts, libsocialweb for web service contacts,
8458etc.) to create metacontacts. It's written in Vala, which generates C code when
8459compiled.")
8460 (home-page "https://wiki.gnome.org/Projects/Folks")
8461 (license license:lgpl2.1+)))
01ea778f
LF
8462
8463(define-public gfbgraph
8464 (package
8465 (name "gfbgraph")
8466 (version "0.2.3")
8467 (source (origin
8468 (method url-fetch)
8469 (uri (string-append
237d4cf7 8470 "mirror://gnome/sources/gfbgraph/"
01ea778f 8471 (version-major+minor version) "/"
237d4cf7 8472 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8473 (sha256
8474 (base32
8475 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8476 (build-system glib-or-gtk-build-system)
8477 (arguments
8478 `(#:tests? #f ; Tests appear to require the network.
8479 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8480 #:configure-flags '("--disable-gtk-doc"
8481 "--disable-static"
8482 "--enable-introspection")))
8483 (native-inputs
8484 `(("pkg-config" ,pkg-config)
8485 ("gobject-introspection" ,gobject-introspection)))
8486 (inputs
8487 `(("json-glib" ,json-glib)
14c297fd 8488 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8489 ("rest" ,rest)))
8490 (synopsis "GLib/GObject wrapper for the Facebook API")
8491 (description "This library allows you to use the Facebook API from
8492GLib/GObject code.")
8493 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8494 (license license:lgpl2.1+)))
3920868c 8495
8496(define-public libgnomekbd
8497 (package
8498 (name "libgnomekbd")
70f2b0f9 8499 (version "3.26.1")
3920868c 8500 (source (origin
8501 (method url-fetch)
d47fa82d 8502 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8503 (version-major+minor version) "/"
d47fa82d 8504 "libgnomekbd-" version ".tar.xz"))
3920868c 8505 (sha256
8506 (base32
70f2b0f9 8507 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8508 (build-system gnu-build-system)
8509 (native-inputs
8510 `(("pkg-config" ,pkg-config)
8511 ("glib" ,glib "bin")
8512 ("intltool" ,intltool)))
8513 (propagated-inputs
8514 ;; Referred to in .h files and .pc.
8515 `(("glib" ,glib)
8516 ("gtk+" ,gtk+)
8517 ("libxklavier" ,libxklavier)))
8518 (home-page "https://www.gnome.org")
8519 (synopsis "GNOME keyboard configuration library")
8520 (description
8521 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8522environment, which can notably display keyboard layouts.")
8523 (license license:lgpl2.0+)))
85327d0d 8524
8525;;; This package is no longer maintained:
8526;;; https://wiki.gnome.org/Attic/LibUnique
8527;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8528;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8529(define-public libunique
8530 (package
8531 (name "libunique")
8532 (version "3.0.2")
8533 (source (origin
8534 (method url-fetch)
8535 (uri (string-append "mirror://gnome/sources/" name "/"
8536 (version-major+minor version) "/"
8537 name "-" version ".tar.xz"))
8538 (sha256
8539 (base32
8540 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8541 (build-system glib-or-gtk-build-system)
8542 (arguments
8543 `(#:configure-flags '("--disable-static"
8544 "--disable-dbus" ; use gdbus
8545 "--enable-introspection")))
8546 (native-inputs
8547 `(("pkg-config" ,pkg-config)
8548 ("gobject-introspection" ,gobject-introspection)
8549 ("glib:bin" ,glib "bin")
8550 ("gtk-doc" ,gtk-doc)))
8551 (propagated-inputs
8552 ;; Referred to in .h files and .pc.
8553 `(("gtk+" ,gtk+)))
8554 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8555 (synopsis "Library for writing single instance applications")
8556 (description
8557 "Libunique is a library for writing single instance applications. If you
8558launch a single instance application twice, the second instance will either just
8559quit or will send a message to the running instance. Libunique makes it easy to
8560write this kind of application, by providing a base class, taking care of all
8561the IPC machinery needed to send messages to a running instance, and also
8562handling the startup notification side.")
8563 (license license:lgpl2.1+)))
54021cd8
RS
8564
8565(define-public gnome-calculator
8566 (package
8567 (name "gnome-calculator")
4cb09502 8568 (version "3.34.1")
54021cd8
RS
8569 (source
8570 (origin
8571 (method url-fetch)
8572 (uri (string-append "mirror://gnome/sources/" name "/"
8573 (version-major+minor version) "/"
8574 name "-" version ".tar.xz"))
8575 (sha256
8576 (base32
4cb09502 8577 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
8578 (build-system meson-build-system)
8579 (arguments '(#:glib-or-gtk? #t))
54021cd8 8580 (native-inputs
4cb09502
MB
8581 `(("gettext" ,gettext-minimal)
8582 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8583 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 8584 ("itstool" ,itstool)
2d475910 8585 ("vala" ,vala)
54021cd8
RS
8586 ("pkg-config" ,pkg-config)))
8587 (inputs
112e9083 8588 `(("glib" ,glib)
07ace641 8589 ("gtksourceview" ,gtksourceview)
4cb09502 8590 ("libgee" ,libgee)
54021cd8 8591 ("libsoup" ,libsoup)
112e9083 8592 ("libxml2" ,libxml2)
2c2da7ec 8593 ("mpc" ,mpc)
54021cd8
RS
8594 ("mpfr" ,mpfr)))
8595 (home-page "https://wiki.gnome.org/Apps/Calculator")
8596 (synopsis "Desktop calculator")
8597 (description
8598 "Calculator is an application that solves mathematical equations and
8599is suitable as a default application in a Desktop environment.")
8600 (license license:gpl3)))
0bd69759
RS
8601
8602(define-public xpad
8603 (package
8604 (name "xpad")
c85626bb 8605 (version "5.1.0")
0bd69759
RS
8606 (source
8607 (origin
8608 (method url-fetch)
08fda9c6
R
8609 (uri (string-append "https://launchpad.net/xpad/trunk/"
8610 version "/+download/"
0bd69759
RS
8611 name "-" version ".tar.bz2"))
8612 (sha256
8613 (base32
c85626bb 8614 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8615 (build-system gnu-build-system)
8616 (native-inputs
08fda9c6
R
8617 `(("autoconf" ,autoconf)
8618 ("automake" ,automake)
8619 ("gtk+:bin" ,gtk+ "bin")
8620 ("intltool" ,intltool)
0bd69759
RS
8621 ("pkg-config" ,pkg-config)))
8622 (inputs
c72647fb 8623 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8624 ("libsm" ,libsm)))
8625 (home-page "https://wiki.gnome.org/Apps/Xpad")
8626 (synopsis "Virtual sticky note")
8627 (description
8628 "Xpad is a sticky note that strives to be simple, fault tolerant,
8629and customizable. Xpad consists of independent pad windows, each is
8630basically a text box in which notes can be written.")
8631 (license license:gpl3+)))
3ad7dce1
RS
8632
8633(define-public gucharmap
c60063ea
RW
8634 (let ((unicode-files
8635 '(("Blocks.txt"
1f8b5515 8636 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8637 ("DerivedAge.txt"
1f8b5515 8638 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8639 ("NamesList.txt"
1f8b5515 8640 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8641 ("Scripts.txt"
1f8b5515 8642 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8643 ("UnicodeData.txt"
1f8b5515 8644 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8645 ("Unihan.zip"
1f8b5515 8646 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8647 (package
8648 (name "gucharmap")
1f8b5515 8649 (version "12.0.1")
c60063ea
RW
8650 (source
8651 (origin
8652 (method url-fetch)
8653 (uri (string-append "mirror://gnome/sources/" name "/"
8654 (version-major+minor version) "/"
8655 name "-" version ".tar.xz"))
8656 (sha256
8657 (base32
1f8b5515 8658 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8659 (build-system glib-or-gtk-build-system)
8660 (arguments
8661 `(#:modules ((ice-9 match)
8662 (guix build glib-or-gtk-build-system)
8663 (guix build utils))
8664 #:configure-flags
8665 (list "--with-unicode-data=../unicode-data")
8666 #:phases
8667 (modify-phases %standard-phases
8668 (add-after 'unpack 'prepare-unicode-data
8669 (lambda* (#:key inputs #:allow-other-keys)
8670 (mkdir-p "../unicode-data")
8671 (with-directory-excursion "../unicode-data"
8672 (for-each (match-lambda
8673 ((file _)
8674 (install-file (assoc-ref inputs file) ".")))
8675 ',unicode-files))
8676 #t)))))
8677 (native-inputs
8678 `(("desktop-file-utils" ,desktop-file-utils)
8679 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8680 ("gobject-introspection" ,gobject-introspection)
8681 ("intltool" ,intltool)
8682 ("itstool" ,itstool)
8683 ("pkg-config" ,pkg-config)
8684 ,@(map (match-lambda
8685 ((file hash)
8686 `(,file
8687 ,(origin
8688 (method url-fetch)
8689 (uri (string-append
1f8b5515 8690 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8691 file))
8692 (sha256 (base32 hash))))))
8693 unicode-files)
8694 ("unzip" ,unzip)))
8695 (inputs
8696 `(("gtk+" ,gtk+)
8697 ("xmllint" ,libxml2)))
8698 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8699 (synopsis "Unicode character picker and font browser")
8700 (description
8701 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8702characters and categories for the installed fonts, and to examine their
8703detailed properties. It is an easy way to find the character you might
8704only know by its Unicode name or code point.")
c60063ea 8705 (license license:gpl3+))))
04ce840a
RS
8706
8707(define-public bluefish
8708 (package
8709 (name "bluefish")
290fe81d 8710 (version "2.2.11")
04ce840a
RS
8711 (source
8712 (origin
8713 (method url-fetch)
8714 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8715 "bluefish-" version ".tar.gz"))
04ce840a 8716 (sha256
290fe81d 8717 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8718 (build-system gnu-build-system)
8719 (native-inputs
8720 `(("desktop-file-utils" ,desktop-file-utils)
8721 ("intltool" ,intltool)
8722 ("pkg-config" ,pkg-config)))
8723 (inputs
8724 `(("enchant" ,enchant)
8725 ("gtk+" ,gtk+)
290fe81d 8726 ("python" ,python-wrapper)
04ce840a
RS
8727 ("xmllint" ,libxml2)
8728 ("gucharmap" ,gucharmap)))
8729 (home-page "http://bluefish.openoffice.nl")
8730 (synopsis "Web development studio")
8731 (description
8732 "Bluefish is an editor targeted towards programmers and web developers,
8733with many options to write web sites, scripts and other code.
8734Bluefish supports many programming and markup languages.")
8735 (license license:gpl3+)))
1f6a73ee
RS
8736
8737(define-public gnome-system-monitor
8738 (package
8739 (name "gnome-system-monitor")
083cffaf 8740 (version "3.32.1")
1f6a73ee
RS
8741 (source
8742 (origin
8743 (method url-fetch)
8744 (uri (string-append "mirror://gnome/sources/" name "/"
8745 (version-major+minor version) "/"
8746 name "-" version ".tar.xz"))
8747 (sha256
8748 (base32
083cffaf 8749 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8750 (build-system meson-build-system)
8751 (arguments
8752 '(#:glib-or-gtk? #t
8753 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8754 (native-inputs
8755 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8756 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8757 ("intltool" ,intltool)
8758 ("itstool" ,itstool)
8759 ("libgtop" ,libgtop)
4985d9aa 8760 ("polkit" ,polkit)
1f6a73ee
RS
8761 ("pkg-config" ,pkg-config)))
8762 (inputs
8763 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8764 ("gtk+" ,gtk+)
8765 ("gtkmm" ,gtkmm)
8766 ("librsvg" ,librsvg)
4985d9aa
RW
8767 ("libxml2" ,libxml2)
8768 ("libwnck" ,libwnck)))
1f6a73ee
RS
8769 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8770 (synopsis "Process viewer and system resource monitor for GNOME")
8771 (description
8772 "GNOME System Monitor is a GNOME process viewer and system monitor with
8773an attractive, easy-to-use interface. It has features, such as a tree view
8774for process dependencies, icons for processes, the ability to hide processes,
8775graphical time histories of CPU/memory/swap usage and the ability to
8776kill/reinice processes.")
8777 (license license:gpl2+)))
3e00ac47
SB
8778
8779(define-public python-pyatspi
8780 (package
8781 (name "python-pyatspi")
4f937a32 8782 (version "2.34.0")
3e00ac47
SB
8783 (source (origin
8784 (method url-fetch)
8785 (uri (string-append
8786 "mirror://gnome/sources/pyatspi/"
8787 (version-major+minor version)
8788 "/pyatspi-" version ".tar.xz"))
8789 (sha256
8790 (base32
4f937a32 8791 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8792 (build-system gnu-build-system)
b95af3f6
JL
8793 (arguments
8794 `(#:phases
8795 (modify-phases %standard-phases
8796 (add-before 'build 'fix-atk-load
8797 (lambda _
8798 (substitute* "pyatspi/__init__.py"
8799 (("from gi.repository import Atspi")
8800 "gi.require_version('Gtk', '3.0')
8801from gi.repository import Gtk
8802from gi.repository import Atspi"))
8803 #t)))))
3e00ac47
SB
8804 (native-inputs
8805 `(("pkg-config" ,pkg-config)))
8806 (inputs
8807 `(("python" ,python)
8808 ("python-pygobject" ,python-pygobject)))
8809 (synopsis "Python client bindings for D-Bus AT-SPI")
8810 (home-page "https://wiki.linuxfoundation.org/accessibility\
8811/atk/at-spi/at-spi_on_d-bus")
8812 (description
8813 "This package includes a python client library for the AT-SPI D-Bus
8814accessibility infrastructure.")
8815 (license license:lgpl2.0)
8816 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8817
8818(define-public orca
8819 (package
8820 (name "orca")
30e76da1 8821 (version "3.34.1")
53201c0d
SB
8822 (source (origin
8823 (method url-fetch)
8824 (uri (string-append
8825 "mirror://gnome/sources/" name "/"
8826 (version-major+minor version) "/"
8827 name "-" version ".tar.xz"))
8828 (sha256
8829 (base32
30e76da1 8830 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
8831 (build-system glib-or-gtk-build-system)
8832 (arguments
8833 '(#:phases
8834 (modify-phases %standard-phases
8835 (add-before 'configure 'qualify-xkbcomp
8836 (lambda* (#:key inputs #:allow-other-keys)
8837 (let ((xkbcomp (string-append
8838 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8839 (substitute* "src/orca/orca.py"
8840 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8841 #t))
8842 (add-after 'install 'wrap-orca
8843 (lambda* (#:key outputs #:allow-other-keys)
8844 (let* ((out (assoc-ref outputs "out"))
8845 (prog (string-append out "/bin/orca")))
8846 (wrap-program prog
8847 `("GI_TYPELIB_PATH" ":" prefix
8848 (,(getenv "GI_TYPELIB_PATH")))
8849 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8850 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8851 `("PYTHONPATH" ":" prefix
8852 (,(getenv "PYTHONPATH")))))
8853 #t)))))
8854 (native-inputs
8855 `(("intltool" ,intltool)
8856 ("itstool" ,itstool)
8857 ("pkg-config" ,pkg-config)
8858 ("xmllint" ,libxml2)))
8859 (inputs
8860 `(("at-spi2-atk" ,at-spi2-atk)
8861 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8862 ("gstreamer" ,gstreamer)
8863 ("gst-plugins-base" ,gst-plugins-base)
8864 ("gst-plugins-good" ,gst-plugins-good)
8865 ("gtk+" ,gtk+)
8866 ("python" ,python)
8867 ("python-pygobject" ,python-pygobject)
8868 ("python-pyatspi" ,python-pyatspi)
8869 ("python-speechd" ,speech-dispatcher)
8870 ("xkbcomp" ,xkbcomp)))
8871 (synopsis
8872 "Screen reader for individuals who are blind or visually impaired")
8873 (home-page "https://wiki.gnome.org/Projects/Orca")
8874 (description
8875 "Orca is a screen reader that provides access to the graphical desktop
8876via speech and refreshable braille. Orca works with applications and toolkits
8877that support the Assistive Technology Service Provider Interface (AT-SPI).")
8878 (license license:lgpl2.1+)))
411ba511
LC
8879
8880(define-public gspell
8881 (package
8882 (name "gspell")
7a6bbe9b 8883 (version "1.8.2")
411ba511
LC
8884 (source (origin
8885 (method url-fetch)
8886 (uri (string-append "mirror://gnome/sources/" name "/"
8887 (version-major+minor version) "/"
8888 name "-" version ".tar.xz"))
8889 (sha256
8890 (base32
7a6bbe9b 8891 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8892 (patches (search-patches "gspell-dash-test.patch"))))
8893 (build-system glib-or-gtk-build-system)
8894 (arguments
d0f50164 8895 '(#:configure-flags (list "--enable-vala")
8896 #:phases
411ba511
LC
8897 (modify-phases %standard-phases
8898 (add-before 'check 'pre-check
8899 (lambda* (#:key inputs #:allow-other-keys)
8900 ;; Tests require a running X server.
8901 (system "Xvfb :1 &")
8902 (setenv "DISPLAY" ":1")
8903
8904 ;; For the missing /etc/machine-id.
8905 (setenv "DBUS_FATAL_WARNINGS" "0")
8906
8907 ;; Allow Enchant and its Aspell backend to find the en_US
8908 ;; dictionary.
8909 (setenv "ASPELL_DICT_DIR"
8910 (string-append (assoc-ref inputs "aspell-dict-en")
8911 "/lib/aspell"))
8912 #t)))))
8913 (inputs
eccd35be 8914 `(("gtk+" ,gtk+)
a801ae4c
TGR
8915 ("glib" ,glib)
8916 ("iso-codes" ,iso-codes)))
411ba511
LC
8917 (native-inputs
8918 `(("glib" ,glib "bin")
26ba3f07 8919 ("gobject-introspection" ,gobject-introspection)
411ba511 8920 ("pkg-config" ,pkg-config)
d0f50164 8921 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
8922 ("xmllint" ,libxml2)
8923
8924 ;; For tests.
a801ae4c 8925 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8926 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8927 (propagated-inputs
9b1bb757 8928 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8929 (home-page "https://wiki.gnome.org/Projects/gspell")
8930 (synopsis "GNOME's alternative spell checker")
8931 (description
8932 "gspell provides a flexible API to add spell-checking to a GTK+
8933application. It provides a GObject API, spell-checking to text entries and
8934text views, and buttons to choose the language.")
8935 (license license:gpl2+)))
d1d739fa
CM
8936
8937(define-public gnome-planner
8938 (package
8939 (name "gnome-planner")
8940 (version "0.14.6")
8941 (source (origin
8942 (method url-fetch)
8943 (uri (string-append "mirror://gnome/sources/planner/"
8944 (version-major+minor version) "/planner-"
8945 version ".tar.xz"))
8946 (sha256
8947 (base32
8948 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8949 (build-system glib-or-gtk-build-system)
8950 (arguments
8951 ;; Disable the Python bindings because the Planner program functions
8952 ;; without them, and (as of 2017-06-13) we have not packaged all of
8953 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8954 `(#:configure-flags
8955 (list "--disable-python"
8956 ,@(if (string=? "aarch64-linux" (%current-system))
8957 '("--build=aarch64-unknown-linux-gnu")
8958 '()))))
d1d739fa
CM
8959 (inputs
8960 `(("libgnomecanvas" ,libgnomecanvas)
8961 ("libgnomeui" ,libgnomeui)
8962 ("libglade" ,libglade)
8963 ("gnome-vfs" ,gnome-vfs)
8964 ("gconf" ,gconf)
8965 ("libxml2" ,libxml2)
8966 ("libxslt" ,libxslt)
8967 ("gtk+" ,gtk+)
8968 ("glib" ,glib)))
8969 (native-inputs
8970 `(("intltool" ,intltool)
8971 ("scrollkeeper" ,scrollkeeper)
8972 ("pkg-config" ,pkg-config)))
8973 (home-page "https://wiki.gnome.org/Apps/Planner")
8974 (synopsis "Project management software for the GNOME desktop")
8975 (description
8976 "GNOME Planner is a project management tool based on the Work Breakdown
8977Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8978the resources, tasks, and constraints that you define, Planner generates
8979various views into a project. For example, Planner can show a Gantt chart of
8980the project. It can show a detailed summary of tasks including their
8981duration, cost, and current progress. It can also show a report of resource
8982utilization that highlights under-utilized and over-utilized resources. These
8983views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8984 (license license:gpl2+)))
64fce637
RS
8985
8986(define-public lollypop
8987 (package
8988 (name "lollypop")
24b5d8f7 8989 (version "1.2.32")
64fce637
RS
8990 (source
8991 (origin
8992 (method url-fetch)
24b5d8f7 8993 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 8994 "lollypop-" version ".tar.xz"))
64fce637 8995 (sha256
24b5d8f7 8996 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 8997 (build-system meson-build-system)
64fce637 8998 (arguments
7a9543d7
TGR
8999 `(#:imported-modules
9000 (,@%meson-build-system-modules
9001 (guix build python-build-system))
9002 #:modules
9003 ((guix build meson-build-system)
9004 ((guix build python-build-system) #:prefix python:)
9005 (guix build utils))
aa498fc0 9006 #:glib-or-gtk? #t
7a9543d7 9007 #:tests? #f ; no test suite
5fc9b6c1
EF
9008 #:phases
9009 (modify-phases %standard-phases
5fc9b6c1
EF
9010 (add-after 'install 'wrap-program
9011 (lambda* (#:key outputs #:allow-other-keys)
9012 (let ((out (assoc-ref outputs "out"))
9013 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9014 (wrap-program (string-append out "/bin/lollypop")
9015 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9016 #t))
8ac8b3b3 9017 (add-after 'install 'wrap-python
7a9543d7 9018 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9019 (native-inputs
9020 `(("intltool" ,intltool)
9021 ("itstool" ,itstool)
aa498fc0
TD
9022 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9023 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9024 ("pkg-config" ,pkg-config)))
9025 (inputs
9026 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9027 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9028 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9029 ("libnotify" ,libnotify)
9030 ("libsecret" ,libsecret)
9031 ("libsoup" ,libsoup)
9032 ("python" ,python)
9033 ("python-beautifulsoup4" ,python-beautifulsoup4)
9034 ("python-gst" ,python-gst)
d029afdd 9035 ("python-pil" ,python-pillow)
64fce637 9036 ("python-pycairo" ,python-pycairo)
cc9c83c5 9037 ("python-pygobject" ,python-pygobject)
64fce637
RS
9038 ("python-pylast" ,python-pylast)
9039 ("totem-pl-parser" ,totem-pl-parser)
9040 ("webkitgtk" ,webkitgtk)))
9041 (propagated-inputs
9042 `(;; gst-plugins-base is required to start Lollypop,
9043 ;; the others are required to play streaming.
64fce637
RS
9044 ("gst-plugins-good" ,gst-plugins-good)
9045 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9046 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9047 (synopsis "GNOME music playing application")
9048 (description
9049 "Lollypop is a music player designed to play well with GNOME desktop.
9050Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9051from artists and tracks from the web. It also fetches cover artworks
9052automatically and it can stream songs from online music services and charts.")
9053 (license license:gpl3+)))
d831d49d
AW
9054
9055(define-public gnome-video-effects
9056 (package
9057 (name "gnome-video-effects")
9058 (version "0.4.3")
9059 (source (origin
9060 (method url-fetch)
9061 (uri (string-append "mirror://gnome/sources/" name "/"
9062 (version-major+minor version) "/" name "-"
9063 version ".tar.xz"))
9064 (sha256
9065 (base32
9066 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9067 (build-system glib-or-gtk-build-system)
9068 (arguments
9069 `(#:out-of-source? #f))
9070 (native-inputs
9071 `(("glib:bin" ,glib "bin")
9072 ("intltool" ,intltool)
9073 ("gettext" ,gettext-minimal)
9074 ("pkg-config" ,pkg-config)))
9075 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9076 (synopsis "Video effects for Cheese and other GNOME applications")
9077 (description
9078 "A collection of GStreamer video filters and effects to be used in
9079photo-booth-like software, such as Cheese.")
9080 (license license:gpl2+)))
3511c780
AW
9081
9082(define-public cheese
9083 (package
9084 (name "cheese")
3a7e066f 9085 (version "3.34.0")
3511c780
AW
9086 (source (origin
9087 (method url-fetch)
9088 (uri (string-append "mirror://gnome/sources/" name "/"
9089 (version-major+minor version) "/" name "-"
9090 version ".tar.xz"))
9091 (sha256
9092 (base32
3a7e066f 9093 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 9094 (arguments
3a7e066f
KK
9095 `(#:glib-or-gtk? #t
9096 ;; Tests require GDK.
9097 #:tests? #f
3511c780
AW
9098 #:phases
9099 (modify-phases %standard-phases
3a7e066f 9100 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
9101 (lambda _
9102 ;; Don't create 'icon-theme.cache'
3a7e066f 9103 (substitute* "meson_post_install.py"
3511c780
AW
9104 (("gtk-update-icon-cache") (which "true")))
9105 #t))
9106 (add-after 'install 'wrap-cheese
9107 (lambda* (#:key inputs outputs #:allow-other-keys)
9108 (let ((out (assoc-ref outputs "out"))
9109 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9110 (wrap-program (string-append out "/bin/cheese")
9111 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9112 #t)))))
3a7e066f 9113 (build-system meson-build-system)
3511c780 9114 (native-inputs
3a7e066f
KK
9115 `(("docbook-xsl" ,docbook-xsl)
9116 ("glib:bin" ,glib "bin")
9117 ("gtk-doc" ,gtk-doc)
3511c780
AW
9118 ("intltool" ,intltool)
9119 ("itstool" ,itstool)
9120 ("libxml2" ,libxml2)
3a7e066f 9121 ("libxslt" ,libxslt)
3511c780
AW
9122 ("pkg-config" ,pkg-config)
9123 ("vala" ,vala)))
9124 (propagated-inputs
6a19f03e
RW
9125 `(("gnome-video-effects" ,gnome-video-effects)
9126 ("clutter" ,clutter)
3511c780
AW
9127 ("clutter-gst" ,clutter-gst)
9128 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9129 ("libcanberra" ,libcanberra)
3511c780
AW
9130 ("gdk-pixbuf" ,gdk-pixbuf)
9131 ("glib" ,glib)
6a19f03e
RW
9132 ("gstreamer" ,gstreamer)))
9133 (inputs
9134 `(("gnome-desktop" ,gnome-desktop)
3511c780 9135 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9136 ("gst-plugins-base" ,gst-plugins-base)
9137 ("gst-plugins-bad" ,gst-plugins-bad)
9138 ("gtk+" ,gtk+)
3511c780
AW
9139 ("libx11" ,libx11)
9140 ("libxtst" ,libxtst)))
9141 (home-page "https://wiki.gnome.org/Apps/Cheese")
9142 (synopsis "Webcam photo booth software for GNOME")
9143 (description
9144 "Cheese uses your webcam to take photos and videos. Cheese can also
9145apply fancy special effects and lets you share the fun with others.")
9146 (license license:gpl2+)))
3c5dbd2b 9147
9148(define-public sound-juicer
9149 (package
9150 (name "sound-juicer")
9151 (version "3.24.0")
9152 (source
9153 (origin
9154 (method url-fetch)
9155 (uri (string-append "mirror://gnome/sources/" name "/"
9156 (version-major+minor version) "/"
9157 name "-" version ".tar.xz"))
9158 (sha256
9159 (base32
9160 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9161 (build-system glib-or-gtk-build-system)
9162 (native-inputs
9163 `(("desktop-file-utils" ,desktop-file-utils)
9164 ("intltool" ,intltool)
9165 ("itstool" ,itstool)
9166 ("pkg-config" ,pkg-config)
9167 ("xmllint" ,libxml2)))
9168 (inputs
9169 `(("gtk+" ,gtk+)
9170 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9171 ("gstreamer" ,gstreamer)
9172 ("gst-plugins-base" ,gst-plugins-base)
9173 ("gst-plugins-good" ,gst-plugins-good)
9174 ("iso-codes" ,iso-codes)
9175 ("libbrasero-media3" ,brasero)
9176 ("libcanberra" ,libcanberra)
9177 ("libdiscid" ,libdiscid)
9178 ("libmusicbrainz" ,libmusicbrainz)
9179 ("neon" ,neon)))
9180 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9181 (synopsis "Audio music cd ripper")
9182 (description "Sound Juicer extracts audio from compact discs and convert it
9183into audio files that a personal computer or digital audio player can play.
9184It supports ripping to any audio codec supported by a GStreamer plugin, such as
9185mp3, Ogg Vorbis and FLAC")
9186 (license license:gpl2+)))
4e3fdeb7 9187
0d3f1708
CB
9188(define-public soundconverter
9189 (package
9190 (name "soundconverter")
fa75a213 9191 (version "3.0.1")
0d3f1708
CB
9192 (source
9193 (origin
9194 (method url-fetch)
9195 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9196 version "/+download/"
9197 "soundconverter-" version ".tar.xz"))
9198
9199 (sha256
fa75a213 9200 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
9201 (patches
9202 (search-patches
9203 "soundconverter-remove-gconf-dependency.patch"))))
9204 (build-system glib-or-gtk-build-system)
9205 (arguments
9206 `(#:imported-modules ((guix build python-build-system)
9207 (guix build glib-or-gtk-build-system)
9208 ,@%gnu-build-system-modules)
9209
9210 #:modules ((guix build glib-or-gtk-build-system)
9211 (guix build utils)
9212 ((guix build gnu-build-system) #:prefix gnu:)
9213 ((guix build python-build-system) #:prefix python:))
9214
9215 #:phases
9216 (modify-phases %standard-phases
0d3f1708
CB
9217 (add-after 'install 'wrap-soundconverter-for-python
9218 (assoc-ref python:%standard-phases 'wrap))
9219 (add-after 'install 'wrap-soundconverter
9220 (lambda* (#:key inputs outputs #:allow-other-keys)
9221 (let ((out (assoc-ref outputs "out"))
9222 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9223 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9224 (wrap-program (string-append out "/bin/soundconverter")
9225 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9226 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9227 #t)))))
9228 (native-inputs
9229 `(("intltool" ,intltool)
9230 ("pkg-config" ,pkg-config)
9231 ("glib:bin" ,glib "bin")))
9232 (inputs
9233 `(("gtk+" ,gtk+)
9234 ("python" ,python)
9235 ("python-pygobject" ,python-pygobject)
9236 ("gstreamer" ,gstreamer)
9237 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9238 (home-page "https://soundconverter.org/")
0d3f1708
CB
9239 (synopsis "Convert between audio formats with a graphical interface")
9240 (description
9241 "SoundConverter supports converting between many audio formats including
9242Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9243configurable file renaming. ")
9244 (license license:gpl3)))
9245
4e3fdeb7 9246(define-public workrave
89f2d736
TGR
9247 (package
9248 (name "workrave")
52fc6508 9249 (version "1.10.42")
89f2d736
TGR
9250 (source
9251 (origin
9252 (method git-fetch)
9253 (uri (git-reference
9254 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9255 (commit (string-append "v" (string-map
9256 (match-lambda (#\. #\_) (chr chr))
9257 version)))))
89f2d736
TGR
9258 (file-name (git-file-name name version))
9259 (sha256
52fc6508 9260 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 9261 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9262 (arguments
9263 ;; The only tests are maintainer tests (in po/), which fail.
9264 `(#:tests? #f))
d1c96847
MC
9265 (inputs `(("glib" ,glib)
9266 ("gtk+" ,gtk+)
9267 ("gdk-pixbuf" ,gdk-pixbuf)
9268 ("gtkmm" ,gtkmm)
9269 ("glibmm" ,glibmm)
9270 ("libx11" ,libx11)
9271 ("libxtst" ,libxtst)
9272 ("dconf" ,dconf)
9273 ("libice" ,libice)
9274 ("libsm" ,libsm)
9275 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9276 (native-inputs `(("boost" ,boost)
89f2d736 9277 ("pkg-config" ,pkg-config)
f2d97d57 9278 ("gettext" ,gettext-minimal)
89f2d736
TGR
9279 ("autoconf" ,autoconf)
9280 ("autoconf-archive" , autoconf-archive)
9281 ("automake" ,automake)
9282 ("libtool" ,libtool)
9283 ("intltool" ,intltool)
89f2d736 9284 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9285 ("python3" ,python-3)
9286 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9287 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9288 (description
9289 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9290repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9291micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9292 (home-page "http://www.workrave.org")
9293 (license license:gpl3+)))
312afa7d
LC
9294
9295(define-public ghex
9296 (package
9297 (name "ghex")
3748992a 9298 (version "3.18.4")
312afa7d
LC
9299 (source (origin
9300 (method url-fetch)
2fbab848 9301 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9302 (version-major+minor version) "/"
2fbab848 9303 "ghex-" version ".tar.xz"))
312afa7d
LC
9304 (sha256
9305 (base32
3748992a
KK
9306 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9307 (build-system meson-build-system)
9308 (arguments
9309 '(#:glib-or-gtk? #t
9310 #:phases
9311 (modify-phases %standard-phases
9312 (add-after 'unpack 'skip-gtk-update-icon-cache
9313 ;; Don't create 'icon-theme.cache'.
9314 (lambda _
9315 (substitute* "meson_post_install.py"
9316 (("gtk-update-icon-cache") (which "true")))
9317 #t)))))
312afa7d
LC
9318 (native-inputs
9319 `(("pkg-config" ,pkg-config)
3748992a 9320 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9321 ("gnome-common" ,gnome-common)
9322 ("which" ,which)
9323 ("intltool" ,intltool)
9324 ("yelp-tools" ,yelp-tools)
2fbab848 9325 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9326 (inputs
9327 `(("atk" ,atk)
9328 ("gtk" ,gtk+)))
9329 (synopsis "GNOME hexadecimal editor")
9330 (description "The GHex program can view and edit files in two ways:
9331hexadecimal or ASCII. It is useful for editing binary files in general.")
9332 (home-page "https://wiki.gnome.org/Apps/Ghex")
9333 (license license:gpl2)))
4b2ed6c2
RW
9334
9335(define-public libdazzle
9336 (package
9337 (name "libdazzle")
c94db354 9338 (version "3.34.1")
4b2ed6c2
RW
9339 (source (origin
9340 (method url-fetch)
687b4909 9341 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9342 (version-major+minor version) "/"
687b4909 9343 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9344 (sha256
9345 (base32
c94db354 9346 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
9347 (build-system meson-build-system)
9348 (arguments
9349 `(#:phases
9350 (modify-phases %standard-phases
4b2ed6c2
RW
9351 (add-before 'check 'pre-check
9352 (lambda _
9353 ;; Tests require a running X server.
9354 (system "Xvfb :1 &")
9355 (setenv "DISPLAY" ":1")
9356 #t)))))
9357 (native-inputs
687b4909 9358 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9359 ("pkg-config" ,pkg-config)
687b4909 9360 ;; For tests.
ff337525 9361 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9362 (inputs
9363 `(("glib" ,glib)
9364 ("gobject-introspection" ,gobject-introspection)
9365 ("gtk+" ,gtk+)
9366 ("vala" ,vala)))
9367 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9368 (synopsis "Companion library to GObject and Gtk+")
9369 (description "The libdazzle library is a companion library to GObject and
9370Gtk+. It provides various features that the authors wish were in the
9371underlying library but cannot for various reasons. In most cases, they are
9372wildly out of scope for those libraries. In other cases, they are not quite
9373generic enough to work for everyone.")
9374 (license license:gpl3+)))
7d3bb433
RW
9375
9376(define-public evolution
9377 (package
9378 (name "evolution")
0662fe86 9379 (version "3.34.2")
7d3bb433
RW
9380 (source (origin
9381 (method url-fetch)
9382 (uri (string-append "mirror://gnome/sources/evolution/"
9383 (version-major+minor version) "/"
9384 "evolution-" version ".tar.xz"))
9385 (sha256
9386 (base32
0662fe86 9387 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
9388 (build-system cmake-build-system)
9389 (arguments
5229bea1
KK
9390 `(#:imported-modules (,@%cmake-build-system-modules
9391 (guix build glib-or-gtk-build-system))
9392 #:modules ((guix build cmake-build-system)
9393 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9394 (guix build utils))
9395 #:configure-flags
7d3bb433 9396 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9397 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9398 ; in four years and cannot be built.
5229bea1
KK
9399 #:phases
9400 (modify-phases %standard-phases
9401 ;; The build system attempts to install user interface modules to the
9402 ;; output directory of the "evolution-data-server" package. This
9403 ;; change redirects that change.
9404 (add-after 'unpack 'patch-ui-module-dir
9405 (lambda* (#:key outputs #:allow-other-keys)
9406 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9407 (("\\$\\{edsuimoduledir\\}")
9408 (string-append (assoc-ref outputs "out")
9409 "/lib/evolution-data-server/ui-modules")))
9410 #t))
9411 (add-after 'install 'glib-or-gtk-compile-schemas
9412 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9413 (add-after 'install 'glib-or-gtk-wrap
9414 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9415 (native-inputs
ad6e168b 9416 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9417 ("pkg-config" ,pkg-config)
9418 ("intltool" ,intltool)
9419 ("itstool" ,itstool)))
9420 (inputs
9421 `(("enchant" ,enchant)
9422 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9423 ("gcr" ,gcr)
ad6e168b 9424 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9425 ("gnome-autoar" ,gnome-autoar)
9426 ("gnome-desktop" ,gnome-desktop)
0662fe86 9427 ("gspell" ,gspell)
7d3bb433
RW
9428 ("highlight" ,highlight)
9429 ("libcanberra" ,libcanberra)
9430 ("libgweather" ,libgweather)
9431 ("libnotify" ,libnotify)
9432 ("libsoup" ,libsoup)
9433 ("nss" ,nss)
9434 ("openldap" ,openldap)
9435 ("webkitgtk" ,webkitgtk)
9436 ("ytnef" ,ytnef)))
9437 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9438 (synopsis "Manage your email, contacts and schedule")
9439 (description "Evolution is a personal information management application
9440that provides integrated mail, calendaring and address book
9441functionality.")
9442 ;; See COPYING for details.
23dbe621 9443 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9444 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9445 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9446
9447(define-public gthumb
9448 (package
9449 (name "gthumb")
8280676b 9450 (version "3.8.2")
169d63f5
AT
9451 (source (origin
9452 (method url-fetch)
9453 (uri (string-append "mirror://gnome/sources/gthumb/"
9454 (version-major+minor version) "/"
9455 "gthumb-" version ".tar.xz"))
9456 (sha256
9457 (base32
8280676b 9458 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9459 (build-system meson-build-system)
9460 (arguments
9461 `(#:glib-or-gtk? #t
9462 #:configure-flags
9463 ;; Ensure the RUNPATH contains all installed library locations.
9464 (list (string-append "-Dc_link_args=-Wl,-rpath="
9465 (assoc-ref %outputs "out")
9466 "/lib/gthumb/extensions")
9467 (string-append "-Dcpp_link_args=-Wl,-rpath="
9468 (assoc-ref %outputs "out")
9469 "/lib/gthumb/extensions"))))
9470 (native-inputs
9471 `(("pkg-config" ,pkg-config)
9472 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9473 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9474 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9475 ("intltool" ,intltool)
9476 ("itstool" ,itstool)))
9477 (inputs
9478 `(("exiv2" ,exiv2)
9479 ("gtk" ,gtk+)
9480 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9481 ("gstreamer" ,gstreamer)
9482 ("clutter" ,clutter)
9483 ("clutter-gst" ,clutter-gst)
9484 ("clutter-gtk" ,clutter-gtk)
4bd428a7 9485 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
9486 ("libtiff" ,libtiff)
9487 ("libraw" ,libraw)))
9488 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9489 (synopsis "GNOME image viewer and browser")
9490 (description "GThumb is an image viewer, browser, organizer, editor and
9491advanced image management tool")
9492 (license license:gpl2+)))
08be02be
AT
9493
9494(define-public terminator
9495 (package
9496 (name "terminator")
9497 (version "1.91")
9498 (source (origin
9499 (method url-fetch)
9500 (uri (string-append "https://launchpad.net/" name "/"
9501 "gtk3/" version "/" "+download/"
9502 name "-" version ".tar.gz"))
9503 (sha256
9504 (base32
9505 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9506 (build-system python-build-system)
9507 (native-inputs
9508 `(("intltool" ,intltool)
9509 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9510 ("gettext" ,gettext-minimal)
9511 ("pkg-config" ,pkg-config)))
9512 (inputs
9513 `(("cairo" ,cairo)
9514 ("gobject-introspection" ,gobject-introspection)
96681d4b 9515 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9516 ("python2-pycairo" ,python2-pycairo)
9517 ("python2-pygobject" ,python2-pygobject)
9518 ("python2-psutil" ,python2-psutil)
9519 ("vte" ,vte)))
9520 (arguments
96681d4b
TGR
9521 `(#:python ,python-2 ; Python 3 isn't supported
9522 #:imported-modules ((guix build glib-or-gtk-build-system)
9523 ,@%python-build-system-modules)
9524 #:modules ((guix build python-build-system)
9525 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9526 (guix build utils))
08be02be
AT
9527 #:phases
9528 (modify-phases %standard-phases
9529 (add-after
9530 'install 'wrap-program
9531 (lambda* (#:key outputs #:allow-other-keys)
9532 (let ((prog (string-append (assoc-ref outputs "out")
9533 "/bin/terminator")))
9534 (wrap-program prog
9535 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9536 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9537 #t)))
9538 (add-after 'wrap-program 'glib-or-gtk-wrap
9539 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9540 (home-page "https://gnometerminator.blogspot.com/")
9541 (synopsis "Store and run multiple GNOME terminals in one window")
9542 (description
9543 "Terminator allows you to run multiple GNOME terminals in a grid and
9544+tabs, and it supports drag and drop re-ordering of terminals.")
9545 (license license:gpl2)))
213315d4
JF
9546
9547(define-public libhandy
9548 (package
9549 (name "libhandy")
f6501b9f 9550 (version "0.0.12")
213315d4
JF
9551 (source
9552 (origin
9553 (method git-fetch)
9554 (uri (git-reference
9555 (url "https://source.puri.sm/Librem5/libhandy")
9556 (commit (string-append "v" version))))
9557 (file-name (git-file-name name version))
9558 (sha256
f6501b9f 9559 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9560 (build-system meson-build-system)
9561 (arguments
9562 `(#:configure-flags
9563 '("-Dglade_catalog=disabled"
9564 "-Dgtk_doc=true")
9565 #:phases
9566 (modify-phases %standard-phases
213315d4
JF
9567 (add-before 'check 'pre-check
9568 (lambda _
9569 ;; Tests require a running X server.
9570 (system "Xvfb :1 &")
9571 (setenv "DISPLAY" ":1")
9572 #t)))))
9573 (inputs
9574 `(("gtk+" ,gtk+)))
9575 (native-inputs
9576 `(("glib:bin" ,glib "bin")
9577 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9578 ("vala" ,vala)
9579 ("gtk-doc" ,gtk-doc)
9580 ("pkg-config" ,pkg-config)
9581 ("gettext" ,gettext-minimal)
d41ee146
TGR
9582
9583 ;; Test suite dependencies.
ff337525 9584 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9585 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9586 (home-page "https://source.puri.sm/Librem5/libhandy")
9587 (synopsis "Library full of GTK+ widgets for mobile phones")
9588 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9589interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9590for usage on small and big screens.")
213315d4 9591 (license license:lgpl2.1+)))
a830d14d
GL
9592
9593(define-public libgit2-glib
9594 (package
9595 (name "libgit2-glib")
6448c2e1 9596 (version "0.99.0.1")
a830d14d
GL
9597 (source (origin
9598 (method url-fetch)
9599 (uri (string-append "mirror://gnome/sources/" name "/"
9600 (version-major+minor version) "/"
9601 name "-" version ".tar.xz"))
9602 (sha256
9603 (base32
6448c2e1 9604 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9605 (build-system meson-build-system)
9606 (native-inputs
9607 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9608 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9609 ("pkg-config" ,pkg-config)
9610 ("python-pygobject" ,python-pygobject)
9611 ("python-wrapper" ,python-wrapper)
9612 ("vala" ,vala)))
9613 (inputs
9614 `(("glib" ,glib)
8c6aae46
MB
9615 ("libssh2" ,libssh2)))
9616 (propagated-inputs
9617 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9618 ("libgit2" ,libgit2)))
9619 (synopsis "GLib wrapper around the libgit2 Git access library")
9620 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9621access library. It only implements the core plumbing functions, not really the
9622higher level porcelain stuff.")
9623 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9624 (license license:gpl2+)))
93beace0 9625
08db81c9
LP
9626(define-public gitg
9627 (package
9628 (name "gitg")
9629 (version "3.32.1")
9630 (source (origin
9631 (method url-fetch)
9632 (uri (string-append "mirror://gnome/sources/" name "/"
9633 (version-major+minor version) "/"
9634 name "-" version ".tar.xz"))
9635 (sha256
9636 (base32
9637 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9638 (build-system meson-build-system)
9639 (arguments
9640 `(#:glib-or-gtk? #t
9641 #:phases
9642 (modify-phases %standard-phases
9643 (add-after 'unpack 'disable-post-install-partially
9644 (lambda _
9645 (substitute* "meson_post_install.py"
9646 (("'python'") ; there are no python sources to compile
9647 (string-append "'" (which "true") "'"))
9648 (("gtk-update-icon-cache") (which "true")))
9649 #t))
9650 (add-after 'unpack 'fix-test-sources
9651 (lambda _
9652 (substitute* "tests/libgitg/test-commit.vala"
9653 (("/bin/bash") (which "bash")))
9654 #t))
9655 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9656 (lambda* (#:key outputs #:allow-other-keys)
9657 (let ((prog (string-append (assoc-ref outputs "out")
9658 "/bin/gitg")))
9659 (wrap-program prog
9660 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9661 #t))))))
9662 (inputs
9663 `(("glib" ,glib)
9664 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9665 ("gtk+" ,gtk+)
9666 ("gtkspell3" ,gtkspell3)
9667 ("gtksourceview" ,gtksourceview-3)
9668 ("json-glib" ,json-glib)
9669 ("libdazzle" ,libdazzle)
9670 ("libgee" ,libgee)
08db81c9
LP
9671 ("libgit2-glib" ,libgit2-glib)
9672 ("libpeas" ,libpeas)
9673 ("libsecret" ,libsecret)
9674 ("libsoup" ,libsoup)
9675 ("libxml2" ,libxml2)))
9676 (native-inputs
9677 `(("glib:bin" ,glib "bin")
9678 ("gtk+:bin" ,gtk+ "bin")
9679 ("gobject-introspection" ,gobject-introspection)
9680 ("intltool" ,intltool)
9681 ("pkg-config" ,pkg-config)
9682 ("vala" ,vala)))
9683 (synopsis "Graphical user interface for git")
9684 (description
9685 "gitg is a graphical user interface for git. It aims at being a small,
9686fast and convenient tool to visualize the history of git repositories.
9687Besides visualization, gitg also provides several utilities to manage your
9688repository and commit your work.")
9689 (home-page "https://wiki.gnome.org/Apps/Gitg")
9690 (license license:gpl2+)))
9691
1e600ed0
RW
9692(define-public gamin
9693 (package
9694 (name "gamin")
9695 (version "0.1.10")
9696 (source (origin
9697 (method url-fetch)
9698 (uri (string-append "mirror://gnome/sources/" name "/"
9699 (version-major+minor version) "/"
9700 name "-" version ".tar.bz2"))
9701 (sha256
9702 (base32
9703 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9704 (build-system gnu-build-system)
9705 (arguments
9706 `(#:phases
9707 (modify-phases %standard-phases
9708 (add-after 'unpack 'remove-deprecated-macro
9709 (lambda _
9710 (substitute* '("server/gam_node.c"
9711 "server/gam_subscription.h"
9712 "server/gam_node.h"
9713 "server/gam_subscription.c")
9714 (("G_CONST_RETURN") "const"))
9715 #t)))))
9716 (inputs
9717 `(("glib" ,glib)))
9718 (native-inputs
9719 `(("intltool" ,intltool)
9720 ("pkg-config" ,pkg-config)))
9721 (home-page "https://people.gnome.org/~veillard/gamin/")
9722 (synopsis "File alteration monitor")
9723 (description
9724 "Gamin is a file and directory monitoring system defined to be a subset
9725of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 9726library which detects when a file or a directory has been modified.")
1e600ed0
RW
9727 (license license:gpl2+)))
9728
93beace0
DW
9729(define-public gnome-mahjongg
9730 (package
9731 (name "gnome-mahjongg")
9732 (version "3.35.1")
9733 (source (origin
9734 (method git-fetch)
9735 (uri (git-reference
9736 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9737 (commit version)))
9738 (file-name (git-file-name name version))
9739 (sha256
9740 (base32
9741 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9742 (build-system meson-build-system)
9743 (arguments
9744 `(#:glib-or-gtk? #t))
9745 (native-inputs
9746 `(("appstream-glib" ,appstream-glib)
9747 ("gettext" ,gettext-minimal)
9748 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9749 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9750 ("itstool" ,itstool)
9751 ("pkg-config" ,pkg-config)
9752 ("vala" ,vala)))
9753 (propagated-inputs
9754 `(("dconf" ,dconf)))
9755 (inputs
9756 `(("glib" ,glib)
9757 ("gtk+" ,gtk+)
9758 ("librsvg" ,librsvg)))
9759 (synopsis "Mahjongg tile-matching game")
9760 (description "GNOME Mahjongg is a game based on the classic Chinese
9761tile-matching game Mahjong. It features multiple board layouts, tile themes,
9762and a high score table.")
9763 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9764 (license license:gpl2+)))
f825476c 9765
76ea7632
RG
9766(define-public gnome-themes-extra
9767 (package
9768 (name "gnome-themes-extra")
9769 (version "3.28")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri (string-append "mirror://gnome/sources/" name "/"
9774 (version-major+minor version) "/" name "-"
9775 version ".tar.xz"))
9776 (sha256
9777 (base32
9778 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9779 (build-system gnu-build-system)
885424bf
RG
9780 (arguments
9781 '(#:configure-flags
9782 ;; Don't create 'icon-theme.cache'.
9783 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9784 (true (string-append coreutils "/bin/true")))
9785 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9786 (native-inputs
9787 `(("glib:bin" ,glib "bin")
9788 ("intltool" ,intltool)
9789 ("pkg-config" ,pkg-config)))
9790 (inputs
9791 `(("glib" ,glib)
9792 ("gtk+" ,gtk+)
9793 ("gtk+-2" ,gtk+-2)
9794 ("librsvg" ,librsvg)
9795 ("libxml2" ,libxml2)))
9796 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9797 (synopsis "GNOME Extra Themes")
9798 (description "This package provides themes and related elements that don't
9799really fit in other upstream packages. It offers legacy support for GTK+ 2
9800versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9801index files needed for Adwaita to be used outside of GNOME.")
9802 (license license:lgpl2.1+)))
9803
f825476c
LP
9804(define-public polari
9805 (package
9806 (name "polari")
9807 (version "3.32.2")
9808 (source (origin
9809 (method url-fetch)
9810 (uri (string-append "mirror://gnome/sources/polari/"
9811 (version-major+minor version)
9812 "/polari-" version ".tar.xz"))
9813 (sha256
9814 (base32
9815 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9816 (build-system meson-build-system)
9817 (arguments
9818 `(#:glib-or-gtk? #t
9819 #:phases
9820 (modify-phases %standard-phases
9821 (add-after 'unpack 'skip-gtk-update-icon-cache
9822 (lambda _
9823 (substitute* "meson/meson-postinstall.sh"
9824 (("gtk-update-icon-cache") (which "true")))
9825 #t))
9826 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9827 (lambda* (#:key outputs #:allow-other-keys)
9828 (let ((prog (string-append (assoc-ref outputs "out")
9829 "/bin/polari")))
9830 (wrap-program prog
9831 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9832 #t))))))
9833 (inputs
9834 `(("glib" ,glib)
9835 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9836 ("gspell" ,gspell)
9837 ("gtk+" ,gtk+)
9838 ("gjs" ,gjs)
9839 ("libsecret" ,libsecret)
9840 ("libsoup" ,libsoup)
9841 ("telepathy-glib" ,telepathy-glib)
9842 ("telepathy-logger" ,telepathy-logger)))
9843 (native-inputs
9844 `(("glib:bin" ,glib "bin")
9845 ("gobject-introspection" ,gobject-introspection)
9846 ("intltool" ,intltool)
9847 ("pkg-config" ,pkg-config)
9848 ("yelp-tools" ,yelp-tools)))
9849 (propagated-inputs
9850 `(("telepathy-idle" ,telepathy-idle)
9851 ("telepathy-mission-control" ,telepathy-mission-control)))
9852 (synopsis "Simple IRC Client")
9853 (description
9854 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9855integrate seamlessly with the GNOME desktop.")
9856 (home-page "https://wiki.gnome.org/Apps/Polari")
9857 (license license:gpl2+)))
59d4c8c2
PN
9858
9859(define-public gnome-boxes
9860 (package
9861 (name "gnome-boxes")
9862 (version "3.35.91")
9863 (source
9864 (origin
9865 (method url-fetch)
9866 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9867 (version-major+minor version) "/"
9868 "gnome-boxes-" version ".tar.xz"))
9869 (sha256
9870 (base32
9871 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9872 (build-system meson-build-system)
9873 (arguments
9874 '(#:glib-or-gtk? #t
9875 #:configure-flags (list "-Drdp=false"
9876 (string-append "-Dc_link_args=-Wl,-rpath="
9877 (assoc-ref %outputs "out")
9878 "/lib/gnome-boxes"))))
9879 (native-inputs
9880 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9881 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9882 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9883 ("itstool" ,itstool)
9884 ("intltool" ,intltool)
9885 ("vala" ,vala)
9886 ("pkg-config" ,pkg-config)))
9887 (inputs
9888 `(("libarchive" ,libarchive)
9889 ("gtk" ,gtk+)
9890 ("gtk-vnc" ,gtk-vnc)
9891 ("libosinfo" ,libosinfo)
9892 ("libsecret" ,libsecret)
9893 ("libsoup" ,libsoup)
9894 ("libusb" ,libusb)
9895 ("libvirt" ,libvirt)
9896 ("libvirt-glib" ,libvirt-glib)
9897 ("libxml" ,libxml2)
9898 ("spice-gtk" ,spice-gtk)
9899 ("sparql-query" ,sparql-query)
9900 ("vte" ,vte)
9901 ("webkitgtk" ,webkitgtk)
9902 ("tracker" ,tracker)
9903 ("libgudev" ,libgudev)))
9904 (home-page "https://wiki.gnome.org/Apps/Boxes")
9905 (synopsis "View, access, and manage remote and virtual systems")
9906 (description "GNOME Boxes is a simple application to view, access, and
9907manage remote and virtual systems.")
9908 (license (list
9909 ;; For data/icons/empty-boxes.png.
9910 license:cc-by2.0
9911 ;; For all others.
9912 license:lgpl2.0+))))
0e26c3cf 9913
9914(define-public geary
9915 (package
9916 (name "geary")
9917 (version "3.34.1")
9918 (source (origin
9919 (method git-fetch)
9920 (uri (git-reference
9921 (url "https://gitlab.gnome.org/GNOME/geary")
9922 (commit version)))
9923 (file-name (git-file-name name version))
9924 (sha256
9925 (base32
9926 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
9927 (build-system meson-build-system)
9928 (arguments
9929 `(#:glib-or-gtk? #t
9930 #:phases (modify-phases %standard-phases
9931 (add-after 'unpack 'disable-failing-tests
9932 (lambda _
9933 (substitute* "test/meson.build"
9934 (("test\\('client-tests', geary_test_client_bin\\)")
9935 ""))
9936 #t))
9937 (add-after 'unpack 'disable-postinstall-script
9938 (lambda _
9939 (substitute* "meson.build"
9940 (("meson.add_install_script\\(\
9941join_paths\\('build-aux', 'post_install.py'\\)\\)")
9942 ""))
9943 #t))
9944 (add-before 'check 'setup-xvfb
9945 (lambda _
9946 (system "Xvfb :1 &")
9947 (setenv "DISPLAY" ":1")
9948 #t)))))
9949 (inputs
9950 `(("enchant" ,enchant)
9951 ("folks" ,folks)
9952 ("gcr" ,gcr)
9953 ("glib" ,glib)
9954 ("gmime" ,gmime-2.6)
9955 ("gnome-online-accounts:lib"
9956 ,gnome-online-accounts "lib")
9957 ("gspell" ,gspell)
9958 ("gtk+" ,gtk+)
9959 ("iso-codes" ,iso-codes)
9960 ("json-glib" ,json-glib)
9961 ("libcanberra" ,libcanberra)
9962 ("libgee" ,libgee)
9963 ("libhandy" ,libhandy)
9964 ("libpeas" ,libpeas)
9965 ("libsecret" ,libsecret)
9966 ("libunwind" ,libunwind)
9967 ("sqlite" ,sqlite)
9968 ("webkitgtk" ,webkitgtk)
9969 ("ytnef" ,ytnef)))
9970 (native-inputs
9971 `(("appstream-glib" ,appstream-glib)
9972 ("cmake-minimal" ,cmake-minimal)
9973 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 9974 ("gettext" ,gettext-minimal)
0e26c3cf 9975 ("glib:bin" ,glib "bin")
9976 ("gobject-introspection" ,gobject-introspection)
9977 ("itstool" ,itstool)
9978 ("libarchive" ,libarchive)
9979 ("libxml2" ,libxml2)
9980 ("pkg-config" ,pkg-config)
9981 ("vala" ,vala)
9982 ("xvfb" ,xorg-server-for-tests)))
9983 (synopsis "GNOME email application built around conversations")
9984 (description
9985 "Geary collects related messages together into conversations,
9986making it easy to find and follow your discussions. Full-text and keyword
9987search makes it easy to find the email you are looking for. Geary's
9988full-featured composer lets you send rich, styled text with images, links, and
9989lists, but also send lightweight, easy to read text messages. Geary
9990automatically picks up your existing GNOME Online Accounts, and adding more is
9991easy. Geary has a clean, fast, modern interface that works like you want it
9992to.")
9993 (home-page "https://wiki.gnome.org/Apps/Geary")
9994 (license (list
9995 ;; geary
9996 license:lgpl2.1+
9997 ;; icons
9998 license:cc-by3.0
9999 license:cc-by-sa3.0
10000 license:public-domain
10001 ;; snowball
10002 license:bsd-2))))
1a17d21b 10003
2cd1de32
BT
10004(define-public libratbag
10005 (package
10006 (name "libratbag")
10007 (version "0.13")
10008 (source
10009 (origin
10010 (method git-fetch)
10011 (uri (git-reference
10012 (url "https://github.com/libratbag/libratbag.git")
10013 (commit (string-append "v" version))))
10014 (file-name (git-file-name name version))
10015 (sha256
10016 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10017 (build-system meson-build-system)
10018 (arguments
10019 `(#:configure-flags
10020 (list "-Dsystemd=false"
10021 "-Dlogind-provider=elogind")
10022 #:phases
10023 (modify-phases %standard-phases
10024 (add-after 'install 'wrap
10025 (lambda* (#:key inputs outputs #:allow-other-keys)
10026 (let* ((out (assoc-ref outputs "out"))
10027 (site (string-append
10028 "/lib/python"
10029 ,(version-major+minor (package-version python))
10030 "/site-packages"))
10031 (evdev (string-append
10032 (assoc-ref inputs "python-evdev") site))
10033 (pygo (string-append
10034 (assoc-ref inputs "python-pygobject") site))
10035 (python-wrap
10036 `("PYTHONPATH" = (,evdev ,pygo))))
10037 (wrap-program (string-append out "/bin/" "ratbagctl")
10038 python-wrap)
10039 #t))))))
10040 (native-inputs
10041 `(("check" ,check)
10042 ("pkg-config" ,pkg-config)
10043 ("swig" ,swig)
10044 ("valgrind" ,valgrind)))
10045 (inputs
10046 `(("glib" ,glib)
10047 ("json-glib" ,json-glib)
10048 ("libevdev" ,libevdev)
10049 ("libsystemd" ,elogind)
10050 ("libunistring" ,libunistring)
10051 ("python-evdev" ,python-evdev)
10052 ("python-pygobject" ,python-pygobject)
10053 ("udev" ,eudev)))
10054 (home-page "https://github.com/libratbag/libratbag")
10055 (synopsis "DBus daemon and utility for configuring gaming mice")
10056 (description "libratbag provides @command{ratbagd}, a DBus daemon to
10057configure input devices, mainly gaming mice. The daemon provides a generic
10058way to access the various features exposed by these mice and abstracts away
10059hardware-specific and kernel-specific quirks. There is also the
10060@command{ratbagctl} command line interface for configuring devices.
10061
10062libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
10063Steelseries.
10064
10065The ratbagd DBus service can be enabled by adding the following service to
10066your operating-system definition:
10067
10068 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10069 (license license:expat)))
10070
50d31a40
BT
10071(define-public piper
10072 (package
10073 (name "piper")
10074 (version "0.4")
10075 (source
10076 (origin
10077 (method git-fetch)
10078 (uri (git-reference
10079 (url "https://github.com/libratbag/piper.git")
10080 (commit version)))
10081 (sha256
10082 (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg"))))
10083 (build-system meson-build-system)
10084 (native-inputs
10085 `(("gettext" ,gettext-minimal)
10086 ("glib:bin" ,glib "bin")
10087 ("gobject-introspection" ,gobject-introspection)
10088 ("pkg-config" ,pkg-config)
10089 ("python-flake8" ,python-flake8)))
10090 (inputs
10091 `(("adwaita-icon-theme" ,adwaita-icon-theme)
10092 ("gtk" ,gtk+)
10093 ("gtk:bin" ,gtk+ "bin")
10094 ("librsvg" ,librsvg)
10095 ("python-evdev" ,python-evdev)
10096 ("python-lxml" ,python-lxml)
10097 ("python-pycairo" ,python-pycairo)
10098 ("python-pygobject" ,python-pygobject)))
10099 (arguments
10100 `(#:imported-modules ((guix build python-build-system)
10101 ,@%meson-build-system-modules)
10102 #:modules (((guix build python-build-system) #:prefix python:)
10103 (guix build meson-build-system)
10104 (guix build utils))
10105 #:phases
10106 (modify-phases %standard-phases
10107 (add-after 'unpack 'dont-update-gtk-icon-cache
10108 (lambda _
10109 (substitute* "meson.build"
10110 (("meson.add_install_script('meson_install.sh')") ""))
10111 #t))
10112 ;; TODO: Switch to wrap-script when it is fixed.
10113 (add-after 'install 'wrap-python
10114 (assoc-ref python:%standard-phases 'wrap))
10115 (add-after 'wrap-python 'wrap
10116 (lambda* (#:key outputs #:allow-other-keys)
10117 (wrap-program
10118 (string-append (assoc-ref outputs "out" )"/bin/piper")
10119 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10120 #t)))))
10121 (home-page "https://github.com/libratbag/piper/")
10122 (synopsis "Configure bindings and LEDs on gaming mice")
10123 (description "Piper is a GTK+ application for configuring gaming mice with
10124onboard configuration for key bindings via libratbag. Piper requires
10125a @command{ratbagd} daemon running with root privileges. It can be run
10126manually as root, but is preferably configured as a DBus service that can
10127launch on demand. This can be configured by enabling the following service,
10128provided there is a DBus service present:
10129
10130 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10131 (license license:gpl2)))
10132
1a17d21b
NG
10133(define-public parlatype
10134 ;; This is one commit away from 2.0, because the latter introduced
10135 ;; a regression in ASR.
10136 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
10137 (revision "0"))
10138 (package
10139 (name "parlatype")
10140 (version (git-version "2.0" revision commit))
10141 (source
10142 (origin
10143 (method git-fetch)
10144 (uri (git-reference
10145 (url "https://github.com/gkarsay/parlatype.git")
10146 (commit commit)))
10147 (file-name (git-file-name name version))
10148 (sha256
10149 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
10150 (build-system meson-build-system)
10151 (arguments
10152 `(#:glib-or-gtk? #t
10153 #:tests? #f ;require internet access
10154 #:phases
10155 (modify-phases %standard-phases
10156 (add-after 'install 'wrap-parlatype
10157 ;; Add gstreamer plugin provided in this package to system's
10158 ;; plugins.
10159 (lambda* (#:key outputs #:allow-other-keys)
10160 (let* ((out (assoc-ref outputs "out"))
10161 (gst-plugin-path (string-append
10162 out "/lib/gstreamer-1.0/"
10163 ":"
10164 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
10165 (wrap-program (string-append out "/bin/parlatype")
10166 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
10167 #t)))))
10168 (native-inputs
10169 `(("appstream-glib" ,appstream-glib)
10170 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
10171 ("gettext" ,gettext-minimal)
10172 ("glib" ,glib "bin") ;for glib-compile-resources
10173 ("pkg-config" ,pkg-config)
10174 ("yelp-tools" ,yelp-tools)))
10175 (inputs
10176 `(("gst-plugins-base" ,gst-plugins-base)
10177 ("gst-plugins-good" ,gst-plugins-good)
10178 ("gstreamer" ,gstreamer)
10179 ("gtk+" ,gtk+)
10180 ("pocketsphinx" ,pocketsphinx)
10181 ("pulseaudio" ,pulseaudio)
10182 ("sphinxbase" ,sphinxbase)))
10183 (home-page "http://gkarsay.github.io/parlatype/")
10184 (synopsis "GNOME audio player for transcription")
10185 (description "Parlatype is an audio player for the GNOME desktop
10186environment. Its main purpose is the manual transcription of spoken
10187audio files.")
10188 (license license:gpl3+))))
95856a6e
AT
10189
10190(define-public jsonrpc-glib
10191 (package
10192 (name "jsonrpc-glib")
10193 (version "3.34.0")
10194 (source (origin
10195 (method url-fetch)
10196 (uri (string-append "mirror://gnome/sources/" name "/"
10197 (version-major+minor version) "/"
10198 name "-" version ".tar.xz"))
10199 (sha256
10200 (base32
10201 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
10202 (build-system meson-build-system)
10203 (inputs
10204 `(("json-glib" ,json-glib)
10205 ("glib" ,glib)))
10206 (native-inputs
10207 `(("pkg-config" ,pkg-config)
10208 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
10209 ("gobject-introspection" ,gobject-introspection)
10210 ("vala" ,vala)))
10211 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
10212 (synopsis "JSON-RPC library for GLib")
10213 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
10214peers in either a synchronous or asynchronous fashion. It also allows
10215communicating using the GVariant serialization format instead of JSON when
10216both peers support it. You might want that when communicating on a single
10217host to avoid parser overhead and memory-allocator fragmentation.")
10218 (license license:lgpl2.1+)))